From 842a1b1d2702cded842a8c0436dbb6e383099057 Mon Sep 17 00:00:00 2001 From: Jem <91760036+0xJem@users.noreply.github.com> Date: Thu, 28 Sep 2023 18:37:57 +0400 Subject: [PATCH] Treasury-Subgraph Updates (#2978) * Update treasury-subgraph-client * Add ignoreCache prop to treasury dashboard. Also shift functions to use destructured parameters, due to the presence of multiple optional parameters. * Add retry on metrics endpoint * Add liquid backing/OHM contribution to the treasury assets table. Ensure record values are numbers. * Test fixes --- src/hooks/useFederatedSubgraphQuery.ts | 81 +- src/hooks/useProtocolMetrics.ts | 16 +- src/hooks/useTokenRecordsMetrics.ts | 4 +- src/hooks/useTokenSupplyMetrics.ts | 16 +- src/hooks/useTreasuryMetrics.ts | 22 +- .../TreasuryDashboard/TreasuryDashboard.tsx | 25 +- .../components/DataWarning.tsx | 6 +- .../components/Graph/Constants.ts | 3 + .../Graph/LiquidBackingComparisonGraph.tsx | 9 +- .../components/Graph/OhmSupply.tsx | 10 +- .../components/Graph/OhmSupplyGraph.tsx | 4 +- .../components/Graph/OhmSupplyTable.tsx | 13 +- .../components/Graph/OwnedLiquidityGraph.tsx | 6 +- .../components/Graph/TreasuryAssets.tsx | 4 +- .../components/Graph/TreasuryAssetsGraph.tsx | 3 +- .../components/Graph/TreasuryAssetsTable.tsx | 69 +- .../Graph/helpers/TokenRecordsQueryHelper.ts | 53 +- .../TokenRecordsQueryHelper.unit.test.tsx | 31 +- .../components/Metric/Metric.tsx | 25 +- yarn.lock | 747 ++++++++++-------- 20 files changed, 681 insertions(+), 466 deletions(-) diff --git a/src/hooks/useFederatedSubgraphQuery.ts b/src/hooks/useFederatedSubgraphQuery.ts index e95547acb8..4409ab0fb9 100644 --- a/src/hooks/useFederatedSubgraphQuery.ts +++ b/src/hooks/useFederatedSubgraphQuery.ts @@ -28,12 +28,21 @@ export const { useQuery: useFederatedSubgraphQuery } = createHooks(c * @param crossChainDataComplete If true, returns up (and including) the date with complete cross-chain data. * @returns */ -export const useTokenRecordsQuery = (startDate: string | null | undefined, crossChainDataComplete?: boolean) => { +export const useTokenRecordsQuery = ({ + startDate, + crossChainDataComplete, + ignoreCache, +}: { + startDate: string | null | undefined; + crossChainDataComplete?: boolean; + ignoreCache?: boolean; +}) => { return useFederatedSubgraphQuery({ operationName: "paginated/tokenRecords", input: { startDate: startDate || "", crossChainDataComplete: crossChainDataComplete || false, + ignoreCache: ignoreCache || false, }, enabled: startDate != null, }); @@ -50,8 +59,14 @@ export const useTokenRecordsQuery = (startDate: string | null | undefined, cross * @param startDate Date string in YYYY-MM-DD format. * @returns TokenRecord[] or undefined if there are no results */ -export const useTokenRecordsQueryComplete = (startDate: string | null | undefined): TokenRecord[] | undefined => { - const { data: tokenRecordResults } = useTokenRecordsQuery(startDate, true); +export const useTokenRecordsQueryComplete = ({ + startDate, + ignoreCache, +}: { + startDate: string | null | undefined; + ignoreCache?: boolean; +}): TokenRecord[] | undefined => { + const { data: tokenRecordResults } = useTokenRecordsQuery({ startDate, crossChainDataComplete: true, ignoreCache }); const [untilLatestDateResults, setUntilLatestDateResults] = useState(); useEffect(() => { @@ -77,10 +92,14 @@ export const useTokenRecordsQueryComplete = (startDate: string | null | undefine * @param startDate * @returns TokenRecord[] or undefined if there are no results */ -export const useTokenRecordsQueryLatestCompleteData = ( - startDate: string | null | undefined, -): TokenRecord[] | undefined => { - const tokenRecordResults = useTokenRecordsQueryComplete(startDate); +export const useTokenRecordsQueryLatestCompleteData = ({ + startDate, + ignoreCache, +}: { + startDate: string | null | undefined; + ignoreCache?: boolean; +}): TokenRecord[] | undefined => { + const tokenRecordResults = useTokenRecordsQueryComplete({ startDate, ignoreCache }); const [latestData, setLatestData] = useState(); useEffect(() => { @@ -102,9 +121,12 @@ export const useTokenRecordsQueryLatestCompleteData = ( * * This is useful for determining the latest block that has been indexed. */ -export const useTokenRecordsLatestQuery = () => { +export const useTokenRecordsLatestQuery = ({ ignoreCache }: { ignoreCache?: boolean }) => { return useFederatedSubgraphQuery({ operationName: "latest/tokenRecords", + input: { + ignoreCache: ignoreCache || false, + }, }); }; @@ -117,12 +139,21 @@ export const useTokenRecordsLatestQuery = () => { * @param crossChainDataComplete If true, returns up (and including) the date with complete cross-chain data. * @returns */ -export const useTokenSuppliesQuery = (startDate: string | null | undefined, crossChainDataComplete?: boolean) => { +export const useTokenSuppliesQuery = ({ + startDate, + crossChainDataComplete, + ignoreCache, +}: { + startDate: string | null | undefined; + crossChainDataComplete?: boolean; + ignoreCache?: boolean; +}) => { return useFederatedSubgraphQuery({ operationName: "paginated/tokenSupplies", input: { startDate: startDate || "", crossChainDataComplete: crossChainDataComplete || false, + ignoreCache: ignoreCache || false, }, enabled: startDate != null, }); @@ -139,8 +170,14 @@ export const useTokenSuppliesQuery = (startDate: string | null | undefined, cros * @param startDate Date string in YYYY-MM-DD format. * @returns TokenSupply[] or undefined if there are no results */ -export const useTokenSuppliesQueryComplete = (startDate: string | null | undefined): TokenSupply[] | undefined => { - const { data: tokenSupplyResults } = useTokenSuppliesQuery(startDate, true); +export const useTokenSuppliesQueryComplete = ({ + startDate, + ignoreCache, +}: { + startDate: string | null | undefined; + ignoreCache?: boolean; +}): TokenSupply[] | undefined => { + const { data: tokenSupplyResults } = useTokenSuppliesQuery({ startDate, crossChainDataComplete: true, ignoreCache }); const [untilLatestDateResults, setUntilLatestDateResults] = useState(); useEffect(() => { @@ -166,10 +203,14 @@ export const useTokenSuppliesQueryComplete = (startDate: string | null | undefin * @param startDate * @returns TokenSupply[] or undefined if there are no results */ -export const useTokenSuppliesQueryLatestCompleteData = ( - startDate: string | null | undefined, -): TokenSupply[] | undefined => { - const tokenSupplyResults = useTokenSuppliesQueryComplete(startDate); +export const useTokenSuppliesQueryLatestCompleteData = ({ + startDate, + ignoreCache, +}: { + startDate?: string | null; + ignoreCache?: boolean; +}): TokenSupply[] | undefined => { + const tokenSupplyResults = useTokenSuppliesQueryComplete({ startDate, ignoreCache }); const [latestData, setLatestData] = useState(); useEffect(() => { @@ -189,22 +230,30 @@ export const useTokenSuppliesQueryLatestCompleteData = ( export const useMetricsQuery = ({ startDate, includeContentRecords, + ignoreCache, }: { startDate?: string | null; includeContentRecords?: boolean; + ignoreCache?: boolean; }) => { return useFederatedSubgraphQuery({ operationName: "paginated/metrics", input: { startDate: startDate || "", includeRecords: includeContentRecords || false, + ignoreCache: ignoreCache || false, }, enabled: startDate != null, + retry: 3, // Queries with long periods and with includeRecords = true will take a while if not cached, leading to a timeout + retryDelay: 5000, }); }; -export const useMetricsLatestQuery = () => { +export const useMetricsLatestQuery = ({ ignoreCache }: { ignoreCache?: boolean }) => { return useFederatedSubgraphQuery({ operationName: "latest/metrics", + input: { + ignoreCache: ignoreCache || false, + }, }); }; diff --git a/src/hooks/useProtocolMetrics.ts b/src/hooks/useProtocolMetrics.ts index bb440b7b62..fc2ef768cc 100644 --- a/src/hooks/useProtocolMetrics.ts +++ b/src/hooks/useProtocolMetrics.ts @@ -1,7 +1,7 @@ import { useMetricsLatestQuery } from "src/hooks/useFederatedSubgraphQuery"; -export const useTotalValueDeposited = (): number | undefined => { - const { data } = useMetricsLatestQuery(); +export const useTotalValueDeposited = ({ ignoreCache }: { ignoreCache?: boolean }): number | undefined => { + const { data } = useMetricsLatestQuery({ ignoreCache }); if (!data) { return undefined; @@ -19,8 +19,8 @@ export const useTotalValueDeposited = (): number | undefined => { * * @returns */ -export const useOhmPrice = (): number | undefined => { - const { data } = useMetricsLatestQuery(); +export const useOhmPrice = ({ ignoreCache }: { ignoreCache?: boolean }): number | undefined => { + const { data } = useMetricsLatestQuery({ ignoreCache }); if (!data) { return undefined; @@ -38,8 +38,8 @@ export const useOhmPrice = (): number | undefined => { * * @returns */ -export const useGOhmPrice = (): number | undefined => { - const { data } = useMetricsLatestQuery(); +export const useGOhmPrice = ({ ignoreCache }: { ignoreCache?: boolean }): number | undefined => { + const { data } = useMetricsLatestQuery({ ignoreCache }); if (!data) { return undefined; @@ -53,8 +53,8 @@ export const useGOhmPrice = (): number | undefined => { * * @returns */ -export const useCurrentIndex = (): number | undefined => { - const { data } = useMetricsLatestQuery(); +export const useCurrentIndex = ({ ignoreCache }: { ignoreCache?: boolean }): number | undefined => { + const { data } = useMetricsLatestQuery({ ignoreCache }); if (!data) { return undefined; diff --git a/src/hooks/useTokenRecordsMetrics.ts b/src/hooks/useTokenRecordsMetrics.ts index 8c4fc9d8ac..9f913dc036 100644 --- a/src/hooks/useTokenRecordsMetrics.ts +++ b/src/hooks/useTokenRecordsMetrics.ts @@ -6,12 +6,12 @@ import { useMetricsLatestQuery } from "src/hooks/useFederatedSubgraphQuery"; * * @returns */ -export const useTreasuryMarketValueLatest = (): number | undefined => { +export const useTreasuryMarketValueLatest = (ignoreCache?: boolean): number | undefined => { // State variables const [assetValue, setAssetValue] = useState(); // Query hooks - const { data: metricResult } = useMetricsLatestQuery(); + const { data: metricResult } = useMetricsLatestQuery({ ignoreCache }); useEffect(() => { if (!metricResult) { diff --git a/src/hooks/useTokenSupplyMetrics.ts b/src/hooks/useTokenSupplyMetrics.ts index 1a87763a58..d51c6e4829 100644 --- a/src/hooks/useTokenSupplyMetrics.ts +++ b/src/hooks/useTokenSupplyMetrics.ts @@ -1,9 +1,9 @@ import { useEffect, useState } from "react"; import { useMetricsLatestQuery } from "src/hooks/useFederatedSubgraphQuery"; -export const useOhmCirculatingSupply = (earliestDate?: string | null): number | undefined => { +export const useOhmCirculatingSupply = ({ ignoreCache }: { ignoreCache?: boolean }): number | undefined => { // Query hooks - const { data: metricResult } = useMetricsLatestQuery(); + const { data: metricResult } = useMetricsLatestQuery({ ignoreCache }); // State variables const [circulatingSupply, setCirculatingSupply] = useState(); @@ -20,9 +20,9 @@ export const useOhmCirculatingSupply = (earliestDate?: string | null): number | return circulatingSupply; }; -export const useOhmFloatingSupply = (earliestDate?: string | null): number | undefined => { +export const useOhmFloatingSupply = ({ ignoreCache }: { ignoreCache?: boolean }): number | undefined => { // Query hooks - const { data: metricResult } = useMetricsLatestQuery(); + const { data: metricResult } = useMetricsLatestQuery({ ignoreCache }); // State variables const [floatingSupply, setFloatingSupply] = useState(); @@ -39,9 +39,9 @@ export const useOhmFloatingSupply = (earliestDate?: string | null): number | und return floatingSupply; }; -export const useOhmBackedSupply = (earliestDate?: string | null): number | undefined => { +export const useOhmBackedSupply = ({ ignoreCache }: { ignoreCache?: boolean }): number | undefined => { // Query hooks - const { data: metricResult } = useMetricsLatestQuery(); + const { data: metricResult } = useMetricsLatestQuery({ ignoreCache }); // State variables const [backedSupply, setBackedSupply] = useState(); @@ -58,9 +58,9 @@ export const useOhmBackedSupply = (earliestDate?: string | null): number | undef return backedSupply; }; -export const useOhmTotalSupply = (earliestDate?: string | null): number | undefined => { +export const useOhmTotalSupply = ({ ignoreCache }: { ignoreCache?: boolean }): number | undefined => { // Query hooks - const { data: metricResult } = useMetricsLatestQuery(); + const { data: metricResult } = useMetricsLatestQuery({ ignoreCache }); // State variables const [totalSupply, setTotalSupply] = useState(); diff --git a/src/hooks/useTreasuryMetrics.ts b/src/hooks/useTreasuryMetrics.ts index 676c3d9847..5c8b16f80c 100644 --- a/src/hooks/useTreasuryMetrics.ts +++ b/src/hooks/useTreasuryMetrics.ts @@ -6,11 +6,13 @@ import { useMetricsLatestQuery } from "src/hooks/useFederatedSubgraphQuery"; * * @returns [marketCap, ohmPrice, circulatingSupply] */ -export const useMarketCap = ( - earliestDate?: string | null, -): [number | undefined, number | undefined, number | undefined] => { +export const useMarketCap = ({ + ignoreCache, +}: { + ignoreCache?: boolean; +}): [number | undefined, number | undefined, number | undefined] => { // Query hooks - const { data: metricResult } = useMetricsLatestQuery(); + const { data: metricResult } = useMetricsLatestQuery({ ignoreCache }); // State variables const [ohmPrice, setOhmPrice] = useState(); @@ -38,9 +40,9 @@ export const useMarketCap = ( * * @returns [liquidBackingPerBackedOhm, liquidBacking, backedOhm] */ -export const useLiquidBackingPerOhmBacked = (earliestDate?: string | null): [number, number, number] => { +export const useLiquidBackingPerOhmBacked = ({ ignoreCache }: { ignoreCache?: boolean }): [number, number, number] => { // Query hooks - const { data: metricResult } = useMetricsLatestQuery(); + const { data: metricResult } = useMetricsLatestQuery({ ignoreCache }); // State variables const [liquidBackingPerOhmBacked, setLiquidBackingPerOhmBacked] = useState(0); @@ -65,9 +67,13 @@ export const useLiquidBackingPerOhmBacked = (earliestDate?: string | null): [num * * @returns [liquidBackingPerGOhm, liquidBacking, latestIndex, ohmFloatingSupply] */ -export const useLiquidBackingPerGOhm = (earliestDate?: string | null): [number, number, number, number] => { +export const useLiquidBackingPerGOhm = ({ + ignoreCache, +}: { + ignoreCache?: boolean; +}): [number, number, number, number] => { // Query hooks - const { data: metricResult } = useMetricsLatestQuery(); + const { data: metricResult } = useMetricsLatestQuery({ ignoreCache }); // State variables const [liquidBacking, setLiquidBacking] = useState(0); diff --git a/src/views/TreasuryDashboard/TreasuryDashboard.tsx b/src/views/TreasuryDashboard/TreasuryDashboard.tsx index d88748132c..408052fe9b 100644 --- a/src/views/TreasuryDashboard/TreasuryDashboard.tsx +++ b/src/views/TreasuryDashboard/TreasuryDashboard.tsx @@ -49,6 +49,10 @@ const MetricsDashboard = () => { * and not load data until earliestDate is a valid value. */ const earliestDate = !daysPrior ? null : getISO8601String(adjustDateByDays(new Date(), -1 * parseInt(daysPrior))); + + // State variable for ignoring the API cache + const [ignoreCache, setIgnoreCache] = useState(); + /** * State variable for the number of days to offset each subgraph query with. * @@ -68,6 +72,13 @@ const MetricsDashboard = () => { const queryDays = searchParams.get(PARAM_DAYS) || DEFAULT_DAYS.toString(); setDaysPrior(queryDays); + // Get the ignoreCache parameter + const queryIgnoreCache = searchParams.get("ignoreCache"); + if (queryIgnoreCache && queryIgnoreCache.toLowerCase() == "true") { + console.info("Setting ignoreCache to true"); + setIgnoreCache(true); + } + // Get the token or use the default const queryToken = searchParams.get(PARAM_TOKEN) || PARAM_TOKEN_OHM; setToken(queryToken); @@ -85,6 +96,7 @@ const MetricsDashboard = () => { const sharedMetricProps: AbstractedMetricProps & MetricSubgraphProps = { ...baseMetricProps, earliestDate: earliestDate, + ignoreCache: ignoreCache, }; /** @@ -212,27 +224,32 @@ const MetricsDashboard = () => { activeToken={token} earliestDate={earliestDate} subgraphDaysOffset={daysOffset} + ignoreCache={ignoreCache} /> - + - + - + - + diff --git a/src/views/TreasuryDashboard/components/DataWarning.tsx b/src/views/TreasuryDashboard/components/DataWarning.tsx index ed9c7578e2..b736e97402 100644 --- a/src/views/TreasuryDashboard/components/DataWarning.tsx +++ b/src/views/TreasuryDashboard/components/DataWarning.tsx @@ -14,14 +14,14 @@ import { useEffect, useState } from "react"; import { getISO8601String } from "src/helpers/DateHelper"; import { TokenRecord, useTokenRecordsLatestQuery } from "src/hooks/useFederatedSubgraphQuery"; -const getDateFromTimestamp = (timestamp: string): Date => { +const getDateFromTimestamp = (timestamp: string | number): Date => { return new Date(+timestamp * 1000); }; /** * React Component that displays the latest date for each chain's data. */ -const DataWarning = (): JSX.Element => { +const DataWarning = ({ ignoreCache }: { ignoreCache?: boolean }): JSX.Element => { const theme = useTheme(); const columnHeaderColor = theme.palette.text.primary; @@ -29,7 +29,7 @@ const DataWarning = (): JSX.Element => { // Query hooks // This will get the absolute latest records from each blockchain, without any filtering - const { data: latestRecordsQuery } = useTokenRecordsLatestQuery(); + const { data: latestRecordsQuery } = useTokenRecordsLatestQuery({ ignoreCache }); // State variables const [isWarningEnabled, setIsWarningEnabled] = useState(false); diff --git a/src/views/TreasuryDashboard/components/Graph/Constants.ts b/src/views/TreasuryDashboard/components/Graph/Constants.ts index 262694e52f..482b58da5f 100644 --- a/src/views/TreasuryDashboard/components/Graph/Constants.ts +++ b/src/views/TreasuryDashboard/components/Graph/Constants.ts @@ -4,6 +4,8 @@ import { CategoricalChartFunc } from "recharts/types/chart/generateCategoricalCh export const PARAM_DAYS = "days"; export const DEFAULT_DAYS = 30; +export const PARAM_IGNORE_CACHE = "ignoreCache"; + export const PARAM_TOKEN = "token"; export const PARAM_TOKEN_OHM = "OHM"; export const PARAM_TOKEN_GOHM = "gOHM"; @@ -18,6 +20,7 @@ export type GraphProps = { earliestDate: string | null; subgraphDaysOffset: number | undefined; activeToken?: string; + ignoreCache?: boolean; onMouseMove?: CategoricalChartFunc; }; diff --git a/src/views/TreasuryDashboard/components/Graph/LiquidBackingComparisonGraph.tsx b/src/views/TreasuryDashboard/components/Graph/LiquidBackingComparisonGraph.tsx index 389fa7efc0..6ca0157f89 100644 --- a/src/views/TreasuryDashboard/components/Graph/LiquidBackingComparisonGraph.tsx +++ b/src/views/TreasuryDashboard/components/Graph/LiquidBackingComparisonGraph.tsx @@ -21,13 +21,18 @@ import { getTickStyle } from "src/views/TreasuryDashboard/components/Graph/helpe * React Component that displays a line graph comparing the * OHM price and liquid backing per backed OHM. */ -export const LiquidBackingPerOhmComparisonGraph = ({ earliestDate, activeToken, subgraphDaysOffset }: GraphProps) => { +export const LiquidBackingPerOhmComparisonGraph = ({ + earliestDate, + activeToken, + subgraphDaysOffset, + ignoreCache, +}: GraphProps) => { // TODO look at how to combine query documents const queryExplorerUrl = ""; const theme = useTheme(); const chartName = "LiquidBackingComparison"; - const { data: metricResults } = useMetricsQuery({ startDate: earliestDate }); + const { data: metricResults } = useMetricsQuery({ startDate: earliestDate, ignoreCache: ignoreCache }); /** * Active token: diff --git a/src/views/TreasuryDashboard/components/Graph/OhmSupply.tsx b/src/views/TreasuryDashboard/components/Graph/OhmSupply.tsx index f664304c09..a508d92c17 100644 --- a/src/views/TreasuryDashboard/components/Graph/OhmSupply.tsx +++ b/src/views/TreasuryDashboard/components/Graph/OhmSupply.tsx @@ -9,7 +9,7 @@ import { OhmSupplyTable } from "src/views/TreasuryDashboard/components/Graph/Ohm * * The table will update according to the focus in the chart. */ -export const OhmSupply = ({ earliestDate, subgraphDaysOffset }: GraphProps) => { +export const OhmSupply = ({ earliestDate, subgraphDaysOffset, ignoreCache }: GraphProps) => { // State variable for the selected index in the chart const [selectedIndex, setSelectedIndex] = useState(0); @@ -33,11 +33,17 @@ export const OhmSupply = ({ earliestDate, subgraphDaysOffset }: GraphProps) => { return ( <> - + ); diff --git a/src/views/TreasuryDashboard/components/Graph/OhmSupplyGraph.tsx b/src/views/TreasuryDashboard/components/Graph/OhmSupplyGraph.tsx index fa0d0632ef..919d4d6599 100644 --- a/src/views/TreasuryDashboard/components/Graph/OhmSupplyGraph.tsx +++ b/src/views/TreasuryDashboard/components/Graph/OhmSupplyGraph.tsx @@ -21,13 +21,13 @@ import { getTickStyle } from "src/views/TreasuryDashboard/components/Graph/helpe * * @returns */ -export const OhmSupplyGraph = ({ earliestDate, onMouseMove, subgraphDaysOffset }: GraphProps) => { +export const OhmSupplyGraph = ({ earliestDate, onMouseMove, subgraphDaysOffset, ignoreCache }: GraphProps) => { const queryExplorerUrl = ""; const theme = useTheme(); const chartName = "OhmSupplyGraph"; - const { data: metricResults } = useMetricsQuery({ startDate: earliestDate }); + const { data: metricResults } = useMetricsQuery({ startDate: earliestDate, ignoreCache: ignoreCache }); /** * Chart population: diff --git a/src/views/TreasuryDashboard/components/Graph/OhmSupplyTable.tsx b/src/views/TreasuryDashboard/components/Graph/OhmSupplyTable.tsx index 025a060721..8f4a07d3fa 100644 --- a/src/views/TreasuryDashboard/components/Graph/OhmSupplyTable.tsx +++ b/src/views/TreasuryDashboard/components/Graph/OhmSupplyTable.tsx @@ -38,14 +38,23 @@ type OhmSupplyDateMap = { [date: string]: OhmSupplyMetricMap; }; -export const OhmSupplyTable = ({ earliestDate, selectedIndex, subgraphDaysOffset }: GraphProps & AssetsTableProps) => { +export const OhmSupplyTable = ({ + earliestDate, + selectedIndex, + subgraphDaysOffset, + ignoreCache, +}: GraphProps & AssetsTableProps) => { const theme = useTheme(); const isBreakpointSmall = useMediaQuery(theme.breakpoints.down("sm")); const columnHeaderColor = theme.palette.text.primary; const chartName = "OhmSupplyTable"; - const { data: metricResults } = useMetricsQuery({ startDate: earliestDate, includeContentRecords: true }); + const { data: metricResults } = useMetricsQuery({ + startDate: earliestDate, + includeContentRecords: true, + ignoreCache, + }); /** * Chart population: diff --git a/src/views/TreasuryDashboard/components/Graph/OwnedLiquidityGraph.tsx b/src/views/TreasuryDashboard/components/Graph/OwnedLiquidityGraph.tsx index 0dc9701b6c..f1dbe0dbd4 100644 --- a/src/views/TreasuryDashboard/components/Graph/OwnedLiquidityGraph.tsx +++ b/src/views/TreasuryDashboard/components/Graph/OwnedLiquidityGraph.tsx @@ -26,12 +26,12 @@ import { /** * Stacked area chart that displays protocol-owned liquidity. */ -export const ProtocolOwnedLiquidityGraph = ({ earliestDate, subgraphDaysOffset }: GraphProps) => { +export const ProtocolOwnedLiquidityGraph = ({ earliestDate, subgraphDaysOffset, ignoreCache }: GraphProps) => { const queryExplorerUrl = ""; const theme = useTheme(); const chartName = "ProtocolOwnedLiquidityGraph"; - const tokenRecordResults = useTokenRecordsQueryComplete(earliestDate); + const tokenRecordResults = useTokenRecordsQueryComplete({ startDate: earliestDate, ignoreCache: ignoreCache }); /** * Chart population: @@ -114,7 +114,7 @@ export const ProtocolOwnedLiquidityGraph = ({ earliestDate, subgraphDaysOffset } const tempTotal = byDateTokenSummary.length > 0 ? Object.values(byDateTokenSummary[0].tokens).reduce((previousValue: number, token: TokenRow) => { - return +previousValue + parseFloat(token.value); + return previousValue + token.value; }, 0) : 0; setTotal(formatCurrency(tempTotal, 0)); diff --git a/src/views/TreasuryDashboard/components/Graph/TreasuryAssets.tsx b/src/views/TreasuryDashboard/components/Graph/TreasuryAssets.tsx index 2e688664ee..112d4712b5 100644 --- a/src/views/TreasuryDashboard/components/Graph/TreasuryAssets.tsx +++ b/src/views/TreasuryDashboard/components/Graph/TreasuryAssets.tsx @@ -19,7 +19,7 @@ const QUERY_TREASURY = "treasuryAssets"; * * The assets table will update according to the toggle selection. */ -export const TreasuryAssets = ({ earliestDate, subgraphDaysOffset }: GraphProps) => { +export const TreasuryAssets = ({ earliestDate, subgraphDaysOffset, ignoreCache }: GraphProps) => { const isTreasuryAssetActive = (assets: string): boolean => { return selectedTreasuryAssets === assets; }; @@ -91,12 +91,14 @@ export const TreasuryAssets = ({ earliestDate, subgraphDaysOffset }: GraphProps) onMouseMove={onMouseMove} earliestDate={earliestDate} subgraphDaysOffset={subgraphDaysOffset} + ignoreCache={ignoreCache} /> ); diff --git a/src/views/TreasuryDashboard/components/Graph/TreasuryAssetsGraph.tsx b/src/views/TreasuryDashboard/components/Graph/TreasuryAssetsGraph.tsx index 3000782f9a..eaa2128731 100644 --- a/src/views/TreasuryDashboard/components/Graph/TreasuryAssetsGraph.tsx +++ b/src/views/TreasuryDashboard/components/Graph/TreasuryAssetsGraph.tsx @@ -50,12 +50,13 @@ export const TreasuryAssetsGraph = ({ onMouseMove, isLiquidBackingActive, subgraphDaysOffset, + ignoreCache, }: GraphProps & LiquidBackingProps) => { const queryExplorerUrl = ""; const theme = useTheme(); const chartName = "TreasuryAssetsGraph"; - const tokenRecordResults = useTokenRecordsQueryComplete(earliestDate); + const tokenRecordResults = useTokenRecordsQueryComplete({ startDate: earliestDate, ignoreCache: ignoreCache }); /** * Chart population: diff --git a/src/views/TreasuryDashboard/components/Graph/TreasuryAssetsTable.tsx b/src/views/TreasuryDashboard/components/Graph/TreasuryAssetsTable.tsx index b5e566cc25..a38abf6453 100644 --- a/src/views/TreasuryDashboard/components/Graph/TreasuryAssetsTable.tsx +++ b/src/views/TreasuryDashboard/components/Graph/TreasuryAssetsTable.tsx @@ -3,7 +3,7 @@ import { DataGrid, GridColDef, GridValueFormatterParams, GridValueGetterParams } import { useEffect, useMemo, useState } from "react"; import { formatCurrency, formatNumber } from "src/helpers"; import { renameToken } from "src/helpers/subgraph/ProtocolMetricsHelper"; -import { useTokenRecordsQueryComplete } from "src/hooks/useFederatedSubgraphQuery"; +import { useMetricsQuery, useTokenRecordsQueryComplete } from "src/hooks/useFederatedSubgraphQuery"; import { ChartCard } from "src/views/TreasuryDashboard/components/Graph/ChartCard"; import { AssetsTableProps, @@ -24,13 +24,15 @@ export const TreasuryAssetsTable = ({ isLiquidBackingActive, selectedIndex, subgraphDaysOffset, + ignoreCache, }: GraphProps & LiquidBackingProps & AssetsTableProps) => { const theme = useTheme(); const queryExplorerUrl = ""; const chartName = "TreasuryAssetsTable"; - const tokenRecordResults = useTokenRecordsQueryComplete(earliestDate); + const tokenRecordResults = useTokenRecordsQueryComplete({ startDate: earliestDate, ignoreCache: ignoreCache }); + const metricResults = useMetricsQuery({ startDate: earliestDate, ignoreCache: ignoreCache }); /** * Chart population: @@ -40,7 +42,7 @@ export const TreasuryAssetsTable = ({ const [byDateTokenSummary, setByDateTokenSummary] = useState([]); const [currentTokens, setCurrentTokens] = useState([]); useMemo(() => { - if (!tokenRecordResults) { + if (!tokenRecordResults || !metricResults || !metricResults.data) { return; } @@ -60,6 +62,20 @@ export const TreasuryAssetsTable = ({ * They are already filtered by latest block per chain in the useTokenRecordsQueries hook. */ const newDateTokenSummary = getDateTokenRecordSummary(filteredRecords); + + // We want the liquid backing contribution to be shown as liquid backing contribution / backed OHM + newDateTokenSummary.forEach(dateTokenSummary => { + // Get the metric for the date + const currentMetric = metricResults.data?.find(value => value.date == dateTokenSummary.date); + if (!currentMetric || currentMetric.ohmBackedSupply == 0) { + return; + } + + Object.values(dateTokenSummary.tokens).forEach(token => { + token.liquidBackingContribution = token.valueExcludingOhm / currentMetric.ohmBackedSupply; + }); + }); + setByDateTokenSummary(newDateTokenSummary); }, [isLiquidBackingActive, tokenRecordResults]); @@ -115,29 +131,17 @@ export const TreasuryAssetsTable = ({ headerName: `Balance`, description: `The total balance of the token asset`, flex: 0.5, - type: "string", - sortComparator: (v1, v2) => { - // Get rid of all non-number characters - const stripCurrency = (currencyString: string) => currencyString.replaceAll(/[$,]/g, ""); - - return parseFloat(stripCurrency(v1)) - parseFloat(stripCurrency(v2)); - }, - valueGetter: (params: GridValueGetterParams) => parseFloat(params.row.balance), - valueFormatter: (params: GridValueFormatterParams) => formatNumber(params.value), + type: "number", + sortComparator: (v1, v2) => v1 - v2, + valueFormatter: (params: GridValueFormatterParams) => formatNumber(params.value, 0), }, { field: "rate", headerName: `Rate`, description: `The rate of the token asset`, flex: 0.5, - type: "string", - sortComparator: (v1, v2) => { - // Get rid of all non-number characters - const stripCurrency = (currencyString: string) => currencyString.replaceAll(/[$,]/g, ""); - - return parseFloat(stripCurrency(v1)) - parseFloat(stripCurrency(v2)); - }, - valueGetter: (params: GridValueGetterParams) => parseFloat(params.row.rate), + type: "number", + sortComparator: (v1, v2) => v1 - v2, valueFormatter: (params: GridValueFormatterParams) => formatCurrency(params.value, 2), }, { @@ -145,15 +149,21 @@ export const TreasuryAssetsTable = ({ headerName: `Value`, description: `The total value of the token asset in USD`, flex: 0.5, - type: "string", - sortComparator: (v1, v2) => { - // Get rid of all non-number characters - const stripCurrency = (currencyString: string) => currencyString.replaceAll(/[$,]/g, ""); - - return parseFloat(stripCurrency(v1)) - parseFloat(stripCurrency(v2)); - }, - valueGetter: (params: GridValueGetterParams) => - formatCurrency(parseFloat(isLiquidBackingActive ? params.row.valueExcludingOhm : params.row.value)), + type: "number", + sortComparator: (v1, v2) => v1 - v2, + valueGetter: (params: GridValueGetterParams) => + isLiquidBackingActive ? params.row.valueExcludingOhm : params.row.value, + valueFormatter: (params: GridValueFormatterParams) => formatCurrency(params.value), + minWidth: 120, + }, + { + field: "liquidBackingContribution", + headerName: `Backing Contribution`, + description: `The contribution to liquid backing/OHM in USD`, + flex: 0.5, + type: "number", + sortComparator: (v1, v2) => v1 - v2, + valueFormatter: (params: GridValueFormatterParams) => formatCurrency(params.value, 2), minWidth: 120, }, ]; @@ -194,6 +204,7 @@ export const TreasuryAssetsTable = ({ isLiquid: false, balance: false, rate: false, + liquidBackingContribution: false, }, }, pagination: { paginationModel: { pageSize: 10 } }, diff --git a/src/views/TreasuryDashboard/components/Graph/helpers/TokenRecordsQueryHelper.ts b/src/views/TreasuryDashboard/components/Graph/helpers/TokenRecordsQueryHelper.ts index c5865fd438..248f2ab077 100644 --- a/src/views/TreasuryDashboard/components/Graph/helpers/TokenRecordsQueryHelper.ts +++ b/src/views/TreasuryDashboard/components/Graph/helpers/TokenRecordsQueryHelper.ts @@ -1,3 +1,4 @@ +import { getFloat } from "src/helpers/NumberHelper"; import { TokenRecord } from "src/hooks/useFederatedSubgraphQuery"; export type TokenRow = { @@ -6,10 +7,14 @@ export type TokenRow = { category: string; isLiquid: boolean; blockchain: string; - balance: string; - rate: string; - value: string; - valueExcludingOhm: string; + balance: number; + rate: number; + value: number; + valueExcludingOhm: number; + /** + * Percentage of liquid backing that this token represents. + */ + liquidBackingContribution: number; }; type TokenMap = { @@ -21,6 +26,7 @@ export type DateTokenSummary = { timestamp: number; block: number; tokens: TokenMap; + liquidBackingTotal: number; }; /** @@ -61,6 +67,7 @@ export const getDateTokenRecordSummary = (tokenRecords: TokenRecord[]): DateToke timestamp: recordTimestamp, block: +record.block, tokens: {} as TokenMap, + liquidBackingTotal: 0, }; // Ensure the timestamp is the latest for the date @@ -71,29 +78,39 @@ export const getDateTokenRecordSummary = (tokenRecords: TokenRecord[]): DateToke dateSummaryMap.set(record.date, dateSummary); const tokenId = `${record.token}/${record.blockchain}`; - const tokenRecord = dateSummary.tokens[tokenId] || ({} as TokenRow); + const tokenRecord = + dateSummary.tokens[tokenId] || + ({ + id: "", + token: "", + category: "", + isLiquid: false, + blockchain: "", + balance: 0, + rate: 0, + value: 0, + valueExcludingOhm: 0, + } as TokenRow); tokenRecord.id = tokenId; tokenRecord.token = record.token; tokenRecord.category = record.category; tokenRecord.isLiquid = record.isLiquid; tokenRecord.blockchain = record.blockchain; - tokenRecord.rate = record.rate.toString(); - - const existingBalance = tokenRecord.balance ? parseFloat(tokenRecord.balance) : 0; - // record.balance is typed as a number, but is actually a string - tokenRecord.balance = (existingBalance + +record.balance).toString(); // TODO consider shifting to use number - - const existingValue = tokenRecord.value ? parseFloat(tokenRecord.value) : 0; - // record.value is typed as a number, but is actually a string - tokenRecord.value = (existingValue + +record.value).toString(); // TODO consider shifting to use number - - const existingValueExcludingOhm = tokenRecord.valueExcludingOhm ? parseFloat(tokenRecord.valueExcludingOhm) : 0; - // record.valueExcludingOhm is typed as a number, but is actually a string - tokenRecord.valueExcludingOhm = (existingValueExcludingOhm + +record.valueExcludingOhm).toString(); // TODO consider shifting to use number + tokenRecord.rate = getFloat(record.rate); + tokenRecord.balance += getFloat(record.balance); + tokenRecord.value += getFloat(record.value); + tokenRecord.valueExcludingOhm += getFloat(record.valueExcludingOhm); dateSummary.tokens[tokenId] = tokenRecord; }); + // With the total, set the liquid backing contribution + dateSummaryMap.forEach(dateSummary => { + Object.values(dateSummary.tokens).forEach(tokenRecord => { + tokenRecord.liquidBackingContribution = tokenRecord.valueExcludingOhm / dateSummary.liquidBackingTotal; + }); + }); + return Array.from(dateSummaryMap.values()).sort((a, b) => { return new Date(b.date).getTime() - new Date(a.date).getTime(); }); diff --git a/src/views/TreasuryDashboard/components/Graph/helpers/__tests__/TokenRecordsQueryHelper.unit.test.tsx b/src/views/TreasuryDashboard/components/Graph/helpers/__tests__/TokenRecordsQueryHelper.unit.test.tsx index 9ca983923d..021bed2b6e 100644 --- a/src/views/TreasuryDashboard/components/Graph/helpers/__tests__/TokenRecordsQueryHelper.unit.test.tsx +++ b/src/views/TreasuryDashboard/components/Graph/helpers/__tests__/TokenRecordsQueryHelper.unit.test.tsx @@ -69,8 +69,8 @@ describe("getDateTokenSummary", () => { expect(dateTwo.block).toEqual(2); expect(dateTwo.tokens[tokenId].id).toEqual(tokenId); expect(dateTwo.tokens[tokenId].category).toEqual("POL"); - expect(dateTwo.tokens[tokenId].value).toEqual("1"); - expect(dateTwo.tokens[tokenId].valueExcludingOhm).toEqual("0.5"); + expect(dateTwo.tokens[tokenId].value).toEqual(1); + expect(dateTwo.tokens[tokenId].valueExcludingOhm).toEqual(0.5); expect(Object.keys(dateTwo.tokens).length).toEqual(1); const dateOne = byDateRecords[1]; @@ -79,10 +79,33 @@ describe("getDateTokenSummary", () => { expect(dateOne.block).toEqual(1); expect(dateOne.tokens[tokenId].id).toEqual(tokenId); expect(dateOne.tokens[tokenId].category).toEqual("Foo"); - expect(dateOne.tokens[tokenId].value).toEqual("2"); - expect(dateOne.tokens[tokenId].valueExcludingOhm).toEqual("1.5"); + expect(dateOne.tokens[tokenId].value).toEqual(2); + expect(dateOne.tokens[tokenId].valueExcludingOhm).toEqual(1.5); expect(Object.keys(dateOne.tokens).length).toEqual(1); expect(byDateRecords.length).toEqual(2); }); + + it("adds values on each day", () => { + const records: TokenRecord[] = [ + createTokenRecord("2022-06-06", "2", "token", "POL", "1", "0.5"), + createTokenRecord("2022-06-06", "2", "token", "POL", "1", "0.5"), + ]; + + const byDateRecords = getDateTokenRecordSummary(records); + + const tokenId = "token/Ethereum"; + + const dateTwo = byDateRecords[0]; + expect(dateTwo).toBeDefined(); + expect(dateTwo.date).toEqual("2022-06-06"); + expect(dateTwo.block).toEqual(2); + expect(dateTwo.tokens[tokenId].id).toEqual(tokenId); + expect(dateTwo.tokens[tokenId].category).toEqual("POL"); + expect(dateTwo.tokens[tokenId].value).toEqual(2); + expect(dateTwo.tokens[tokenId].valueExcludingOhm).toEqual(1); + expect(Object.keys(dateTwo.tokens).length).toEqual(1); + + expect(byDateRecords.length).toEqual(1); + }); }); diff --git a/src/views/TreasuryDashboard/components/Metric/Metric.tsx b/src/views/TreasuryDashboard/components/Metric/Metric.tsx index e5f16cfde6..2968ce1379 100644 --- a/src/views/TreasuryDashboard/components/Metric/Metric.tsx +++ b/src/views/TreasuryDashboard/components/Metric/Metric.tsx @@ -14,12 +14,13 @@ import { useLiquidBackingPerGOhm, useLiquidBackingPerOhmBacked, useMarketCap } f export type MetricSubgraphProps = { earliestDate?: string | null; + ignoreCache?: boolean; }; type MetricProps = PropsOf; export type AbstractedMetricProps = Omit; export const MarketCap: React.FC = props => { - const [marketCap, ohmPrice, ohmCirculatingSupply] = useMarketCap(props.earliestDate); + const [marketCap, ohmPrice, ohmCirculatingSupply] = useMarketCap({ ignoreCache: props.ignoreCache }); const _props: MetricProps = { ...props, label: `OHM Market Cap`, @@ -59,7 +60,7 @@ export const OHMPrice: React.FC = props => { * same as OHMPrice but uses Subgraph price */ export const OHMPriceFromSubgraph: React.FC = props => { - const ohmPrice = useOhmPriceFromSubgraph(); + const ohmPrice = useOhmPriceFromSubgraph({ ignoreCache: props.ignoreCache }); const _props: MetricProps = { ...props, label: "OHM " + `Price`, @@ -73,8 +74,8 @@ export const OHMPriceFromSubgraph: React.FC = props => { - const totalSupply = useOhmTotalSupply(props.earliestDate); - const circSupply = useOhmCirculatingSupply(props.earliestDate); + const totalSupply = useOhmTotalSupply({ ignoreCache: props.ignoreCache }); + const circSupply = useOhmCirculatingSupply({ ignoreCache: props.ignoreCache }); const _props: MetricProps = { ...props, label: `OHM Circulating Supply / Total`, @@ -100,7 +101,9 @@ export const GOhmCirculatingSupply: React.FC = props => { }; export const BackingPerOHM: React.FC = props => { - const [liquidBackingPerOhmBacked, liquidBacking, backedSupply] = useLiquidBackingPerOhmBacked(props.earliestDate); + const [liquidBackingPerOhmBacked, liquidBacking, backedSupply] = useLiquidBackingPerOhmBacked({ + ignoreCache: props.ignoreCache, + }); // We include floating supply in the tooltip, as it is not displayed as a separate metric anywhere else const tooltip = `Liquid backing (${formatCurrencyOrLoading( @@ -122,9 +125,9 @@ Backed supply is the quantity of outstanding OHM that is backed by assets in the }; export const BackingPerGOHM: React.FC = props => { - const [liquidBackingPerGOhm, liquidBacking, latestIndex, ohmBackedSupply] = useLiquidBackingPerGOhm( - props.earliestDate, - ); + const [liquidBackingPerGOhm, liquidBacking, latestIndex, ohmBackedSupply] = useLiquidBackingPerGOhm({ + ignoreCache: props.ignoreCache, + }); const tooltip = `Liquid backing per gOHM is calculated as liquid backing (${formatCurrencyOrLoading( liquidBacking, @@ -152,7 +155,7 @@ export const BackingPerGOHM: React.FC = props => { - const currentIndex = useCurrentIndex(); + const currentIndex = useCurrentIndex({ ignoreCache: props.ignoreCache }); const _props: MetricProps = { ...props, label: `Current Index`, @@ -185,7 +188,7 @@ export const GOHMPrice: React.FC = props => { }; export const GOHMPriceFromSubgraph: React.FC = props => { - const gOhmPrice = useGOhmPriceFromSubgraph(); + const gOhmPrice = useGOhmPriceFromSubgraph({ ignoreCache: props.ignoreCache }); const _props: MetricProps = { ...props, label: "gOHM " + `Price`, @@ -202,7 +205,7 @@ export const GOHMPriceFromSubgraph: React.FC = props => { - const totalValueDeposited = useTotalValueDeposited(); + const totalValueDeposited = useTotalValueDeposited({ ignoreCache: props.ignoreCache }); const _props: MetricProps = { ...props, label: `Total Value Deposited`, diff --git a/yarn.lock b/yarn.lock index a287a7a58d..1566cbb0a0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1219,13 +1219,20 @@ resolved "https://registry.yarnpkg.com/@babel/regjsgen/-/regjsgen-0.8.0.tgz#f0ba69b075e1f05fb2825b7fad991e7adbb18310" integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== -"@babel/runtime@^7.1.2", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.5", "@babel/runtime@^7.15.4", "@babel/runtime@^7.17.2", "@babel/runtime@^7.17.8", "@babel/runtime@^7.18.3", "@babel/runtime@^7.20.7", "@babel/runtime@^7.21.0", "@babel/runtime@^7.22.15", "@babel/runtime@^7.22.5", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2": +"@babel/runtime@^7.1.2", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.5", "@babel/runtime@^7.17.2", "@babel/runtime@^7.17.8", "@babel/runtime@^7.18.3", "@babel/runtime@^7.20.7", "@babel/runtime@^7.21.0", "@babel/runtime@^7.22.15", "@babel/runtime@^7.22.5", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2": version "7.22.15" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.22.15.tgz#38f46494ccf6cf020bd4eed7124b425e83e523b8" integrity sha512-T0O+aa+4w0u06iNmapipJXMV4HoUir03hpx3/YqXXhu9xim3w+dVphjFWl1OH8NbZHw5Lbm9k45drDkgq2VNNA== dependencies: regenerator-runtime "^0.14.0" +"@babel/runtime@^7.15.4": + version "7.23.1" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.1.tgz#72741dc4d413338a91dcb044a86f3c0bc402646d" + integrity sha512-hC2v6p8ZSI/W0HUzh3V8C5g+NwSKzKPtJwSpTjwl0o297GP9+ZLQSkdvHz46CM3LqyoXxq+5G9komY+eSqSO0g== + dependencies: + regenerator-runtime "^0.14.0" + "@babel/template@^7.20.7", "@babel/template@^7.22.15", "@babel/template@^7.22.5": version "7.22.15" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.22.15.tgz#09576efc3830f0430f4548ef971dde1350ef2f38" @@ -1996,6 +2003,11 @@ resolved "https://registry.yarnpkg.com/@faker-js/faker/-/faker-5.5.3.tgz#18e3af6b8eae7984072bbeb0c0858474d7c4cefe" integrity sha512-R11tGE6yIFwqpaIqcfkcg7AICXzFg14+5h5v0TfF/9+RMDL6jhzCy/pxHVOfbALGdtVYdt6JdR21tuxEgl34dw== +"@fastify/accept-negotiator@^1.0.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@fastify/accept-negotiator/-/accept-negotiator-1.1.0.tgz#c1c66b3b771c09742a54dd5bc87c582f6b0630ff" + integrity sha512-OIHZrb2ImZ7XG85HXOONLcJWGosv7sIvM2ifAPQVhg9Lv7qdmMBNVaai4QTdyuaqbKM5eO6sLSQOYI7wEQeCJQ== + "@fastify/ajv-compiler@^3.5.0": version "3.5.0" resolved "https://registry.yarnpkg.com/@fastify/ajv-compiler/-/ajv-compiler-3.5.0.tgz#459bff00fefbf86c96ec30e62e933d2379e46670" @@ -2005,12 +2017,19 @@ ajv-formats "^2.1.1" fast-uri "^2.0.0" +"@fastify/busboy@^1.0.0": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@fastify/busboy/-/busboy-1.2.1.tgz#9c6db24a55f8b803b5222753b24fe3aea2ba9ca3" + integrity sha512-7PQA7EH43S0CxcOa9OeAnaeA0oQ+e/DHNPZwSQM9CQHW76jle5+OvLdibRp/Aafs9KXbLhxyjOTkRjWUbQEd3Q== + dependencies: + text-decoding "^1.0.0" + "@fastify/deepmerge@^1.0.0": version "1.3.0" resolved "https://registry.yarnpkg.com/@fastify/deepmerge/-/deepmerge-1.3.0.tgz#8116858108f0c7d9fd460d05a7d637a13fe3239a" integrity sha512-J8TOSBq3SoZbDhM9+R/u77hP93gz/rajSA+K2kGyijPpORPWUXHUpTaleoj+92As0S9uPRP7Oi8IqMf0u+ro6A== -"@fastify/error@^3.2.0": +"@fastify/error@^3.0.0", "@fastify/error@^3.2.0": version "3.3.0" resolved "https://registry.yarnpkg.com/@fastify/error/-/error-3.3.0.tgz#eba790082e1144bfc8def0c2c8ef350064bc537b" integrity sha512-dj7vjIn1Ar8sVXj2yAXiMNCJDmS9MQ9XMlIecX2dIzzhjSHCyKo4DdXjXMs7wKW2kj6yvVRSpuQjOZ3YLrh56w== @@ -2030,6 +2049,66 @@ fast-querystring "^1.0.0" fastify-plugin "^4.0.0" +"@fastify/multipart@^7.7.3": + version "7.7.3" + resolved "https://registry.yarnpkg.com/@fastify/multipart/-/multipart-7.7.3.tgz#3d00f0701367c956a6f59e8c7da4025f9624c0f1" + integrity sha512-MG4Gd9FNEXc8qx0OgqoXM10EGO/dN/0iVQ8SrpFMU3d6F6KUfcqD2ZyoQhkm9LWrbiMgdHv5a43x78lASdn5GA== + dependencies: + "@fastify/busboy" "^1.0.0" + "@fastify/deepmerge" "^1.0.0" + "@fastify/error" "^3.0.0" + "@fastify/swagger" "^8.3.1" + "@fastify/swagger-ui" "^1.8.0" + end-of-stream "^1.4.4" + fastify-plugin "^4.0.0" + secure-json-parse "^2.4.0" + stream-wormhole "^1.1.0" + +"@fastify/send@^2.0.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@fastify/send/-/send-2.1.0.tgz#1aa269ccb4b0940a2dadd1f844443b15d8224ea0" + integrity sha512-yNYiY6sDkexoJR0D8IDy3aRP3+L4wdqCpvx5WP+VtEU58sn7USmKynBzDQex5X42Zzvw2gNzzYgP90UfWShLFA== + dependencies: + "@lukeed/ms" "^2.0.1" + escape-html "~1.0.3" + fast-decode-uri-component "^1.0.1" + http-errors "2.0.0" + mime "^3.0.0" + +"@fastify/static@^6.0.0": + version "6.11.2" + resolved "https://registry.yarnpkg.com/@fastify/static/-/static-6.11.2.tgz#1fe40c40daf055a28d29db807b459fcff431d9b6" + integrity sha512-EH7mh7q4MfNdT7N07ZVlwsX/ObngMvQ7KBP0FXAuPov99Fjn80KSJMdxQhhYKAKWW1jXiFdrk8X7d6uGWdZFxg== + dependencies: + "@fastify/accept-negotiator" "^1.0.0" + "@fastify/send" "^2.0.0" + content-disposition "^0.5.3" + fastify-plugin "^4.0.0" + glob "^8.0.1" + p-limit "^3.1.0" + +"@fastify/swagger-ui@^1.8.0": + version "1.9.3" + resolved "https://registry.yarnpkg.com/@fastify/swagger-ui/-/swagger-ui-1.9.3.tgz#1ec03ea2595cb2e7d6de6ae7c949bebcff8370a5" + integrity sha512-YYqce4CydjDIEry6Zo4JLjVPe5rjS8iGnk3fHiIQnth9sFSLeyG0U1DCH+IyYmLddNDg1uWJOuErlVqnu/jI3w== + dependencies: + "@fastify/static" "^6.0.0" + fastify-plugin "^4.0.0" + openapi-types "^12.0.2" + rfdc "^1.3.0" + yaml "^2.2.2" + +"@fastify/swagger@^8.3.1": + version "8.10.1" + resolved "https://registry.yarnpkg.com/@fastify/swagger/-/swagger-8.10.1.tgz#c3421f960b320baa50b470b061510e98fdb62e67" + integrity sha512-NZ4PyppZWEd4j8qPt4AKGhuMm7dALe2IntmI2NrdlnPno+rFRyQJHw3XHdziN7yirYGhCGM+vByItWEnPHLu4w== + dependencies: + fastify-plugin "^4.0.0" + json-schema-resolver "^2.0.0" + openapi-types "^12.0.0" + rfdc "^1.3.0" + yaml "^2.2.2" + "@floating-ui/core@^1.4.2": version "1.5.0" resolved "https://registry.yarnpkg.com/@floating-ui/core/-/core-1.5.0.tgz#5c05c60d5ae2d05101c3021c1a2a350ddc027f8c" @@ -2057,14 +2136,28 @@ resolved "https://registry.yarnpkg.com/@floating-ui/utils/-/utils-0.1.4.tgz#19654d1026cc410975d46445180e70a5089b3e7d" integrity sha512-qprfWkn82Iw821mcKofJ5Pk9wgioHicxcQMxx+5zt5GSKoqdWvgG5AxVmpmUUjzTLPVSH5auBrhI93Deayn/DA== +"@graphql-inspector/core@5.0.1": + version "5.0.1" + resolved "https://registry.yarnpkg.com/@graphql-inspector/core/-/core-5.0.1.tgz#68bc8be7ff7c0374072eedafa4e0795d62b634b6" + integrity sha512-1CWfFYucnRdULGiN1NDSinlNlpucBT+0x4i4AIthKe5n5jD9RIVyJtkA8zBbujUFrP++YE3l+TQifwbN1yTQsw== + dependencies: + dependency-graph "0.11.0" + object-inspect "1.12.3" + tslib "2.6.0" + "@graphql-mesh/cross-helpers@^0.4.0": - version "0.4.0" - resolved "https://registry.yarnpkg.com/@graphql-mesh/cross-helpers/-/cross-helpers-0.4.0.tgz#e27dd47c97de888bb2f152e251c6f641ece9e0dc" - integrity sha512-NgcuwLQelrnl6YmJdXk8GWctY7MUtgyLKBfXsFj1bRhzC6BR/r6DieWKWWrLG8DQu0eNUMtVrI0j0qUrlw7LdQ== + version "0.4.1" + resolved "https://registry.yarnpkg.com/@graphql-mesh/cross-helpers/-/cross-helpers-0.4.1.tgz#bae978cb7ee09943666c18c88e81c87d644dfa6b" + integrity sha512-NkLzFuY72tmmKO7gKWoDzoYcRVf3lLoCdlw30fSNKFKEWDAV3Tyh4v0fPvU3SEmoTJio7v0TIYZqtVt3dBBDFw== dependencies: path-browserify "1.0.1" - react-native-fs "2.20.0" - react-native-path "0.0.5" + +"@graphql-mesh/store@0.94.6": + version "0.94.6" + resolved "https://registry.yarnpkg.com/@graphql-mesh/store/-/store-0.94.6.tgz#bddecd371c755ce4e142b4b4f0f688afcf390aa5" + integrity sha512-BHpoa6btmgTedvwatbx1UORhnOUStYQJSitr2oXUIP4YN3DrRH3hf/BhwGiNWXq/AgTi4ZldXgJ8RA1OEXeX8Q== + dependencies: + "@graphql-inspector/core" "5.0.1" "@graphql-mesh/string-interpolation@0.5.0": version "0.5.0" @@ -2075,7 +2168,7 @@ json-pointer "0.6.2" lodash.get "4.4.2" -"@graphql-mesh/string-interpolation@0.5.1", "@graphql-mesh/string-interpolation@^0.5.0": +"@graphql-mesh/string-interpolation@0.5.1", "@graphql-mesh/string-interpolation@^0.5.0", "@graphql-mesh/string-interpolation@^0.5.1": version "0.5.1" resolved "https://registry.yarnpkg.com/@graphql-mesh/string-interpolation/-/string-interpolation-0.5.1.tgz#b5e995769b0d9b72f040f10ea5cf53a5fc98bdad" integrity sha512-xrShpJ4silpWekpeVntDNt6NY6RxEMMbZ1CenIkLsl/QN3mMjxWa3rQX0qrByBeyDn7SorSN3lrClCCsPvmWZw== @@ -2084,21 +2177,21 @@ json-pointer "0.6.2" lodash.get "4.4.2" -"@graphql-mesh/types@0.94.0": - version "0.94.0" - resolved "https://registry.yarnpkg.com/@graphql-mesh/types/-/types-0.94.0.tgz#cf4d62b271a055a86ea5dda331ff024f838480d7" - integrity sha512-LBFKhrb4Pwn6R/TZ/FS5QHQvzxgJGS5P4J6PHjoEfLEK98APqXwBH9Tbxb4wXUH9htUGOtkTWL25fZivwi770A== +"@graphql-mesh/types@0.94.6": + version "0.94.6" + resolved "https://registry.yarnpkg.com/@graphql-mesh/types/-/types-0.94.6.tgz#11943584530d27776d9b7b6369a07212fa48d776" + integrity sha512-Dir0ETwXhNK0Du5CHQ51xnBu/t5PhcTBbQVniPq/zgM02FJZRvbRHqlg2/Q1g3X3M9dIjs787XLhEarG4imL2g== dependencies: "@graphql-tools/batch-delegate" "^9.0.0" "@graphql-tools/delegate" "^10.0.0" "@graphql-typed-document-node/core" "^3.2.0" -"@graphql-mesh/utils@0.94.0": - version "0.94.0" - resolved "https://registry.yarnpkg.com/@graphql-mesh/utils/-/utils-0.94.0.tgz#a89c5dd2f7bac443c7f4208ed6a4c1127a77f2ab" - integrity sha512-wuKKkyC043YoX5CEuFb7YllBlOGwZSjAym01bZGzIKhyosqD/e6Y+ii8XsWVgpmC9iLKzheZp6SUTf/nbTbsXw== +"@graphql-mesh/utils@0.94.6": + version "0.94.6" + resolved "https://registry.yarnpkg.com/@graphql-mesh/utils/-/utils-0.94.6.tgz#76cd8b419e0b9ddae45106ab84b2d423595ff5ee" + integrity sha512-EqMNzthWtnOtMrjAbrtVmNBV1a9vDwsCXHqRTaYAP9IWoBeoumq9xHueot6nLaY91cTgFsprnxyhaAXgxSCb9A== dependencies: - "@graphql-mesh/string-interpolation" "^0.5.0" + "@graphql-mesh/string-interpolation" "^0.5.1" "@graphql-tools/delegate" "^10.0.0" dset "^3.1.2" js-yaml "^4.1.0" @@ -2128,9 +2221,9 @@ value-or-promise "^1.0.12" "@graphql-tools/delegate@^10.0.0": - version "10.0.2" - resolved "https://registry.yarnpkg.com/@graphql-tools/delegate/-/delegate-10.0.2.tgz#26fdd4b186969799570cc6d2451d05d1d7cb7c90" - integrity sha512-ZU7VnR2xFgHrGnsuw6+nRJkcvSucn7w5ooxb/lTKlVfrNJfTwJevNcNKMnbtPUSajG3+CaFym/nU6v44GXCmNw== + version "10.0.3" + resolved "https://registry.yarnpkg.com/@graphql-tools/delegate/-/delegate-10.0.3.tgz#2d0e133da94ca92c24e0c7360414e5592321cf2d" + integrity sha512-Jor9oazZ07zuWkykD3OOhT/2XD74Zm6Ar0ENZMk75MDD51wB2UWUIMljtHxbJhV5A6UBC2v8x6iY0xdCGiIlyw== dependencies: "@graphql-tools/batch-execute" "^9.0.1" "@graphql-tools/executor" "^1.0.0" @@ -2193,16 +2286,7 @@ dependencies: tslib "^2.4.0" -"@graphql-tools/utils@^10.0.0": - version "10.0.4" - resolved "https://registry.yarnpkg.com/@graphql-tools/utils/-/utils-10.0.4.tgz#3104bea54752ae54f1f4a67833d7e3b734400dbe" - integrity sha512-MF+nZgGROSnFgyOYWhrl2PuJMlIBvaCH48vtnlnDQKSeDc2fUfOzUVloBAQvnYmK9JBmHHks4Pxv25Ybg3r45Q== - dependencies: - "@graphql-typed-document-node/core" "^3.1.1" - dset "^3.1.2" - tslib "^2.4.0" - -"@graphql-tools/utils@^10.0.5": +"@graphql-tools/utils@^10.0.0", "@graphql-tools/utils@^10.0.5": version "10.0.6" resolved "https://registry.yarnpkg.com/@graphql-tools/utils/-/utils-10.0.6.tgz#8a809d6bc0df27ffe8964696f182af2383b5974b" integrity sha512-hZMjl/BbX10iagovakgf3IiqArx8TPsotq5pwBld37uIX1JiZoSbgbCIFol7u55bh32o6cfDEiiJgfAD5fbeyQ== @@ -2417,6 +2501,11 @@ dependencies: "@lit-labs/ssr-dom-shim" "^1.0.0" +"@lukeed/ms@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@lukeed/ms/-/ms-2.0.1.tgz#3c2bbc258affd9cc0e0cc7828477383c73afa6ee" + integrity sha512-Xs/4RZltsAL7pkvaNStUQt7netTkyxrS0K+RILcVr3TRMS/ToOg4I6uNfhB9SlGsnWBym4U+EaXq0f0cEMNkHA== + "@metamask/safe-event-emitter@2.0.0", "@metamask/safe-event-emitter@^2.0.0": version "2.0.0" resolved "https://registry.npmjs.org/@metamask/safe-event-emitter/-/safe-event-emitter-2.0.0.tgz" @@ -2695,11 +2784,11 @@ "@react-spring/web" "^9.5.5" "@olympusdao/treasury-subgraph-client@^1.1.0": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@olympusdao/treasury-subgraph-client/-/treasury-subgraph-client-1.3.0.tgz#b380c883d1ceba9770a81aae54d19b5a3766cc3b" - integrity sha512-kZc55gp5WnR7a0/IkY5VClzLAMwc45hzaZW9Ir4Muh6EnZtHF04wgqI0970+xKMmukVR2uI29OjkKCmy9gUB6Q== + version "1.3.2" + resolved "https://registry.yarnpkg.com/@olympusdao/treasury-subgraph-client/-/treasury-subgraph-client-1.3.2.tgz#dca36216b588c0901bf7aab3b5676e28b85b5074" + integrity sha512-QQW41JeVkxAwNm6k/NdWwXJy9eIWmyC9egrO1VhTaf0KcoT4Lj8ZfqF4sLdoHj0alylM3wjTGNLMdrhtG/gsKA== dependencies: - "@wundergraph/sdk" "^0.169.0" + "@wundergraph/sdk" "^0.178.0" "@omnigraph/json-schema@0.94.2": version "0.94.2" @@ -2720,7 +2809,7 @@ to-json-schema "0.2.5" url-join "4.0.1" -"@omnigraph/json-schema@^0.94.2": +"@omnigraph/json-schema@^0.94.5": version "0.94.9" resolved "https://registry.yarnpkg.com/@omnigraph/json-schema/-/json-schema-0.94.9.tgz#c57a4148cbd119f90a148309b6d90a5f785597a4" integrity sha512-s9sFLxIS97RJHzON4/v7kIle1p9MWu8lFcUBEeU0wUmZjF9t7g2psFFCXOqBSa5cbySoi6vTVdaO49J3RaSWvA== @@ -2739,23 +2828,23 @@ to-json-schema "0.2.5" url-join "4.0.1" -"@omnigraph/openapi@0.94.2": - version "0.94.2" - resolved "https://registry.yarnpkg.com/@omnigraph/openapi/-/openapi-0.94.2.tgz#b90c044db3a581731155949c529b6e83edd7fb20" - integrity sha512-ssWorS1zGiLqpWk1UqD5Vi0TOGftxgH6+aQta6vzCQ5pIwimsShikUI37t084ARiU4T7lXTRMSXpjLaAYGFDVw== +"@omnigraph/openapi@0.94.6": + version "0.94.6" + resolved "https://registry.yarnpkg.com/@omnigraph/openapi/-/openapi-0.94.6.tgz#4f1edda3d630d7c483cebc8f492b84a9bd39397e" + integrity sha512-TOXjohnWWeJTWLkmnN7JFZINgddv5rfjj+eamzAP1Od/6MCvi94uyOO6hQVLl3BIBreX7PucPHqG+86ovLwu8A== dependencies: "@graphql-mesh/string-interpolation" "^0.5.0" - "@omnigraph/json-schema" "^0.94.2" + "@omnigraph/json-schema" "^0.94.5" change-case "^4.1.2" - json-machete "^0.94.0" + json-machete "^0.94.2" openapi-types "^12.1.0" -"@omnigraph/soap@0.94.2": - version "0.94.2" - resolved "https://registry.yarnpkg.com/@omnigraph/soap/-/soap-0.94.2.tgz#4b6758fe6c37bb2b0b32b20c4653abf1907cd586" - integrity sha512-25JTbBF9InEuEyBMxBhUGkTStoe4P70Zcso3zASFaf/wkXnMlmTnDnIBrWnPGxRg54G5/KipnSRg5O7lUBXwbA== +"@omnigraph/soap@0.94.6": + version "0.94.6" + resolved "https://registry.yarnpkg.com/@omnigraph/soap/-/soap-0.94.6.tgz#25a8c1d4ac59b4c0b3882473180a0e2182ab8fb5" + integrity sha512-7nwBKV7ToZLeNctZ5oHbhqmO5NLcni6KGksxxreLAtIw6np/f8KbVYeIGefBWGItEQpTGeZ0/hWyuPFolGKm9g== dependencies: - fast-xml-parser "4.2.4" + fast-xml-parser "4.2.5" graphql-compose "9.0.10" graphql-scalars "^1.22.2" @@ -2767,14 +2856,14 @@ "@opentelemetry/api" "^1.0.0" "@opentelemetry/api@^1.0.0", "@opentelemetry/api@^1.4.1": - version "1.4.1" - resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-1.4.1.tgz#ff22eb2e5d476fbc2450a196e40dd243cc20c28f" - integrity sha512-O2yRJce1GOc6PAy3QxFM4NzFiWzvScDC1/5ihYBL6BUEVdq0XMWN01sppE+H6bBXbaFYipjwFLEWLg5PaSOThA== + version "1.6.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-1.6.0.tgz#de2c6823203d6f319511898bb5de7e70f5267e19" + integrity sha512-OWlrQAnWn9577PhVgqjUvMr1pg57Bc4jv0iL4w0PRuOSRvq67rvHW9Ie/dZVMvCzhSCB+UxhcY/PmCmFj33Q+g== -"@opentelemetry/context-async-hooks@1.15.1": - version "1.15.1" - resolved "https://registry.yarnpkg.com/@opentelemetry/context-async-hooks/-/context-async-hooks-1.15.1.tgz#694798afeb83eab5fe31c6e15762815b27615c65" - integrity sha512-JHPs/o15OO902lI5jkWWPz0JyOpQav7hfOY20MZFH/elq6kSvjBTw5cCu1v7SJwN0Ac3n08fOjYK+jtNlYP0LA== +"@opentelemetry/context-async-hooks@1.17.0": + version "1.17.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/context-async-hooks/-/context-async-hooks-1.17.0.tgz#d198319785bc81533f1a096e86d7f81ce57346ed" + integrity sha512-bDIRCgpKniSyhORU0fTL9ISW6ucU9nruKyXKwYrEBep/2f3uLz8LFyF51ZUK9QxIwBHw6WJudK/2UqttWzER4w== "@opentelemetry/core@1.13.0": version "1.13.0" @@ -2783,12 +2872,12 @@ dependencies: "@opentelemetry/semantic-conventions" "1.13.0" -"@opentelemetry/core@1.15.1", "@opentelemetry/core@^1.13.0": - version "1.15.1" - resolved "https://registry.yarnpkg.com/@opentelemetry/core/-/core-1.15.1.tgz#a580a547c1006cc411ae7aacd4991b52555b3f1d" - integrity sha512-V6GoRTY6aANMDDOQ9CiHOiLWEK2b2b3OGZK+zk05Li5merb9jadFeV5ooTSGtjxfxVNMpQUaQERO1cdbdbeEGg== +"@opentelemetry/core@1.17.0", "@opentelemetry/core@^1.13.0": + version "1.17.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/core/-/core-1.17.0.tgz#6a72425f5f953dc68b4c7c66d947c018173d30d2" + integrity sha512-tfnl3h+UefCgx1aeN2xtrmr6BmdWGKXypk0pflQR0urFS40aE88trnkOMc2HTJZbMrqEEl4HsaBeFhwLVXsrJg== dependencies: - "@opentelemetry/semantic-conventions" "1.15.1" + "@opentelemetry/semantic-conventions" "1.17.0" "@opentelemetry/exporter-trace-otlp-proto@^0.39.1": version "0.39.1" @@ -2830,19 +2919,19 @@ "@opentelemetry/sdk-metrics" "1.13.0" "@opentelemetry/sdk-trace-base" "1.13.0" -"@opentelemetry/propagator-b3@1.15.1": - version "1.15.1" - resolved "https://registry.yarnpkg.com/@opentelemetry/propagator-b3/-/propagator-b3-1.15.1.tgz#d3c625d18945c9fd501ed7e2a628f56d0a80c378" - integrity sha512-Rgzp5CgxSLDLdtiUx/nv+1jkyyU/qbhTqTBxMUvk4fqPfddzQNZyllyJ9IMNp9Xh4pzYlPP5ZBlN5Sw5isjuaw== +"@opentelemetry/propagator-b3@1.17.0": + version "1.17.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/propagator-b3/-/propagator-b3-1.17.0.tgz#32509a8214b7ced7709fd06c0ee5a0d86adcc51f" + integrity sha512-oklstXImtaly4vDaL+rGtX41YXZR50jp5a7CSEPMcStp1B7ozdZ5G2I5wftrDvOlOcLt/TIkGWDCr/OkVN7kWg== dependencies: - "@opentelemetry/core" "1.15.1" + "@opentelemetry/core" "1.17.0" -"@opentelemetry/propagator-jaeger@1.15.1": - version "1.15.1" - resolved "https://registry.yarnpkg.com/@opentelemetry/propagator-jaeger/-/propagator-jaeger-1.15.1.tgz#1af170b9cee5cba556ccb2e21d547260cb5c33ad" - integrity sha512-27cljZFnbUv5e459e2BhcsHCn2yePYq+07dZNW51e6F05GDWHC86fpwdh+WKvrfKSRMddUMkufHyoBWxtUN/Vg== +"@opentelemetry/propagator-jaeger@1.17.0": + version "1.17.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/propagator-jaeger/-/propagator-jaeger-1.17.0.tgz#a89dbc34447db0b5029b719baaa111f268b52265" + integrity sha512-iZzu8K0QkZZ16JH9yox6hZk7/Rxc4SPeGU37pvlB9DtzfNxAEX1FMK9zvowv3ve7r2uzZNpa7JGVUwpy5ewdHQ== dependencies: - "@opentelemetry/core" "1.15.1" + "@opentelemetry/core" "1.17.0" "@opentelemetry/resources@1.13.0": version "1.13.0" @@ -2852,13 +2941,13 @@ "@opentelemetry/core" "1.13.0" "@opentelemetry/semantic-conventions" "1.13.0" -"@opentelemetry/resources@1.15.1", "@opentelemetry/resources@^1.13.0": - version "1.15.1" - resolved "https://registry.yarnpkg.com/@opentelemetry/resources/-/resources-1.15.1.tgz#6a0da2eb5d394d302701d428a1cbbb2cd924ac50" - integrity sha512-15JcpyKZHhFYQ1uiC08vR02sRY/2seSnqSJ0tIUhcdYDzOhd0FrqPYpLj3WkLhVdQP6vgJ+pelAmSaOrCxCpKA== +"@opentelemetry/resources@1.17.0", "@opentelemetry/resources@^1.13.0": + version "1.17.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/resources/-/resources-1.17.0.tgz#ee29144cfd7d194c69698c8153dbadec7fe6819f" + integrity sha512-+u0ciVnj8lhuL/qGRBPeVYvk7fL+H/vOddfvmOeJaA1KC+5/3UED1c9KoZQlRsNT5Kw1FaK8LkY2NVLYfOVZQw== dependencies: - "@opentelemetry/core" "1.15.1" - "@opentelemetry/semantic-conventions" "1.15.1" + "@opentelemetry/core" "1.17.0" + "@opentelemetry/semantic-conventions" "1.17.0" "@opentelemetry/sdk-logs@0.39.1": version "0.39.1" @@ -2886,36 +2975,36 @@ "@opentelemetry/resources" "1.13.0" "@opentelemetry/semantic-conventions" "1.13.0" -"@opentelemetry/sdk-trace-base@1.15.1", "@opentelemetry/sdk-trace-base@^1.13.0": - version "1.15.1" - resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.15.1.tgz#8eabc0827769d91ac86cde8a86ebf0bf2a7d22ad" - integrity sha512-5hccBe2yXzzXyExJNkTsIzDe1AM7HK0al+y/D2yEpslJqS1HUzsUSuCMY7Z4+Sfz5Gf0kTa6KYEt1QUQppnoBA== +"@opentelemetry/sdk-trace-base@1.17.0", "@opentelemetry/sdk-trace-base@^1.13.0": + version "1.17.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.17.0.tgz#05a21763c9efa72903c20b8930293cdde344b681" + integrity sha512-2T5HA1/1iE36Q9eg6D4zYlC4Y4GcycI1J6NsHPKZY9oWfAxWsoYnRlkPfUqyY5XVtocCo/xHpnJvGNHwzT70oQ== dependencies: - "@opentelemetry/core" "1.15.1" - "@opentelemetry/resources" "1.15.1" - "@opentelemetry/semantic-conventions" "1.15.1" + "@opentelemetry/core" "1.17.0" + "@opentelemetry/resources" "1.17.0" + "@opentelemetry/semantic-conventions" "1.17.0" "@opentelemetry/sdk-trace-node@^1.13.0": - version "1.15.1" - resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-trace-node/-/sdk-trace-node-1.15.1.tgz#d1589ead5fe8aa2dc6789ec31e16965b4dcaf259" - integrity sha512-aZDcuYHwh+qyOD/FLFAEAh32V2DlAp8Ubyaohh51oSssC3cxmN9JmpkyPbp2PQX3Mn48gBubwTXr9g++3+NB5w== - dependencies: - "@opentelemetry/context-async-hooks" "1.15.1" - "@opentelemetry/core" "1.15.1" - "@opentelemetry/propagator-b3" "1.15.1" - "@opentelemetry/propagator-jaeger" "1.15.1" - "@opentelemetry/sdk-trace-base" "1.15.1" - semver "^7.5.1" + version "1.17.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-trace-node/-/sdk-trace-node-1.17.0.tgz#c2f23665e5a6878a7ad6a372dac72e7ab05c4eb5" + integrity sha512-Twlaje+t16b5j62CfcaKU869rP9oyBG/sVQWBI5+kDaWuP/YIFnF4LbovaEahK9GwAnW8vPIn6iYLAl/jZBidA== + dependencies: + "@opentelemetry/context-async-hooks" "1.17.0" + "@opentelemetry/core" "1.17.0" + "@opentelemetry/propagator-b3" "1.17.0" + "@opentelemetry/propagator-jaeger" "1.17.0" + "@opentelemetry/sdk-trace-base" "1.17.0" + semver "^7.5.2" "@opentelemetry/semantic-conventions@1.13.0": version "1.13.0" resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-1.13.0.tgz#0290398b3eaebc6029c348988a78c3b688fe9219" integrity sha512-LMGqfSZkaMQXqewO0o1wvWr/2fQdCh4a3Sqlxka/UsJCe0cfLulh6x2aqnKLnsrSGiCq5rSCwvINd152i0nCqw== -"@opentelemetry/semantic-conventions@1.15.1", "@opentelemetry/semantic-conventions@^1.13.0": - version "1.15.1" - resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-1.15.1.tgz#3d745996b2bd11095b515515fd3d68d46092a02d" - integrity sha512-n8Kur1/CZlYG32YCEj30CoUqA8R7UyDVZzoEU6SDP+13+kXDT2kFVu6MpcnEUTyGP3i058ID6Qjp5h6IJxdPPQ== +"@opentelemetry/semantic-conventions@1.17.0", "@opentelemetry/semantic-conventions@^1.13.0": + version "1.17.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-1.17.0.tgz#af10baa9f05ce1e64a14065fc138b5739bfb65f6" + integrity sha512-+fguCd2d8d2qruk0H0DsCEy2CTK3t0Tugg7MhZ/UQMvmewbZLNnJ6heSYyzIZWG5IPfAXzoj4f4F/qpM7l4VBA== "@orval/angular@6.17.0": version "6.17.0" @@ -4051,6 +4140,11 @@ resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.3.6.tgz#7b489e8baf393d5dd1266fb203ddd4ea941259e6" integrity sha512-VOVRLM1mBxIRxydiViqPcKn6MIxZytrbMpd6RJLIWKxUNr3zux8no0Oc7kJx0WAPIitgZ0gkrDS+btlqQpubpw== +"@types/common-tags@1.8.1": + version "1.8.1" + resolved "https://registry.yarnpkg.com/@types/common-tags/-/common-tags-1.8.1.tgz#a5a49ca5ebbb58e0f8947f3ec98950c8970a68a9" + integrity sha512-20R/mDpKSPWdJs5TOpz3e7zqbeCNuMCPhV7Yndk9KU2Rbij2r5W4RzwDPkzC+2lzUqXYu9rFzTktCBnDjHuNQg== + "@types/connect@^3.4.33": version "3.4.35" resolved "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz" @@ -4207,12 +4301,12 @@ resolved "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz" integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g== -"@types/json-schema@^7.0.11", "@types/json-schema@^7.0.6", "@types/json-schema@^7.0.9": - version "7.0.12" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.12.tgz#d70faba7039d5fca54c83c7dbab41051d2b6f6cb" - integrity sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA== +"@types/json-schema@7.0.11": + version "7.0.11" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" + integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== -"@types/json-schema@^7.0.4", "@types/json-schema@^7.0.7": +"@types/json-schema@^7.0.11", "@types/json-schema@^7.0.4", "@types/json-schema@^7.0.6", "@types/json-schema@^7.0.7", "@types/json-schema@^7.0.9": version "7.0.13" resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.13.tgz#02c24f4363176d2d18fc8b70b9f3c54aba178a85" integrity sha512-RbSSoHliUbnXj3ny0CNFOoxrIDV6SUGyStHsvDqosw6CkdPV8TtWGlfecuK4ToyMEAql6pzNxgCFKanovUzlgQ== @@ -4228,14 +4322,9 @@ integrity sha512-HZQYqbiFVWufzCwexrvh694SOim8z2d+xJl5UNamcvQFejLY/2YUtzXHYi3cHdI7PMlS8ejH2slRAOJQ32aNbA== "@types/lodash@^4.14.182": - version "4.14.195" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.195.tgz#bafc975b252eb6cea78882ce8a7b6bf22a6de632" - integrity sha512-Hwx9EUgdwf2GLarOjQp5ZH8ZmblzcbTBC2wtQWNKARBSxM9ezRIAUpeDTgoQRAFB0+8CNWXVA9+MaSOzOF3nPg== - -"@types/long@^4.0.1": - version "4.0.2" - resolved "https://registry.yarnpkg.com/@types/long/-/long-4.0.2.tgz#b74129719fc8d11c01868010082d483b7545591a" - integrity sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA== + version "4.14.199" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.199.tgz#c3edb5650149d847a277a8961a7ad360c474e9bf" + integrity sha512-Vrjz5N5Ia4SEzWWgIVwnHNEnb1UE1XMkvY5DGXrAeOGE9imk0hgTHh5GyDjLDJi9OTCn9oo9dXH1uToK1VRfrg== "@types/luxon@^3.3.0": version "3.3.0" @@ -4268,14 +4357,14 @@ integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA== "@types/ms@*": - version "0.7.31" - resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.31.tgz#31b7ca6407128a3d2bbc27fe2d21b345397f6197" - integrity sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA== + version "0.7.32" + resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.32.tgz#f6cd08939ae3ad886fcc92ef7f0109dacddf61ab" + integrity sha512-xPSg0jm4mqgEkNhowKgZFBNtwoEwF6gJ4Dhww+GFpm3IgtNseHQZ5IqdNwnquZEoANxyDAKDRAdVo4Z72VvD/g== -"@types/node@*", "@types/node@>=13.7.0", "@types/node@^20.6.2": - version "20.6.2" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.6.2.tgz#a065925409f59657022e9063275cd0b9bd7e1b12" - integrity sha512-Y+/1vGBHV/cYk6OI1Na/LHzwnlNCAfU3ZNGrc1LdRe/LAIbdDPTTv/HU3M7yXN448aTVDq3eKRm2cg7iKLb8gw== +"@types/node@*", "@types/node@>=13.7.0": + version "20.7.1" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.7.1.tgz#06d732ead0bd5ad978ef0ea9cbdeb24dc8717514" + integrity sha512-LT+OIXpp2kj4E2S/p91BMe+VgGX2+lfO+XTpfXhh+bCk2LkQtHZSub8ewFBMGP5ClysPjTDFa4sMI8Q3n4T0wg== "@types/node@^12.12.54": version "12.20.55" @@ -4298,9 +4387,14 @@ integrity sha512-1mFT4DqS4/s9tlZbdkwEB/EnSykA9MDeDLIk3FHApGvIMGY//qgstB2gu9GKGESWyW/qiRUO+jhlLJ9bBJ8j+Q== "@types/node@^16.9.2": - version "16.18.39" - resolved "https://registry.yarnpkg.com/@types/node/-/node-16.18.39.tgz#aa39a1a87a40ef6098ee69689a1acb0c1b034832" - integrity sha512-8q9ZexmdYYyc5/cfujaXb4YOucpQxAV4RMG0himLyDUOEr8Mr79VrqsFI+cQ2M2h89YIuy95lbxuYjxT4Hk4kQ== + version "16.18.54" + resolved "https://registry.yarnpkg.com/@types/node/-/node-16.18.54.tgz#4a63bdcea5b714f546aa27406a1c60621236a132" + integrity sha512-oTmGy68gxZZ21FhTJVVvZBYpQHEBZxHKTsGshobMqm9qWpbqdZsA5jvsuPZcHu0KwpmLrOHWPdEfg7XDpNT9UA== + +"@types/node@^20.6.2": + version "20.6.2" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.6.2.tgz#a065925409f59657022e9063275cd0b9bd7e1b12" + integrity sha512-Y+/1vGBHV/cYk6OI1Na/LHzwnlNCAfU3ZNGrc1LdRe/LAIbdDPTTv/HU3M7yXN448aTVDq3eKRm2cg7iKLb8gw== "@types/parse-json@^4.0.0": version "4.0.0" @@ -5149,17 +5243,17 @@ integrity sha512-AyQEn5hIPV7Ze+xFoXVU3QTHXVbWPrzaOkxtENMPMuNL6VVHrp4hHfDt9nrQpjO7BgvuM95dMtkycX5M/DZR3w== "@whatwg-node/fetch@^0.9.0", "@whatwg-node/fetch@^0.9.4": - version "0.9.9" - resolved "https://registry.yarnpkg.com/@whatwg-node/fetch/-/fetch-0.9.9.tgz#65e68aaf8353755c20657b803f2fe983dbdabf91" - integrity sha512-OTVoDm039CNyAWSRc2WBimMl/N9J4Fk2le21Xzcf+3OiWPNNSIbMnpWKBUyraPh2d9SAEgoBdQxTfVNihXgiUw== + version "0.9.13" + resolved "https://registry.yarnpkg.com/@whatwg-node/fetch/-/fetch-0.9.13.tgz#1d084cd546b9cd425ae89cbb1252a3e47a9a2e1c" + integrity sha512-PPtMwhjtS96XROnSpowCQM85gCUG2m7AXZFw0PZlGbhzx2GK7f2iOXilfgIJ0uSlCuuGbOIzfouISkA7C4FJOw== dependencies: - "@whatwg-node/node-fetch" "^0.4.8" + "@whatwg-node/node-fetch" "^0.4.17" urlpattern-polyfill "^9.0.0" -"@whatwg-node/node-fetch@^0.4.8": - version "0.4.11" - resolved "https://registry.yarnpkg.com/@whatwg-node/node-fetch/-/node-fetch-0.4.11.tgz#cef61fef1e075757ff8b07abf089012095267384" - integrity sha512-JRMx/yrBW/PXUH+0EIurUIQtAsEMrHtZBBKv6b+YCK1yG7pMNqtkl5Z39Rynq8ysVc/I6yTtNwkCy9bz5To1vw== +"@whatwg-node/node-fetch@^0.4.17": + version "0.4.19" + resolved "https://registry.yarnpkg.com/@whatwg-node/node-fetch/-/node-fetch-0.4.19.tgz#29c72ff65a8e450949238612ff17a3d3717736d3" + integrity sha512-AW7/m2AuweAoSXmESrYQr/KBafueScNbn2iNO0u6xFr2JZdPmYsSm5yvAXYk6yDLv+eDmSSKrf7JnFZ0CsJIdA== dependencies: "@whatwg-node/events" "^0.1.0" busboy "^1.6.0" @@ -5167,10 +5261,10 @@ fast-url-parser "^1.1.3" tslib "^2.3.1" -"@wundergraph/orm@0.2.0": - version "0.2.0" - resolved "https://registry.yarnpkg.com/@wundergraph/orm/-/orm-0.2.0.tgz#0c4a147be1f18c1d903ba5e4c3bbbab8f7a1b3cd" - integrity sha512-cUeWoq1fmk+FfUI7G56CpOtAfdBq/AL5lN/U+Dkaa9ZnqOnmEt3rRdtG4qUdVhsizbjQuKmN5kLuinnSpMKxxw== +"@wundergraph/orm@0.3.1": + version "0.3.1" + resolved "https://registry.yarnpkg.com/@wundergraph/orm/-/orm-0.3.1.tgz#1306a88194f6736e4833efebd66c111e2692aefe" + integrity sha512-G2+dzIHkLF1yEH1b/eIIG+YaBdDTXwP834AtiFE4n9G5cRSrU62OCS6gW1o1/yidaVEkPM9qkdEBaLdi5ma7pg== dependencies: "@graphql-tools/utils" "^9.2.1" "@timkendall/tql" "1.0.0-rc.8" @@ -5182,35 +5276,37 @@ ts-poet "^6.4.1" type-fest "^3.5.2" -"@wundergraph/protobuf@^0.117.0": - version "0.117.0" - resolved "https://registry.yarnpkg.com/@wundergraph/protobuf/-/protobuf-0.117.0.tgz#95e565ecaa452e89d199148c893bed921fbd74b4" - integrity sha512-L9EJ13g1oCu2LnfR5vgcc8UsibMMN2cS6qIJtfuP5oSsof1G75JsLMLUvY0DiQiBauRjzovquq1b20hE80RE5w== +"@wundergraph/protobuf@^0.118.2": + version "0.118.2" + resolved "https://registry.yarnpkg.com/@wundergraph/protobuf/-/protobuf-0.118.2.tgz#41178995fdc63ad641ea0dd199945c7c92469777" + integrity sha512-tW2tevRuGsG1GEL5bKSFta83eELmrhv3fFfMhXUDR/Wn+uZz3Qnnzxt0mbcKyv5gNgsVMC7gAGC9mcWa83PL2A== dependencies: long "^5.2.0" - protobufjs "^6.11.2" - ts-proto "^1.112.1" + protobufjs "^7.2.4" + ts-proto "^1.156.1" "@wundergraph/react-query@^0.8.46": version "0.8.50" resolved "https://registry.yarnpkg.com/@wundergraph/react-query/-/react-query-0.8.50.tgz#24b3ec9b52a26b72e1e0b5776ff02511edca86be" integrity sha512-k0l8IQWakcarjAk8Bf1491a0wOoGXX4Afq8K6N4xgdIW4+ENhBnwmWTuWxvNA0A6swY3B67AOUfcOdTO9MA02A== -"@wundergraph/sdk@^0.169.0": - version "0.169.0" - resolved "https://registry.yarnpkg.com/@wundergraph/sdk/-/sdk-0.169.0.tgz#b5016feeb9980e9b472580811a36b62ae76bc0ec" - integrity sha512-3OSZPsc02UZixXn/A4Pq/w8kcKOsJqw8Cxlb/rRD8vDv84pdwjW7VMrNXj+7H12Lu4p5YzQUfrvk7B44k/PPsA== +"@wundergraph/sdk@^0.178.0": + version "0.178.1" + resolved "https://registry.yarnpkg.com/@wundergraph/sdk/-/sdk-0.178.1.tgz#4f223cca80a2bd7bdca2394b2ea77649bbb4f012" + integrity sha512-hY8iFqYYnOmo6F89sf8uhw2A5SUbEXc9DeAYPuMWjyoOh8K7ovfgFi4oyo5r+Dsdlq1clBewfcZqKG1xDh83IA== dependencies: "@fastify/formbody" "^7.3.0" + "@fastify/multipart" "^7.7.3" "@graphql-mesh/cross-helpers" "^0.4.0" - "@graphql-mesh/types" "0.94.0" - "@graphql-mesh/utils" "0.94.0" + "@graphql-mesh/store" "0.94.6" + "@graphql-mesh/types" "0.94.6" + "@graphql-mesh/utils" "0.94.6" "@graphql-tools/merge" "^9.0.0" "@graphql-tools/schema" "^8.5.1" "@graphql-tools/utils" "^9.2.1" "@omnigraph/json-schema" "0.94.2" - "@omnigraph/openapi" "0.94.2" - "@omnigraph/soap" "0.94.2" + "@omnigraph/openapi" "0.94.6" + "@omnigraph/soap" "0.94.6" "@opentelemetry/api" "^1.4.1" "@opentelemetry/core" "^1.13.0" "@opentelemetry/exporter-trace-otlp-proto" "^0.39.1" @@ -5220,10 +5316,10 @@ "@opentelemetry/semantic-conventions" "^1.13.0" "@prisma/generator-helper" "^3.9.2" "@whatwg-node/fetch" "^0.9.4" - "@wundergraph/orm" "0.2.0" - "@wundergraph/protobuf" "^0.117.0" + "@wundergraph/orm" "0.3.1" + "@wundergraph/protobuf" "^0.118.2" "@wundergraph/straightforward" "^4.2.5" - "@wundergraph/wunderctl" "^0.165.0" + "@wundergraph/wunderctl" "^0.175.0" axios "^0.26.1" axios-retry "^3.3.1" close-with-grace "^1.1.0" @@ -5233,6 +5329,7 @@ fast-uri "^2.2.0" fastify "^4.10.2" fastify-plugin "^4.4.0" + get-graphql-from-jsonschema "^8.1.0" get-port "^5.1.1" graphql "^16.6.0" graphql-helix "^1.13.0" @@ -5242,15 +5339,16 @@ js-yaml "^4.1.0" json-schema "^0.4.0" json-schema-to-typescript "^11.0.3" + json-stream-stringify "^3.1.0" lodash "^4.17.21" long "^5.2.0" object-hash "^2.2.0" openai "^3.3.0" openapi-types "12.1.0" pino "^8.11.0" - pino-pretty "^10.0.0" - postman-collection "^4.1.1" - protobufjs "^6.11.2" + postman-collection "^4.1.7" + prettier "2.8.7" + protobufjs "^7.2.4" raw-body "^2.5.2" swagger2openapi "^7.0.8" terminate "^2.5.0" @@ -5270,10 +5368,10 @@ debug "^4.3.4" yargs "^17.7.1" -"@wundergraph/wunderctl@^0.165.0": - version "0.165.0" - resolved "https://registry.yarnpkg.com/@wundergraph/wunderctl/-/wunderctl-0.165.0.tgz#b8b23945de973b4e634084be322cc652e925b97f" - integrity sha512-zQZPLfZ4G0POkV1sv5hyTOQRX5sMiBtJffvcifDXFS7SuDmecNGR0/GEZ6Kr7LeTiHTxKgS/r6/sm+QKxoJHWA== +"@wundergraph/wunderctl@^0.175.0": + version "0.175.0" + resolved "https://registry.yarnpkg.com/@wundergraph/wunderctl/-/wunderctl-0.175.0.tgz#ef2c11239e0a1310f7a9f813741d4ae4c3bdc3e3" + integrity sha512-x+Zsv0r2QueDz38kEfq+dXLeu/y7KsG+OHvFZp1l1EBxs31HMV44Cw+KmsS6WRPDJddpEwlwjehBkM5obt5eQA== dependencies: axios "^0.26.1" debug "^4.3.4" @@ -5671,9 +5769,9 @@ axe-core@^4.6.2: integrity sha512-b1WlTV8+XKLj9gZy2DZXgQiyDp9xkkoe2a6U6UbYccScq2wgH/YwCeI2/Jq2mgo0HzQxqJOjWZBLeA/mqsk5Mg== axios-retry@^3.3.1: - version "3.5.1" - resolved "https://registry.yarnpkg.com/axios-retry/-/axios-retry-3.5.1.tgz#d902f69fe1b2a71902e29605318f887bef0981c6" - integrity sha512-mQRJ4IyAUnYig14BQ4MnnNHHuH1cNH7NW4JxEUD6mNJwK6pwOY66wKLCwZ6Y0o3POpfStalqRC+J4+Hnn6Om7w== + version "3.8.0" + resolved "https://registry.yarnpkg.com/axios-retry/-/axios-retry-3.8.0.tgz#a174af633ef143a9f5642b9e4afe65c2017936b5" + integrity sha512-CfIsQyWNc5/AE7x/UEReRUadiBmQeoBpSEC+4QyGLJMswTsP1tz0GW2YYPnE7w9+ESMef5zOgLDFpHynNyEZ1w== dependencies: "@babel/runtime" "^7.15.4" is-retry-allowed "^2.2.0" @@ -5756,11 +5854,6 @@ balanced-match@^1.0.0: resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== -base-64@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/base-64/-/base-64-0.1.0.tgz#780a99c84e7d600260361511c4877613bf24f6bb" - integrity sha512-Y5gU45svrR5tI2Vt/X9GPd3L0HNIKzGu202EjxrXMpuc2V2CiKgemAbUUsqYmZJvPtCXoUKjNZwBJzsNScUbXA== - base-x@^3.0.2: version "3.0.9" resolved "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz" @@ -6205,7 +6298,7 @@ colorette@^1.2.0: resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.4.0.tgz#5190fbb87276259a86ad700bff2c6d6faa3fca40" integrity sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g== -colorette@^2.0.20, colorette@^2.0.7: +colorette@^2.0.20: version "2.0.20" resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a" integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== @@ -6257,6 +6350,11 @@ commander@^4.0.1: resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== +common-tags@1.8.2: + version "1.8.2" + resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.2.tgz#94ebb3c076d26032745fd54face7f688ef5ac9c6" + integrity sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA== + commondir@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" @@ -6286,6 +6384,13 @@ constant-case@^3.0.4: tslib "^2.0.3" upper-case "^2.0.2" +content-disposition@^0.5.3: + version "0.5.4" + resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" + integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== + dependencies: + safe-buffer "5.2.1" + convert-source-map@^1.1.0: version "1.9.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" @@ -6549,11 +6654,6 @@ date-fns@^2.30.0: dependencies: "@babel/runtime" "^7.21.0" -dateformat@^4.6.3: - version "4.6.3" - resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-4.6.3.tgz#556fa6497e5217fedb78821424f8a1c22fa3f4b5" - integrity sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA== - dayjs@1.11.8: version "1.11.8" resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.8.tgz#4282f139c8c19dd6d0c7bd571e30c2d0ba7698ea" @@ -6690,6 +6790,11 @@ defaults@^1.0.3: dependencies: clone "^1.0.2" +defekt@9.3.0: + version "9.3.0" + resolved "https://registry.yarnpkg.com/defekt/-/defekt-9.3.0.tgz#80b7f740e0b3b51e0dfddd6272fec24dbe9f99da" + integrity sha512-AWfM0vhFmESRZawEJfLhRJMsAR5IOhwyxGxIDOh9RXGKcdV65cWtkFB31MNjUfFvAlfbk3c2ooX0rr1pWIXshw== + define-data-property@^1.0.1, define-data-property@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.0.tgz#0db13540704e1d8d479a0656cf781267531b9451" @@ -6856,9 +6961,9 @@ dotenv@^16.3.1: integrity sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ== dprint-node@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/dprint-node/-/dprint-node-1.0.7.tgz#f571eaf61affb3a696cff1bdde78a021875ba540" - integrity sha512-NTZOW9A7ipb0n7z7nC3wftvsbceircwVHSgzobJsEQa+7RnOMbhrfX5IflA6CtC4GA63DSAiHYXa4JKEy9F7cA== + version "1.0.8" + resolved "https://registry.yarnpkg.com/dprint-node/-/dprint-node-1.0.8.tgz#a02470722d8208a7d7eb3704328afda1d6758625" + integrity sha512-iVKnUtYfGrYcW1ZAlfR/F59cUVL8QIhWoBJoSjkkdua/dkWIgjZfiLMeTjiB06X0ZLkQ0M2C1VbUj/CxkIf1zg== dependencies: detect-libc "^1.0.3" @@ -6934,7 +7039,7 @@ encode-utf8@^1.0.3: resolved "https://registry.npmjs.org/encode-utf8/-/encode-utf8-1.0.3.tgz" integrity sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw== -end-of-stream@^1.1.0, end-of-stream@^1.4.1: +end-of-stream@^1.4.1, end-of-stream@^1.4.4: version "1.4.4" resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== @@ -7335,6 +7440,11 @@ escalade@^3.1.1: resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== +escape-html@~1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== + escape-string-regexp@^1.0.4, escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" @@ -7800,14 +7910,9 @@ fast-check@^3.8.0: pure-rand "^6.0.0" fast-content-type-parse@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fast-content-type-parse/-/fast-content-type-parse-1.0.0.tgz#cddce00df7d7efb3727d375a598e4904bfcb751c" - integrity sha512-Xbc4XcysUXcsP5aHUU7Nq3OwvHq97C+WnbkeIefpeYLX+ryzFJlU6OStFJhs6Ol0LkUGpcK+wL0JwfM+FCU5IA== - -fast-copy@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/fast-copy/-/fast-copy-3.0.1.tgz#9e89ef498b8c04c1cd76b33b8e14271658a732aa" - integrity sha512-Knr7NOtK3HWRYGtHoJrjkaWepqT8thIVGAwt0p0aUs1zqkAzXZV4vo9fFNwyb5fcqK1GKYFYxldQdIDVKhUAfA== + version "1.1.0" + resolved "https://registry.yarnpkg.com/fast-content-type-parse/-/fast-content-type-parse-1.1.0.tgz#4087162bf5af3294d4726ff29b334f72e3a1092c" + integrity sha512-fBHHqSTFLVnR61C+gltJuE5GkVQMV0S2nqUO8TJ+5Z3qAKG8vAx4FKai1s5jq/inV1+sREynIWSuQ6HgoSXpDQ== fast-decode-uri-component@^1.0.1: version "1.0.1" @@ -7896,11 +8001,11 @@ fast-redact@^3.0.0: integrity sha512-+0em+Iya9fKGfEQGcd62Yv6onjBmmhV1uh86XVfOU8VwAe6kaFdQCWI9s0/Nnugx5Vd9tdbZ7e6gE2tR9dzXdw== fast-redact@^3.1.1: - version "3.2.0" - resolved "https://registry.yarnpkg.com/fast-redact/-/fast-redact-3.2.0.tgz#b1e2d39bc731376d28bde844454fa23e26919987" - integrity sha512-zaTadChr+NekyzallAMXATXLOR8MNx3zqpZ0MUF2aGf4EathnG0f32VLODNlY8IuGY3HoRO2L6/6fSzNsLaHIw== + version "3.3.0" + resolved "https://registry.yarnpkg.com/fast-redact/-/fast-redact-3.3.0.tgz#7c83ce3a7be4898241a46560d51de10f653f7634" + integrity sha512-6T5V1QK1u4oF+ATxs1lWUmlEk6P2T9HqJG3e2DnHOdVgZy2rFJBoEnrIedcTXlkAHU/zKC+7KETJ+KGGKwxgMQ== -fast-safe-stringify@^2.0.6, fast-safe-stringify@^2.0.7, fast-safe-stringify@^2.1.1: +fast-safe-stringify@^2.0.6, fast-safe-stringify@^2.0.7: version "2.1.1" resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz#c406a83b6e70d9e35ce3b30a81141df30aeba884" integrity sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA== @@ -7922,10 +8027,10 @@ fast-url-parser@^1.1.3: dependencies: punycode "^1.3.2" -fast-xml-parser@4.2.4: - version "4.2.4" - resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-4.2.4.tgz#6e846ede1e56ad9e5ef07d8720809edf0ed07e9b" - integrity sha512-fbfMDvgBNIdDJLdLOwacjFAPYt67tr31H9ZhWSm45CDAxvd0I6WTlSOUo7K2P/K5sA5JgMKG64PI3DMcaFdWpQ== +fast-xml-parser@4.2.5: + version "4.2.5" + resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-4.2.5.tgz#a6747a09296a6cb34f2ae634019bf1738f3b421f" + integrity sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g== dependencies: strnum "^1.0.5" @@ -7935,9 +8040,9 @@ fastify-plugin@^4.0.0, fastify-plugin@^4.4.0: integrity sha512-stRHYGeuqpEZTL1Ef0Ovr2ltazUT9g844X5z/zEBFLG8RYlpDiOCIG+ATvYEp+/zmc7sN29mcIMp8gvYplYPIQ== fastify@^4.10.2: - version "4.20.0" - resolved "https://registry.yarnpkg.com/fastify/-/fastify-4.20.0.tgz#d796c7433ac64b83a666350dc8b57e1b2517c116" - integrity sha512-zWWi5KGAb1YZ6fyrnFnA1CA1EZHkGM6YuELgB3QpS3l4lLRy14W1cc16b4KGPH/zQ98WCSdS+T41JkHY3eq1oA== + version "4.23.2" + resolved "https://registry.yarnpkg.com/fastify/-/fastify-4.23.2.tgz#7072f04b544540d2523afb4a54d4095d187f5444" + integrity sha512-WFSxsHES115svC7NrerNqZwwM0UOxbC/P6toT9LRHgAAFvG7o2AN5W+H4ihCtOGuYXjZf4z+2jXC89rVEoPWOA== dependencies: "@fastify/ajv-compiler" "^3.5.0" "@fastify/error" "^3.2.0" @@ -7954,7 +8059,7 @@ fastify@^4.10.2: rfdc "^1.3.0" secure-json-parse "^2.5.0" semver "^7.5.0" - tiny-lru "^11.0.1" + toad-cache "^3.2.0" fastq@^1.6.0: version "1.13.0" @@ -8068,11 +8173,16 @@ flatted@^3.1.0, flatted@^3.2.7: resolved "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz" integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== -follow-redirects@^1.14.0, follow-redirects@^1.14.8, follow-redirects@^1.15.0: +follow-redirects@^1.14.0, follow-redirects@^1.15.0: version "1.15.2" resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13" integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA== +follow-redirects@^1.14.8: + version "1.15.3" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.3.tgz#fe2f3ef2690afce7e82ed0b44db08165b207123a" + integrity sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q== + for-each@^0.3.3: version "0.3.3" resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" @@ -8208,6 +8318,16 @@ get-func-name@^2.0.0: resolved "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz" integrity sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig== +get-graphql-from-jsonschema@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/get-graphql-from-jsonschema/-/get-graphql-from-jsonschema-8.1.0.tgz#c1d13db87d0f8a59e55a89430ce52b44fb290e0e" + integrity sha512-MhvxGPBjJm1ls6XmvcmgJG7ApqxkFEs5T8uDzytlpbMBBwMMnoF/rMUWzPxM6YvejyLhCB3axD4Dwci3G5F4UA== + dependencies: + "@types/common-tags" "1.8.1" + "@types/json-schema" "7.0.11" + common-tags "1.8.2" + defekt "9.3.0" + get-intrinsic@^1.0.2, get-intrinsic@^1.1.3, get-intrinsic@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.1.tgz#d295644fed4505fc9cde952c37ee12b477a83d82" @@ -8320,7 +8440,7 @@ glob@^7.0.0, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.1.7, glob@^7.2.0: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^8.0.0: +glob@^8.0.1: version "8.1.0" resolved "https://registry.yarnpkg.com/glob/-/glob-8.1.0.tgz#d388f656593ef708ee3e34640fdfb99a9fd1c33e" integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== @@ -8465,9 +8585,9 @@ graphql@^15.8.0: integrity sha512-5gghUc24tP9HRznNpV2+FIoq3xKkj5dTQqf4v0CpdPbFVwFkWoxOM+o+2OC9ZSvjEMTjfmG9QT+gcvggTwW1zw== graphql@^16.6.0: - version "16.7.1" - resolved "https://registry.yarnpkg.com/graphql/-/graphql-16.7.1.tgz#11475b74a7bff2aefd4691df52a0eca0abd9b642" - integrity sha512-DRYR9tf+UGU0KOsMcKAlXeFfX89UiiIZ0dRU3mR0yJfu6OjZqUcp68NnFLnqQU5RexygFoDy1EW+ccOYcPfmHg== + version "16.8.1" + resolved "https://registry.yarnpkg.com/graphql/-/graphql-16.8.1.tgz#1930a965bef1170603702acdb68aedd3f3cf6f07" + integrity sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw== handlebars@^4.7.6, handlebars@^4.7.7: version "4.7.8" @@ -8566,14 +8686,6 @@ header-case@^2.0.4: capital-case "^1.0.4" tslib "^2.0.3" -help-me@^4.0.1: - version "4.2.0" - resolved "https://registry.yarnpkg.com/help-me/-/help-me-4.2.0.tgz#50712bfd799ff1854ae1d312c36eafcea85b0563" - integrity sha512-TAOnTB8Tz5Dw8penUuzHVrKNKlCIbwwbHnXraNJxPwf8LRtE2HlM84RYuezMFcwOJmoYOCWVDyJ8TQGxn9PgxA== - dependencies: - glob "^8.0.0" - readable-stream "^3.6.0" - hey-listen@^1.0.8: version "1.0.8" resolved "https://registry.yarnpkg.com/hey-listen/-/hey-listen-1.0.8.tgz#8e59561ff724908de1aa924ed6ecc84a56a9aa68" @@ -9195,11 +9307,6 @@ jayson@^3.4.4: uuid "^8.3.2" ws "^7.4.5" -joycon@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/joycon/-/joycon-3.1.1.tgz#bce8596d6ae808f8b68168f5fc69280996894f03" - integrity sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw== - js-levenshtein@^1.1.6: version "1.1.6" resolved "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.6.tgz#c6cee58eb3550372df8deb85fad5ce66ce01d59d" @@ -9295,7 +9402,7 @@ json-machete@0.94.0: to-json-schema "0.2.5" url-join "4.0.1" -json-machete@0.94.6, json-machete@^0.94.0: +json-machete@0.94.6, json-machete@^0.94.2: version "0.94.6" resolved "https://registry.yarnpkg.com/json-machete/-/json-machete-0.94.6.tgz#8cb97b423fe0b43eaf30bfb16a68741e4d44be31" integrity sha512-n+jqpQ2BGMFHvWo8Uqh8mea7gCiriWOwz1n+F3WcY/iT5SYh6kJFC0UdBtLe+YUZx+d7BPe33qVPrreUAMEpdQ== @@ -9341,6 +9448,15 @@ json-schema-ref-parser@^5.1.3: js-yaml "^3.12.0" ono "^4.0.6" +json-schema-resolver@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/json-schema-resolver/-/json-schema-resolver-2.0.0.tgz#d17fdf53560e6bc9af084b930fee27f6ce4a03b6" + integrity sha512-pJ4XLQP4Q9HTxl6RVDLJ8Cyh1uitSs0CzDBAz1uoJ4sRD/Bk7cFSXL1FUXDW3zJ7YnfliJx6eu8Jn283bpZ4Yg== + dependencies: + debug "^4.1.1" + rfdc "^1.1.4" + uri-js "^4.2.2" + json-schema-to-typescript@^11.0.3: version "11.0.5" resolved "https://registry.yarnpkg.com/json-schema-to-typescript/-/json-schema-to-typescript-11.0.5.tgz#04020422b7970e1c3b2ee8b601548e8751e1cd03" @@ -9381,6 +9497,11 @@ json-stable-stringify-without-jsonify@^1.0.1: resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= +json-stream-stringify@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/json-stream-stringify/-/json-stream-stringify-3.1.0.tgz#821df0993f630b7bba8198b1c966e5aaf9ec7657" + integrity sha512-ilynhoPlWa29XqgWJTD8V3bOF8k4Ybm3U9Oc7o/CG8qvFMGUzPlh9P4mOj9Ss3VtisA6N2OYevCWa14VRpJtQQ== + json-stringify-safe@^5.0.1: version "5.0.1" resolved "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz" @@ -9528,9 +9649,9 @@ libphonenumber-js@^1.10.14: integrity sha512-sLeVLmWX17VCKKulc+aDIRHS95TxoTsKMRJi5s5gJdwlqNzMWcBCtSHHruVyXjqfi67daXM2SnLf2juSrdx5Sg== light-my-request@^5.9.1: - version "5.10.0" - resolved "https://registry.yarnpkg.com/light-my-request/-/light-my-request-5.10.0.tgz#0a2bbc1d1bb573ed3b78143960920ecdc05bf157" - integrity sha512-ZU2D9GmAcOUculTTdH9/zryej6n8TzT+fNGdNtm6SDp5MMMpHrJJkvAdE3c6d8d2chE9i+a//dS9CWZtisknqA== + version "5.11.0" + resolved "https://registry.yarnpkg.com/light-my-request/-/light-my-request-5.11.0.tgz#90e446c303b3a47b59df38406d5f5c2cf224f2d1" + integrity sha512-qkFCeloXCOMpmEdZ/MV91P8AT4fjwFXWaAFz3lUeStM8RcoM1ks4J/F8r1b3r6y/H4u3ACEJ1T+Gv5bopj7oDA== dependencies: cookie "^0.5.0" process-warning "^2.0.0" @@ -9722,11 +9843,6 @@ log-update@^5.0.1: strip-ansi "^7.0.1" wrap-ansi "^8.0.1" -long@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28" - integrity sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA== - long@^5.0.0, long@^5.2.0, long@^5.2.3: version "5.2.3" resolved "https://registry.yarnpkg.com/long/-/long-5.2.3.tgz#a3ba97f3877cf1d778eccbcb048525ebb77499e1" @@ -10173,6 +10289,11 @@ mime-types@2.1.35, mime-types@^2.1.12: dependencies: mime-db "1.52.0" +mime@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-3.0.0.tgz#b374550dca3a0c18443b0c950a6a58f1931cf7a7" + integrity sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A== + mimic-fn@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" @@ -10380,14 +10501,14 @@ node-fetch@2.6.7, node-fetch@^2.6.7, node-fetch@^2.x.x: dependencies: whatwg-url "^5.0.0" -node-fetch@^2.6.0: +node-fetch@^2.6.0, node-fetch@^2.6.1: version "2.7.0" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== dependencies: whatwg-url "^5.0.0" -node-fetch@^2.6.1, node-fetch@^2.6.12: +node-fetch@^2.6.12: version "2.6.12" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.12.tgz#02eb8e22074018e3d5a83016649d04df0e348fba" integrity sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g== @@ -10526,7 +10647,7 @@ object-hash@^2.2.0: resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-2.2.0.tgz#5ad518581eefc443bd763472b8ff2e9c2c0d54a5" integrity sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw== -object-inspect@^1.11.0, object-inspect@^1.12.2, object-inspect@^1.12.3, object-inspect@^1.9.0: +object-inspect@1.12.3, object-inspect@^1.11.0, object-inspect@^1.12.2, object-inspect@^1.12.3, object-inspect@^1.9.0: version "1.12.3" resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9" integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== @@ -10599,7 +10720,7 @@ on-exit-leak-free@^2.1.0: resolved "https://registry.yarnpkg.com/on-exit-leak-free/-/on-exit-leak-free-2.1.0.tgz#5c703c968f7e7f851885f6459bf8a8a57edc9cc4" integrity sha512-VuCaZZAjReZ3vUwgOB8LxAosIurDiAW0s13rI1YwmaP++jvcxP77AWoQvenZebpCA2m8WC1/EosPYPMjnRAp/w== -once@^1.3.0, once@^1.3.1, once@^1.4.0: +once@^1.3.0, once@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== @@ -10658,7 +10779,7 @@ openapi-types@12.1.0: resolved "https://registry.yarnpkg.com/openapi-types/-/openapi-types-12.1.0.tgz#bd01acc937b73c9f6db2ac2031bf0231e21ebff0" integrity sha512-XpeCy01X6L5EpP+6Hc3jWN7rMZJ+/k1lwki/kTmWzbVhdPie3jd5O2ZtedEx8Yp58icJ0osVldLMrTB/zslQXA== -openapi-types@^12.1.0: +openapi-types@^12.0.0, openapi-types@^12.0.2, openapi-types@^12.1.0: version "12.1.3" resolved "https://registry.yarnpkg.com/openapi-types/-/openapi-types-12.1.3.tgz#471995eb26c4b97b7bd356aacf7b91b73e777dd3" integrity sha512-N4YtSYJqghVu4iek2ZUvcN/0aqH1kRDuNqzcycDxhOUpg7GdvLa2F3DgS6yBNhInhv2r/6I0Flkn7CqL8+nIcw== @@ -10742,7 +10863,7 @@ p-limit@^2.0.0, p-limit@^2.2.0: dependencies: p-try "^2.0.0" -p-limit@^3.0.2: +p-limit@^3.0.2, p-limit@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== @@ -10934,14 +11055,6 @@ pify@^5.0.0: resolved "https://registry.npmjs.org/pify/-/pify-5.0.0.tgz" integrity sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA== -pino-abstract-transport@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/pino-abstract-transport/-/pino-abstract-transport-1.1.0.tgz#083d98f966262164504afb989bccd05f665937a8" - integrity sha512-lsleG3/2a/JIWUtf9Q5gUNErBqwIu1tUKTT3dUzaf5DySw9ra1wcqKjJjLX1VTY64Wk1eEOYsVGSaGfCK85ekA== - dependencies: - readable-stream "^4.0.0" - split2 "^4.0.0" - pino-abstract-transport@v0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/pino-abstract-transport/-/pino-abstract-transport-0.5.0.tgz#4b54348d8f73713bfd14e3dc44228739aa13d9c0" @@ -10950,34 +11063,14 @@ pino-abstract-transport@v0.5.0: duplexify "^4.1.2" split2 "^4.0.0" -pino-abstract-transport@v1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/pino-abstract-transport/-/pino-abstract-transport-1.0.0.tgz#cc0d6955fffcadb91b7b49ef220a6cc111d48bb3" - integrity sha512-c7vo5OpW4wIS42hUVcT5REsL8ZljsUfBjqV/e2sFxmFEFZiq1XLUp5EYLtuDH6PEHq9W1egWqRbnLUP5FuZmOA== +pino-abstract-transport@v1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/pino-abstract-transport/-/pino-abstract-transport-1.1.0.tgz#083d98f966262164504afb989bccd05f665937a8" + integrity sha512-lsleG3/2a/JIWUtf9Q5gUNErBqwIu1tUKTT3dUzaf5DySw9ra1wcqKjJjLX1VTY64Wk1eEOYsVGSaGfCK85ekA== dependencies: readable-stream "^4.0.0" split2 "^4.0.0" -pino-pretty@^10.0.0: - version "10.2.0" - resolved "https://registry.yarnpkg.com/pino-pretty/-/pino-pretty-10.2.0.tgz#c674a153e15c08d7032a826d0051d786feace1d9" - integrity sha512-tRvpyEmGtc2D+Lr3FulIZ+R1baggQ4S3xD2Ar93KixFEDx6SEAUP3W5aYuEw1C73d6ROrNcB2IXLteW8itlwhA== - dependencies: - colorette "^2.0.7" - dateformat "^4.6.3" - fast-copy "^3.0.0" - fast-safe-stringify "^2.1.1" - help-me "^4.0.1" - joycon "^3.1.1" - minimist "^1.2.6" - on-exit-leak-free "^2.1.0" - pino-abstract-transport "^1.0.0" - pump "^3.0.0" - readable-stream "^4.0.0" - secure-json-parse "^2.4.0" - sonic-boom "^3.0.0" - strip-json-comments "^3.1.1" - pino-std-serializers@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/pino-std-serializers/-/pino-std-serializers-4.0.0.tgz#1791ccd2539c091ae49ce9993205e2cd5dbba1e2" @@ -11006,14 +11099,14 @@ pino@7.11.0: thread-stream "^0.15.1" pino@^8.11.0, pino@^8.12.0: - version "8.14.1" - resolved "https://registry.yarnpkg.com/pino/-/pino-8.14.1.tgz#bb38dcda8b500dd90c1193b6c9171eb777a47ac8" - integrity sha512-8LYNv7BKWXSfS+k6oEc6occy5La+q2sPwU3q2ljTX5AZk7v+5kND2o5W794FyRaqha6DJajmkNRsWtPpFyMUdw== + version "8.15.1" + resolved "https://registry.yarnpkg.com/pino/-/pino-8.15.1.tgz#04b815ff7aa4e46b1bbab88d8010aaa2b17eaba4" + integrity sha512-Cp4QzUQrvWCRJaQ8Lzv0mJzXVk4z2jlq8JNKMGaixC2Pz5L4l2p95TkuRvYbrEbe85NQsDKrAd4zalf7Ml6WiA== dependencies: atomic-sleep "^1.0.0" fast-redact "^3.1.1" on-exit-leak-free "^2.1.0" - pino-abstract-transport v1.0.0 + pino-abstract-transport v1.1.0 pino-std-serializers "^6.0.0" process-warning "^2.0.0" quick-format-unescaped "^4.0.3" @@ -11081,7 +11174,7 @@ postcss@^8.4.27, postcss@^8.4.29: picocolors "^1.0.0" source-map-js "^1.0.2" -postman-collection@^4.1.1: +postman-collection@^4.1.7: version "4.2.1" resolved "https://registry.yarnpkg.com/postman-collection/-/postman-collection-4.2.1.tgz#86e3c8ee11530a1f00a30864503d487846ee516f" integrity sha512-DFLt3/yu8+ldtOTIzmBUctoupKJBOVK4NZO0t68K2lIir9smQg7OdQTBjOXYy+PDh7u0pSDvD66tm93eBHEPHA== @@ -11132,6 +11225,11 @@ prettier-linter-helpers@^1.0.0: dependencies: fast-diff "^1.1.2" +prettier@2.8.7: + version "2.8.7" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.7.tgz#bb79fc8729308549d28fe3a98fce73d2c0656450" + integrity sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw== + prettier@^2.3.1, prettier@^2.6.2: version "2.8.8" resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da" @@ -11214,25 +11312,6 @@ property-information@^6.0.0: resolved "https://registry.npmjs.org/property-information/-/property-information-6.1.1.tgz" integrity sha512-hrzC564QIl0r0vy4l6MvRLhafmUowhO/O3KgVSoXIbbA2Sz4j8HGpJc6T2cubRVwMwpdiG/vKGfhT4IixmKN9w== -protobufjs@^6.11.2: - version "6.11.4" - resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-6.11.4.tgz#29a412c38bf70d89e537b6d02d904a6f448173aa" - integrity sha512-5kQWPaJHi1WoCpjTGszzQ32PG2F4+wRY6BmAT4Vfw56Q2FZ4YZzK20xUYQH4YkfehY1e6QSICrJquM6xXZNcrw== - dependencies: - "@protobufjs/aspromise" "^1.1.2" - "@protobufjs/base64" "^1.1.2" - "@protobufjs/codegen" "^2.0.4" - "@protobufjs/eventemitter" "^1.1.0" - "@protobufjs/fetch" "^1.1.0" - "@protobufjs/float" "^1.0.2" - "@protobufjs/inquire" "^1.1.0" - "@protobufjs/path" "^1.1.2" - "@protobufjs/pool" "^1.1.0" - "@protobufjs/utf8" "^1.1.0" - "@types/long" "^4.0.1" - "@types/node" ">=13.7.0" - long "^4.0.0" - protobufjs@^7.1.2, protobufjs@^7.2.4: version "7.2.5" resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-7.2.5.tgz#45d5c57387a6d29a17aab6846dcc283f9b8e7f2d" @@ -11281,14 +11360,6 @@ psl@^1.1.33: resolved "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz" integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== -pump@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - punycode@^1.3.2, punycode@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" @@ -11468,19 +11539,6 @@ react-markdown@^8.0.7: unist-util-visit "^4.0.0" vfile "^5.0.0" -react-native-fs@2.20.0: - version "2.20.0" - resolved "https://registry.yarnpkg.com/react-native-fs/-/react-native-fs-2.20.0.tgz#05a9362b473bfc0910772c0acbb73a78dbc810f6" - integrity sha512-VkTBzs7fIDUiy/XajOSNk0XazFE9l+QlMAce7lGuebZcag5CnjszB+u4BdqzwaQOdcYb5wsJIsqq4kxInIRpJQ== - dependencies: - base-64 "^0.1.0" - utf8 "^3.0.0" - -react-native-path@0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/react-native-path/-/react-native-path-0.0.5.tgz#a04e4b73a535a8a7cf15c6e760e27db7789afb13" - integrity sha512-WJr256xBquk7X2O83QYWKqgLg43Zg3SrgjPc/kr0gCD2LoXA+2L72BW4cmstH12GbGeutqs/eXk3jgDQ2iCSvQ== - react-redux@^8.0.5: version "8.0.5" resolved "https://registry.npmjs.org/react-redux/-/react-redux-8.0.5.tgz" @@ -11828,9 +11886,9 @@ remark-rehype@^10.0.0: unified "^10.0.0" remeda@^1.9.1: - version "1.24.0" - resolved "https://registry.yarnpkg.com/remeda/-/remeda-1.24.0.tgz#3eafd5fedba0f54c70823a93ca29a6d0a5d5cf2e" - integrity sha512-tjLxwU4yLtvX8yHlePnE7CdQXRe2pKatlVY+AunqAQV5t9FNw1yuiIAqKpu6zevd+No5LQHEJ/HK3r3ZFK7KXg== + version "1.27.0" + resolved "https://registry.yarnpkg.com/remeda/-/remeda-1.27.0.tgz#3c383018a86692c0491b210dc88475dba90f6346" + integrity sha512-Vv4gz6z8WnKPA01ObvswV09bBOkB/jKjlszsfxAH82YEvEWfVvaelUuKOpKkLwlli1xyAwwlfWAAmpHlSXENRQ== remove-accents@0.4.2: version "0.4.2" @@ -11932,7 +11990,7 @@ reusify@^1.0.4: resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== -rfdc@^1.2.0, rfdc@^1.3.0: +rfdc@^1.1.4, rfdc@^1.2.0, rfdc@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.0.tgz#d0b7c441ab2720d05dc4cf26e01c89631d9da08b" integrity sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA== @@ -12044,7 +12102,7 @@ safe-array-concat@^1.0.1: has-symbols "^1.0.3" isarray "^2.0.5" -safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.2, safe-buffer@~5.2.0: +safe-buffer@5.2.1, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.2, safe-buffer@~5.2.0: version "5.2.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== @@ -12131,7 +12189,7 @@ secure-json-parse@^2.4.0, secure-json-parse@^2.5.0: resolved "https://registry.yarnpkg.com/secure-json-parse/-/secure-json-parse-2.7.0.tgz#5a5f9cd6ae47df23dba3151edd06855d47e09862" integrity sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw== -semver@7.5.4, semver@^7.3.2, semver@^7.3.7, semver@^7.3.8, semver@^7.5.0, semver@^7.5.1, semver@^7.5.2, semver@^7.5.3: +semver@7.5.4, semver@^7.3.2, semver@^7.3.7, semver@^7.3.8, semver@^7.5.0, semver@^7.5.2, semver@^7.5.3: version "7.5.4" resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== @@ -12289,9 +12347,9 @@ signal-exit@^3.0.3, signal-exit@^3.0.7: integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== signal-exit@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.0.2.tgz#ff55bb1d9ff2114c13b400688fa544ac63c36967" - integrity sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q== + version "4.1.0" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" + integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== simple-eval@1.0.0: version "1.0.0" @@ -12363,10 +12421,10 @@ sonic-boom@^2.2.1: dependencies: atomic-sleep "^1.0.0" -sonic-boom@^3.0.0, sonic-boom@^3.1.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/sonic-boom/-/sonic-boom-3.3.0.tgz#cffab6dafee3b2bcb88d08d589394198bee1838c" - integrity sha512-LYxp34KlZ1a2Jb8ZQgFCK3niIHzibdwtwNUWKg0qQRzsDoJ3Gfgkf8KdBTFU3SkejDEIlWwnSnpVdOZIhFMl/g== +sonic-boom@^3.1.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/sonic-boom/-/sonic-boom-3.4.0.tgz#8582d1385ea3bf79ca953329043bfbdbabe58eb9" + integrity sha512-zSe9QQW30nPzjkSJ0glFQO5T9lHsk39tz+2bAAwCj8CNgEG8ItZiX7Wb2ZgA8I04dwRGCcf1m3ABJa8AYm12Fw== dependencies: atomic-sleep "^1.0.0" @@ -12475,6 +12533,11 @@ stream-shift@^1.0.0: resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ== +stream-wormhole@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/stream-wormhole/-/stream-wormhole-1.1.0.tgz#300aff46ced553cfec642a05251885417693c33d" + integrity sha512-gHFfL3px0Kctd6Po0M8TzEvt3De/xu6cnRrjlfYNhwbhLPLwigI2t1nc6jrzNuaYg5C4YF78PPFuQPzRiqn9ew== + streamsearch@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-1.1.0.tgz#404dd1e2247ca94af554e841a8ef0eaa238da764" @@ -12758,9 +12821,9 @@ table-layout@^1.0.1: wordwrapjs "^4.0.0" tar@^6.1.13: - version "6.1.15" - resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.15.tgz#c9738b0b98845a3b344d334b8fa3041aaba53a69" - integrity sha512-/zKt9UyngnxIT/EAGYuxaMYgOIJiP81ab9ZfkILq4oNLPFX50qyYmu7jRj9qeXoxmJHjGlbH0+cm2uy1WCs10A== + version "6.2.0" + resolved "https://registry.yarnpkg.com/tar/-/tar-6.2.0.tgz#b14ce49a79cb1cd23bc9b016302dea5474493f73" + integrity sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ== dependencies: chownr "^2.0.0" fs-minipass "^2.0.0" @@ -12785,6 +12848,11 @@ test-exclude@^6.0.0: glob "^7.1.4" minimatch "^3.0.4" +text-decoding@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/text-decoding/-/text-decoding-1.0.0.tgz#38a5692d23b5c2b12942d6e245599cb58b1bc52f" + integrity sha512-/0TJD42KDnVwKmDK6jj3xP7E2MG7SHAOG4tyTgyUCRPdHwvkquYNLEQltmdMa3owq3TkddCVcTsoctJI8VQNKA== + text-encoding-utf-8@^1.0.2: version "1.0.2" resolved "https://registry.npmjs.org/text-encoding-utf-8/-/text-encoding-utf-8-1.0.2.tgz" @@ -12836,10 +12904,10 @@ timers-ext@^0.1.7: es5-ext "~0.10.46" next-tick "1" -tiny-lru@^11.0.0, tiny-lru@^11.0.1: - version "11.0.1" - resolved "https://registry.yarnpkg.com/tiny-lru/-/tiny-lru-11.0.1.tgz#629d6ddd88bd03c0929722680167f1feadf576f2" - integrity sha512-iNgFugVuQgBKrqeO/mpiTTgmBsTP0WL6yeuLfLs/Ctf0pI/ixGqIRm8sDCwMcXGe9WWvt2sGXI5mNqZbValmJg== +tiny-lru@^11.0.0: + version "11.1.2" + resolved "https://registry.yarnpkg.com/tiny-lru/-/tiny-lru-11.1.2.tgz#ef8d5ac74a78fa26a9b841335348b4d71df46ddc" + integrity sha512-EGJRgd/nY4qMlVWCYLecHdzsN6GJRM073iqlQNk/Xq5KVUGl5zkgWYNnv5pgVClDFvVEAI+7R5wpNBOu/foI2w== tinybench@^2.5.0: version "2.5.0" @@ -12890,6 +12958,11 @@ to-regex-range@^5.0.1: dependencies: is-number "^7.0.0" +toad-cache@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/toad-cache/-/toad-cache-3.2.0.tgz#8221a1906ce7bd18cd56b22f5603bcf9e38b54f9" + integrity sha512-Hj5zSqBS6OHbZoQk9IU8VqIr+0JUpwzunnwSlFJhG8aJSInYUMEuzItl3kJsGteTPd1qtflafdRHlRtUazYeqg== + toggle-selection@^1.0.6: version "1.0.6" resolved "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz" @@ -12977,9 +13050,9 @@ ts-node@^10.9.1: yn "3.1.1" ts-poet@^6.4.1, ts-poet@^6.5.0: - version "6.5.0" - resolved "https://registry.yarnpkg.com/ts-poet/-/ts-poet-6.5.0.tgz#7070bfae1d53847aa38e8e02bdbe4f1064d6d091" - integrity sha512-44jURLT1HG6+NsDcadM826V6Ekux+wk07Go+MX5Gfx+8zcPKfUiFEtnjL9imuRVGSCRtloRLqw4bDGZVJYGZMQ== + version "6.6.0" + resolved "https://registry.yarnpkg.com/ts-poet/-/ts-poet-6.6.0.tgz#cea8a278bcccf7092f4856c46b556a833a119a96" + integrity sha512-4vEH/wkhcjRPFOdBwIh9ItO6jOoumVLRF4aABDX5JSNEubSqwOulihxQPqai+OkuygJm3WYMInxXQX4QwVNMuw== dependencies: dprint-node "^1.0.7" @@ -12991,10 +13064,10 @@ ts-proto-descriptors@1.15.0: long "^5.2.3" protobufjs "^7.2.4" -ts-proto@^1.112.1: - version "1.156.1" - resolved "https://registry.yarnpkg.com/ts-proto/-/ts-proto-1.156.1.tgz#2d917a63c410832b7411a6236e930cc9c354a641" - integrity sha512-zgEGjaUySjWs7e4vdg5xNk/nxMinQnIMG+0KcvEBmE1vy03Yvc7tmeoJdB7qt/p/+0taEUwEdbjegR5t1B+nEA== +ts-proto@^1.156.1: + version "1.158.0" + resolved "https://registry.yarnpkg.com/ts-proto/-/ts-proto-1.158.0.tgz#6c3ff46dcb683d430559fe746f089ccd463d4225" + integrity sha512-t5XcKYvdeeeinP4zBA+YXzRANMXacxPzqhs7hsmnD9RxfP1L+Ip858ii9Zdkp/UYW58N3q4wJKLdZfvnBmAk9w== dependencies: case-anything "^2.1.13" protobufjs "^7.2.4" @@ -13036,17 +13109,12 @@ tslib@1.14.1, tslib@^1.14.1, tslib@^1.8.1, tslib@^1.9.0: resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tslib@^2.0.0, tslib@^2.0.1, tslib@^2.1.0: +tslib@2.6.0, tslib@^2.0.0, tslib@^2.0.1, tslib@^2.1.0: version "2.6.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.0.tgz#b295854684dbda164e181d259a22cd779dcd7bc3" integrity sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA== -tslib@^2.0.3, tslib@^2.3.0, tslib@^2.3.1, tslib@^2.4.0, tslib@^2.5.0: - version "2.6.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.1.tgz#fd8c9a0ff42590b25703c0acb3de3d3f4ede0410" - integrity sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig== - -tslib@^2.2.0, tslib@^2.6.0: +tslib@^2.0.3, tslib@^2.2.0, tslib@^2.3.0, tslib@^2.3.1, tslib@^2.4.0, tslib@^2.5.0, tslib@^2.6.0: version "2.6.2" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== @@ -13440,11 +13508,6 @@ utf-8-validate@^5.0.2: dependencies: node-gyp-build "^4.3.0" -utf8@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/utf8/-/utf8-3.0.0.tgz#f052eed1364d696e769ef058b183df88c87f69d1" - integrity sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ== - util-deprecate@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" @@ -13896,7 +13959,7 @@ yaml@^1.10.0: resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== -yaml@^2.2.1: +yaml@^2.2.1, yaml@^2.2.2: version "2.3.2" resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.3.2.tgz#f522db4313c671a0ca963a75670f1c12ea909144" integrity sha512-N/lyzTPaJasoDmfV7YTrYCI0G/3ivm/9wdG0aHuheKowWQwGTsK0Eoiw6utmzAnI6pkJa0DUVygvp3spqqEKXg==