From f1cbf1a5786a9d9297dd5d7e37dbd881865ea8a0 Mon Sep 17 00:00:00 2001 From: Joseph Rana Date: Wed, 20 Nov 2024 10:49:54 +0545 Subject: [PATCH 01/42] feat: add voting options in event based vote function --- .../components/FunctionForm.tsx | 32 ++++++++++++------- .../components/utils/FunctionMapper.ts | 12 +++++-- frontend/src/models/types/functions.ts | 27 ++++++++++++++-- 3 files changed, 54 insertions(+), 17 deletions(-) diff --git a/frontend/src/app/(pages)/templates/create-template/components/FunctionForm.tsx b/frontend/src/app/(pages)/templates/create-template/components/FunctionForm.tsx index 07ee0299..a48aa556 100644 --- a/frontend/src/app/(pages)/templates/create-template/components/FunctionForm.tsx +++ b/frontend/src/app/(pages)/templates/create-template/components/FunctionForm.tsx @@ -1,4 +1,4 @@ -import { useState } from 'react'; +import { useEffect, useState } from 'react'; import React from 'react'; import { TriggerType } from '@api/agents'; @@ -131,7 +131,12 @@ export const FunctionForm = ({ const checkAllRequiredFieldsAreFilled = () => { if (functionState?.type === 'EVENT') { - //event type has no parameter for now + if (functionState.id === 'voteOnProposal') { + if (!functionState.optionValue) { + ErrorToast('Please select an option'); + return false; + } + } return true; } @@ -176,6 +181,10 @@ export const FunctionForm = ({ } }; + useEffect(() => { + console.log(currentFunction); + }, []); + return ( )} - {functionState?.parameters && - renderParameters( - functionState.type === 'CRON' - ? functionState.parameters || [] - : functionState.eventParameters || [], - handleParameterChange, - handleNestedParameterChange, - handleOptionChange, - functionState.optionValue - )} + {renderParameters( + (functionState.type === 'CRON' + ? functionState.parameters + : functionState.eventParameters) || [], + handleParameterChange, + handleNestedParameterChange, + handleOptionChange, + functionState.optionValue + )} {functionState.type === 'CRON' && ( <> diff --git a/frontend/src/app/(pages)/templates/create-template/components/utils/FunctionMapper.ts b/frontend/src/app/(pages)/templates/create-template/components/utils/FunctionMapper.ts index 1bcd045a..736fe46f 100644 --- a/frontend/src/app/(pages)/templates/create-template/components/utils/FunctionMapper.ts +++ b/frontend/src/app/(pages)/templates/create-template/components/utils/FunctionMapper.ts @@ -30,7 +30,9 @@ export const mapFormFunctionToTriggerConfiguration = ( type: item.type, action: { function_name: item.id, - parameters: mapParamValueToKeyValuePair(item.eventParameters || []) + parameters: item.optionValue + ? [mapOptionToKeyValuePair(item.optionValue, 'vote_params')] + : [] }, data: { event: 'VoteEvent', @@ -193,10 +195,14 @@ export const mapTriggerConfigurationToFormFunction = ( optionValue: baseFunction?.parameters && baseFunction?.parameters[0].type === 'options' ? populateOptionValue(trigger.action.parameters[0]) - : undefined, + : (trigger.type === 'EVENT' + ? eventParameters && populateOptionValue(eventParameters[0]) + : undefined) || undefined, selectedCronOption: undefined, congifuredCronSettings: undefined, - agent_id: (trigger as IAgentConfiguration).agent_id || undefined + agent_id: (trigger as IAgentConfiguration).agent_id || undefined, + eventDescription: baseFunction.eventDescription, + eventParameters: baseFunction.eventParameters }; return final_obj; diff --git a/frontend/src/models/types/functions.ts b/frontend/src/models/types/functions.ts index 0eb9622b..c061bfeb 100644 --- a/frontend/src/models/types/functions.ts +++ b/frontend/src/models/types/functions.ts @@ -186,9 +186,32 @@ export const AvailableFunctions: IFunctionsDto[] = [ ], canBeEvent: true, eventName: 'VoteEvent', - eventParameters: [], + eventParameters: [ + { + id: 'vote', + name: 'Vote', + type: 'options', + options: [ + { + id: 'yes', + name: 'Yes', + type: 'string' + }, + { + id: 'no', + name: 'No', + type: 'string' + }, + { + id: 'abstain', + name: 'Abstain', + type: 'string' + } + ] + } + ], eventDescription: - 'This Vote event will be triggered when any new Proposal is created on the network. The Agent will vote "No" on the proposal. (No parameters required)' + 'This agent will automatically cast a vote on any proposal that is created on the network while it is active. ' } ] }, From 88639a020fd4762ae694d6932a7b70bb2f7c0e39 Mon Sep 17 00:00:00 2001 From: Joseph Rana Date: Wed, 20 Nov 2024 13:09:14 +0545 Subject: [PATCH 02/42] chore: add event type options to voting cron params meta --- frontend/src/models/types/functions.ts | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/frontend/src/models/types/functions.ts b/frontend/src/models/types/functions.ts index c061bfeb..b6e73c50 100644 --- a/frontend/src/models/types/functions.ts +++ b/frontend/src/models/types/functions.ts @@ -45,6 +45,7 @@ export interface IParameterOption { name: string; type: ParameterType; parameters?: IParameter[]; + value?: string; } export interface ItemObject { @@ -182,6 +183,29 @@ export const AvailableFunctions: IFunctionsDto[] = [ type: 'hash' } ] + }, + { + id: 'vote', + name: 'Vote', + type: 'options', + options: [ + { + id: 'yes', + name: 'Yes', + type: 'function' + }, + { + id: 'no', + name: 'No', + type: 'function' + }, + { + id: 'abstain', + name: 'Abstain', + type: 'function' + } + ], + optional: false } ], canBeEvent: true, From dee4c691d010a47989a44d927f98a981533d28ff Mon Sep 17 00:00:00 2001 From: Joseph Rana Date: Wed, 20 Nov 2024 13:11:20 +0545 Subject: [PATCH 03/42] chore: update form validation function --- .../components/utils/FunctionMapper.ts | 18 +++++++++++++++++- .../components/Agent/AgentContent/Overview.tsx | 4 ---- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/frontend/src/app/(pages)/templates/create-template/components/utils/FunctionMapper.ts b/frontend/src/app/(pages)/templates/create-template/components/utils/FunctionMapper.ts index 736fe46f..fd0f0e2d 100644 --- a/frontend/src/app/(pages)/templates/create-template/components/utils/FunctionMapper.ts +++ b/frontend/src/app/(pages)/templates/create-template/components/utils/FunctionMapper.ts @@ -31,7 +31,7 @@ export const mapFormFunctionToTriggerConfiguration = ( action: { function_name: item.id, parameters: item.optionValue - ? [mapOptionToKeyValuePair(item.optionValue, 'vote_params')] + ? [mapOptionToKeyValuePair(item.optionValue, 'vote')] : [] }, data: { @@ -54,6 +54,22 @@ export const mapFormFunctionToTriggerConfiguration = ( }; } + if (item.id == 'voteOnProposal' && item.type == 'CRON' && item.optionValue) { + alert(item.optionValue.id); + item.parameters = + item.parameters?.map((param) => { + if (param.type === 'options') { + return { + name: param.name, + id: param.id || 'vote', + type: 'string', + value: item.optionValue?.id || 'yes' + }; + } + return param; + }) || item.parameters; + } + return { type: item.type, action: { diff --git a/frontend/src/components/Agent/AgentContent/Overview.tsx b/frontend/src/components/Agent/AgentContent/Overview.tsx index e5e20ca1..3374aa8c 100644 --- a/frontend/src/components/Agent/AgentContent/Overview.tsx +++ b/frontend/src/components/Agent/AgentContent/Overview.tsx @@ -179,10 +179,6 @@ const TriggerDataBox = ({ : 'skipped') as string ); - { - console.log(dataSource.length, numberOfBoxes); - } - if (dataSource.length < numberOfBoxes) { const target = numberOfBoxes - dataSource.length; for (let i = 0; i < target; i++) { From 22ff4c828a8bcf4e67da141473d59c328380e509 Mon Sep 17 00:00:00 2001 From: Joseph Rana Date: Wed, 20 Nov 2024 13:12:16 +0545 Subject: [PATCH 04/42] chore: remove log function --- .../create-template/components/FunctionForm.tsx | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/frontend/src/app/(pages)/templates/create-template/components/FunctionForm.tsx b/frontend/src/app/(pages)/templates/create-template/components/FunctionForm.tsx index a48aa556..8d690d29 100644 --- a/frontend/src/app/(pages)/templates/create-template/components/FunctionForm.tsx +++ b/frontend/src/app/(pages)/templates/create-template/components/FunctionForm.tsx @@ -1,4 +1,4 @@ -import { useEffect, useState } from 'react'; +import { useState } from 'react'; import React from 'react'; import { TriggerType } from '@api/agents'; @@ -89,7 +89,6 @@ export const FunctionForm = ({ const updatedParameters = functionState?.parameters?.map((param) => param.id === paramId ? { ...param, value: newValue } : param ); - console.log(updatedParameters); updateFunctionState({ parameters: updatedParameters }); }; @@ -124,8 +123,8 @@ export const FunctionForm = ({ }; const handleOnSave = () => { - const validState = checkAllRequiredFieldsAreFilled(); console.log(functionState); + const validState = checkAllRequiredFieldsAreFilled(); validState && onSave?.(functionState); }; @@ -141,7 +140,7 @@ export const FunctionForm = ({ } if ( - functionState?.parameters?.[0].type === 'options' && + functionState?.parameters?.some((param) => param.type === 'options') && !functionState.optionValue ) { ErrorToast('Please select an option'); @@ -150,6 +149,9 @@ export const FunctionForm = ({ let validState = true; functionState?.parameters?.forEach((item) => { + if (item.type === 'options' && functionState.optionValue) { + return; + } if ((item.optional === false && !item.value) || item.value === '') { validState = false; } @@ -181,10 +183,6 @@ export const FunctionForm = ({ } }; - useEffect(() => { - console.log(currentFunction); - }, []); - return ( Date: Thu, 21 Nov 2024 16:46:46 +0545 Subject: [PATCH 05/42] Add vote options in agent-node --- agent-node/src/functions/voteOnProposal.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/agent-node/src/functions/voteOnProposal.ts b/agent-node/src/functions/voteOnProposal.ts index 204b9e4b..c994725c 100644 --- a/agent-node/src/functions/voteOnProposal.ts +++ b/agent-node/src/functions/voteOnProposal.ts @@ -3,7 +3,8 @@ import { FunctionContext } from '../executor/BaseFunction' export default async function handler( context: FunctionContext, proposal: Record, - anchor: Record + anchor: Record, + voteType: 'yes' | 'no' | 'abstain' ) { const { dataHash, url } = await context.builtins.saveMetadata( context.helpers.generateVoteMetadataContent() @@ -17,7 +18,7 @@ export default async function handler( voter: context.wallet.drepId, role: 'drep', proposal: proposal, - vote: true, + vote: voteType, anchor: anchorData, }, } From 2394685b91d358b393f1b019d0837a6250b1c48d Mon Sep 17 00:00:00 2001 From: Sital999 Date: Thu, 28 Nov 2024 15:12:42 +0545 Subject: [PATCH 06/42] fix: Support voting option for all trigger types --- agent-node/src/constants/global.ts | 1 + agent-node/src/types/types.ts | 1 + agent-node/src/utils/agent.ts | 19 +++++--- .../components/AgentActionDialogContent.tsx | 4 +- frontend/src/app/components/AgentSelector.tsx | 42 ++++++++++++------ frontend/src/lib/hooks/useAgentActions.ts | 43 +++++++++++++------ frontend/src/utils/agent.ts | 9 +++- 7 files changed, 86 insertions(+), 33 deletions(-) diff --git a/agent-node/src/constants/global.ts b/agent-node/src/constants/global.ts index 148f37a8..7a7898c3 100644 --- a/agent-node/src/constants/global.ts +++ b/agent-node/src/constants/global.ts @@ -7,6 +7,7 @@ export const globalState: { eventTriggerTypeDetails: { eventType: false, function_name: '', + parameters: [], }, agentName: '', } diff --git a/agent-node/src/types/types.ts b/agent-node/src/types/types.ts index a96dce23..b4ae0dbe 100644 --- a/agent-node/src/types/types.ts +++ b/agent-node/src/types/types.ts @@ -10,4 +10,5 @@ export type AgentWalletDetails = { export type EventTriggerTypeDetails = { eventType: boolean function_name: string + parameters: Array } diff --git a/agent-node/src/utils/agent.ts b/agent-node/src/utils/agent.ts index e164696b..c5f01900 100644 --- a/agent-node/src/utils/agent.ts +++ b/agent-node/src/utils/agent.ts @@ -26,20 +26,27 @@ export function checkIfAgentWithEventTriggerTypeExists( globalState.eventTriggerTypeDetails = { eventType: true, function_name: config.action.function_name, + parameters: config.action.parameters, } } }) } export function createActionDtoForEventTrigger(tx: any, index: number): Action { + const updatedParams = [ + ...globalState.eventTriggerTypeDetails.parameters, + { + name: 'anchor', + value: {}, + }, + { + name: 'proposal', + value: `${Buffer.from(tx.hash, 'utf-8').toString('hex')}#${index}`, + }, + ].reverse() return { function_name: globalState.eventTriggerTypeDetails.function_name, - parameters: [ - { - name: 'proposal', - value: `${Buffer.from(tx.hash, 'utf-8').toString('hex')}#${index}`, - }, - ], + parameters: updatedParams, } } diff --git a/frontend/src/app/components/AgentActionDialogContent.tsx b/frontend/src/app/components/AgentActionDialogContent.tsx index 47264728..fe6979f2 100644 --- a/frontend/src/app/components/AgentActionDialogContent.tsx +++ b/frontend/src/app/components/AgentActionDialogContent.tsx @@ -28,7 +28,7 @@ const AgentsActionDialogContent = ({ triggerType, functionId }: AgentsActionDialogContentProps) => { - const { activeAgents, isSubmitting, handleSelect, handleAction, selectedAgentIds } = + const { activeAgents, isSubmitting, handleSelect, handleAction, selectedAgents } = useAgentsAction(triggerType, handleClose, functionId); const [adminAccess] = useAtom(adminAccessAtom); @@ -64,7 +64,7 @@ const AgentsActionDialogContent = ({ +
+ +
); }; diff --git a/frontend/src/app/(pages)/templates/create-template/components/trigger/ParameterRenderers.tsx b/frontend/src/app/(pages)/templates/create-template/components/ParameterRenderers.tsx similarity index 100% rename from frontend/src/app/(pages)/templates/create-template/components/trigger/ParameterRenderers.tsx rename to frontend/src/app/(pages)/templates/create-template/components/ParameterRenderers.tsx diff --git a/frontend/src/app/(pages)/templates/create-template/components/TriggerForm.tsx b/frontend/src/app/(pages)/templates/create-template/components/TriggerForm.tsx deleted file mode 100644 index e69de29b..00000000 diff --git a/frontend/src/app/(pages)/templates/create-template/components/trigger/TriggerTab.tsx b/frontend/src/app/(pages)/templates/create-template/components/TriggerTab.tsx similarity index 98% rename from frontend/src/app/(pages)/templates/create-template/components/trigger/TriggerTab.tsx rename to frontend/src/app/(pages)/templates/create-template/components/TriggerTab.tsx index 77e947c9..e5236b29 100644 --- a/frontend/src/app/(pages)/templates/create-template/components/trigger/TriggerTab.tsx +++ b/frontend/src/app/(pages)/templates/create-template/components/TriggerTab.tsx @@ -10,8 +10,8 @@ import { TabsTrigger } from '@app/components/molecules/Tabs'; -import CustomCron from './CustomCron'; -import DefaultCron from './DefaultCron'; +import CustomCron from '../components/cron/CustomCron'; +import DefaultCron from '../components/cron/DefaultCron'; export interface ICronSetting { placeholder: string; diff --git a/frontend/src/app/(pages)/templates/create-template/components/FunctionCards.tsx b/frontend/src/app/(pages)/templates/create-template/components/cards/FunctionCards.tsx similarity index 96% rename from frontend/src/app/(pages)/templates/create-template/components/FunctionCards.tsx rename to frontend/src/app/(pages)/templates/create-template/components/cards/FunctionCards.tsx index c36d8266..0d4794e7 100644 --- a/frontend/src/app/(pages)/templates/create-template/components/FunctionCards.tsx +++ b/frontend/src/app/(pages)/templates/create-template/components/cards/FunctionCards.tsx @@ -3,7 +3,7 @@ import { Edit } from 'lucide-react'; import { Card } from '@app/components/atoms/Card'; -import { IFormFunctionInstance } from '../page'; +import { IFormFunctionInstance } from '../../page'; interface IFunctionCards { functions: IFormFunctionInstance[]; diff --git a/frontend/src/app/(pages)/templates/create-template/components/cards/InfoCard.tsx b/frontend/src/app/(pages)/templates/create-template/components/cards/InfoCard.tsx new file mode 100644 index 00000000..ab77932d --- /dev/null +++ b/frontend/src/app/(pages)/templates/create-template/components/cards/InfoCard.tsx @@ -0,0 +1,17 @@ +import { Info } from "lucide-react" +import { cn } from "@app/components/lib/utils" + +export default function InfoCard({onMouseEnter , onMouseLeave , visible} : {onMouseEnter : any , onMouseLeave : any , visible : boolean}) { + return ( +
+ + +
+ + ) +} diff --git a/frontend/src/app/(pages)/templates/create-template/components/trigger/CustomCron.tsx b/frontend/src/app/(pages)/templates/create-template/components/cron/CustomCron.tsx similarity index 100% rename from frontend/src/app/(pages)/templates/create-template/components/trigger/CustomCron.tsx rename to frontend/src/app/(pages)/templates/create-template/components/cron/CustomCron.tsx diff --git a/frontend/src/app/(pages)/templates/create-template/components/trigger/DefaultCron.tsx b/frontend/src/app/(pages)/templates/create-template/components/cron/DefaultCron.tsx similarity index 99% rename from frontend/src/app/(pages)/templates/create-template/components/trigger/DefaultCron.tsx rename to frontend/src/app/(pages)/templates/create-template/components/cron/DefaultCron.tsx index 872b80b3..3a50cf3c 100644 --- a/frontend/src/app/(pages)/templates/create-template/components/trigger/DefaultCron.tsx +++ b/frontend/src/app/(pages)/templates/create-template/components/cron/DefaultCron.tsx @@ -5,7 +5,7 @@ import { Label } from '@app/components/atoms/label'; import { cn } from '@app/components/lib/utils'; import { NumberInput } from '@app/components/molecules/NumberInput'; -import { ICronSetting, IInputSetting } from './TriggerTab'; +import { ICronSetting, IInputSetting } from '../TriggerTab'; export default function DefaultCron({ cronSetting, diff --git a/frontend/src/app/(pages)/templates/create-template/page.tsx b/frontend/src/app/(pages)/templates/create-template/page.tsx index 7f044568..65f3dada 100644 --- a/frontend/src/app/(pages)/templates/create-template/page.tsx +++ b/frontend/src/app/(pages)/templates/create-template/page.tsx @@ -33,8 +33,8 @@ import { ErrorToast } from '@app/components/molecules/CustomToasts'; import { templateCreatedAtom } from '@app/store/localStore'; import { queryClient } from '@app/utils/providers/ReactQueryProvider'; -import { FunctionCards } from './components/FunctionCards'; import { FunctionForm } from './components/FunctionForm'; +import { FunctionCards } from './components/cards/FunctionCards'; import { mapFormFunctionToTriggerConfiguration } from './components/utils/FunctionMapper'; export interface IFormFunctionInstance extends IFunctionsItem { @@ -233,7 +233,7 @@ export default function CreateTemplatePage() {
{/*Dialog for function form*/} - + {currentSelectedFunction && ( ( {children} - {useChevron ? : } + {renderChevronIcon && } + {!disableIcon && + !renderChevronIcon && + (useAddIcon ? ( + + ) : ( + + ))} ); @@ -92,7 +101,7 @@ const DropdownMenuContent = React.forwardRef< ref={ref} sideOffset={sideOffset} className={cn( - ' bg-popover text-popover-foreground z-50 min-w-[8rem] overflow-hidden rounded-md border bg-white p-1 shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2', + 'bg-popover text-popover-foreground z-50 min-w-[8rem] overflow-hidden rounded-md border bg-white p-1 shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2', className )} {...props} diff --git a/frontend/src/components/atoms/Select.tsx b/frontend/src/components/atoms/Select.tsx index ed882090..9d1cbab7 100644 --- a/frontend/src/components/atoms/Select.tsx +++ b/frontend/src/components/atoms/Select.tsx @@ -4,6 +4,7 @@ import * as React from 'react'; import * as SelectPrimitive from '@radix-ui/react-select'; import { ChevronDown, ChevronUp } from 'lucide-react'; +import { Plus } from 'lucide-react'; import { cn } from '../lib/utils'; @@ -34,8 +35,9 @@ const SelectTrigger = React.forwardRef< React.ElementRef, React.ComponentPropsWithoutRef & { renderArrow?: boolean; + useAddIcon?: boolean; } ->(({ className, children, renderArrow = true, ...props }, ref) => ( +>(({ className, children, renderArrow = true, useAddIcon = false, ...props }, ref) => ( - + {(useAddIcon && ) || ( + + )} )} diff --git a/frontend/src/components/molecules/CustomDropDown.tsx b/frontend/src/components/molecules/CustomDropDown.tsx new file mode 100644 index 00000000..f2572538 --- /dev/null +++ b/frontend/src/components/molecules/CustomDropDown.tsx @@ -0,0 +1,100 @@ +import { + DropdownMenu, + DropdownMenuContent, + DropdownMenuItem, + DropdownMenuTrigger +} from '@app/components/atoms/DropDownMenu'; +import { + Select, + SelectContent, + SelectItem, + SelectTrigger +} from '@app/components/atoms/Select'; +import { cn } from '@app/components/lib/utils'; + +export const CustomDropDown = ({ + defaultValue, + options, + label, + onSelect, + chevronIcon = true, + plusIcon = false, + disabled = false +}: { + defaultValue: string; + label: string; + options: string[]; + onSelect: (item: string) => void; // Specify the type for onSelect + disabled?: boolean; + chevronIcon?: boolean; + plusIcon?: boolean; +}) => ( +
+ {label} + + + {defaultValue} + + + {options.map((item) => ( + onSelect(item)} + className="z-[9999] m-0 w-full" + > + {item} + + ))} + + +
+); + +interface ISelectItem { + label: string; + value: any; +} + +export const CustomSelect = ({ + defaultValue, + className, + options, + label, + onSelect, + plusIcon = false, + disabled = false +}: { + defaultValue: string; + label?: string; + className?: string; + options: ISelectItem[]; + onSelect: (item: any) => void; + disabled?: boolean; + plusIcon?: boolean; +}) => ( +
+ {label && {label}} + +
+); diff --git a/frontend/src/components/molecules/MultiSearchSelect.tsx b/frontend/src/components/molecules/MultiSearchSelect.tsx index 0cae122f..46c1f6c6 100644 --- a/frontend/src/components/molecules/MultiSearchSelect.tsx +++ b/frontend/src/components/molecules/MultiSearchSelect.tsx @@ -4,7 +4,7 @@ import * as React from 'react'; import { forwardRef, useEffect } from 'react'; import { Command as CommandPrimitive, useCommandState } from 'cmdk'; -import { SearchIcon } from 'lucide-react'; +import { Plus } from 'lucide-react'; import { Command, CommandGroup, CommandItem, CommandList } from '../atoms/Command'; import { cn } from '../lib/utils'; @@ -409,7 +409,7 @@ const MultipleSelector = React.forwardRef= maxSelected ? 'bg-brand-White-200' @@ -417,7 +417,7 @@ const MultipleSelector = React.forwardRef - +
{open && ( diff --git a/frontend/src/components/molecules/UpdateAgentFunctionModal.tsx b/frontend/src/components/molecules/UpdateAgentFunctionModal.tsx index 410ef8c2..503ca3e0 100644 --- a/frontend/src/components/molecules/UpdateAgentFunctionModal.tsx +++ b/frontend/src/components/molecules/UpdateAgentFunctionModal.tsx @@ -11,7 +11,7 @@ import { getFunctionParameters } from '@utils'; import TriggerTab, { IInputSetting -} from '@app/app/(pages)/templates/create-template/components/trigger/TriggerTab'; +} from '@app/app/(pages)/templates/create-template/components/Form/TriggerTab'; import { Button } from '@app/components/atoms/Button'; import { CustomCombobox } from '@app/components/molecules/CustomCombobox'; import ProbabilityInput from '@app/components/molecules/ProbabilityInput'; diff --git a/frontend/src/components/molecules/UpdateTemplateFunctionModal.tsx b/frontend/src/components/molecules/UpdateTemplateFunctionModal.tsx index c2d9fd0d..6104c94b 100644 --- a/frontend/src/components/molecules/UpdateTemplateFunctionModal.tsx +++ b/frontend/src/components/molecules/UpdateTemplateFunctionModal.tsx @@ -12,7 +12,7 @@ import { getFunctionParameters } from '@utils'; import TriggerTab, { IInputSetting -} from '@app/app/(pages)/templates/create-template/components/trigger/TriggerTab'; +} from '@app/app/(pages)/templates/create-template/components/Form/TriggerTab'; import { Button } from '@app/components/atoms/Button'; import { CustomCombobox } from '@app/components/molecules/CustomCombobox'; import ProbabilityInput from '@app/components/molecules/ProbabilityInput'; diff --git a/frontend/yarn.lock b/frontend/yarn.lock index b254db47..097daad8 100644 --- a/frontend/yarn.lock +++ b/frontend/yarn.lock @@ -1109,6 +1109,13 @@ dependencies: regenerator-runtime "^0.14.0" +"@babel/runtime@^7.20.13": + version "7.26.0" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.26.0.tgz#8600c2f595f277c60815256418b85356a65173c1" + integrity sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw== + dependencies: + regenerator-runtime "^0.14.0" + "@babel/template@^7.22.15", "@babel/template@^7.24.0", "@babel/template@^7.3.3": version "7.24.0" resolved "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz" @@ -1566,6 +1573,21 @@ dependencies: "@floating-ui/utils" "^0.2.0" +"@floating-ui/core@^1.6.0": + version "1.6.8" + resolved "https://registry.yarnpkg.com/@floating-ui/core/-/core-1.6.8.tgz#aa43561be075815879305965020f492cdb43da12" + integrity sha512-7XJ9cPU+yI2QeLS+FCSlqNFZJq8arvswefkZrYI1yQBbftw6FyrZOxYSh+9S7z7TpeWlRt9zJ5IhM1WIL334jA== + dependencies: + "@floating-ui/utils" "^0.2.8" + +"@floating-ui/dom@^1.0.0": + version "1.6.11" + resolved "https://registry.yarnpkg.com/@floating-ui/dom/-/dom-1.6.11.tgz#8631857838d34ee5712339eb7cbdfb8ad34da723" + integrity sha512-qkMCxSR24v2vGkhYDo/UzxfJN3D4syqSjyuTFz6C7XcpU1pASPRieNI0Kj5VP3/503mOfYiGY891ugBX1GlABQ== + dependencies: + "@floating-ui/core" "^1.6.0" + "@floating-ui/utils" "^0.2.8" + "@floating-ui/dom@^1.5.4": version "1.5.4" resolved "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.5.4.tgz" @@ -1581,11 +1603,32 @@ dependencies: "@floating-ui/dom" "^1.5.4" +"@floating-ui/react-dom@^2.1.2": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@floating-ui/react-dom/-/react-dom-2.1.2.tgz#a1349bbf6a0e5cb5ded55d023766f20a4d439a31" + integrity sha512-06okr5cgPzMNBy+Ycse2A6udMi4bqwW/zgBF/rwjcNqWkyr82Mcg8b0vjX8OJpZFy/FKjJmw6wV7t44kK6kW7A== + dependencies: + "@floating-ui/dom" "^1.0.0" + +"@floating-ui/react@^0.26.16": + version "0.26.25" + resolved "https://registry.yarnpkg.com/@floating-ui/react/-/react-0.26.25.tgz#cf4c8a2b89fab1a71712d15e6551df3bfbd2ea1d" + integrity sha512-hZOmgN0NTOzOuZxI1oIrDu3Gcl8WViIkvPMpB4xdd4QD6xAMtwgwr3VPoiyH/bLtRcS1cDnhxLSD1NsMJmwh/A== + dependencies: + "@floating-ui/react-dom" "^2.1.2" + "@floating-ui/utils" "^0.2.8" + tabbable "^6.0.0" + "@floating-ui/utils@^0.2.0": version "0.2.1" resolved "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.1.tgz" integrity sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q== +"@floating-ui/utils@^0.2.8": + version "0.2.8" + resolved "https://registry.yarnpkg.com/@floating-ui/utils/-/utils-0.2.8.tgz#21a907684723bbbaa5f0974cf7730bd797eb8e62" + integrity sha512-kym7SodPp8/wloecOpcmSnWJsK7M0E5Wg8UcFA+uO4B9s5d0ywXOEro/8HM9x0rW+TljRzul/14UYz3TleT3ig== + "@gilbarbara/deep-equal@^0.1.1": version "0.1.2" resolved "https://registry.npmjs.org/@gilbarbara/deep-equal/-/deep-equal-0.1.2.tgz" @@ -1916,6 +1959,32 @@ "@jridgewell/resolve-uri" "^3.1.0" "@jridgewell/sourcemap-codec" "^1.4.14" +"@juggle/resize-observer@^3.4.0": + version "3.4.0" + resolved "https://registry.yarnpkg.com/@juggle/resize-observer/-/resize-observer-3.4.0.tgz#08d6c5e20cf7e4cc02fd181c4b0c225cd31dbb60" + integrity sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA== + +"@ljharb/resumer@~0.0.1": + version "0.0.1" + resolved "https://registry.yarnpkg.com/@ljharb/resumer/-/resumer-0.0.1.tgz#8a940a9192dd31f6a1df17564bbd26dc6ad3e68d" + integrity sha512-skQiAOrCfO7vRTq53cxznMpks7wS1va95UCidALlOVWqvBAzwPVErwizDwoMqNVMEn1mDq0utxZd02eIrvF1lw== + dependencies: + "@ljharb/through" "^2.3.9" + +"@ljharb/through@^2.3.9", "@ljharb/through@~2.3.9": + version "2.3.13" + resolved "https://registry.yarnpkg.com/@ljharb/through/-/through-2.3.13.tgz#b7e4766e0b65aa82e529be945ab078de79874edc" + integrity sha512-/gKJun8NNiWGZJkGzI/Ragc53cOdcLNdzjLaIa+GEjguQs0ulsurx8WN0jijdK9yPqDvziX995sMRLyLt1uZMQ== + dependencies: + call-bind "^1.0.7" + +"@marko19907/string-to-color@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@marko19907/string-to-color/-/string-to-color-1.0.0.tgz#7f77e16edbc631e178ceb36e21826a3f0c0ee2ec" + integrity sha512-V3ipYiIUhYjP7BqpOY06mgRFFGoR9cKawD4iJQFhEnuy3j3e0ipcr+OpNQLbOBrIU3p9wuPw3OwBn0hHopDW0A== + dependencies: + esm-seedrandom "^3.0.5" + "@mdx-js/react@^3.0.0": version "3.0.1" resolved "https://registry.npmjs.org/@mdx-js/react/-/react-3.0.1.tgz" @@ -3184,6 +3253,11 @@ resolved "https://registry.yarnpkg.com/@radix-ui/rect/-/rect-1.1.0.tgz#f817d1d3265ac5415dadc67edab30ae196696438" integrity sha512-A9+lCBZoaMJlVKcRBz2YByCG+Cp2t6nAnMnNba+XiWxnj6r4JUFqfsgwocMBZU9LPtdxC6wB56ySYpc7LQIoJg== +"@reaviz/react-use-fuzzy@^1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@reaviz/react-use-fuzzy/-/react-use-fuzzy-1.0.3.tgz#7362ca1f8f93d5f81fd26dcebb9df15300f35f03" + integrity sha512-ON5RxiI0r9zNpEKHvxqT8zz3iI4kzc37NzB4t8lfXSWwCEkpzxWY9TB2JAdYp9LC3UW2tN9zxdMnaNBLz4atTw== + "@redux-devtools/core@^4.0.0": version "4.0.0" resolved "https://registry.npmjs.org/@redux-devtools/core/-/core-4.0.0.tgz" @@ -5616,6 +5690,14 @@ array-buffer-byte-length@^1.0.0: call-bind "^1.0.2" is-array-buffer "^3.0.1" +array-buffer-byte-length@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz#1e5583ec16763540a27ae52eed99ff899223568f" + integrity sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg== + dependencies: + call-bind "^1.0.5" + is-array-buffer "^3.0.4" + array-flatten@1.1.1: version "1.1.1" resolved "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz" @@ -5704,6 +5786,20 @@ arraybuffer.prototype.slice@^1.0.2: is-array-buffer "^3.0.2" is-shared-array-buffer "^1.0.2" +arraybuffer.prototype.slice@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz#097972f4255e41bc3425e37dc3f6421cf9aefde6" + integrity sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A== + dependencies: + array-buffer-byte-length "^1.0.1" + call-bind "^1.0.5" + define-properties "^1.2.1" + es-abstract "^1.22.3" + es-errors "^1.2.1" + get-intrinsic "^1.2.3" + is-array-buffer "^3.0.4" + is-shared-array-buffer "^1.0.2" + asn1.js@^4.10.1: version "4.10.1" resolved "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz" @@ -5804,6 +5900,13 @@ available-typed-arrays@^1.0.5: resolved "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz" integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== +available-typed-arrays@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz#a5cc375d6a03c2efc87a553f3e0b1522def14846" + integrity sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ== + dependencies: + possible-typed-array-names "^1.0.0" + axe-core@=4.7.0: version "4.7.0" resolved "https://registry.npmjs.org/axe-core/-/axe-core-4.7.0.tgz" @@ -6096,6 +6199,11 @@ body-parser@1.20.2: type-is "~1.6.18" unpipe "1.0.0" +body-scroll-lock-upgrade@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/body-scroll-lock-upgrade/-/body-scroll-lock-upgrade-1.1.0.tgz#3df63fca3d1db2f896bd9a050bd14c33cd0085d2" + integrity sha512-nnfVAS+tB7CS9RaksuHVTpgHWHF7fE/ptIBJnwZrMqImIvWJF1OGcLnMpBhC6qhkx9oelvyxmWXwmIJXCV98Sw== + boolbase@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz" @@ -6298,7 +6406,12 @@ bytes@3.1.2: resolved "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz" integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== -call-bind@^1.0.0, call-bind@^1.0.2, call-bind@^1.0.4, call-bind@^1.0.5, call-bind@^1.0.7: +calculate-size@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/calculate-size/-/calculate-size-1.1.1.tgz#ae7caa1c7795f82c4f035dc7be270e3581dae3ee" + integrity sha512-jJZ7pvbQVM/Ss3VO789qpsypN3xmnepg242cejOAslsmlZLYw2dnj7knnNowabQ0Kzabzx56KFTy2Pot/y6FmA== + +call-bind@^1.0.0, call-bind@^1.0.2, call-bind@^1.0.4, call-bind@^1.0.5, call-bind@^1.0.6, call-bind@^1.0.7, call-bind@~1.0.2: version "1.0.7" resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz" integrity sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w== @@ -6479,6 +6592,11 @@ chownr@^2.0.0: resolved "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz" integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== +chroma-js@^2.4.2: + version "2.6.0" + resolved "https://registry.yarnpkg.com/chroma-js/-/chroma-js-2.6.0.tgz#578743dd359698a75067a19fa5571dec54d0b70b" + integrity sha512-BLHvCB9s8Z1EV4ethr6xnkl/P2YRFOGqfgvuMG/MyCbZPrTA+NeiByY6XvgF0zP4/2deU2CXnWyMa3zu1LqQ3A== + chromatic@^11.3.0: version "11.3.0" resolved "https://registry.npmjs.org/chromatic/-/chromatic-11.3.0.tgz" @@ -6917,6 +7035,11 @@ cosmiconfig@^8.1.3, cosmiconfig@^8.3.5: parse-json "^5.2.0" path-type "^4.0.0" +coverup@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/coverup/-/coverup-0.1.1.tgz#e0a417e1f9a752a61630e4a14b9e75220896f382" + integrity sha512-Q2Fs0v3M4eMNfj0TGaFb4Oh0yuaQj9EhQbEKtFhD3Tm4HZt1Zn7TrBKX14gVEO9aeWP8KnF2/qrh7fr/rvbcXw== + create-ecdh@^4.0.0: version "4.0.4" resolved "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz" @@ -6925,6 +7048,11 @@ create-ecdh@^4.0.0: bn.js "^4.1.0" elliptic "^6.5.3" +create-global-state-hook@^0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/create-global-state-hook/-/create-global-state-hook-0.0.2.tgz#03ffe7d6c0bda65a6643cf298aeb16e32584d3f8" + integrity sha512-+1gRNwtuSQIC9lQQngfcY1VARKs6R32KJjI1bFrsp0W5MbauupRW/uQF0f+ElXx8xMmuEK9wl5zqAslzj6GvCA== + create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: version "1.2.0" resolved "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz" @@ -7131,6 +7259,11 @@ csstype@^3.0.2, csstype@^3.1.2: resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz" integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== +ctrl-keys@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/ctrl-keys/-/ctrl-keys-1.0.3.tgz#e039c6691d2add598ca1029fada0fd004f6c1ecb" + integrity sha512-Kcb05/xUNra57fxpsLOflECWYbjQEQ9ZuQEthB3cgESN5zMLJ364twA9h2kqz8n06RnTY/+rKWM3UbkOWKeEJg== + cytoscape-cose-bilkent@^4.1.0: version "4.1.0" resolved "https://registry.npmjs.org/cytoscape-cose-bilkent/-/cytoscape-cose-bilkent-4.1.0.tgz" @@ -7333,7 +7466,7 @@ d3-scale@4, d3-scale@^4.0.2: resolved "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz" integrity sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ== -d3-shape@3, d3-shape@^3.1.0: +d3-shape@3, d3-shape@^3.0.1, d3-shape@^3.1.0: version "3.2.0" resolved "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz" integrity sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA== @@ -7456,6 +7589,33 @@ data-urls@^3.0.2: whatwg-mimetype "^3.0.0" whatwg-url "^11.0.0" +data-view-buffer@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/data-view-buffer/-/data-view-buffer-1.0.1.tgz#8ea6326efec17a2e42620696e671d7d5a8bc66b2" + integrity sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA== + dependencies: + call-bind "^1.0.6" + es-errors "^1.3.0" + is-data-view "^1.0.1" + +data-view-byte-length@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz#90721ca95ff280677eb793749fce1011347669e2" + integrity sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ== + dependencies: + call-bind "^1.0.7" + es-errors "^1.3.0" + is-data-view "^1.0.1" + +data-view-byte-offset@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz#5e0bbfb4828ed2d1b9b400cd8a7d119bca0ff18a" + integrity sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA== + dependencies: + call-bind "^1.0.6" + es-errors "^1.3.0" + is-data-view "^1.0.1" + date-fns@^3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-3.6.0.tgz#f20ca4fe94f8b754951b24240676e8618c0206bf" @@ -7526,6 +7686,11 @@ dedent@^1.0.0: resolved "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz" integrity sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg== +deep-copy@^1.4.1: + version "1.4.2" + resolved "https://registry.yarnpkg.com/deep-copy/-/deep-copy-1.4.2.tgz#0622719257e4bd60240e401ea96718211c5c4697" + integrity sha512-VxZwQ/1+WGQPl5nE67uLhh7OqdrmqI1OazrraO9Bbw/M8Bt6Mol/RxzDA6N6ZgRXpsG/W9PgUj8E1LHHBEq2GQ== + deep-diff@^0.3.5: version "0.3.8" resolved "https://registry.npmjs.org/deep-diff/-/deep-diff-0.3.8.tgz" @@ -7567,6 +7732,18 @@ deep-equal@^2.0.5: which-collection "^1.0.1" which-typed-array "^1.1.13" +deep-equal@~1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.2.tgz#78a561b7830eef3134c7f6f3a3d6af272a678761" + integrity sha512-5tdhKF6DbU7iIzrIOa1AOUt39ZRm13cmL1cGEh//aqR8x9+tNfbywRf0n5FD/18OKMdo7DNEtrX2t22ZAkI+eg== + dependencies: + is-arguments "^1.1.1" + is-date-object "^1.0.5" + is-regex "^1.1.4" + object-is "^1.1.5" + object-keys "^1.1.1" + regexp.prototype.flags "^1.5.1" + deep-extend@^0.6.0: version "0.6.0" resolved "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz" @@ -7597,7 +7774,14 @@ defaults@^1.0.3: dependencies: clone "^1.0.2" -define-data-property@^1.0.1, define-data-property@^1.1.4: +defaulty@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/defaulty/-/defaulty-2.1.0.tgz#567bece2480d383e6a51edec82b350217c951a32" + integrity sha512-dNWjHNxL32khAaX/kS7/a3rXsgvqqp7cptqt477wAVnJLgaOKjcQt+53jKgPofn6hL2xyG51MegPlB5TKImXjA== + dependencies: + deep-copy "^1.4.1" + +define-data-property@^1.0.1, define-data-property@^1.1.1, define-data-property@^1.1.4: version "1.1.4" resolved "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz" integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== @@ -7620,6 +7804,11 @@ define-properties@^1.1.3, define-properties@^1.2.0, define-properties@^1.2.1: has-property-descriptors "^1.0.0" object-keys "^1.1.1" +defined@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.1.tgz#c0b9db27bfaffd95d6f61399419b893df0f91ebf" + integrity sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q== + defu@^6.1.4: version "6.1.4" resolved "https://registry.npmjs.org/defu/-/defu-6.1.4.tgz" @@ -7909,6 +8098,13 @@ dotenv@^16.0.0: resolved "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz" integrity sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg== +dotignore@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/dotignore/-/dotignore-0.1.2.tgz#f942f2200d28c3a76fbdd6f0ee9f3257c8a2e905" + integrity sha512-UGGGWfSauusaVJC+8fgV+NVvBXkCTmVv7sk6nojDZZvuOUNGUy0Zk4UpHQD6EDjS0jpBwcACvH4eofvyzBcRDw== + dependencies: + minimatch "^3.0.4" + duplexify@^3.5.0, duplexify@^3.6.0: version "3.7.1" resolved "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz" @@ -7984,11 +8180,28 @@ electron-to-chromium@^1.4.601: resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.639.tgz" integrity sha512-CkKf3ZUVZchr+zDpAlNLEEy2NJJ9T64ULWaDgy3THXXlPVPkLu3VOs9Bac44nebVtdwl2geSj6AxTtGDOxoXhg== +elkjs@^0.8.2: + version "0.8.2" + resolved "https://registry.yarnpkg.com/elkjs/-/elkjs-0.8.2.tgz#c37763c5a3e24e042e318455e0147c912a7c248e" + integrity sha512-L6uRgvZTH+4OF5NE/MBbzQx/WYpru1xCBE9respNj6qznEewGUIfhzmm7horWWxbNO2M0WckQypGctR8lH79xQ== + elkjs@^0.9.0: version "0.9.1" resolved "https://registry.npmjs.org/elkjs/-/elkjs-0.9.1.tgz" integrity sha512-JWKDyqAdltuUcyxaECtYG6H4sqysXSLeoXuGUBfRNESMTkj+w+qdb0jya8Z/WI0jVd03WQtCGhS6FOFtlhD5FQ== +ellipsize@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/ellipsize/-/ellipsize-0.2.0.tgz#06515dd6b9a1cb65e516b013a235c08a576d8b02" + integrity sha512-InJhblLPZbBjw3N49knOWonfprgKPLKGySmG6bGHi7WsD5OkXIIlLkU4AguROmaMZ0v1BRdo267wEc0Pexw8ww== + dependencies: + tape "^4.9.0" + +ellipsize@^0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/ellipsize/-/ellipsize-0.5.1.tgz#2ac8bba69b2190d629cc5065a9c2bf28d99f237e" + integrity sha512-0jEAyuIRU6U8MN0S5yUqIrkK/AQWkChh642N3zQuGV57s9bsUWYLc0jJOoDIUkZ2sbEL3ySq8xfq71BvG4q3hw== + elliptic@^6.5.3, elliptic@^6.5.5: version "6.5.5" resolved "https://registry.npmjs.org/elliptic/-/elliptic-6.5.5.tgz" @@ -8147,6 +8360,58 @@ es-abstract@^1.22.1: unbox-primitive "^1.0.2" which-typed-array "^1.1.13" +es-abstract@^1.22.3, es-abstract@^1.23.0: + version "1.23.3" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.23.3.tgz#8f0c5a35cd215312573c5a27c87dfd6c881a0aa0" + integrity sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A== + dependencies: + array-buffer-byte-length "^1.0.1" + arraybuffer.prototype.slice "^1.0.3" + available-typed-arrays "^1.0.7" + call-bind "^1.0.7" + data-view-buffer "^1.0.1" + data-view-byte-length "^1.0.1" + data-view-byte-offset "^1.0.0" + es-define-property "^1.0.0" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + es-set-tostringtag "^2.0.3" + es-to-primitive "^1.2.1" + function.prototype.name "^1.1.6" + get-intrinsic "^1.2.4" + get-symbol-description "^1.0.2" + globalthis "^1.0.3" + gopd "^1.0.1" + has-property-descriptors "^1.0.2" + has-proto "^1.0.3" + has-symbols "^1.0.3" + hasown "^2.0.2" + internal-slot "^1.0.7" + is-array-buffer "^3.0.4" + is-callable "^1.2.7" + is-data-view "^1.0.1" + is-negative-zero "^2.0.3" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.3" + is-string "^1.0.7" + is-typed-array "^1.1.13" + is-weakref "^1.0.2" + object-inspect "^1.13.1" + object-keys "^1.1.1" + object.assign "^4.1.5" + regexp.prototype.flags "^1.5.2" + safe-array-concat "^1.1.2" + safe-regex-test "^1.0.3" + string.prototype.trim "^1.2.9" + string.prototype.trimend "^1.0.8" + string.prototype.trimstart "^1.0.8" + typed-array-buffer "^1.0.2" + typed-array-byte-length "^1.0.1" + typed-array-byte-offset "^1.0.2" + typed-array-length "^1.0.6" + unbox-primitive "^1.0.2" + which-typed-array "^1.1.15" + es-define-property@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz" @@ -8154,7 +8419,7 @@ es-define-property@^1.0.0: dependencies: get-intrinsic "^1.2.4" -es-errors@^1.3.0: +es-errors@^1.2.1, es-errors@^1.3.0: version "1.3.0" resolved "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz" integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== @@ -8199,6 +8464,13 @@ es-module-lexer@^1.2.1, es-module-lexer@^1.4.1: resolved "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.4.1.tgz" integrity sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w== +es-object-atoms@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.0.0.tgz#ddb55cd47ac2e240701260bc2a8e31ecb643d941" + integrity sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw== + dependencies: + es-errors "^1.3.0" + es-set-tostringtag@^2.0.1: version "2.0.2" resolved "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz" @@ -8208,6 +8480,15 @@ es-set-tostringtag@^2.0.1: has-tostringtag "^1.0.0" hasown "^2.0.0" +es-set-tostringtag@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz#8bb60f0a440c2e4281962428438d58545af39777" + integrity sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ== + dependencies: + get-intrinsic "^1.2.4" + has-tostringtag "^1.0.2" + hasown "^2.0.1" + es-shim-unscopables@^1.0.0: version "1.0.2" resolved "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz" @@ -8502,6 +8783,11 @@ eslint@^8: strip-ansi "^6.0.1" text-table "^0.2.0" +esm-seedrandom@^3.0.5: + version "3.0.5" + resolved "https://registry.yarnpkg.com/esm-seedrandom/-/esm-seedrandom-3.0.5.tgz#2411adb5864e71c71613907df4cbe831f29fcd2e" + integrity sha512-pMAq0mFIr5JQ3Ihbng7EBLMJ+llMbaDKkiG44pqbSXS0NIZWtEANpOpxb5s6Q8Q2R562P26qMHPv8YtP/NHh9g== + espree@^9.6.0, espree@^9.6.1: version "9.6.1" resolved "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz" @@ -8717,6 +9003,11 @@ external-editor@^3.0.3: iconv-lite "^0.4.24" tmp "^0.0.33" +fast-deep-equal@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz#c053477817c86b51daa853c81e059b733d023614" + integrity sha512-fueX787WZKCV0Is4/T2cyAdM4+x1S3MXXOAhavE1ys/W42SHAPacLTQhucja22QBYrfGw50M2sRiXPtTGv9Ymw== + fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" @@ -8966,12 +9257,27 @@ flow-parser@0.*: resolved "https://registry.npmjs.org/flow-parser/-/flow-parser-0.233.0.tgz" integrity sha512-E/mv51GYJfLuRX6fZnw4M52gBxYa8pkHUOgNEZOcQK2RTXS8YXeU5rlalkTcY99UpwbeNVCSUFKaavpOksi/pQ== +focus-trap-react@^10.2.3: + version "10.3.0" + resolved "https://registry.yarnpkg.com/focus-trap-react/-/focus-trap-react-10.3.0.tgz#79e2b63459d30a2f5545cf8491a8b02c1779882e" + integrity sha512-XrCTj44uNE0clTA47y1AbIb7tM7w6+zi6WrJzb4RxRe3uAIIivkBCwlsCqe7R3vPRT/LCQzfe4+N/KjtJMQMgw== + dependencies: + focus-trap "^7.6.0" + tabbable "^6.2.0" + +focus-trap@^7.6.0: + version "7.6.0" + resolved "https://registry.yarnpkg.com/focus-trap/-/focus-trap-7.6.0.tgz#7f3edab8135eaca92ab59b6e963eb5cc42ded715" + integrity sha512-1td0l3pMkWJLFipobUcGaf+5DTY4PLDDrcqoSaKP8ediO/CoWCCYk/fT/Y2A4e6TNB+Sh6clRJCjOPPnKoNHnQ== + dependencies: + tabbable "^6.2.0" + follow-redirects@^1.15.6: version "1.15.6" resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz" integrity sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA== -for-each@^0.3.3: +for-each@^0.3.3, for-each@~0.3.3: version "0.3.3" resolved "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz" integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== @@ -9035,7 +9341,7 @@ fraction.js@^4.3.7: resolved "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz" integrity sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew== -framer-motion@^10.18.0: +framer-motion@^10.16.16, framer-motion@^10.18.0: version "10.18.0" resolved "https://registry.npmjs.org/framer-motion/-/framer-motion-10.18.0.tgz" integrity sha512-oGlDh1Q1XqYPksuTD/usb0I70hq95OUzmL9+6Zd+Hs4XV0oaISBa/UUMSjYiq6m8EUF32132mOJ8xVZS+I0S6w== @@ -9044,6 +9350,13 @@ framer-motion@^10.18.0: optionalDependencies: "@emotion/is-prop-valid" "^0.8.2" +framer-motion@^11.0.6: + version "11.11.10" + resolved "https://registry.yarnpkg.com/framer-motion/-/framer-motion-11.11.10.tgz#9045dddf6ebb7548335db1c284cc2824283c7634" + integrity sha512-061Bt1jL/vIm+diYIiA4dP/Yld7vD47ROextS7ESBW5hr4wQFhxB5D5T5zAc3c/5me3cOa+iO5LqhA38WDln/A== + dependencies: + tslib "^2.4.0" + fresh@0.5.2: version "0.5.2" resolved "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz" @@ -9133,6 +9446,11 @@ functions-have-names@^1.2.3: resolved "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz" integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== +fuse.js@^6.6.2: + version "6.6.2" + resolved "https://registry.yarnpkg.com/fuse.js/-/fuse.js-6.6.2.tgz#fe463fed4b98c0226ac3da2856a415576dc9a111" + integrity sha512-cJaJkxCCxC8qIIcPBF9yGxY0W/tVZS3uEISDxhYIdtk8OL93pe+6Zj7LjCqVV4dzbqcriOZ+kQ/NE4RXZHsIGA== + gensync@^1.0.0-beta.2: version "1.0.0-beta.2" resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" @@ -9153,7 +9471,7 @@ get-func-name@^2.0.1, get-func-name@^2.0.2: resolved "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz" integrity sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ== -get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2, get-intrinsic@^1.2.4: +get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2, get-intrinsic@^1.2.3, get-intrinsic@^1.2.4: version "1.2.4" resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz" integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ== @@ -9202,6 +9520,15 @@ get-symbol-description@^1.0.0: call-bind "^1.0.2" get-intrinsic "^1.1.1" +get-symbol-description@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.2.tgz#533744d5aa20aca4e079c8e5daf7fd44202821f5" + integrity sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg== + dependencies: + call-bind "^1.0.5" + es-errors "^1.3.0" + get-intrinsic "^1.2.4" + get-tsconfig@^4.5.0: version "4.7.2" resolved "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.2.tgz" @@ -9263,7 +9590,7 @@ glob@10.3.10, glob@^10.0.0, glob@^10.3.10, glob@^10.3.7: minipass "^5.0.0 || ^6.0.2 || ^7.0.0" path-scurry "^1.10.1" -glob@^7.0.3, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: +glob@^7.0.3, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@~7.2.3: version "7.2.3" resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== @@ -9406,6 +9733,11 @@ has-proto@^1.0.1: resolved "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz" integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== +has-proto@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.3.tgz#b31ddfe9b0e6e9914536a6ab286426d0214f77fd" + integrity sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q== + has-symbols@^1.0.2, has-symbols@^1.0.3: version "1.0.3" resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz" @@ -9418,6 +9750,18 @@ has-tostringtag@^1.0.0: dependencies: has-symbols "^1.0.2" +has-tostringtag@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc" + integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== + dependencies: + has-symbols "^1.0.3" + +has@~1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.4.tgz#2eb2860e000011dae4f1406a86fe80e530fb2ec6" + integrity sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ== + hash-base@^3.0.0, hash-base@~3.0: version "3.0.4" resolved "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz" @@ -9441,6 +9785,13 @@ hasown@^2.0.0: dependencies: function-bind "^1.1.2" +hasown@^2.0.1, hasown@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" + integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== + dependencies: + function-bind "^1.1.2" + hast-util-from-html@^2.0.0: version "2.0.1" resolved "https://registry.npmjs.org/hast-util-from-html/-/hast-util-from-html-2.0.1.tgz" @@ -9655,6 +10006,11 @@ heap@^0.2.6: resolved "https://registry.npmjs.org/heap/-/heap-0.2.7.tgz" integrity sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg== +highlight-words-core@^1.2.0: + version "1.2.3" + resolved "https://registry.yarnpkg.com/highlight-words-core/-/highlight-words-core-1.2.3.tgz#781f37b2a220bf998114e4ef8c8cb6c7a4802ea8" + integrity sha512-m1O9HW3/GNHxzSIXWw1wCNXXsgLlxrP0OI6+ycGUhiUHkikqW3OrwVHz+lxeNBe5yqLESdIcj8PowHQ2zLvUvQ== + hmac-drbg@^1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz" @@ -9808,6 +10164,11 @@ https-proxy-agent@^6.2.0: agent-base "^7.0.2" debug "4" +human-format@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/human-format/-/human-format-1.2.0.tgz#7971038a78a2235be9e8aac8047d23886a25dad7" + integrity sha512-GIjOefWusTiXEPezbuI59uc1G2SNMpym6w1wNfoWAG6QrTsWueuauR5We0xHHuzoJKIYTwwNtTEy0ahyji5KXw== + human-signals@^2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz" @@ -10000,6 +10361,15 @@ internal-slot@^1.0.4, internal-slot@^1.0.5: hasown "^2.0.0" side-channel "^1.0.4" +internal-slot@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.7.tgz#c06dcca3ed874249881007b0a5523b172a190802" + integrity sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g== + dependencies: + es-errors "^1.3.0" + hasown "^2.0.0" + side-channel "^1.0.4" + "internmap@1 - 2": version "2.0.3" resolved "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz" @@ -10062,6 +10432,14 @@ is-array-buffer@^3.0.1, is-array-buffer@^3.0.2: get-intrinsic "^1.2.0" is-typed-array "^1.1.10" +is-array-buffer@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.4.tgz#7a1f92b3d61edd2bc65d24f130530ea93d7fae98" + integrity sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.2.1" + is-arrayish@^0.2.1: version "0.2.1" resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" @@ -10113,6 +10491,13 @@ is-core-module@^2.11.0, is-core-module@^2.13.0, is-core-module@^2.13.1: dependencies: hasown "^2.0.0" +is-data-view@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-data-view/-/is-data-view-1.0.1.tgz#4b4d3a511b70f3dc26d42c03ca9ca515d847759f" + integrity sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w== + dependencies: + is-typed-array "^1.1.13" + is-date-object@^1.0.1, is-date-object@^1.0.5: version "1.0.5" resolved "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz" @@ -10248,6 +10633,11 @@ is-negative-zero@^2.0.2: resolved "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz" integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== +is-negative-zero@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.3.tgz#ced903a027aca6381b777a5743069d7376a49747" + integrity sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw== + is-node-process@^1.2.0: version "1.2.0" resolved "https://registry.npmjs.org/is-node-process/-/is-node-process-1.2.0.tgz" @@ -10323,7 +10713,7 @@ is-reference@1.2.1: dependencies: "@types/estree" "*" -is-regex@^1.1.4: +is-regex@^1.1.4, is-regex@~1.1.4: version "1.1.4" resolved "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz" integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== @@ -10348,6 +10738,13 @@ is-shared-array-buffer@^1.0.2: dependencies: call-bind "^1.0.2" +is-shared-array-buffer@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz#1237f1cba059cdb62431d378dcc37d9680181688" + integrity sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg== + dependencies: + call-bind "^1.0.7" + is-stream@^2.0.0: version "2.0.1" resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz" @@ -10379,6 +10776,13 @@ is-typed-array@^1.1.10, is-typed-array@^1.1.12, is-typed-array@^1.1.3, is-typed- dependencies: which-typed-array "^1.1.11" +is-typed-array@^1.1.13: + version "1.1.13" + resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.13.tgz#d6c5ca56df62334959322d7d7dd1cca50debe229" + integrity sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw== + dependencies: + which-typed-array "^1.1.14" + is-unicode-supported@^0.1.0: version "0.1.0" resolved "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz" @@ -11154,6 +11558,30 @@ kind-of@^6.0.2: resolved "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== +kld-affine@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/kld-affine/-/kld-affine-2.1.1.tgz#e28296585f305230eaad3b1e346d3ac5ca4c72b3" + integrity sha512-NIS9sph8ZKdnQxZa5TcggaFs/Qr9zX3brFlGwE0+0Z4EzFIvAFuqLSwNeU4GkEpaX8ndh3ggGmWV7BPPcS3vjQ== + +kld-intersections@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/kld-intersections/-/kld-intersections-0.7.0.tgz#a6907c103553654e268c094701c72659b3cafb2f" + integrity sha512-/KuBU7Y5bRPGfc0yQ3QIoXPKqOQ6cBWDRl1XVMMa3pm4V6Ydbgy9e2fZoRxlSIU0gZSBt1c6gWLOzSGKbU8I3A== + dependencies: + kld-affine "^2.1.1" + kld-path-parser "^0.2.1" + kld-polynomial "^0.3.0" + +kld-path-parser@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/kld-path-parser/-/kld-path-parser-0.2.1.tgz#ad1f7c8ebc9c9d67409413fc4de459293394e86b" + integrity sha512-C1EqY6vzqv5tdKeMF31L+JXq97n5zo67LiSEhZf4sPq8YeM+8ytp/qMGSKN8VdSPvFa6h1SR35aF4+T2JtxZww== + +kld-polynomial@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/kld-polynomial/-/kld-polynomial-0.3.0.tgz#cb7f3f37c679925d895f4cd737ed713a3b379921" + integrity sha512-PEfxjQ6tsxL9DHBIhM2UZsSes0GI+OIMjbE0kj60jr80Biq/xXl1eGfnyzmfoackAMdKZtw2060L09HdjkPP5w== + kleur@^3.0.3: version "3.0.3" resolved "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz" @@ -11823,6 +12251,11 @@ memfs@^3.4.1, memfs@^3.4.12: dependencies: fs-monkey "^1.0.4" +memoize-one@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-4.1.0.tgz#a2387c58c03fff27ca390c31b764a79addf3f906" + integrity sha512-2GApq0yI/b22J2j9rhbrAlsHb0Qcz+7yWxeLG8h+95sl1XPUgeLimQSOdur4Vw7cUhrBHwaUZxWFZueojqNRzA== + memoize-one@^5.1.1: version "5.2.1" resolved "https://registry.npmjs.org/memoize-one/-/memoize-one-5.2.1.tgz" @@ -12456,7 +12889,7 @@ minimatch@^9.0.4: dependencies: brace-expansion "^2.0.1" -minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.5, minimist@^1.2.6, minimist@^1.2.8: +minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.5, minimist@^1.2.6, minimist@^1.2.8, minimist@~1.2.8: version "1.2.8" resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz" integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== @@ -12508,6 +12941,18 @@ mkdirp@^2.1.6: resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-2.1.6.tgz" integrity sha512-+hEnITedc8LAtIP9u3HJDFIdcLV2vXP33sqLLIzkv1Db1zO/1OxbvYf0Y1OC/S/Qo5dxHXepofhmxL02PsKe+A== +mock-property@~1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/mock-property/-/mock-property-1.0.3.tgz#3e37c50a56609d548cabd56559fde3dd8767b10c" + integrity sha512-2emPTb1reeLLYwHxyVx993iYyCHEiRRO+y8NFXFPL5kl5q14sgTK76cXyEKkeKCHeRw35SfdkUJ10Q1KfHuiIQ== + dependencies: + define-data-property "^1.1.1" + functions-have-names "^1.2.3" + gopd "^1.0.1" + has-property-descriptors "^1.0.0" + hasown "^2.0.0" + isarray "^2.0.5" + module-details-from-path@^1.0.3: version "1.0.3" resolved "https://registry.npmjs.org/module-details-from-path/-/module-details-from-path-1.0.3.tgz" @@ -12591,6 +13036,11 @@ mz@^2.7.0: object-assign "^4.0.1" thenify-all "^1.0.0" +name-initials@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/name-initials/-/name-initials-0.1.3.tgz#b9af9d8d551068b1c147c50458477f47c1217776" + integrity sha512-UJcpCmyftGuZ7I46dqOw776VvH3VqHhAM7ma4eyY0t52FahFv/VhmDqSeekwSZFXyK9HLg9MXmb9udeOJ3YtCA== + nano-css@^5.6.1: version "5.6.1" resolved "https://registry.npmjs.org/nano-css/-/nano-css-5.6.1.tgz" @@ -12906,6 +13356,11 @@ object-inspect@^1.13.1: resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz" integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== +object-inspect@~1.12.3: + version "1.12.3" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9" + integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== + object-is@^1.1.5: version "1.1.5" resolved "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz" @@ -12919,7 +13374,7 @@ object-keys@^1.1.1: resolved "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== -object.assign@^4.1.4: +object.assign@^4.1.4, object.assign@^4.1.5: version "4.1.5" resolved "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz" integrity sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ== @@ -13115,6 +13570,11 @@ overlayscrollbars@^2.4.6: resolved "https://registry.npmjs.org/overlayscrollbars/-/overlayscrollbars-2.4.6.tgz" integrity sha512-C7tmhetwMv9frEvIT/RfkAVEgbjRNz/Gh2zE8BVmN+jl35GRaAnz73rlGQCMRoC2arpACAXyMNnJkzHb7GBrcA== +p-cancelable@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-3.0.0.tgz#63826694b54d61ca1c20ebcb6d3ecf5e14cd8050" + integrity sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw== + p-limit@^2.0.0, p-limit@^2.2.0: version "2.3.0" resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" @@ -13470,6 +13930,11 @@ pkg-dir@^7.0.0: dependencies: find-up "^6.3.0" +pluralize@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-8.0.0.tgz#1a6fa16a38d12a1901e0320fa017051c539ce3b1" + integrity sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA== + pngjs@^5.0.0: version "5.0.0" resolved "https://registry.npmjs.org/pngjs/-/pngjs-5.0.0.tgz" @@ -13494,6 +13959,11 @@ popper.js@^1.16.0: resolved "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz" integrity sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ== +possible-typed-array-names@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz#89bb63c6fada2c3e90adc4a647beeeb39cc7bf8f" + integrity sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q== + postcss-import@^15.1.0: version "15.1.0" resolved "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz" @@ -13703,7 +14173,7 @@ prompts@^2.0.1, prompts@^2.4.0, prompts@^2.4.2: kleur "^3.0.3" sisteransi "^1.0.5" -prop-types@^15.5.10, prop-types@^15.6.2, prop-types@^15.7.1, prop-types@^15.7.2, prop-types@^15.8.1: +prop-types@^15.5.10, prop-types@^15.5.8, prop-types@^15.6.2, prop-types@^15.7.1, prop-types@^15.7.2, prop-types@^15.8.1: version "15.8.1" resolved "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz" integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== @@ -13947,6 +14417,33 @@ rc@^1.2.7: minimist "^1.2.0" strip-json-comments "~2.0.1" +reablocks@^8.0.3: + version "8.7.1" + resolved "https://registry.yarnpkg.com/reablocks/-/reablocks-8.7.1.tgz#0fffc9b1610d54bc17e2415b4fb908b559aabc2b" + integrity sha512-zjiOYTL3gb+Hl/I8t16IBsyQIugwdTW7sdZYUi4DcQ+RVNClBVPprq4H1Vouk+JQRrkYEVjDPC59pl/SoRmdSg== + dependencies: + "@floating-ui/react" "^0.26.16" + "@marko19907/string-to-color" "^1.0.0" + "@reaviz/react-use-fuzzy" "^1.0.3" + body-scroll-lock-upgrade "^1.1.0" + chroma-js "^2.4.2" + classnames "^2.5.1" + coverup "^0.1.1" + create-global-state-hook "^0.0.2" + ctrl-keys "^1.0.3" + date-fns "^3.6.0" + ellipsize "^0.5.1" + focus-trap-react "^10.2.3" + framer-motion "^10.16.16" + fuse.js "^6.6.2" + human-format "^1.2.0" + name-initials "^0.1.3" + pluralize "^8.0.0" + react-fast-compare "^3.2.2" + react-highlight-words "^0.20.0" + react-textarea-autosize "^8.5.3" + tailwind-merge "^2.2.2" + react-avatar-editor@^13.0.2: version "13.0.2" resolved "https://registry.npmjs.org/react-avatar-editor/-/react-avatar-editor-13.0.2.tgz" @@ -14002,6 +14499,11 @@ react-contenteditable@^3.3.7: fast-deep-equal "^3.1.3" prop-types "^15.7.1" +react-cool-dimensions@^2.0.7: + version "2.0.7" + resolved "https://registry.yarnpkg.com/react-cool-dimensions/-/react-cool-dimensions-2.0.7.tgz#2fe6657608f034cd7c89f149ed14e79cf1cb2d50" + integrity sha512-z1VwkAAJ5d8QybDRuYIXTE41RxGr5GYsv1bQhbOBE8cMfoZQZpcF0odL64vdgrQVzat2jayedj1GoYi80FWcbA== + react-data-table-component@^7.6.2: version "7.6.2" resolved "https://registry.npmjs.org/react-data-table-component/-/react-data-table-component-7.6.2.tgz" @@ -14047,6 +14549,11 @@ react-element-to-jsx-string@^15.0.0: is-plain-object "5.0.0" react-is "18.1.0" +react-fast-compare@^3.2.2: + version "3.2.2" + resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-3.2.2.tgz#929a97a532304ce9fee4bcae44234f1ce2c21d49" + integrity sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ== + react-floater@^0.7.9: version "0.7.9" resolved "https://registry.npmjs.org/react-floater/-/react-floater-0.7.9.tgz" @@ -14063,6 +14570,15 @@ react-ga4@^2.1.0: resolved "https://registry.npmjs.org/react-ga4/-/react-ga4-2.1.0.tgz" integrity sha512-ZKS7PGNFqqMd3PJ6+C2Jtz/o1iU9ggiy8Y8nUeksgVuvNISbmrQtJiZNvC/TjDsqD0QlU5Wkgs7i+w9+OjHhhQ== +react-highlight-words@^0.20.0: + version "0.20.0" + resolved "https://registry.yarnpkg.com/react-highlight-words/-/react-highlight-words-0.20.0.tgz#c60bfff5d14678c8f0e8fbe4bdcf083e6c70d507" + integrity sha512-asCxy+jCehDVhusNmCBoxDf2mm1AJ//D+EzDx1m5K7EqsMBIHdZ5G4LdwbSEXqZq1Ros0G0UySWmAtntSph7XA== + dependencies: + highlight-words-core "^1.2.0" + memoize-one "^4.0.0" + prop-types "^15.5.8" + react-hook-form@^7.51.3: version "7.51.3" resolved "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.51.3.tgz" @@ -14220,6 +14736,15 @@ react-style-singleton@^2.2.1: invariant "^2.2.4" tslib "^2.0.0" +react-textarea-autosize@^8.5.3: + version "8.5.4" + resolved "https://registry.yarnpkg.com/react-textarea-autosize/-/react-textarea-autosize-8.5.4.tgz#1c568ad838857b6ce86ee2a96e504179305e0bf4" + integrity sha512-eSSjVtRLcLfFwFcariT77t9hcbVJHQV76b51QjQGarQIHml2+gM2lms0n3XrhnDmgK5B+/Z7TmQk5OHNzqYm/A== + dependencies: + "@babel/runtime" "^7.20.13" + use-composed-ref "^1.3.0" + use-latest "^1.2.1" + react-toastify@^10.0.4: version "10.0.4" resolved "https://registry.npmjs.org/react-toastify/-/react-toastify-10.0.4.tgz" @@ -14242,6 +14767,11 @@ react-universal-interface@^0.6.2: resolved "https://registry.npmjs.org/react-universal-interface/-/react-universal-interface-0.6.2.tgz" integrity sha512-dg8yXdcQmvgR13RIlZbTRQOoUrDciFVoSBZILwjE2LFISxZZ8loVJKAkuzswl5js8BHda79bIb2b84ehU8IjXw== +react-use-gesture@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/react-use-gesture/-/react-use-gesture-8.0.1.tgz#4360c0f7c9e26baf9fbe58f63fc9de7ef699c17f" + integrity sha512-CXzUNkulUdgouaAlvAsC5ZVo0fi9KGSBSk81WrE4kOIcJccpANe9zZkAYr5YZZhqpicIFxitsrGVS4wmoMun9A== + react-use@^17.5.0: version "17.5.0" resolved "https://registry.npmjs.org/react-use/-/react-use-17.5.0.tgz" @@ -14349,6 +14879,35 @@ readdirp@~3.6.0: dependencies: picomatch "^2.2.1" +reaflow@^5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/reaflow/-/reaflow-5.3.1.tgz#dcf39c12a36d56695ada276864993a6310b963ac" + integrity sha512-Wqp0Z/eZoVaHkABnf9Hc79k9Irm9tARAN+kPhFv2ExfBkcUk0qMBIspF2a9YpKdmeP/sKwpZCWdiGiqIskqtKw== + dependencies: + "@juggle/resize-observer" "^3.4.0" + calculate-size "^1.1.1" + classnames "^2.3.2" + d3-shape "^3.0.1" + elkjs "^0.8.2" + ellipsize "^0.2.0" + framer-motion "^11.0.6" + kld-affine "^2.1.1" + kld-intersections "^0.7.0" + p-cancelable "^3.0.0" + reablocks "^8.0.3" + react-cool-dimensions "^2.0.7" + react-fast-compare "^3.2.2" + react-use-gesture "^8.0.1" + reakeys "^2.0.3" + undoo "^0.5.0" + +reakeys@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/reakeys/-/reakeys-2.0.3.tgz#234afe555dfe76f9aa862544b686dc41ac560037" + integrity sha512-5qeGH9xtvFITi+9AyPeTmPhzjDTEBRZICxAg6RJFuEgWFKMHqr6mnMIaL9fgOKJMBzLWCBorpUhyiB824f0EyA== + dependencies: + ctrl-keys "^1.0.3" + real-require@^0.2.0: version "0.2.0" resolved "https://registry.npmjs.org/real-require/-/real-require-0.2.0.tgz" @@ -14488,6 +15047,16 @@ regexp.prototype.flags@^1.5.0, regexp.prototype.flags@^1.5.1: define-properties "^1.2.0" set-function-name "^2.0.0" +regexp.prototype.flags@^1.5.2: + version "1.5.3" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.3.tgz#b3ae40b1d2499b8350ab2c3fe6ef3845d3a96f42" + integrity sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-errors "^1.3.0" + set-function-name "^2.0.2" + regexpu-core@^5.3.1: version "5.3.2" resolved "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz" @@ -14775,7 +15344,7 @@ resolve.exports@^2.0.0: resolved "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz" integrity sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg== -resolve@1.22.8, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.22.1, resolve@^1.22.2, resolve@^1.22.4, resolve@^1.22.8: +resolve@1.22.8, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.22.1, resolve@^1.22.2, resolve@^1.22.4, resolve@^1.22.8, resolve@~1.22.6: version "1.22.8" resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz" integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== @@ -14932,6 +15501,16 @@ safe-array-concat@^1.0.1: has-symbols "^1.0.3" isarray "^2.0.5" +safe-array-concat@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.1.2.tgz#81d77ee0c4e8b863635227c721278dd524c20edb" + integrity sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q== + dependencies: + call-bind "^1.0.7" + get-intrinsic "^1.2.4" + has-symbols "^1.0.3" + isarray "^2.0.5" + safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" @@ -14951,6 +15530,15 @@ safe-regex-test@^1.0.0: get-intrinsic "^1.2.2" is-regex "^1.1.4" +safe-regex-test@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.3.tgz#a5b4c0f06e0ab50ea2c395c14d8371232924c377" + integrity sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw== + dependencies: + call-bind "^1.0.6" + es-errors "^1.3.0" + is-regex "^1.1.4" + safe-stable-stringify@^2.3.1: version "2.4.3" resolved "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.4.3.tgz" @@ -15117,6 +15705,16 @@ set-function-name@^2.0.0, set-function-name@^2.0.1: functions-have-names "^1.2.3" has-property-descriptors "^1.0.0" +set-function-name@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.2.tgz#16a705c5a0dc2f5e638ca96d8a8cd4e1c2b90985" + integrity sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ== + dependencies: + define-data-property "^1.1.4" + es-errors "^1.3.0" + functions-have-names "^1.2.3" + has-property-descriptors "^1.0.2" + set-harmonic-interval@^1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/set-harmonic-interval/-/set-harmonic-interval-1.0.1.tgz" @@ -15529,7 +16127,16 @@ string-length@^4.0.1: char-regex "^1.0.2" strip-ansi "^6.0.0" -"string-width-cjs@npm:string-width@^4.2.0", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: +"string-width-cjs@npm:string-width@^4.2.0": + version "4.2.3" + resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: version "4.2.3" resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -15580,6 +16187,16 @@ string.prototype.trim@^1.2.8: define-properties "^1.2.0" es-abstract "^1.22.1" +string.prototype.trim@^1.2.9, string.prototype.trim@~1.2.8: + version "1.2.9" + resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz#b6fa326d72d2c78b6df02f7759c73f8f6274faa4" + integrity sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.0" + es-object-atoms "^1.0.0" + string.prototype.trimend@^1.0.7: version "1.0.7" resolved "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz" @@ -15589,6 +16206,15 @@ string.prototype.trimend@^1.0.7: define-properties "^1.2.0" es-abstract "^1.22.1" +string.prototype.trimend@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz#3651b8513719e8a9f48de7f2f77640b26652b229" + integrity sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" + string.prototype.trimstart@^1.0.7: version "1.0.7" resolved "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz" @@ -15598,6 +16224,15 @@ string.prototype.trimstart@^1.0.7: define-properties "^1.2.0" es-abstract "^1.22.1" +string.prototype.trimstart@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz#7ee834dda8c7c17eff3118472bb35bfedaa34dde" + integrity sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" + string_decoder@^1.1.1, string_decoder@^1.3.0: version "1.3.0" resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" @@ -15629,7 +16264,14 @@ stringify-object@^3.3.0: is-obj "^1.0.1" is-regexp "^1.0.0" -"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: +"strip-ansi-cjs@npm:strip-ansi@^6.0.1": + version "6.0.1" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== @@ -15793,6 +16435,11 @@ symbol-tree@^3.2.4: resolved "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz" integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== +tabbable@^6.0.0, tabbable@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/tabbable/-/tabbable-6.2.0.tgz#732fb62bc0175cfcec257330be187dcfba1f3b97" + integrity sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew== + tailwind-merge@^2.2.2: version "2.2.2" resolved "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-2.2.2.tgz" @@ -15843,6 +16490,28 @@ tapable@^2.0.0, tapable@^2.1.1, tapable@^2.2.0, tapable@^2.2.1: resolved "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz" integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== +tape@^4.9.0: + version "4.17.0" + resolved "https://registry.yarnpkg.com/tape/-/tape-4.17.0.tgz#de89f3671ddc5dad178d04c28dc6b0183f42268e" + integrity sha512-KCuXjYxCZ3ru40dmND+oCLsXyuA8hoseu2SS404Px5ouyS0A99v8X/mdiLqsR5MTAyamMBN7PRwt2Dv3+xGIxw== + dependencies: + "@ljharb/resumer" "~0.0.1" + "@ljharb/through" "~2.3.9" + call-bind "~1.0.2" + deep-equal "~1.1.1" + defined "~1.0.1" + dotignore "~0.1.2" + for-each "~0.3.3" + glob "~7.2.3" + has "~1.0.3" + inherits "~2.0.4" + is-regex "~1.1.4" + minimist "~1.2.8" + mock-property "~1.0.0" + object-inspect "~1.12.3" + resolve "~1.22.6" + string.prototype.trim "~1.2.8" + tar-fs@^2.0.0, tar-fs@^2.1.1: version "2.1.1" resolved "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz" @@ -16358,6 +17027,15 @@ typed-array-buffer@^1.0.0: get-intrinsic "^1.2.1" is-typed-array "^1.1.10" +typed-array-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz#1867c5d83b20fcb5ccf32649e5e2fc7424474ff3" + integrity sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ== + dependencies: + call-bind "^1.0.7" + es-errors "^1.3.0" + is-typed-array "^1.1.13" + typed-array-byte-length@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz" @@ -16368,6 +17046,17 @@ typed-array-byte-length@^1.0.0: has-proto "^1.0.1" is-typed-array "^1.1.10" +typed-array-byte-length@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz#d92972d3cff99a3fa2e765a28fcdc0f1d89dec67" + integrity sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw== + dependencies: + call-bind "^1.0.7" + for-each "^0.3.3" + gopd "^1.0.1" + has-proto "^1.0.3" + is-typed-array "^1.1.13" + typed-array-byte-offset@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz" @@ -16379,6 +17068,18 @@ typed-array-byte-offset@^1.0.0: has-proto "^1.0.1" is-typed-array "^1.1.10" +typed-array-byte-offset@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz#f9ec1acb9259f395093e4567eb3c28a580d02063" + integrity sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA== + dependencies: + available-typed-arrays "^1.0.7" + call-bind "^1.0.7" + for-each "^0.3.3" + gopd "^1.0.1" + has-proto "^1.0.3" + is-typed-array "^1.1.13" + typed-array-length@^1.0.4: version "1.0.4" resolved "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz" @@ -16388,6 +17089,18 @@ typed-array-length@^1.0.4: for-each "^0.3.3" is-typed-array "^1.1.9" +typed-array-length@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.6.tgz#57155207c76e64a3457482dfdc1c9d1d3c4c73a3" + integrity sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g== + dependencies: + call-bind "^1.0.7" + for-each "^0.3.3" + gopd "^1.0.1" + has-proto "^1.0.3" + is-typed-array "^1.1.13" + possible-typed-array-names "^1.0.0" + typescript@^5: version "5.3.3" resolved "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz" @@ -16418,6 +17131,14 @@ undici-types@~5.26.4: resolved "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz" integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== +undoo@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/undoo/-/undoo-0.5.0.tgz#41e94930e3a7a4a4484b735d9397e2431c2f92ca" + integrity sha512-SPlDcde+AUHoFKeVlH2uBJxqVkw658I4WR2rPoygC1eRCzm3GeoP8S6xXZVJeBVOQQid8X2xUBW0N4tOvvHH3Q== + dependencies: + defaulty "^2.1.0" + fast-deep-equal "^1.0.0" + unicode-byte-truncate@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/unicode-byte-truncate/-/unicode-byte-truncate-1.0.0.tgz" @@ -16609,6 +17330,23 @@ use-callback-ref@^1.3.0: dependencies: tslib "^2.0.0" +use-composed-ref@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/use-composed-ref/-/use-composed-ref-1.3.0.tgz#3d8104db34b7b264030a9d916c5e94fbe280dbda" + integrity sha512-GLMG0Jc/jiKov/3Ulid1wbv3r54K9HlMW29IWcDFPEqFkSO2nS0MuefWgMJpeHQ9YJeXDL3ZUF+P3jdXlZX/cQ== + +use-isomorphic-layout-effect@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz#497cefb13d863d687b08477d9e5a164ad8c1a6fb" + integrity sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA== + +use-latest@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/use-latest/-/use-latest-1.2.1.tgz#d13dfb4b08c28e3e33991546a2cee53e14038cf2" + integrity sha512-xA+AVm/Wlg3e2P/JiItTziwS7FK92LWrDB0p+hgXloIMuVCeJJ8v6f0eeHyPZaJrM+usM1FkFfbNCrJGs8A/zw== + dependencies: + use-isomorphic-layout-effect "^1.1.1" + use-memo-one@^1.1.1: version "1.1.3" resolved "https://registry.npmjs.org/use-memo-one/-/use-memo-one-1.1.3.tgz" @@ -16993,6 +17731,17 @@ which-typed-array@^1.1.11, which-typed-array@^1.1.13, which-typed-array@^1.1.2, gopd "^1.0.1" has-tostringtag "^1.0.0" +which-typed-array@^1.1.14, which-typed-array@^1.1.15: + version "1.1.15" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.15.tgz#264859e9b11a649b388bfaaf4f767df1f779b38d" + integrity sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA== + dependencies: + available-typed-arrays "^1.0.7" + call-bind "^1.0.7" + for-each "^0.3.3" + gopd "^1.0.1" + has-tostringtag "^1.0.2" + which@1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/which/-/which-1.0.5.tgz#5630d6819dda692f1464462e7956cb42c0842739" @@ -17179,8 +17928,7 @@ workbox-window@6.6.0, workbox-window@^6.5.4: "@types/trusted-types" "^2.0.2" workbox-core "6.6.0" -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: - name wrap-ansi-cjs +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": version "7.0.0" resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== @@ -17198,6 +17946,15 @@ wrap-ansi@^6.0.1, wrap-ansi@^6.2.0: string-width "^4.1.0" strip-ansi "^6.0.0" +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + wrap-ansi@^8.1.0: version "8.1.0" resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz" From 3913aeec3b3cc379065d625ead9f97b296ba30a0 Mon Sep 17 00:00:00 2001 From: Joseph Rana Date: Mon, 18 Nov 2024 16:06:26 +0545 Subject: [PATCH 15/42] chore: fix build issues / lint --- frontend/src/api/agents.ts | 3 - .../components/FunctionForm.tsx | 4 +- .../components/cards/InfoCard.tsx | 43 +++- .../components/event/EventTab.tsx | 14 +- .../components/event/EventTriggerGraph.tsx | 61 +---- .../create-template/components/event/demo.ts | 128 ++++----- .../components/utils/FunctionMapper.ts | 50 ++-- .../components/molecules/CustomDropDown.tsx | 14 +- .../molecules/TemplateConfigurations.tsx | 242 +++++++++--------- 9 files changed, 259 insertions(+), 300 deletions(-) diff --git a/frontend/src/api/agents.ts b/frontend/src/api/agents.ts index 6db56a74..db5c6d4e 100644 --- a/frontend/src/api/agents.ts +++ b/frontend/src/api/agents.ts @@ -9,7 +9,6 @@ import { convertToQueryStr } from '@app/utils/common/extra'; import { agentFormSchema } from '../app/(pages)/agents/create-agent/_form/schema'; import { baseAPIurl } from './config'; - export type BooleanOperator = 'AND' | 'OR'; export type ComparisonOperator = 'equals' | 'greaterThan' | 'lessThan' | 'in'; @@ -53,7 +52,6 @@ export interface ICronTrigger { probability: number; } - export interface IAgentConfiguration { id: string; agent_id: string; @@ -234,4 +232,3 @@ export const fetchMyAgent = async (): Promise => { throw new Error('Agent Fetch Operation failed: Network Error'); } }; - diff --git a/frontend/src/app/(pages)/templates/create-template/components/FunctionForm.tsx b/frontend/src/app/(pages)/templates/create-template/components/FunctionForm.tsx index 6963501b..f8df7aa6 100644 --- a/frontend/src/app/(pages)/templates/create-template/components/FunctionForm.tsx +++ b/frontend/src/app/(pages)/templates/create-template/components/FunctionForm.tsx @@ -4,7 +4,7 @@ import React from 'react'; import { TriggerType } from '@api/agents'; import { TemplateFunctions } from '@models/types/functions'; import { Slider } from '@mui/material'; -import { Check, Trash2, X } from 'lucide-react'; +import { X } from 'lucide-react'; import { Button } from '@app/components/atoms/Button'; import { Card, CardTitle } from '@app/components/atoms/Card'; @@ -19,9 +19,9 @@ import { CustomCombobox } from '@app/components/molecules/CustomCombobox'; import { ErrorToast } from '@app/components/molecules/CustomToasts'; import { IFormFunctionInstance } from '../page'; -import EventTab from './event/EventTab'; import { renderParameters } from './ParameterRenderers'; import TriggerTab from './TriggerTab'; +import EventTab from './event/EventTab'; interface IFunctionFormParams { currentFunction?: IFormFunctionInstance; diff --git a/frontend/src/app/(pages)/templates/create-template/components/cards/InfoCard.tsx b/frontend/src/app/(pages)/templates/create-template/components/cards/InfoCard.tsx index ab77932d..2f26074f 100644 --- a/frontend/src/app/(pages)/templates/create-template/components/cards/InfoCard.tsx +++ b/frontend/src/app/(pages)/templates/create-template/components/cards/InfoCard.tsx @@ -1,17 +1,34 @@ -import { Info } from "lucide-react" -import { cn } from "@app/components/lib/utils" +import { Info } from 'lucide-react'; -export default function InfoCard({onMouseEnter , onMouseLeave , visible} : {onMouseEnter : any , onMouseLeave : any , visible : boolean}) { +import { cn } from '@app/components/lib/utils'; + +export default function InfoCard({ + onMouseEnter, + onMouseLeave, + visible +}: { + onMouseEnter: any; + onMouseLeave: any; + visible: boolean; +}) { return ( -
- - +
+ +
- - ) + ); } diff --git a/frontend/src/app/(pages)/templates/create-template/components/event/EventTab.tsx b/frontend/src/app/(pages)/templates/create-template/components/event/EventTab.tsx index 8fc717fc..e7e82f7e 100644 --- a/frontend/src/app/(pages)/templates/create-template/components/event/EventTab.tsx +++ b/frontend/src/app/(pages)/templates/create-template/components/event/EventTab.tsx @@ -1,5 +1,6 @@ import { useState } from 'react'; +import { IBooleanNode, IEventTrigger, IFieldNode } from '@api/agents'; import { ChevronDown } from 'lucide-react'; import { FileJson, Parentheses } from 'lucide-react'; @@ -14,16 +15,9 @@ import { import { Input } from '@app/components/atoms/Input'; import { cn } from '@app/components/lib/utils'; -import InfoCard from '../cards/InfoCard'; import { CustomSelect } from '../../../../../../components/molecules/CustomDropDown'; -import { - Events, - IBooleanNode, - IEvent, - IEventFilter, - IEventTrigger, - IFieldNode -} from './EventTrigger'; +import InfoCard from '../cards/InfoCard'; +import { Events, IEvent, IEventFilter } from './EventTrigger'; import NodeGraph from './EventTriggerGraph'; const EventTab = ({ className }: { className?: string }) => { @@ -296,7 +290,7 @@ const EventTab = ({ className }: { className?: string }) => { {formData?.parameters.map((param, index) => { if (param.id === currentEventFilter?.id) { return ( -
+
{(param as IBooleanNode).children?.map( (child, childIndex) => (
any; maxHeight?: number; maxWidth?: number; - nodeStyle?: any; } export default function EventTriggerGraph({ - data , + data, className, - onNodeClick, maxHeight, - maxWidth, - nodeStyle + maxWidth }: NodeGraphProps) { const [nodes, setNodes] = useState([]); const [edges, setEdges] = useState([]); @@ -132,52 +127,6 @@ export default function EventTriggerGraph({ className={`w-full bg-[#D2E0FB] ${className || ''}`} direction="RIGHT" zoomable={true} - node={(node: NodeProps) => ( - onNodeClick && onNodeClick(node)} - style={nodeStyle} - /> - )} /> ); } - -// const recursivelyAddNode = (obj: any, parentId: string, text?: string) => { -// if (Array.isArray(obj.id)) { -// obj.id.forEach((idPart: string, index: number) => { -// const newParentId = -// index > 0 -// ? `${parentId}.${obj.id.slice(0, index).join('.')}` -// : parentId; - -// const isFirst = index === 0; -// const isLast = index === obj.id.length - 1; - -// if (isFirst) { -// recursivelyAddNode({ id: idPart }, newParentId, text); -// } else if (isLast) { -// recursivelyAddNode( -// { id: idPart, value: `${obj.operator} - ${obj.value}` }, -// newParentId -// ); -// } else { -// recursivelyAddNode({ id: idPart }, newParentId); -// } -// }); -// } else if (typeof obj.id === 'string') { -// const nodeId = `${parentId}.${obj.id}`; -// text -// ? addNode(nodeId, obj.id + text) -// : obj.value -// ? addNode(nodeId, `${obj.id} : ${obj.value}`) -// : addNode(nodeId, obj.id); -// addEdge(parentId, obj.id); -// } - -// // If obj has children, recursively add each child node -// else if (obj.children) { -// obj.children.forEach((child: any) => -// recursivelyAddNode(child, parentId, ` ( ${obj.operator} ) `) -// ); -// } -// }; diff --git a/frontend/src/app/(pages)/templates/create-template/components/event/demo.ts b/frontend/src/app/(pages)/templates/create-template/components/event/demo.ts index 21b0a803..8d1a3b3a 100644 --- a/frontend/src/app/(pages)/templates/create-template/components/event/demo.ts +++ b/frontend/src/app/(pages)/templates/create-template/components/event/demo.ts @@ -1,66 +1,66 @@ -import { IEventTrigger } from "@api/agents"; +// import { IEventTrigger } from "@api/agents"; -const demoData: IEventTrigger = { - id: 'tx', - negate: false, - operator: 'AND', - parameters: [ - { - negate: false, - id: ['inputs', 'address'], - value: 'addr_test1qqgn33e8vc40948u4crwsq7dxk9e6kuf3amp6gf4k57n97prsqy2pgnvcwzlutpc6a2ttwnuggl36hy4vkm227zdy0gq9mj2yv', - operator: 'equals' - }, - { - negate: false, - children: [ - { - id: ['outputs', 'value'], - value: 999, - negate: true, - operator: 'greaterThan' - }, - { - id: ['outputs', 'address'], - value: 'addr.....', - negate: false, - operator: 'equals' - } - ], - operator: 'AND' - } - ] -}; +// const demoData: IEventTrigger = { +// id: 'tx', +// negate: false, +// operator: 'AND', +// parameters: [ +// { +// negate: false, +// id: ['inputs', 'address'], +// value: 'addr_test1qqgn33e8vc40948u4crwsq7dxk9e6kuf3amp6gf4k57n97prsqy2pgnvcwzlutpc6a2ttwnuggl36hy4vkm227zdy0gq9mj2yv', +// operator: 'equals' +// }, +// { +// negate: false, +// children: [ +// { +// id: ['outputs', 'value'], +// value: 999, +// negate: true, +// operator: 'greaterThan' +// }, +// { +// id: ['outputs', 'address'], +// value: 'addr.....', +// negate: false, +// operator: 'equals' +// } +// ], +// operator: 'AND' +// } +// ] +// }; -const nestedData: IEventTrigger = { - id: 'tx', - negate: false, - operator: 'AND', - parameters: [ - { - negate: false, - id: ['inputs', 'address'], - value: 'addr_test1qqgn33e8vc40948u4crwsq7dxk9e6kuf3amp6gf4k57n97prsqy2pgnvcwzlutpc6a2ttwnuggl36hy4vkm227zdy0gq9mj2yv', - operator: 'equals' - }, - { - id: 'outputs', - negate: false, - children: [ - { - id: ['value'], - value: 999, - negate: true, - operator: 'greaterThan' - }, - { - id: ['address'], - value: 'addr.....', - negate: false, - operator: 'equals' - } - ], - operator: 'AND' - } - ] -}; \ No newline at end of file +// const nestedData: IEventTrigger = { +// id: 'tx', +// negate: false, +// operator: 'AND', +// parameters: [ +// { +// negate: false, +// id: ['inputs', 'address'], +// value: 'addr_test1qqgn33e8vc40948u4crwsq7dxk9e6kuf3amp6gf4k57n97prsqy2pgnvcwzlutpc6a2ttwnuggl36hy4vkm227zdy0gq9mj2yv', +// operator: 'equals' +// }, +// { +// id: 'outputs', +// negate: false, +// children: [ +// { +// id: ['value'], +// value: 999, +// negate: true, +// operator: 'greaterThan' +// }, +// { +// id: ['address'], +// value: 'addr.....', +// negate: false, +// operator: 'equals' +// } +// ], +// operator: 'AND' +// } +// ] +// }; diff --git a/frontend/src/app/(pages)/templates/create-template/components/utils/FunctionMapper.ts b/frontend/src/app/(pages)/templates/create-template/components/utils/FunctionMapper.ts index 1bcd045a..15ad9273 100644 --- a/frontend/src/app/(pages)/templates/create-template/components/utils/FunctionMapper.ts +++ b/frontend/src/app/(pages)/templates/create-template/components/utils/FunctionMapper.ts @@ -11,7 +11,7 @@ import { import { IFormFunctionInstance } from '../../page'; import { - mapKeyValuePairToParamValue, + // mapKeyValuePairToParamValue, mapOptionToKeyValuePair, mapParamValueToKeyValuePair } from './MapperHelper'; @@ -25,19 +25,19 @@ export const mapFormFunctionToTriggerConfiguration = ( frequency: item.cronValue?.frequency || '* * * * *' }; - if (item.type === 'EVENT') { - return { - type: item.type, - action: { - function_name: item.id, - parameters: mapParamValueToKeyValuePair(item.eventParameters || []) - }, - data: { - event: 'VoteEvent', - parameters: mapParamValueToKeyValuePair(item.eventParameters || []) - } - }; - } + // if (item.type === 'EVENT') { + // return { + // type: item.type, + // action: { + // function_name: item.id, + // parameters: mapParamValueToKeyValuePair(item.eventParameters || []) + // }, + // data: { + // event: 'VoteEvent', + // parameters: mapParamValueToKeyValuePair(item.eventParameters || []) + // } + // }; + // } if (item.id === 'delegation') { return { @@ -167,10 +167,10 @@ export const mapTriggerConfigurationToFormFunction = ( } : undefined; - const eventParameters = - trigger.type === 'EVENT' - ? mapKeyValuePairToParamValue(trigger.action.parameters || []) - : undefined; + // const eventParameters = + // trigger.type === 'EVENT' + // ? mapKeyValuePairToParamValue(trigger.action.parameters || []) + // : undefined; const final_obj = { id: trigger.action.function_name, @@ -183,13 +183,13 @@ export const mapTriggerConfigurationToFormFunction = ( ), type: trigger.type as TriggerType, cronValue, - eventValue: - trigger.type === 'EVENT' - ? { - event: (trigger.data as any).event, - parameters: eventParameters - } - : undefined, + // eventValue: + // trigger.type === 'EVENT' + // ? { + // event: (trigger.data as any).event, + // parameters: eventParameters + // } + // : undefined, optionValue: baseFunction?.parameters && baseFunction?.parameters[0].type === 'options' ? populateOptionValue(trigger.action.parameters[0]) diff --git a/frontend/src/components/molecules/CustomDropDown.tsx b/frontend/src/components/molecules/CustomDropDown.tsx index f2572538..17d773dd 100644 --- a/frontend/src/components/molecules/CustomDropDown.tsx +++ b/frontend/src/components/molecules/CustomDropDown.tsx @@ -18,14 +18,12 @@ export const CustomDropDown = ({ label, onSelect, chevronIcon = true, - plusIcon = false, - disabled = false + plusIcon = false }: { defaultValue: string; label: string; options: string[]; onSelect: (item: string) => void; // Specify the type for onSelect - disabled?: boolean; chevronIcon?: boolean; plusIcon?: boolean; }) => ( @@ -75,13 +73,17 @@ export const CustomSelect = ({ label?: string; className?: string; options: ISelectItem[]; - onSelect: (item: any) => void; + onSelect: (item: any) => void; disabled?: boolean; plusIcon?: boolean; }) => ( -
+
{label && {label}} - onSelect(item)} + disabled={disabled} + > { - const [openDialog, setOpenDialog] = useState(false); - const [templateConfigIndex, setTemplateConfigIndex] = useState(0); - const [template, setTemplate] = useAtom(templateAtom); - const onDeleteConfig = (configId: string) => { - if (template && template.template_configurations) { - const updatedConfigs = template.template_configurations?.filter( - (config) => config.id != configId - ); - updatedConfigs && - setTemplate({ ...template, template_configurations: updatedConfigs }); - } - }; - const handleUpdateTemplateConfig = ( - updatedTemplateConfig: ITemplateConfiguration, - updatedTemplateConfigIndex: number - ) => { - if (!template?.template_configurations) return; - if (updatedTemplateConfigIndex < template.template_configurations.length) { - template.template_configurations[updatedTemplateConfigIndex] = - updatedTemplateConfig; - } else { - template.template_configurations.push(updatedTemplateConfig); - } - setTemplate({ - ...template - }); - }; +// const TemplateConfigurations = ({ isEditing }: { isEditing: boolean }) => { +// const [openDialog, setOpenDialog] = useState(false); +// const [templateConfigIndex, setTemplateConfigIndex] = useState(0); +// const [template, setTemplate] = useAtom(templateAtom); +// const onDeleteConfig = (configId: string) => { +// if (template && template.template_configurations) { +// const updatedConfigs = template.template_configurations?.filter( +// (config) => config.id != configId +// ); +// updatedConfigs && +// setTemplate({ ...template, template_configurations: updatedConfigs }); +// } +// }; +// const handleUpdateTemplateConfig = ( +// updatedTemplateConfig: ITemplateConfiguration, +// updatedTemplateConfigIndex: number +// ) => { +// if (!template?.template_configurations) return; +// if (updatedTemplateConfigIndex < template.template_configurations.length) { +// template.template_configurations[updatedTemplateConfigIndex] = +// updatedTemplateConfig; +// } else { +// template.template_configurations.push(updatedTemplateConfig); +// } +// setTemplate({ +// ...template +// }); +// }; - return ( -
- {template && - template.template_configurations && - template.template_configurations.length ? ( - template.template_configurations?.map((config, index) => { - return ( -
- - Name : {config?.action?.function_name} - - - Type : {config.type} - - - Probability :{' '} - {(config.data as ICronTrigger).probability - ? (config.data as ICronTrigger).probability - : 1} - +// return ( +//
+// {template && +// template.template_configurations && +// template.template_configurations.length ? ( +// template.template_configurations?.map((config, index) => { +// return ( +//
+// +// Name : {config?.action?.function_name} +// +// +// Type : {config.type} +// +// +// Probability :{' '} +// {(config.data as ICronTrigger).probability +// ? (config.data as ICronTrigger).probability +// : 1} +// -
-
-
- ); - }) - ) : ( - - No Functions Found. - - )} - - setOpenDialog(false)} - > - { - handleUpdateTemplateConfig( - updatedTemplateConfig, - updatedTemplateConfigIndex - ); - setOpenDialog(false); - }} - /> - - -
- ); -}; +//
+//
+//
+// ); +// }) +// ) : ( +// +// No Functions Found. +// +// )} +// +// setOpenDialog(false)} +// > +// { +// handleUpdateTemplateConfig( +// updatedTemplateConfig, +// updatedTemplateConfigIndex +// ); +// setOpenDialog(false); +// }} +// /> +// +// +//
+// ); +// }; -export default TemplateConfigurations; +// export default TemplateConfigurations; From 1e2ac336d6140482902f2b41fd230b1e5a1b934f Mon Sep 17 00:00:00 2001 From: Joseph Rana Date: Tue, 19 Nov 2024 11:14:57 +0545 Subject: [PATCH 16/42] chore: handle event trigger post req --- .../create-template/components/TriggerTab.tsx | 201 ++++++++++++++++++ .../components/FunctionForm.tsx | 10 +- .../create-template/components/TriggerTab.tsx | 4 +- .../components/event/EventTab.tsx | 16 +- .../components/utils/FunctionMapper.ts | 25 ++- 5 files changed, 238 insertions(+), 18 deletions(-) create mode 100644 frontend/(pages)/templates/create-template/components/TriggerTab.tsx diff --git a/frontend/(pages)/templates/create-template/components/TriggerTab.tsx b/frontend/(pages)/templates/create-template/components/TriggerTab.tsx new file mode 100644 index 00000000..7b0acefb --- /dev/null +++ b/frontend/(pages)/templates/create-template/components/TriggerTab.tsx @@ -0,0 +1,201 @@ +'use client'; + +import React, { useEffect, useState } from 'react'; + +import { Card } from '@app/components/atoms/Card'; +import { + Tabs, + TabsContent, + TabsList, + TabsTrigger +} from '@app/components/molecules/Tabs'; + +import CustomCron from './cron/CustomCron'; +import DefaultCron from './cron/DefaultCron'; + +export interface ICronSetting { + placeholder: string; + default: string[]; + index: number; +} + +export interface IInputSetting { + name: string; + value: string | number; +} + +const defaultCronSetting: ICronSetting[] = [ + { + placeholder: 'Minute', + default: ['*', '*', '*', '*', '*'], + index: 0 + }, + { + placeholder: 'Hour', + default: ['0', '*', '*', '*', '*'], + index: 1 + }, + { + placeholder: 'Day', + default: ['1', '0', '*', '*', '*'], + index: 2 + }, + { + placeholder: 'Year', + default: ['0', '0', '1', '1', '*'], + index: 4 + } +]; + +export default function TriggerTab({ + onChange, + defaultCron, + previousSelectedOption, + previousConfiguredSettings, + setTriggerType, + setSelectedTab, + onlyCronTriggerTab, + defaultToCustomTab = false +}: { + onChange?: ( + cronExpression: string[], + configuredSettings: string, + selectedTab: any + ) => void; + defaultCron?: any; + previousSelectedOption?: string; + previousConfiguredSettings?: IInputSetting[]; + setTriggerType?: any; + setSelectedTab?: React.Dispatch>; + onlyCronTriggerTab?: boolean; + defaultToCustomTab?: boolean; +}) { + const [cron, setCron] = useState( + typeof defaultCron === 'string' + ? defaultCron.split(' ') + : defaultCron || ['*', '*', '*', '*', '*'] + ); + + /* State for persisiting custom cron settings when switching tabs*/ + const [, setCustomCron] = useState(['*', '*', '*', '*', '*']); + + /* state for persisiting user cron settings when switching tabs*/ + + const [defaultSelected, setDefaultSelected] = useState( + previousSelectedOption || 'Minute-option-one' + ); + + const defaultSelectedCronTab = + (defaultToCustomTab && 'Custom') || + previousSelectedOption?.split('-')[0] || + 'Minute'; + + const initialSettings: IInputSetting[] = [ + { name: 'Minute-option-two', value: 1 }, + { name: 'Minute-option-three-start', value: 0 }, + { name: 'Minute-option-three-end', value: 1 }, + { name: 'Hour-option-two', value: 1 }, + { name: 'Hour-option-three-start', value: 0 }, + { name: 'Hour-option-three-end', value: 1 }, + { name: 'Day-option-two', value: 1 }, + { name: 'Day-option-three-start', value: 0 }, + { name: 'Day-option-three-end', value: 1 }, + { name: 'Year-option-two', value: 1 }, + { name: 'Year-option-three-start', value: 0 }, + { name: 'Year-option-three-end', value: 1 } + ]; + + const [configuredSettings, setConfiguredSettings] = useState( + previousConfiguredSettings || initialSettings + ); + + function saveCronConfiguration(setting: IInputSetting) { + const newSettings: IInputSetting[] = configuredSettings.map((item) => { + if (item.name === setting.name) { + return { + name: setting.name, + value: setting.value + }; + } else { + return item; + } + }); + setConfiguredSettings(newSettings); + } + + function onChangeCustomCron(customSelectedCron: string[]) { + setDefaultSelected(''); + setCustomCron(customSelectedCron); + setCron(customSelectedCron); + } + + useEffect(() => { + const cronExpression = cron.map((item) => item); + onChange?.(cronExpression, defaultSelected, configuredSettings); + }, [cron]); + + return ( + + {onlyCronTriggerTab ? ( + <> + ) : ( + + setSelectedTab?.('CRON')}> + Cron Trigger + + setSelectedTab?.('EVENT')} + > + Event Trigger + + + )} + + + + + Minute + Hour + Day + Year + Custom + +
+ {defaultCronSetting.map((item: ICronSetting, index) => ( + + + + ))} + + + +
+
+
+ +
+ Vote on all proposal + setTriggerType(e.target.value)} + className={'h-5 w-5'} + /> +
+
+
+
+ ); +} diff --git a/frontend/src/app/(pages)/templates/create-template/components/FunctionForm.tsx b/frontend/src/app/(pages)/templates/create-template/components/FunctionForm.tsx index f8df7aa6..7bb276eb 100644 --- a/frontend/src/app/(pages)/templates/create-template/components/FunctionForm.tsx +++ b/frontend/src/app/(pages)/templates/create-template/components/FunctionForm.tsx @@ -269,7 +269,15 @@ export const FunctionForm = ({ )} {functionState.type === 'EVENT' && ( - + { + setFunctionState({ + ...functionState, + eventValue: eventTrigger + }); + }} + /> )}
diff --git a/frontend/src/app/(pages)/templates/create-template/components/TriggerTab.tsx b/frontend/src/app/(pages)/templates/create-template/components/TriggerTab.tsx index e5236b29..2c004dcf 100644 --- a/frontend/src/app/(pages)/templates/create-template/components/TriggerTab.tsx +++ b/frontend/src/app/(pages)/templates/create-template/components/TriggerTab.tsx @@ -10,8 +10,8 @@ import { TabsTrigger } from '@app/components/molecules/Tabs'; -import CustomCron from '../components/cron/CustomCron'; -import DefaultCron from '../components/cron/DefaultCron'; +import CustomCron from './cron/CustomCron'; +import DefaultCron from './cron/DefaultCron'; export interface ICronSetting { placeholder: string; diff --git a/frontend/src/app/(pages)/templates/create-template/components/event/EventTab.tsx b/frontend/src/app/(pages)/templates/create-template/components/event/EventTab.tsx index e7e82f7e..b4076a87 100644 --- a/frontend/src/app/(pages)/templates/create-template/components/event/EventTab.tsx +++ b/frontend/src/app/(pages)/templates/create-template/components/event/EventTab.tsx @@ -1,4 +1,4 @@ -import { useState } from 'react'; +import { useEffect, useState } from 'react'; import { IBooleanNode, IEventTrigger, IFieldNode } from '@api/agents'; import { ChevronDown } from 'lucide-react'; @@ -20,7 +20,13 @@ import InfoCard from '../cards/InfoCard'; import { Events, IEvent, IEventFilter } from './EventTrigger'; import NodeGraph from './EventTriggerGraph'; -const EventTab = ({ className }: { className?: string }) => { +const EventTab = ({ + className, + onChange = () => {} +}: { + className?: string; + onChange?: (value: IEventTrigger) => void; +}) => { const [currentEvent, setCurrentEvent] = useState(null); const [currentEventFilter, setCurrentEventFilter] = useState( @@ -33,6 +39,12 @@ const EventTab = ({ className }: { className?: string }) => { const [formMode, setFormMode] = useState('normal'); + useEffect(() => { + if (formData) { + onChange(formData); + } + }, [formData]); + const handleSelectEvent = (eventId: string) => { const selectedEvent = Events.find((event) => event.id === eventId); if (selectedEvent) { diff --git a/frontend/src/app/(pages)/templates/create-template/components/utils/FunctionMapper.ts b/frontend/src/app/(pages)/templates/create-template/components/utils/FunctionMapper.ts index 15ad9273..24d584d4 100644 --- a/frontend/src/app/(pages)/templates/create-template/components/utils/FunctionMapper.ts +++ b/frontend/src/app/(pages)/templates/create-template/components/utils/FunctionMapper.ts @@ -25,19 +25,18 @@ export const mapFormFunctionToTriggerConfiguration = ( frequency: item.cronValue?.frequency || '* * * * *' }; - // if (item.type === 'EVENT') { - // return { - // type: item.type, - // action: { - // function_name: item.id, - // parameters: mapParamValueToKeyValuePair(item.eventParameters || []) - // }, - // data: { - // event: 'VoteEvent', - // parameters: mapParamValueToKeyValuePair(item.eventParameters || []) - // } - // }; - // } + if (item.type === 'EVENT') { + if (item.eventValue) { + return { + type: item.type, + action: { + function_name: item.id, + parameters: mapParamValueToKeyValuePair(item.eventParameters || []) + }, + data: item.eventValue + }; + } + } if (item.id === 'delegation') { return { From 67a4966b51c5fc204af1dbb43c2a2316dcef0225 Mon Sep 17 00:00:00 2001 From: Joseph Rana Date: Tue, 19 Nov 2024 11:52:55 +0545 Subject: [PATCH 17/42] chore: persist event trigger config between trigger toggle --- .../components/FunctionForm.tsx | 2 +- .../components/event/EventTab.tsx | 104 +++++++++++------- .../components/event/EventTriggerGraph.tsx | 30 +++-- 3 files changed, 83 insertions(+), 53 deletions(-) diff --git a/frontend/src/app/(pages)/templates/create-template/components/FunctionForm.tsx b/frontend/src/app/(pages)/templates/create-template/components/FunctionForm.tsx index 7bb276eb..523e621c 100644 --- a/frontend/src/app/(pages)/templates/create-template/components/FunctionForm.tsx +++ b/frontend/src/app/(pages)/templates/create-template/components/FunctionForm.tsx @@ -226,7 +226,6 @@ export const FunctionForm = ({ )}
{functionState?.parameters && - functionState.type == 'CRON' && renderParameters( functionState.parameters, handleParameterChange, @@ -277,6 +276,7 @@ export const FunctionForm = ({ eventValue: eventTrigger }); }} + savedEventTrigger={functionState?.eventValue} /> )}
diff --git a/frontend/src/app/(pages)/templates/create-template/components/event/EventTab.tsx b/frontend/src/app/(pages)/templates/create-template/components/event/EventTab.tsx index b4076a87..a281d2fd 100644 --- a/frontend/src/app/(pages)/templates/create-template/components/event/EventTab.tsx +++ b/frontend/src/app/(pages)/templates/create-template/components/event/EventTab.tsx @@ -22,9 +22,11 @@ import NodeGraph from './EventTriggerGraph'; const EventTab = ({ className, + savedEventTrigger, onChange = () => {} }: { className?: string; + savedEventTrigger?: IEventTrigger; onChange?: (value: IEventTrigger) => void; }) => { const [currentEvent, setCurrentEvent] = useState(null); @@ -35,7 +37,9 @@ const EventTab = ({ const [isInfoVisible, setIsInfoVisible] = useState(false); - const [formData, setFormData] = useState(null); + const [formData, setFormData] = useState( + savedEventTrigger || null + ); const [formMode, setFormMode] = useState('normal'); @@ -45,6 +49,27 @@ const EventTab = ({ } }, [formData]); + useEffect(() => { + if (savedEventTrigger) { + const savedEvent = Events.find( + (event) => event.id === savedEventTrigger?.id + ); + if (savedEvent) { + setCurrentEvent(savedEvent); + } + const lastEventFilter = savedEvent?.filters.find( + (filter) => + filter.id === + savedEventTrigger?.parameters[ + savedEventTrigger?.parameters.length - 1 + ]?.id + ); + if (lastEventFilter) { + setCurrentEventFilter(lastEventFilter); + } + } + }, []); + const handleSelectEvent = (eventId: string) => { const selectedEvent = Events.find((event) => event.id === eventId); if (selectedEvent) { @@ -239,9 +264,7 @@ const EventTab = ({ value: item.id })) || [] } - defaultValue={ - `${currentEvent?.label} filters` || 'Add Event Filter' - } + defaultValue={`${currentEvent?.label || 'Event'} filters`} label="Event Filter" onSelect={handleAddEventFilter} disabled={currentEvent === null} @@ -257,7 +280,7 @@ const EventTab = ({ />
- {formData && formMode === 'normal' && } + {formMode === 'normal' && } {formData && formMode === 'json' && (
@@ -266,40 +289,42 @@ const EventTab = ({
                     
)}
- {currentEventFilter && ( - -
- + ({ + label: item.label, + value: item.id + })) || [] + } + disabled={currentEventFilter === null} + defaultValue={` Add Parameters`} + onSelect={handleAddParameter} + /> +
+ {currentEventFilter && + formData?.parameters.map((param, index) => { if (param.id === currentEventFilter?.id) { return (
@@ -341,8 +366,7 @@ const EventTab = ({ ); } })} - - )} +
); }; diff --git a/frontend/src/app/(pages)/templates/create-template/components/event/EventTriggerGraph.tsx b/frontend/src/app/(pages)/templates/create-template/components/event/EventTriggerGraph.tsx index 07e1cd40..5c874099 100644 --- a/frontend/src/app/(pages)/templates/create-template/components/event/EventTriggerGraph.tsx +++ b/frontend/src/app/(pages)/templates/create-template/components/event/EventTriggerGraph.tsx @@ -4,7 +4,7 @@ import { IEventTrigger, IFilterNode } from '@api/agents'; import { Canvas, EdgeData, NodeData } from 'reaflow'; interface NodeGraphProps { - data: IEventTrigger; + data: IEventTrigger | null; className?: string; maxHeight?: number; maxWidth?: number; @@ -92,22 +92,28 @@ export default function EventTriggerGraph({ }; // Initalize Root node and edge - const rootId = reduceString(data.id); - newNodes.push({ - id: rootId, - text: data.id + ` ( ${data.operator} ) `, - width: getNodeWidth(data.id + ` ${data.operator} `) - }); - - data.parameters.forEach((param) => { - // recursivelyAddNode(param, operatorId); - addNodesRecursively(param, rootId); - }); + if (data) { + const rootId = reduceString(data.id); + newNodes.push({ + id: rootId, + text: data.id + ` ( ${data.operator} ) `, + width: getNodeWidth(data.id + ` ${data.operator} `) + }); + + data.parameters.forEach((param) => { + // recursivelyAddNode(param, operatorId); + addNodesRecursively(param, rootId); + }); + } setNodes(newNodes); setEdges(newEdges); }, [data]); + if (!data) { + return
; + } + return ( Date: Tue, 19 Nov 2024 12:43:39 +0545 Subject: [PATCH 18/42] feat: add event trigger edit function --- .../components/FunctionForm.tsx | 14 ++++++++++++-- .../components/cards/InfoCard.tsx | 4 ++-- .../components/utils/FunctionMapper.ts | 18 ++++-------------- 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/frontend/src/app/(pages)/templates/create-template/components/FunctionForm.tsx b/frontend/src/app/(pages)/templates/create-template/components/FunctionForm.tsx index 523e621c..33e3f1ce 100644 --- a/frontend/src/app/(pages)/templates/create-template/components/FunctionForm.tsx +++ b/frontend/src/app/(pages)/templates/create-template/components/FunctionForm.tsx @@ -1,4 +1,4 @@ -import { useState } from 'react'; +import { useEffect, useState } from 'react'; import React from 'react'; import { TriggerType } from '@api/agents'; @@ -176,6 +176,16 @@ export const FunctionForm = ({ } }; + useEffect(() => { + if (currentFunction && editMode) { + currentFunction.type === 'EVENT' && + setFunctionState({ + ...functionState, + eventValue: currentFunction.eventValue + }); + } + }); + return (
); diff --git a/frontend/src/app/(pages)/templates/create-template/components/utils/FunctionMapper.ts b/frontend/src/app/(pages)/templates/create-template/components/utils/FunctionMapper.ts index 24d584d4..f4910985 100644 --- a/frontend/src/app/(pages)/templates/create-template/components/utils/FunctionMapper.ts +++ b/frontend/src/app/(pages)/templates/create-template/components/utils/FunctionMapper.ts @@ -1,4 +1,4 @@ -import { IAgentConfiguration, ISubParameter } from '@api/agents'; +import { IAgentConfiguration, IEventTrigger, ISubParameter } from '@api/agents'; import { TriggerType } from '@api/agents'; import { ICronTrigger } from '@api/agents'; import { ITemplateConfiguration } from '@api/templates'; @@ -31,7 +31,7 @@ export const mapFormFunctionToTriggerConfiguration = ( type: item.type, action: { function_name: item.id, - parameters: mapParamValueToKeyValuePair(item.eventParameters || []) + parameters: mapParamValueToKeyValuePair(item.parameters || []) }, data: item.eventValue }; @@ -166,11 +166,6 @@ export const mapTriggerConfigurationToFormFunction = ( } : undefined; - // const eventParameters = - // trigger.type === 'EVENT' - // ? mapKeyValuePairToParamValue(trigger.action.parameters || []) - // : undefined; - const final_obj = { id: trigger.action.function_name, index: '', @@ -182,13 +177,8 @@ export const mapTriggerConfigurationToFormFunction = ( ), type: trigger.type as TriggerType, cronValue, - // eventValue: - // trigger.type === 'EVENT' - // ? { - // event: (trigger.data as any).event, - // parameters: eventParameters - // } - // : undefined, + eventValue: + trigger.type === 'EVENT' ? (trigger.data as IEventTrigger) : undefined, optionValue: baseFunction?.parameters && baseFunction?.parameters[0].type === 'options' ? populateOptionValue(trigger.action.parameters[0]) From dd4adf1c69d22449e82d5ef5f40ff779d9f2c66a Mon Sep 17 00:00:00 2001 From: Joseph Rana Date: Tue, 19 Nov 2024 12:48:59 +0545 Subject: [PATCH 19/42] chore: handle event trigger post req --- frontend/package.json | 1 + .../Agent/shared/FunctionCardWithMeta.tsx | 30 ++++++++++--------- frontend/yarn.lock | 19 ++++++++++++ 3 files changed, 36 insertions(+), 14 deletions(-) diff --git a/frontend/package.json b/frontend/package.json index 5fbc6a85..96039df3 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -22,6 +22,7 @@ "@emotion/styled": "^11.11.0", "@headlessui/react": "^1.7.18", "@hookform/resolvers": "^3.3.4", + "@monaco-editor/react": "^4.6.0", "@mswjs/interceptors": "^0.25.14", "@mui/material": "^5.15.6", "@mui/x-data-grid": "^6.19.1", diff --git a/frontend/src/components/Agent/shared/FunctionCardWithMeta.tsx b/frontend/src/components/Agent/shared/FunctionCardWithMeta.tsx index 15189870..d9fb1fb8 100644 --- a/frontend/src/components/Agent/shared/FunctionCardWithMeta.tsx +++ b/frontend/src/components/Agent/shared/FunctionCardWithMeta.tsx @@ -72,21 +72,23 @@ const FunctionCardWithMeta = ({
{renderConfigMeta(config)}
- {config.type === 'CRON' && ( - + <> + + + )} {config.action?.parameters.map((param, index) => typeof param.value === 'object' && diff --git a/frontend/yarn.lock b/frontend/yarn.lock index 097daad8..5d1fd1a8 100644 --- a/frontend/yarn.lock +++ b/frontend/yarn.lock @@ -1992,6 +1992,20 @@ dependencies: "@types/mdx" "^2.0.0" +"@monaco-editor/loader@^1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@monaco-editor/loader/-/loader-1.4.0.tgz#f08227057331ec890fa1e903912a5b711a2ad558" + integrity sha512-00ioBig0x642hytVspPl7DbQyaSWRaolYie/UFNjoTdvoKPzo6xrXLhTk9ixgIKcLH5b5vDOjVNiGyY+uDCUlg== + dependencies: + state-local "^1.0.6" + +"@monaco-editor/react@^4.6.0": + version "4.6.0" + resolved "https://registry.yarnpkg.com/@monaco-editor/react/-/react-4.6.0.tgz#bcc68671e358a21c3814566b865a54b191e24119" + integrity sha512-RFkU9/i7cN2bsq/iTkurMWOEErmYcY6JiQI3Jn+WeR/FGISH8JbHERjpS9oRuSOPvDMJI0Z8nJeKkbOs9sBYQw== + dependencies: + "@monaco-editor/loader" "^1.4.0" + "@mswjs/cookies@^1.1.0": version "1.1.0" resolved "https://registry.npmjs.org/@mswjs/cookies/-/cookies-1.1.0.tgz" @@ -16033,6 +16047,11 @@ stacktrace-parser@^0.1.10: dependencies: type-fest "^0.7.1" +state-local@^1.0.6: + version "1.0.7" + resolved "https://registry.yarnpkg.com/state-local/-/state-local-1.0.7.tgz#da50211d07f05748d53009bee46307a37db386d5" + integrity sha512-HTEHMNieakEnoe33shBYcZ7NX83ACUjCu8c40iOGEZsngj9zRnkqS9j1pqQPXwobB0ZcVTk27REb7COQ0UR59w== + statuses@2.0.1, statuses@^2.0.1: version "2.0.1" resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz" From e599e6f0c0acb1e9c7b5e4fd86758d7d0d20b9a2 Mon Sep 17 00:00:00 2001 From: Joseph Rana Date: Tue, 19 Nov 2024 13:10:45 +0545 Subject: [PATCH 20/42] feat: handle event trigger edit for agent function content --- .../create-template/components/TriggerTab.tsx | 201 ------------------ .../components/FunctionForm.tsx | 3 +- .../components/event/EventTab.tsx | 1 - 3 files changed, 1 insertion(+), 204 deletions(-) delete mode 100644 frontend/(pages)/templates/create-template/components/TriggerTab.tsx diff --git a/frontend/(pages)/templates/create-template/components/TriggerTab.tsx b/frontend/(pages)/templates/create-template/components/TriggerTab.tsx deleted file mode 100644 index 7b0acefb..00000000 --- a/frontend/(pages)/templates/create-template/components/TriggerTab.tsx +++ /dev/null @@ -1,201 +0,0 @@ -'use client'; - -import React, { useEffect, useState } from 'react'; - -import { Card } from '@app/components/atoms/Card'; -import { - Tabs, - TabsContent, - TabsList, - TabsTrigger -} from '@app/components/molecules/Tabs'; - -import CustomCron from './cron/CustomCron'; -import DefaultCron from './cron/DefaultCron'; - -export interface ICronSetting { - placeholder: string; - default: string[]; - index: number; -} - -export interface IInputSetting { - name: string; - value: string | number; -} - -const defaultCronSetting: ICronSetting[] = [ - { - placeholder: 'Minute', - default: ['*', '*', '*', '*', '*'], - index: 0 - }, - { - placeholder: 'Hour', - default: ['0', '*', '*', '*', '*'], - index: 1 - }, - { - placeholder: 'Day', - default: ['1', '0', '*', '*', '*'], - index: 2 - }, - { - placeholder: 'Year', - default: ['0', '0', '1', '1', '*'], - index: 4 - } -]; - -export default function TriggerTab({ - onChange, - defaultCron, - previousSelectedOption, - previousConfiguredSettings, - setTriggerType, - setSelectedTab, - onlyCronTriggerTab, - defaultToCustomTab = false -}: { - onChange?: ( - cronExpression: string[], - configuredSettings: string, - selectedTab: any - ) => void; - defaultCron?: any; - previousSelectedOption?: string; - previousConfiguredSettings?: IInputSetting[]; - setTriggerType?: any; - setSelectedTab?: React.Dispatch>; - onlyCronTriggerTab?: boolean; - defaultToCustomTab?: boolean; -}) { - const [cron, setCron] = useState( - typeof defaultCron === 'string' - ? defaultCron.split(' ') - : defaultCron || ['*', '*', '*', '*', '*'] - ); - - /* State for persisiting custom cron settings when switching tabs*/ - const [, setCustomCron] = useState(['*', '*', '*', '*', '*']); - - /* state for persisiting user cron settings when switching tabs*/ - - const [defaultSelected, setDefaultSelected] = useState( - previousSelectedOption || 'Minute-option-one' - ); - - const defaultSelectedCronTab = - (defaultToCustomTab && 'Custom') || - previousSelectedOption?.split('-')[0] || - 'Minute'; - - const initialSettings: IInputSetting[] = [ - { name: 'Minute-option-two', value: 1 }, - { name: 'Minute-option-three-start', value: 0 }, - { name: 'Minute-option-three-end', value: 1 }, - { name: 'Hour-option-two', value: 1 }, - { name: 'Hour-option-three-start', value: 0 }, - { name: 'Hour-option-three-end', value: 1 }, - { name: 'Day-option-two', value: 1 }, - { name: 'Day-option-three-start', value: 0 }, - { name: 'Day-option-three-end', value: 1 }, - { name: 'Year-option-two', value: 1 }, - { name: 'Year-option-three-start', value: 0 }, - { name: 'Year-option-three-end', value: 1 } - ]; - - const [configuredSettings, setConfiguredSettings] = useState( - previousConfiguredSettings || initialSettings - ); - - function saveCronConfiguration(setting: IInputSetting) { - const newSettings: IInputSetting[] = configuredSettings.map((item) => { - if (item.name === setting.name) { - return { - name: setting.name, - value: setting.value - }; - } else { - return item; - } - }); - setConfiguredSettings(newSettings); - } - - function onChangeCustomCron(customSelectedCron: string[]) { - setDefaultSelected(''); - setCustomCron(customSelectedCron); - setCron(customSelectedCron); - } - - useEffect(() => { - const cronExpression = cron.map((item) => item); - onChange?.(cronExpression, defaultSelected, configuredSettings); - }, [cron]); - - return ( - - {onlyCronTriggerTab ? ( - <> - ) : ( - - setSelectedTab?.('CRON')}> - Cron Trigger - - setSelectedTab?.('EVENT')} - > - Event Trigger - - - )} - - - - - Minute - Hour - Day - Year - Custom - -
- {defaultCronSetting.map((item: ICronSetting, index) => ( - - - - ))} - - - -
-
-
- -
- Vote on all proposal - setTriggerType(e.target.value)} - className={'h-5 w-5'} - /> -
-
-
-
- ); -} diff --git a/frontend/src/app/(pages)/templates/create-template/components/FunctionForm.tsx b/frontend/src/app/(pages)/templates/create-template/components/FunctionForm.tsx index 33e3f1ce..c1680199 100644 --- a/frontend/src/app/(pages)/templates/create-template/components/FunctionForm.tsx +++ b/frontend/src/app/(pages)/templates/create-template/components/FunctionForm.tsx @@ -131,7 +131,6 @@ export const FunctionForm = ({ const checkAllRequiredFieldsAreFilled = () => { if (functionState?.type === 'EVENT') { - //event type has no parameter for now return true; } @@ -184,7 +183,7 @@ export const FunctionForm = ({ eventValue: currentFunction.eventValue }); } - }); + },[]); return ( Date: Tue, 19 Nov 2024 16:21:32 +0545 Subject: [PATCH 21/42] feat: add custom editor --- .../components/FunctionForm.tsx | 2 +- .../components/event/CustomEditor.tsx | 32 ++++++++++++ .../components/event/EventTab.tsx | 50 +++++++++++-------- .../components/event/EventTriggerGraph.tsx | 7 ++- 4 files changed, 66 insertions(+), 25 deletions(-) create mode 100644 frontend/src/app/(pages)/templates/create-template/components/event/CustomEditor.tsx diff --git a/frontend/src/app/(pages)/templates/create-template/components/FunctionForm.tsx b/frontend/src/app/(pages)/templates/create-template/components/FunctionForm.tsx index c1680199..834f574e 100644 --- a/frontend/src/app/(pages)/templates/create-template/components/FunctionForm.tsx +++ b/frontend/src/app/(pages)/templates/create-template/components/FunctionForm.tsx @@ -183,7 +183,7 @@ export const FunctionForm = ({ eventValue: currentFunction.eventValue }); } - },[]); + }, []); return ( void; + onValueChange: (data: IEventTrigger) => void; +}) { + return ( + <> + data && onValueChange(JSON.parse(data))} + > + + + ); +} diff --git a/frontend/src/app/(pages)/templates/create-template/components/event/EventTab.tsx b/frontend/src/app/(pages)/templates/create-template/components/event/EventTab.tsx index ebf3e963..a1ded924 100644 --- a/frontend/src/app/(pages)/templates/create-template/components/event/EventTab.tsx +++ b/frontend/src/app/(pages)/templates/create-template/components/event/EventTab.tsx @@ -2,7 +2,7 @@ import { useEffect, useState } from 'react'; import { IBooleanNode, IEventTrigger, IFieldNode } from '@api/agents'; import { ChevronDown } from 'lucide-react'; -import { FileJson, Parentheses } from 'lucide-react'; +import { FileJson } from 'lucide-react'; import { Card } from '@app/components/atoms/Card'; import { Checkbox } from '@app/components/atoms/Checkbox'; @@ -14,9 +14,11 @@ import { } from '@app/components/atoms/DropDownMenu'; import { Input } from '@app/components/atoms/Input'; import { cn } from '@app/components/lib/utils'; +import { ErrorToast } from '@app/components/molecules/CustomToasts'; import { CustomSelect } from '../../../../../../components/molecules/CustomDropDown'; import InfoCard from '../cards/InfoCard'; +import CustomEditor from './CustomEditor'; import { Events, IEvent, IEventFilter } from './EventTrigger'; import NodeGraph from './EventTriggerGraph'; @@ -41,7 +43,7 @@ const EventTab = ({ savedEventTrigger || null ); - const [formMode, setFormMode] = useState('normal'); + const [proMode, setProMode] = useState(false); useEffect(() => { if (formData) { @@ -223,22 +225,21 @@ const EventTab = ({ ); }; + const updateFormDataFromEditor = (data: any) => { + try { + const parsedData = JSON.parse(data); + setFormData(parsedData); + } catch (error) { + ErrorToast('Invalid JSON'); + } + }; + return (
- setFormMode('normal')} - /> setFormMode('json')} + className={cn('cursor-pointer', proMode && 'text-brand-Blue-200')} + onClick={() => setProMode(!proMode)} />
@@ -279,14 +280,7 @@ const EventTab = ({ />
- {formMode === 'normal' && } - {formData && formMode === 'json' && ( -
-
-                            {JSON.stringify(formData, null, 2)}
-                        
-
- )} +
@@ -366,6 +360,18 @@ const EventTab = ({ } })} +
+ setProMode(false)} + onValueChange={updateFormDataFromEditor} + /> +
); }; diff --git a/frontend/src/app/(pages)/templates/create-template/components/event/EventTriggerGraph.tsx b/frontend/src/app/(pages)/templates/create-template/components/event/EventTriggerGraph.tsx index 5c874099..661f0a27 100644 --- a/frontend/src/app/(pages)/templates/create-template/components/event/EventTriggerGraph.tsx +++ b/frontend/src/app/(pages)/templates/create-template/components/event/EventTriggerGraph.tsx @@ -94,10 +94,13 @@ export default function EventTriggerGraph({ // Initalize Root node and edge if (data) { const rootId = reduceString(data.id); + const text = data.negate + ? 'NOT ( ' + data.id + ` ( ${data.operator} ) ` + ')' + : data.id + ` ( ${data.operator} ) `; newNodes.push({ id: rootId, - text: data.id + ` ( ${data.operator} ) `, - width: getNodeWidth(data.id + ` ${data.operator} `) + text: text, + width: getNodeWidth(text) }); data.parameters.forEach((param) => { From 30a63c60a4d85c5a33b467d11f32b3f55e807b6f Mon Sep 17 00:00:00 2001 From: Joseph Rana Date: Tue, 12 Nov 2024 15:47:15 +0545 Subject: [PATCH 22/42] feat: add new event trigger model --- api/backend/app/models/trigger/trigger_dto.py | 60 +++++++++++-------- api/backend/app/models/trigger/utils.py | 22 +++++++ .../template_trigger_repository.py | 7 +-- .../app/repositories/trigger_repository.py | 13 ++-- 4 files changed, 68 insertions(+), 34 deletions(-) create mode 100644 api/backend/app/models/trigger/utils.py diff --git a/api/backend/app/models/trigger/trigger_dto.py b/api/backend/app/models/trigger/trigger_dto.py index f3dfca54..da5899e0 100644 --- a/api/backend/app/models/trigger/trigger_dto.py +++ b/api/backend/app/models/trigger/trigger_dto.py @@ -1,4 +1,4 @@ -from typing import Union, Optional, Any +from typing import Union, Optional, Any, Literal from pydantic import BaseModel, json from croniter import croniter @@ -15,9 +15,9 @@ class SubParameter(BaseModel): value: Any -class EventTriggerDTO(BaseModel): - event: str - parameters: Optional[list[SubParameter]] +# class EventTriggerDTO(BaseModel): +# event: str +# parameters: Optional[list[SubParameter]] class Action(BaseModel): @@ -25,28 +25,40 @@ class Action(BaseModel): parameters: list[SubParameter] -class TriggerCreateDTO(BaseModel): - type: str - action: Optional[Action] = None - data: Optional[Union[CronTriggerDTO, EventTriggerDTO]] = None +# For Event Based Trigger + +BooleanOperator = Literal["AND", "OR"] +ComparisonOperator = Literal["equals", "greaterThan", "lessThan", "in"] + + +class Field(BaseModel): + id: Union[str, list[str]] + value: Any + negate: bool + operator: ComparisonOperator + +class ChildrenFields(BaseModel): + children: list["FilterNode"] + negate: bool + operator: BooleanOperator -# validation for cron expression -async def validate_type_CRON(cron_expression: str, probability: float): - try: - croniter(cron_expression) - except ValueError as e: - raise HTTPException(400, f"Invalid CRON expression") - # Validate probability - if probability < 0 or probability > 1: - raise HTTPException(400, "Probability must be between 0 and 1 (inclusive)") +# FilterNode - recursive model +FilterNode = Union[Field, ChildrenFields] -# validation for Topic -async def validate_type_EVENT(value: str): - try: - if value.isnumeric(): - raise HTTPException(400, f"Invalid topic :") - except ValueError as e: - return f"Validation error: {e}" +class EventTriggerDTO(BaseModel): + id: Union[str, list[str]] + parameters: list[FilterNode] + negate: bool + operator: BooleanOperator + + +ChildrenFields.update_forward_refs() # To allow model to reference another model that has not been defined yet + + +class TriggerCreateDTO(BaseModel): + type: str + action: Optional[Action] = None + data: Optional[Union["CronTriggerDTO", "EventTriggerDTO"]] = None diff --git a/api/backend/app/models/trigger/utils.py b/api/backend/app/models/trigger/utils.py new file mode 100644 index 00000000..dd306fe8 --- /dev/null +++ b/api/backend/app/models/trigger/utils.py @@ -0,0 +1,22 @@ +from backend.app.models.trigger.trigger_dto import EventTriggerDTO +from backend.app.exceptions import HTTPException +from croniter import croniter + + +def validate_type_EVENT(data: any): + try: + EventTriggerDTO.parse_raw(data.json()) + except Exception as e: + raise HTTPException( + status_code=402, content="Unprocessable Entity , Data is not an intatnce of Event Trigger Dto" + ) + + +def validate_type_CRON(cron_expression: str, probability: float): + try: + croniter(cron_expression) + except ValueError as e: + raise HTTPException(400, f"Invalid CRON expression") + # Validate probability + if probability < 0 or probability > 1: + raise HTTPException(400, "Probability must be between 0 and 1 (inclusive)") diff --git a/api/backend/app/repositories/template_trigger_repository.py b/api/backend/app/repositories/template_trigger_repository.py index 85c22a27..4641cacd 100644 --- a/api/backend/app/repositories/template_trigger_repository.py +++ b/api/backend/app/repositories/template_trigger_repository.py @@ -8,15 +8,14 @@ from prisma import Prisma from backend.app.models import ( - validate_type_CRON, CronTriggerDTO, EventTriggerDTO, TemplateTriggerResponse, TemplateTriggerCreateDto, TriggerCreateDTO, - validate_type_EVENT, ) from backend.config.database import prisma_connection +from backend.app.models.trigger.utils import validate_type_EVENT, validate_type_CRON class TemplateTriggerRepository: @@ -28,9 +27,9 @@ async def save_template_trigger(self, transaction: Prisma, template_id: str, tem template_data_dict = template_data.dict() if template_data.type == "CRON": - await validate_type_CRON(template_data.data.frequency, template_data.data.probability) + validate_type_CRON(template_data.data.frequency, template_data.data.probability) elif template_data.type == "EVENT": - await validate_type_EVENT(template_data.data.event) + validate_type_EVENT(template_data.data.event) else: raise HTTPException(status_code=400, content=f"Invalid Trigger Type {template_data.type}") diff --git a/api/backend/app/repositories/trigger_repository.py b/api/backend/app/repositories/trigger_repository.py index f5fc6fa3..a25d9b4d 100644 --- a/api/backend/app/repositories/trigger_repository.py +++ b/api/backend/app/repositories/trigger_repository.py @@ -9,10 +9,11 @@ TriggerCreateDTO, CronTriggerDTO, EventTriggerDTO, - validate_type_CRON, - validate_type_EVENT, ) from backend.config.database import prisma_connection +from backend.app.models.trigger.trigger_dto import EventTriggerDTO +from backend.config.logger import logger +from backend.app.models.trigger.utils import validate_type_CRON, validate_type_EVENT class TriggerRepository: @@ -21,9 +22,9 @@ def __init__(self, db_connection=None): async def save_trigger(self, agent_id: str, trigger_data: TriggerCreateDTO): if trigger_data.type == "CRON": - await validate_type_CRON(trigger_data.data.frequency, trigger_data.data.probability) + validate_type_CRON(trigger_data.data.frequency, trigger_data.data.probability) elif trigger_data.type == "EVENT": - await validate_type_EVENT(trigger_data.data.event) + validate_type_EVENT(trigger_data.data) else: raise HTTPException(status_code=400, content=f"Invalid Trigger Type {trigger_data.type}") trigger_data_dict = trigger_data.dict() @@ -93,10 +94,10 @@ async def modify_trigger_by_id(self, trigger_id: str, trigger_data: TriggerCreat # validation for CRON nad TOPIC if trigger_data.type == "CRON": - await validate_type_CRON(trigger_data.data.frequency, trigger_data.data.probability) + validate_type_CRON(trigger_data.data.frequency, trigger_data.data.probability) if trigger_data.type == "EVENT": - await validate_type_EVENT(trigger_data.data.event) + validate_type_EVENT(trigger_data.data) # for config data data_dict = updated_data_dict.pop("data") From ff6b504c2cf8fc270f4240e3eab0ef1aa511f2e9 Mon Sep 17 00:00:00 2001 From: Sital999 Date: Mon, 16 Dec 2024 10:52:58 +0545 Subject: [PATCH 23/42] Make eventTriggerDto optional --- api/backend/app/models/trigger/trigger_dto.py | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/api/backend/app/models/trigger/trigger_dto.py b/api/backend/app/models/trigger/trigger_dto.py index da5899e0..43051b2c 100644 --- a/api/backend/app/models/trigger/trigger_dto.py +++ b/api/backend/app/models/trigger/trigger_dto.py @@ -1,8 +1,6 @@ from typing import Union, Optional, Any, Literal -from pydantic import BaseModel, json -from croniter import croniter -from backend.app.exceptions import HTTPException +from pydantic import BaseModel class CronTriggerDTO(BaseModel): @@ -49,10 +47,10 @@ class ChildrenFields(BaseModel): class EventTriggerDTO(BaseModel): - id: Union[str, list[str]] - parameters: list[FilterNode] - negate: bool - operator: BooleanOperator + id: Optional[Union[str, list[str]]] + parameters: Optional[list[FilterNode]] + negate: Optional[bool] + operator: Optional[BooleanOperator] ChildrenFields.update_forward_refs() # To allow model to reference another model that has not been defined yet From 5c57ec2dcc06d4b054b5f0ee150b4c93fa670662 Mon Sep 17 00:00:00 2001 From: Sital999 Date: Wed, 18 Dec 2024 16:53:09 +0545 Subject: [PATCH 24/42] Enhancement: Add support for output property as event filter --- agent-manager/package.json | 2 +- agent-manager/yarn.lock | 8 +- agent-node/package.json | 2 +- agent-node/src/service/EventTriggerHandler.ts | 149 +- agent-node/src/service/RpcTopicHandler.ts | 5 +- agent-node/src/utils/eventFilterFormatter.ts | 48 + agent-node/src/utils/validator.ts | 31 +- agent-node/yarn.lock | 8 +- api/backend/app/models/trigger/trigger_dto.py | 5 +- frontend/package.json | 1 + frontend/src/api/agents.ts | 4 +- frontend/src/api/trigger.ts | 1 + .../components/event/EventTab.tsx | 124 +- .../components/event/EventTrigger.ts | 104 +- .../components/event/EventTriggerGraph.tsx | 3 +- .../Agent/AgentContent/Functions.tsx | 8 +- .../Agent/AgentContent/FunctionsContainer.tsx | 8 +- .../components/Agent/AgentContent/Logs.tsx | 151 +- frontend/yarn.lock | 2195 ++++++++++++++++- 19 files changed, 2573 insertions(+), 284 deletions(-) create mode 100644 agent-node/src/utils/eventFilterFormatter.ts diff --git a/agent-manager/package.json b/agent-manager/package.json index b738d730..691e708d 100644 --- a/agent-manager/package.json +++ b/agent-manager/package.json @@ -24,7 +24,7 @@ "express": "^4.19.2", "kafkajs": "^2.2.4", "kuber-client": "^3.0.3", - "libcardano": "1.4.3", + "libcardano": "1.4.11", "luxon": "^3.4.4", "prisma": "^5.13.0", "swagger-jsdoc": "^6.2.8", diff --git a/agent-manager/yarn.lock b/agent-manager/yarn.lock index ad0b0be9..f2329f69 100644 --- a/agent-manager/yarn.lock +++ b/agent-manager/yarn.lock @@ -2684,10 +2684,10 @@ levn@^0.4.1: prelude-ls "^1.2.1" type-check "~0.4.0" -libcardano@1.4.3: - version "1.4.3" - resolved "https://registry.yarnpkg.com/libcardano/-/libcardano-1.4.3.tgz#a3dc20452e1520b65fa32621337de62413a3cd5c" - integrity sha512-5R5aE+WHwC1wxFLH4fVjXeQh0WbOLCBZKcFmbVYvGwWy2TMaqspncy8QMclqD03x8GtdK7yWEFTp9buGP9/eTw== +libcardano@1.4.11: + version "1.4.11" + resolved "https://registry.yarnpkg.com/libcardano/-/libcardano-1.4.11.tgz#ffe0f1f63a4a9bb940e87a5b5b68284cbbbaa1a7" + integrity sha512-rl/okJH27NBGwOx7VTgBkOJe4q6vBbBE4FbPrXXDhgLgI55004K0ODK0R4+3HCHAL8TtnXPqPRJXE5vvO++lIQ== dependencies: "@cardano-sdk/crypto" "^0.1.30" "@emurgo/cardano-serialization-lib-nodejs" "^11.5.0" diff --git a/agent-node/package.json b/agent-node/package.json index aa120237..d4675574 100644 --- a/agent-node/package.json +++ b/agent-node/package.json @@ -23,7 +23,7 @@ "bech32": "^2.0.0", "dotenv": "^16.4.5", "kuber-client": "^2.0.0", - "libcardano": "1.4.4", + "libcardano": "1.4.11", "luxon": "^3.4.4", "node-cron": "^3.0.3", "ws": "^8.18.0" diff --git a/agent-node/src/service/EventTriggerHandler.ts b/agent-node/src/service/EventTriggerHandler.ts index a3281274..9f853004 100644 --- a/agent-node/src/service/EventTriggerHandler.ts +++ b/agent-node/src/service/EventTriggerHandler.ts @@ -1,13 +1,13 @@ -import {ManagerInterface} from './ManagerInterfaceService' -import {Transaction} from 'libcardano/cardano/ledger-serialization/transaction' -import {AgentRunner} from '../executor/AgentRunner' +import { ManagerInterface } from './ManagerInterfaceService' +import { Transaction } from 'libcardano/cardano/ledger-serialization/transaction' +import { AgentRunner } from '../executor/AgentRunner' +import { compareValue } from '../utils/validator' import { - compareValue, -} from '../utils/validator' -import {IBooleanNode, IEventBasedAction, IFieldNode, IFilterNode} from "../types/eventTriger"; -import {node} from "globals"; -import {bech32} from "bech32"; -import {rewardAddressRawBytes} from "../utils/cardano"; + IBooleanNode, + IEventBasedAction, + IFieldNode, + IFilterNode, +} from '../types/eventTriger' export class EventTriggerHandler { eventBasedActions: IEventBasedAction[] = [] @@ -21,9 +21,7 @@ export class EventTriggerHandler { if (this.eventBasedActions.length) { transactions.forEach((tx: Transaction) => { this.eventBasedActions.forEach((eventBasedAction) => { - const handler = (this as any)[ - 'transactionHandler' - ] + const handler = (this as any)['transactionHandler'] if (handler !== undefined && handler !== 'constructor') { handler.bind(this)(tx, eventBasedAction, agentRunners) } @@ -39,25 +37,32 @@ export class EventTriggerHandler { ) { let result try { - console.log("Tx:", tx.hash.toString('hex'), "tx.outputs=", tx.body.outputs.length, "inputs=", tx.body.inputs.length) - result = this.solveNode({tx: tx.body, transaction: tx.body}, eventBasedAction.eventTrigger, []) - console.log("tx=", tx.hash.toString('hex'), "solution=", result) + console.log( + 'Tx:', + tx.hash.toString('hex'), + 'tx.outputs=', + tx.body.outputs.length, + 'inputs=', + tx.body.inputs.length + ) + result = this.solveNode( + { tx: tx.body, transaction: tx.body }, + eventBasedAction.eventTrigger, + [] + ) + console.log('tx=', tx.hash.toString('hex'), 'solution=', result) } catch (e) { - console.error("Error handling event", e); + console.error('Error handling event', e) return } - const {function_name, parameters} = eventBasedAction.triggeringFunction + const { function_name, parameters } = + eventBasedAction.triggeringFunction if (result && agentRunners) { - tx.body.outputs.map((o) => { - const data = Buffer.from(o.address, 'hex'); - - // Convert binary data into 5-bit groups as needed for Bech32 - const words = bech32.toWords(data); - - // Encode with Bech32 using the given prefix (usually 'stake') - const a = bech32.encode('addr_test', words, 114); - console.log('Hello world',a ) + tx.body.outputs.map((o, index) => { + console.log( + 'output_address_' + index + ' ' + o.address.toBech32() + ) }) agentRunners.forEach((runner, index) => { runner.invokeFunction( @@ -70,17 +75,40 @@ export class EventTriggerHandler { } } - solveNode(targetObject: any, filterNode: IFilterNode, parentNodes: string[]) { - return this.solveNodeInternal(targetObject,filterNode,filterNode.id,parentNodes) - } - - solveNodeInternal(targetObject: any, filterNode: IFilterNode, nodes: string[] | string | undefined, parent_nodes: string[]): boolean { + solveNode( + targetObject: any, + filterNode: IFilterNode, + parentNodes: string[] + ) { + return this.solveNodeInternal( + targetObject, + filterNode, + filterNode.id, + parentNodes + ) + } + solveNodeInternal( + targetObject: any, + filterNode: IFilterNode, + nodes: string[] | string | undefined, + parent_nodes: string[] + ): boolean { if (nodes === undefined || nodes.length == 0) { - let result = 'children' in filterNode ? this.solveBooleanNode(targetObject, filterNode, parent_nodes) - : this.solveFieldNode(targetObject, filterNode, parent_nodes) + const result = + 'children' in filterNode + ? this.solveBooleanNode( + targetObject, + filterNode, + parent_nodes + ) + : this.solveFieldNode( + targetObject, + filterNode, + parent_nodes + ) return filterNode.negate ? !result : result - } else if (typeof nodes === "string") { + } else if (typeof nodes === 'string') { nodes = [nodes] } @@ -88,7 +116,7 @@ export class EventTriggerHandler { const propertyValue = targetObject[nodes[0]] parent_nodes.push(nodes[0]) - let subArray = nodes.slice(1) + const subArray = nodes.slice(1) if (Array.isArray(propertyValue)) { const node_pos = parent_nodes.length parent_nodes.push('') @@ -97,34 +125,65 @@ export class EventTriggerHandler { return acc } parent_nodes[node_pos] = index.toString() - const result = this.solveNodeInternal(node, filterNode, subArray, parent_nodes) - console.log(parent_nodes.join('.'), ": result=", result) + const result = this.solveNodeInternal( + node, + filterNode, + subArray, + parent_nodes + ) + console.log(parent_nodes.join('.'), ': result=', result) return result }, false) parent_nodes.pop() } else { - result = this.solveNodeInternal(propertyValue, filterNode, subArray, parent_nodes) + result = this.solveNodeInternal( + propertyValue, + filterNode, + subArray, + parent_nodes + ) } parent_nodes.pop() return result - } - solveBooleanNode(targetObject: any, filterNode: IBooleanNode, parent_nodes: string[] = []): boolean { - let orOperator = (a: boolean, b: boolean) => a || b + solveBooleanNode( + targetObject: any, + filterNode: IBooleanNode, + parent_nodes: string[] = [] + ): boolean { + const orOperator = (a: boolean, b: boolean) => a || b let operator = orOperator if (filterNode.operator === 'AND') { operator = (a: boolean, b: boolean) => a && b } const result = filterNode.children.reduce((acc, node) => { - return operator(acc, this.solveNodeInternal(targetObject, node, node.id, parent_nodes)) + return operator( + acc, + this.solveNodeInternal( + targetObject, + node, + node.id, + parent_nodes + ) + ) }, operator !== orOperator) - console.log("id=", filterNode.id, "operator=", filterNode.operator, "result=", result) + console.log( + 'id=', + filterNode.id, + 'operator=', + filterNode.operator, + 'result=', + result + ) return result } - solveFieldNode(targetObject: any, filterNode: IFieldNode, parent_nodes: string[]): boolean { - + solveFieldNode( + targetObject: any, + filterNode: IFieldNode, + parent_nodes: string[] + ): boolean { return compareValue( filterNode.operator, filterNode.value, diff --git a/agent-node/src/service/RpcTopicHandler.ts b/agent-node/src/service/RpcTopicHandler.ts index c9773001..f581447b 100644 --- a/agent-node/src/service/RpcTopicHandler.ts +++ b/agent-node/src/service/RpcTopicHandler.ts @@ -7,6 +7,7 @@ import { checkIfAgentWithEventTriggerTypeExists } from '../utils/agent' import { ScheduledTask } from 'node-cron' import { AgentRunner } from '../executor/AgentRunner' import { EventTriggerHandler } from './EventTriggerHandler' +import { formatEventFilter } from '../utils/eventFilterFormatter' export class RpcTopicHandler { managerInterface: ManagerInterface @@ -51,8 +52,10 @@ export class RpcTopicHandler { scheduledTasks: ScheduledTask[] ) { const { configurations } = message - const eventBasedActions = + const eventBasedActions = formatEventFilter( checkIfAgentWithEventTriggerTypeExists(configurations) + ) + console.log('hello : ', eventBasedActions) if (eventBasedActions) { this.eventTriggerHandlers.addEventActions(eventBasedActions) } diff --git a/agent-node/src/utils/eventFilterFormatter.ts b/agent-node/src/utils/eventFilterFormatter.ts new file mode 100644 index 00000000..e8c6e39c --- /dev/null +++ b/agent-node/src/utils/eventFilterFormatter.ts @@ -0,0 +1,48 @@ +import { IEventBasedAction } from '../types/eventTriger' + +function restructureData(obj: any) { + const ids: any = [] + + function flattenChildren(node: any) { + if (node.id) { + ids.push(node.id) // Push id to ids array + } + + if (Array.isArray(node.children)) { + let flatChildren: any = [] + for (const child of node.children) { + if (child.children) { + flatChildren = flatChildren.concat(flattenChildren(child)) + } else { + flatChildren.push(child) + } + } + return flatChildren + } + return [] + } + + const flatChildren = flattenChildren(obj) + + return { + id: ids, + children: flatChildren, + negate: obj.negate, + operator: obj.operator, + } +} + +export function formatEventFilter(data: IEventBasedAction[]) { + return data.map((item) => { + return { + ...item, + eventTrigger: { + ...('children' in item.eventTrigger + ? item.eventTrigger.children.length == 1 + ? restructureData(item.eventTrigger) + : item.eventTrigger + : item.eventTrigger), + }, + } + }) +} diff --git a/agent-node/src/utils/validator.ts b/agent-node/src/utils/validator.ts index 8143957c..9d4d628d 100644 --- a/agent-node/src/utils/validator.ts +++ b/agent-node/src/utils/validator.ts @@ -1,8 +1,6 @@ -import {convertToBufferIfBech32} from './cardano' -import {BooleanOperator, ComparisonOperator} from '../types/eventTriger' -import * as buffer from "buffer"; -import {logicalFunctions} from "./operatorSupport"; -import {bech32} from "bech32"; +import { convertToBufferIfBech32 } from './cardano' +import { BooleanOperator, ComparisonOperator } from '../types/eventTriger' +import { logicalFunctions } from './operatorSupport' const NetworkName = ['preview', 'preprod', 'sanchonet'] @@ -44,15 +42,22 @@ export function compareValue( // console.debug(`compareValue[${property_path.join('.')}] (${operator},${txPropertyVal}, ${objectProperty})`) const filterValue = convertToBufferIfBech32(objectProperty) - console.debug("filterValue=", filterValue); - const result = logicalFunctions.execute(operator, txPropertyVal, filterValue) - + console.debug( + 'filterValue=' + filterValue + ', txPropertyVal= ' + txPropertyVal + ) + const result = logicalFunctions.execute( + operator, + txPropertyVal, + filterValue + ) if (txPropertyVal.constructor.name == 'Buffer') { - console.debug(`compareValue[${property_path.join('.')}] (${operator},0x${txPropertyVal.toString('hex')}, ${objectProperty}) = ${result}`) + console.debug( + `compareValue[${property_path.join('.')}] (${operator},0x${txPropertyVal.toString('hex')}, ${objectProperty}) = ${result}` + ) } else - console.debug(`compareValue[${property_path.join('.')}] (${operator},${txPropertyVal}, ${objectProperty}) = ${result}`) + console.debug( + `compareValue[${property_path.join('.')}] (${operator},${txPropertyVal}, ${objectProperty}) = ${result}` + ) return result - - -} \ No newline at end of file +} diff --git a/agent-node/yarn.lock b/agent-node/yarn.lock index b69eb3e3..d0403594 100644 --- a/agent-node/yarn.lock +++ b/agent-node/yarn.lock @@ -2145,10 +2145,10 @@ levn@^0.4.1: prelude-ls "^1.2.1" type-check "~0.4.0" -libcardano@1.4.4: - version "1.4.4" - resolved "https://registry.yarnpkg.com/libcardano/-/libcardano-1.4.4.tgz#f7744398f99fa14e807ef8bf38eb1d465a3242c0" - integrity sha512-f40qcZAme8wzSF6bAfriWGJA0YhzcoMsSOo7r6QVsLzZ8ca8M6wHosYwfhXhpNgQQ5McktGJzcU8uKJnglfHUQ== +libcardano@1.4.11: + version "1.4.11" + resolved "https://registry.yarnpkg.com/libcardano/-/libcardano-1.4.11.tgz#ffe0f1f63a4a9bb940e87a5b5b68284cbbbaa1a7" + integrity sha512-rl/okJH27NBGwOx7VTgBkOJe4q6vBbBE4FbPrXXDhgLgI55004K0ODK0R4+3HCHAL8TtnXPqPRJXE5vvO++lIQ== dependencies: "@cardano-sdk/crypto" "^0.1.30" "@emurgo/cardano-serialization-lib-nodejs" "^11.5.0" diff --git a/api/backend/app/models/trigger/trigger_dto.py b/api/backend/app/models/trigger/trigger_dto.py index 43051b2c..cb131df1 100644 --- a/api/backend/app/models/trigger/trigger_dto.py +++ b/api/backend/app/models/trigger/trigger_dto.py @@ -26,7 +26,7 @@ class Action(BaseModel): # For Event Based Trigger BooleanOperator = Literal["AND", "OR"] -ComparisonOperator = Literal["equals", "greaterThan", "lessThan", "in"] +ComparisonOperator = Literal["equals", "greaterthan", "lessthan", "in"] class Field(BaseModel): @@ -37,6 +37,7 @@ class Field(BaseModel): class ChildrenFields(BaseModel): + id: Optional[Union[str, list[str]]] children: list["FilterNode"] negate: bool operator: BooleanOperator @@ -48,7 +49,7 @@ class ChildrenFields(BaseModel): class EventTriggerDTO(BaseModel): id: Optional[Union[str, list[str]]] - parameters: Optional[list[FilterNode]] + children: Optional[list[FilterNode]] negate: Optional[bool] operator: Optional[BooleanOperator] diff --git a/frontend/package.json b/frontend/package.json index 96039df3..97a21f03 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -67,6 +67,7 @@ "js-cookie": "^3.0.5", "katex": "^0.16.9", "kuber-client": "^2.0.3", + "libcardano": "^1.4.8", "libphonenumber-js": "^1.10.54", "little-state-machine": "^4.8.0", "lodash": "^4.17.21", diff --git a/frontend/src/api/agents.ts b/frontend/src/api/agents.ts index db5c6d4e..4d8cb86c 100644 --- a/frontend/src/api/agents.ts +++ b/frontend/src/api/agents.ts @@ -13,7 +13,7 @@ export type BooleanOperator = 'AND' | 'OR'; export type ComparisonOperator = 'equals' | 'greaterThan' | 'lessThan' | 'in'; export interface IFieldNode { - id: string | string[]; + id: string | Array; value: any; negate: boolean; operator: ComparisonOperator; @@ -28,7 +28,7 @@ export interface IBooleanNode { export interface IEventTrigger { id: string | string[]; - parameters: IFilterNode[]; + children: IFilterNode[]; negate: boolean; operator: BooleanOperator; } diff --git a/frontend/src/api/trigger.ts b/frontend/src/api/trigger.ts index 6d984499..0c2fb61a 100644 --- a/frontend/src/api/trigger.ts +++ b/frontend/src/api/trigger.ts @@ -94,6 +94,7 @@ export interface ITriggerCreateDto { } export const postTrigger = async (agentID: string, triggerData: ITriggerCreateDto) => { + console.log('Req body: ', triggerData); const response = await axios.post( `${baseAPIurl}/agents/${agentID}/triggers`, triggerData, diff --git a/frontend/src/app/(pages)/templates/create-template/components/event/EventTab.tsx b/frontend/src/app/(pages)/templates/create-template/components/event/EventTab.tsx index a1ded924..933478bc 100644 --- a/frontend/src/app/(pages)/templates/create-template/components/event/EventTab.tsx +++ b/frontend/src/app/(pages)/templates/create-template/components/event/EventTab.tsx @@ -1,8 +1,7 @@ import { useEffect, useState } from 'react'; import { IBooleanNode, IEventTrigger, IFieldNode } from '@api/agents'; -import { ChevronDown } from 'lucide-react'; -import { FileJson } from 'lucide-react'; +import { ChevronDown, FileJson } from 'lucide-react'; import { Card } from '@app/components/atoms/Card'; import { Checkbox } from '@app/components/atoms/Checkbox'; @@ -14,12 +13,12 @@ import { } from '@app/components/atoms/DropDownMenu'; import { Input } from '@app/components/atoms/Input'; import { cn } from '@app/components/lib/utils'; +import { CustomSelect } from '@app/components/molecules/CustomDropDown'; import { ErrorToast } from '@app/components/molecules/CustomToasts'; -import { CustomSelect } from '../../../../../../components/molecules/CustomDropDown'; import InfoCard from '../cards/InfoCard'; import CustomEditor from './CustomEditor'; -import { Events, IEvent, IEventFilter } from './EventTrigger'; +import { ISchema, transactionSchema } from './EventTrigger'; import NodeGraph from './EventTriggerGraph'; const EventTab = ({ @@ -31,11 +30,9 @@ const EventTab = ({ savedEventTrigger?: IEventTrigger; onChange?: (value: IEventTrigger) => void; }) => { - const [currentEvent, setCurrentEvent] = useState(null); + const [currentEvent, setCurrentEvent] = useState(null); - const [currentEventFilter, setCurrentEventFilter] = useState( - null - ); + const [currentEventFilter, setCurrentEventFilter] = useState(null); const [isInfoVisible, setIsInfoVisible] = useState(false); @@ -53,18 +50,17 @@ const EventTab = ({ useEffect(() => { if (savedEventTrigger) { - const savedEvent = Events.find( + const savedEvent = transactionSchema.find( (event) => event.id === savedEventTrigger?.id ); if (savedEvent) { setCurrentEvent(savedEvent); } - const lastEventFilter = savedEvent?.filters.find( - (filter) => - filter.id === - savedEventTrigger?.parameters[ - savedEventTrigger?.parameters.length - 1 - ]?.id + const lastEventFilter = savedEvent?.properties?.find( + (prop) => + prop.id === + savedEventTrigger?.children[savedEventTrigger?.children.length - 1] + ?.id ); if (lastEventFilter) { setCurrentEventFilter(lastEventFilter); @@ -73,12 +69,12 @@ const EventTab = ({ }, []); const handleSelectEvent = (eventId: string) => { - const selectedEvent = Events.find((event) => event.id === eventId); + const selectedEvent = transactionSchema.find((tx) => tx.id === eventId); if (selectedEvent) { setCurrentEvent(selectedEvent); setFormData({ id: selectedEvent?.id, - parameters: [], + children: [], negate: false, operator: 'AND' }); @@ -86,8 +82,8 @@ const EventTab = ({ }; const handleSelectEventFilter = (eventFilterId: string) => { - const selectedEventFilter = currentEvent?.filters.find( - (filter) => filter.id === eventFilterId + const selectedEventFilter = currentEvent?.properties?.find( + (prop) => prop.id === eventFilterId ); if (selectedEventFilter) { setCurrentEventFilter(selectedEventFilter); @@ -101,8 +97,8 @@ const EventTab = ({ formData && setFormData({ ...formData, - parameters: [ - ...formData.parameters, + children: [ + ...formData.children, { id: selectedEventFilter.id, operator: 'AND', @@ -116,13 +112,14 @@ const EventTab = ({ const handleAddParameter = (parameterId: string) => { if (formData && currentEventFilter) { - const selectedParameter = Events.find((event) => event.id === formData.id) - ?.filters.find((filter) => filter.id === currentEventFilter?.id) - ?.parameters.find((param) => param.id === parameterId); + const selectedParameter = transactionSchema + .find((tx) => tx.id === formData.id) + ?.properties?.find((filter) => filter.id === currentEventFilter?.id) + ?.properties?.find((param) => param.id === parameterId); if (selectedParameter) { const data = { ...formData, - parameters: formData.parameters.map((eventFilter) => + children: formData.children.map((eventFilter) => eventFilter.id === currentEventFilter?.id ? { ...eventFilter, @@ -149,7 +146,7 @@ const EventTab = ({ if (formData && currentEventFilter) { const data = { ...formData, - parameters: formData.parameters.map((eventFilter) => + children: formData.children.map((eventFilter) => eventFilter.id === currentEventFilter?.id ? { ...eventFilter, @@ -169,7 +166,7 @@ const EventTab = ({ if (formData && currentEventFilter) { const data = { ...formData, - parameters: formData.parameters.map((eventFilter) => + children: formData.children.map((eventFilter) => eventFilter.id === currentEventFilter?.id ? { ...eventFilter, @@ -191,7 +188,7 @@ const EventTab = ({ if (formData && currentEventFilter) { const data = { ...formData, - parameters: formData.parameters.map((eventFilter) => + children: formData.children.map((eventFilter) => eventFilter.id === currentEventFilter?.id ? { ...eventFilter, @@ -210,18 +207,20 @@ const EventTab = ({ }; const getNotSelectedEventFilters = () => { - return Events.find((event) => event.id === formData?.id)?.filters.filter( - (filter) => !formData?.parameters.find((param) => param.id === filter.id) - ); + return transactionSchema + .find((tx) => tx.id === formData?.id) + ?.properties?.filter( + (prop) => !formData?.children.find((child) => child.id === prop.id) + ); }; const getNotSelectedEventFilterParameters = () => { - return currentEventFilter?.parameters.filter( - (param) => - !formData?.parameters + return currentEventFilter?.properties?.filter( + (prop) => + !formData?.children .find((eventFilter) => eventFilter.id === currentEventFilter?.id) //@ts-ignore - ?.children.find((child: IFieldNode) => child.id === param.id) + ?.children.find((child: IFieldNode) => child.id === prop.id) ); }; @@ -246,9 +245,9 @@ const EventTab = ({ ({ - label: item.label, - value: item.id + options={transactionSchema.map((txProp) => ({ + label: txProp.label, + value: txProp.id }))} defaultValue={currentEvent?.label || 'Event'} label="Event" @@ -286,20 +285,20 @@ const EventTab = ({
@@ -317,7 +316,7 @@ const EventTab = ({ />
{currentEventFilter && - formData?.parameters.map((param, index) => { + formData?.children.map((param, index) => { if (param.id === currentEventFilter?.id) { return (
@@ -325,7 +324,7 @@ const EventTab = ({ (child, childIndex) => (
{ }
@@ -380,27 +382,52 @@ const RenderEventChildForm = ({ eventFilterParam, onValueChange, onOperatorChange, - onNegateChange + onNegateChange, + validator }: { eventFilterParam: IFieldNode; onValueChange?: (value: any) => void; onOperatorChange?: (value: any) => void; onNegateChange?: (value: boolean) => void; + validator?: (...args: any) => any; }) => { const [localOperator, setLocalOperator] = useState( eventFilterParam.operator ); - const operators = ['equals', 'greaterThan', 'lessThan', 'in']; + const [errMsg, setErrMsg] = useState(''); + + useEffect(() => { + const clearErrMsg = setTimeout(() => { + setErrMsg(''); + }, 3000); + return () => { + clearTimeout(clearErrMsg); + }; + }, [errMsg]); + + const operators = ['equals', 'greaterthan', 'lessthan', 'in']; const handleOperatorChange = (operator: string) => { setLocalOperator(operator); onOperatorChange?.(operator); }; + const handleInputChange = (e: React.ChangeEvent) => { + // if (validator && validator(e.target.value)) { + // onValueChange?.(e.target.value); + // } else { + // setErrMsg('Kei Error occured'); + // } + onValueChange?.(e.target.value); + }; return (
- {eventFilterParam.id} + + {Array.isArray(eventFilterParam.id) + ? (eventFilterParam.id as string[]).join('.') + : eventFilterParam.id} +
negate onValueChange?.(e.target.value)} + onChange={handleInputChange} /> + {errMsg && {errMsg}}
); }; diff --git a/frontend/src/app/(pages)/templates/create-template/components/event/EventTrigger.ts b/frontend/src/app/(pages)/templates/create-template/components/event/EventTrigger.ts index f239275d..94776de9 100644 --- a/frontend/src/app/(pages)/templates/create-template/components/event/EventTrigger.ts +++ b/frontend/src/app/(pages)/templates/create-template/components/event/EventTrigger.ts @@ -8,7 +8,7 @@ interface IEventFilterAtribute { export interface IEventFilter { id: string; label: string; - parameters: IEventFilterAtribute[]; + children: IEventFilterAtribute[]; } export interface IEvent { @@ -17,45 +17,93 @@ export interface IEvent { filters: IEventFilter[]; } -export const Events: IEvent[] = [ +export interface ISchema { + id: string | string[]; + label: string; + properties?: ISchema[]; + type?: string; + validator?: (...args: any) => any; +} + +export const transactionSchema: ISchema[] = [ { id: 'tx', - label: 'transaction', - filters: [ + label: 'Transaction', + type: 'object', + properties: [ + // output { - id: 'output', - label: 'tx.ouput', - parameters: [ + id: 'outputs', + label: 'Ouput', + type: 'object', + properties: [ + { + id: ['value', 'lovelace'], + label: 'value.lovelace', + type: 'bigint', + validator: (arg: number) => true + }, { - id: 'value', - label: 'value', - type: 'number' + id: ['value', 'multiAsset'], + label: 'value.multiAsset', + type: 'map', + validator: (arg: number) => true }, + // address { - id: 'address', + id: ['address', 'raw'], label: 'address', - type: 'string' + type: 'string', + validator: (arg: any) => true }, { - id: 'hash', - label: 'hash', - type: 'string' - } - ] - }, - { - id: 'input', - label: 'tx.input', - parameters: [ + id: ['address', 'networkId'], + label: 'address.networkId', + type: 'number', + validator: (arg: number) => true + }, { - id: 'value', - label: 'value', - type: 'number' + id: ['address', 'paymentPart', 'keyHash'], + label: 'address.paymentCredential.keyHash', + type: 'string', + validator: (arg: number) => true }, { - id: 'address', - label: 'address', - type: 'string' + id: ['address', 'paymentPart', 'scriptHash'], + label: 'address.paymentCredential.scriptHash', + type: 'string', + validator: (arg: number) => true + }, + { + id: ['address', 'stakePart', 'keyHash'], + label: 'address.stakeCredential.keyHash', + type: 'string', + validator: (arg: number) => true + }, + { + id: ['address', 'stakePart', 'scriptHash'], + label: 'address.stakeCredential.scriptHash', + type: 'string', + validator: (arg: number) => true + }, + { + id: 'inlineDatum', + label: 'InlineDatum', + type: 'object' + }, + //datumHash + { + id: 'datumHash', + label: 'DatumHash', + type: 'string', + validator: (arg: any) => true + }, + //referenceScript + { + id: 'referenceScript', + label: 'ReferenceScript', + type: 'object', + validator: (arg: any) => true } ] } diff --git a/frontend/src/app/(pages)/templates/create-template/components/event/EventTriggerGraph.tsx b/frontend/src/app/(pages)/templates/create-template/components/event/EventTriggerGraph.tsx index 661f0a27..7f44706e 100644 --- a/frontend/src/app/(pages)/templates/create-template/components/event/EventTriggerGraph.tsx +++ b/frontend/src/app/(pages)/templates/create-template/components/event/EventTriggerGraph.tsx @@ -103,7 +103,7 @@ export default function EventTriggerGraph({ width: getNodeWidth(text) }); - data.parameters.forEach((param) => { + data.children.forEach((param) => { // recursivelyAddNode(param, operatorId); addNodesRecursively(param, rootId); }); @@ -116,7 +116,6 @@ export default function EventTriggerGraph({ if (!data) { return
; } - return ( { const triggerData = mapFormFunctionToTriggerConfiguration(item); + console.log('triggerData', triggerData); triggerData && postTriggerMutation.mutate(triggerData); }; @@ -112,8 +112,8 @@ export default function AgentFunctionsComponent({ />
)} - - + + {}} diff --git a/frontend/src/components/Agent/AgentContent/FunctionsContainer.tsx b/frontend/src/components/Agent/AgentContent/FunctionsContainer.tsx index 6ca7e0da..3dfb2574 100644 --- a/frontend/src/components/Agent/AgentContent/FunctionsContainer.tsx +++ b/frontend/src/components/Agent/AgentContent/FunctionsContainer.tsx @@ -2,8 +2,7 @@ import React, { useState } from 'react'; -import { IAgentConfiguration } from '@api/agents'; -import { IAgent } from '@api/agents'; +import { IAgent, IAgentConfiguration } from '@api/agents'; import { updateTrigger } from '@api/trigger'; import { Dialog, DialogContent } from '@mui/material'; import useMediaQuery from '@mui/material/useMediaQuery'; @@ -17,8 +16,7 @@ import { import { IFormFunctionInstance } from '@app/app/(pages)/templates/create-template/page'; import { queryClient } from '@app/utils/providers/ReactQueryProvider'; -import { SuccessToast } from '../../molecules/CustomToasts'; -import { ErrorToast } from '../../molecules/CustomToasts'; +import { ErrorToast, SuccessToast } from '../../molecules/CustomToasts'; import FunctionCardWithMeta from '../shared/FunctionCardWithMeta'; const AgentFunctionsDetailComponent = ({ @@ -81,7 +79,7 @@ const AgentFunctionsDetailComponent = ({ /> ))} {currentFunction && ( - + { +export const AgentLogComponent = ({ agent }: { agent?: IAgent }) => { const statusOptions = ['Success', 'Skipped', 'Failed']; const [statusPlaceholder, setStatusPlaceholder] = useState('None'); const [currentFunction, setCurrentFunction] = useState('None'); @@ -50,6 +50,7 @@ export const AgentLogComponent = ({agent}: { agent?: IAgent }) => { refetchOnMount: true }); + console.log('logs: ', LogsHistory); function handleStatusChange(status: string) { if (status === statusPlaceholder) { setStatusPlaceholder('None'); @@ -111,24 +112,31 @@ export const AgentLogComponent = ({agent}: { agent?: IAgent }) => {
- {loadingLogs && } + {loadingLogs && } {!loadingLogs && LogsHistory?.items.length === 0 ? ( - - ) :
- {LogsHistory?.items?.map((history: IAgentTriggerHistory) => { - return - })} - -
} + + ) : ( +
+ {LogsHistory?.items?.map((history: IAgentTriggerHistory) => { + return ( + + ); + })} +
+ )}
); }; export const AgentLogCard = ({ - history, - className, - globalLog = false - }: { + history, + className, + globalLog = false +}: { history: IAgentTriggerHistory; className?: string; globalLog?: boolean; @@ -175,7 +183,7 @@ export const AgentLogCard = ({ (agents && agents[history.agentId] && agents[history.agentId].name) || - '', + '', 20 )}   #{history.instanceIndex} @@ -212,13 +220,13 @@ export const AgentLogCard = ({ Parameters {history.parameters?.map((param, index) => { return ( - + ); })}
)} {history.result ? ( -
+
Result {history.txHash || !history.message ? ( ) : ( - {history.message} + + {history.message} + )}
) : history.txHash ? ( - + ) : ( {history.message} )} - {history.internal && } + {history.internal && }
{ +const InternalLogs = ({ history }: { history: IAgentTriggerHistory }) => { return (
{history.internal?.map((internal: any, index: number) => { @@ -271,7 +281,7 @@ const InternalLogs = ({history}: { history: IAgentTriggerHistory }) => { internal.function_name} {internal.txHash && ( - + )} {internal.message && ( {internal.message} @@ -284,8 +294,8 @@ const InternalLogs = ({history}: { history: IAgentTriggerHistory }) => { ); }; -const LogFunctionParameter = ({param}: { param: any }) => { - const {copyToClipboard} = useCopyClipboard(); +const LogFunctionParameter = ({ param }: { param: any }) => { + const { copyToClipboard } = useCopyClipboard(); if (typeof param === 'string') { return {param}; } @@ -310,7 +320,7 @@ const LogFunctionParameter = ({param}: { param: any }) => { ) : (
- +
)}
@@ -318,34 +328,37 @@ const LogFunctionParameter = ({param}: { param: any }) => { }; const LogObjectParameter = ({ - params, - longTruncate = false - }: { + params, + longTruncate = false +}: { params: Record; longTruncate?: boolean; }) => { - const {copyToClipboard} = useCopyClipboard(); + const { copyToClipboard } = useCopyClipboard(); - return Object.entries(params).map((param, index) => { - return ( - - copyToClipboard( - param[1], - `${formatParameterName(param[0])} copied!` - ) - } - key={index} - className={` cursor-pointer truncate text-xs drop-shadow ${longTruncate ? ' w-[250px] md:max-w-[320px]' : 'w-[100px] md:max-w-[280px]'}`} - > - {formatParameterName(param[0])} : {param[1]} - - ); - }); + return ( + params && + Object.entries(params).map((param, index) => { + return ( + + copyToClipboard( + param[1], + `${formatParameterName(param[0])} copied!` + ) + } + key={index} + className={` cursor-pointer truncate text-xs drop-shadow ${longTruncate ? ' w-[250px] md:max-w-[320px]' : 'w-[100px] md:max-w-[280px]'}`} + > + {formatParameterName(param[0])} : {param[1]} + + ); + }) + ); }; -const TxHashComponent = ({txHash}: { txHash: string }) => { - const {copyToClipboard} = useCopyClipboard(); +const TxHashComponent = ({ txHash }: { txHash: string }) => { + const { copyToClipboard } = useCopyClipboard(); const handleOnClickCopy = () => { copyToClipboard(txHash, 'Transaction Hash Copied!'); }; @@ -378,7 +391,7 @@ const TxHashComponent = ({txHash}: { txHash: string }) => { export default AgentLogComponent; -export const AgentLogCardSkeleton = ({className}: { className?: string }) => { +export const AgentLogCardSkeleton = ({ className }: { className?: string }) => { return (
{ >
- +
- - + +
- - + +
- - + +
); diff --git a/frontend/yarn.lock b/frontend/yarn.lock index 5d1fd1a8..177d980b 100644 --- a/frontend/yarn.lock +++ b/frontend/yarn.lock @@ -1219,6 +1219,33 @@ dependencies: statuses "^2.0.1" +"@cardano-sdk/crypto@^0.1.30": + version "0.1.32" + resolved "https://registry.yarnpkg.com/@cardano-sdk/crypto/-/crypto-0.1.32.tgz#156ffe28cf6552ca1f059f5156b4b35ea6b142e2" + integrity sha512-RCKFvkzD32QpKQ0jULADVRNmfBNkCwiZl2nlFbkZ3aCrfIex+6/2CizoagJ161fA7lL5/HGuzWfjOg3GX2ax6w== + dependencies: + "@cardano-sdk/util" "~0.15.5" + blake2b "^2.1.4" + i "^0.3.7" + libsodium-wrappers-sumo "^0.7.5" + lodash "^4.17.21" + npm "^9.3.0" + pbkdf2 "^3.1.2" + ts-custom-error "^3.2.0" + ts-log "^2.2.4" + +"@cardano-sdk/util@~0.15.5": + version "0.15.5" + resolved "https://registry.yarnpkg.com/@cardano-sdk/util/-/util-0.15.5.tgz#e181f885fd1b2d6a26e9b6ac8db98a9a3b940094" + integrity sha512-TM80z29l6FMa878HBSHFETrRLA/jfh4X+CEF3RPw6Bf0a+BpXL9ve2qKjWMv5Gf4fvRIq1r+pFVKQGWKR9SzIA== + dependencies: + bech32 "^2.0.0" + lodash "^4.17.21" + serialize-error "^8" + ts-custom-error "^3.2.0" + ts-log "^2.2.4" + type-fest "^2.19.0" + "@chromatic-com/storybook@^1.3.2": version "1.3.2" resolved "https://registry.npmjs.org/@chromatic-com/storybook/-/storybook-1.3.2.tgz" @@ -1409,6 +1436,11 @@ resolved "https://registry.yarnpkg.com/@emurgo/cardano-serialization-lib-asmjs/-/cardano-serialization-lib-asmjs-12.0.0-alpha.30.tgz#44419615a3ac90cc4e2f01889553f341d6b8e9a7" integrity sha512-7I11UmeMep+aN34szfne4+V6BWvgnSXpBjbETQQeiwuD1c5QAIh4HjfYxf8N/At4PdovaoOH1u/jAX4wAlz1GA== +"@emurgo/cardano-serialization-lib-nodejs@^11.5.0": + version "11.5.0" + resolved "https://registry.yarnpkg.com/@emurgo/cardano-serialization-lib-nodejs/-/cardano-serialization-lib-nodejs-11.5.0.tgz#0662e2a17d7d1e944f8cdb86396133c8edaec059" + integrity sha512-IlVABlRgo9XaTR1NunwZpWcxnfEv04ba2l1vkUz4S1W7Jt36F4CtffP+jPeqBZGnAe+fnUwo0XjIJC3ZTNToNQ== + "@esbuild/aix-ppc64@0.20.2": version "0.20.2" resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz#a70f4ac11c6a1dfc18b8bbb13284155d933b9537" @@ -1629,6 +1661,11 @@ resolved "https://registry.yarnpkg.com/@floating-ui/utils/-/utils-0.2.8.tgz#21a907684723bbbaa5f0974cf7730bd797eb8e62" integrity sha512-kym7SodPp8/wloecOpcmSnWJsK7M0E5Wg8UcFA+uO4B9s5d0ywXOEro/8HM9x0rW+TljRzul/14UYz3TleT3ig== +"@gar/promisify@^1.1.3": + version "1.1.3" + resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.3.tgz#555193ab2e3bb3b6adc3d551c9c030d9e860daf6" + integrity sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw== + "@gilbarbara/deep-equal@^0.1.1": version "0.1.2" resolved "https://registry.npmjs.org/@gilbarbara/deep-equal/-/deep-equal-0.1.2.tgz" @@ -1703,6 +1740,11 @@ wrap-ansi "^8.1.0" wrap-ansi-cjs "npm:wrap-ansi@^7.0.0" +"@isaacs/string-locale-compare@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@isaacs/string-locale-compare/-/string-locale-compare-1.1.0.tgz#291c227e93fd407a96ecd59879a35809120e432b" + integrity sha512-SQ7Kzhh9+D+ZW9MA0zkYv3VXhIDNx+LzM6EJ+/65I3QY+enU6Itte7E5XX7EWrqLW2FN4n06GWzBnPoC3th2aQ== + "@istanbuljs/load-nyc-config@^1.0.0": version "1.1.0" resolved "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz" @@ -2202,6 +2244,23 @@ resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.2.13.tgz#5a920eea82a58affa6146192586716cec6c87fed" integrity sha512-WwzOEAFBGhlDHE5Z73mNU8CO8mqMNLqaG+AO9ETmzdCQlJhVtWZnOl2+rqgVQS+YHunjOWptdFmNfbpwcUuEsw== +"@noble/curves@^1.6.0": + version "1.7.0" + resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.7.0.tgz#0512360622439256df892f21d25b388f52505e45" + integrity sha512-UTMhXK9SeDhFJVrHeUJ5uZlI6ajXg10O6Ddocf9S6GjbSBVZsJo88HzKwXznNfGpMTRDyJkqMjNDPYgf0qFWnw== + dependencies: + "@noble/hashes" "1.6.0" + +"@noble/hashes@1.6.0": + version "1.6.0" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.6.0.tgz#d4bfb516ad6e7b5111c216a5cc7075f4cf19e6c5" + integrity sha512-YUULf0Uk4/mAA89w+k3+yUYh6NrEvxZa5T6SY3wlMvE2chHkxFUUIDI8/XW1QSC357iA5pSnqt7XEhvFOqmDyQ== + +"@noble/hashes@^1.2.0": + version "1.6.1" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.6.1.tgz#df6e5943edcea504bac61395926d6fd67869a0d5" + integrity sha512-pq5D8h10hHBjyqX+cfBm0i8JUXJ0UhczFc4r74zbuT9XgewFo2E3J1cOaGtdZynILNmQ685YWGzGE1Zv6io50w== + "@nodelib/fs.scandir@2.1.5": version "2.1.5" resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" @@ -2223,6 +2282,179 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" +"@npmcli/arborist@^6.5.0": + version "6.5.1" + resolved "https://registry.yarnpkg.com/@npmcli/arborist/-/arborist-6.5.1.tgz#b378a2e162e9b868d06f8f2c7e87e828de7e63ba" + integrity sha512-cdV8pGurLK0CifZRilMJbm2CZ3H4Snk8PAqOngj5qmgFLjEllMLvScSZ3XKfd+CK8fo/hrPHO9zazy9OYdvmUg== + dependencies: + "@isaacs/string-locale-compare" "^1.1.0" + "@npmcli/fs" "^3.1.0" + "@npmcli/installed-package-contents" "^2.0.2" + "@npmcli/map-workspaces" "^3.0.2" + "@npmcli/metavuln-calculator" "^5.0.0" + "@npmcli/name-from-folder" "^2.0.0" + "@npmcli/node-gyp" "^3.0.0" + "@npmcli/package-json" "^4.0.0" + "@npmcli/query" "^3.1.0" + "@npmcli/run-script" "^6.0.0" + bin-links "^4.0.1" + cacache "^17.0.4" + common-ancestor-path "^1.0.1" + hosted-git-info "^6.1.1" + json-parse-even-better-errors "^3.0.0" + json-stringify-nice "^1.1.4" + minimatch "^9.0.0" + nopt "^7.0.0" + npm-install-checks "^6.2.0" + npm-package-arg "^10.1.0" + npm-pick-manifest "^8.0.1" + npm-registry-fetch "^14.0.3" + npmlog "^7.0.1" + pacote "^15.0.8" + parse-conflict-json "^3.0.0" + proc-log "^3.0.0" + promise-all-reject-late "^1.0.0" + promise-call-limit "^1.0.2" + read-package-json-fast "^3.0.2" + semver "^7.3.7" + ssri "^10.0.1" + treeverse "^3.0.0" + walk-up-path "^3.0.1" + +"@npmcli/config@^6.4.0": + version "6.4.1" + resolved "https://registry.yarnpkg.com/@npmcli/config/-/config-6.4.1.tgz#006409c739635db008e78bf58c92421cc147911d" + integrity sha512-uSz+elSGzjCMANWa5IlbGczLYPkNI/LeR+cHrgaTqTrTSh9RHhOFA4daD2eRUz6lMtOW+Fnsb+qv7V2Zz8ML0g== + dependencies: + "@npmcli/map-workspaces" "^3.0.2" + ci-info "^4.0.0" + ini "^4.1.0" + nopt "^7.0.0" + proc-log "^3.0.0" + read-package-json-fast "^3.0.2" + semver "^7.3.5" + walk-up-path "^3.0.1" + +"@npmcli/disparity-colors@^3.0.0": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@npmcli/disparity-colors/-/disparity-colors-3.0.1.tgz#042d5ef548200c81e3ee3a84c994744573fe79fd" + integrity sha512-cOypTz/9IAhaPgOktbDNPeccTU88y8I1ZURbPeC0ooziK1h6dRJs2iGz1eKP1muaeVbow8GqQ0DaxLG8Bpmblw== + dependencies: + ansi-styles "^4.3.0" + +"@npmcli/fs@^2.1.0": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-2.1.2.tgz#a9e2541a4a2fec2e69c29b35e6060973da79b865" + integrity sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ== + dependencies: + "@gar/promisify" "^1.1.3" + semver "^7.3.5" + +"@npmcli/fs@^3.1.0": + version "3.1.1" + resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-3.1.1.tgz#59cdaa5adca95d135fc00f2bb53f5771575ce726" + integrity sha512-q9CRWjpHCMIh5sVyefoD1cA7PkvILqCZsnSOEUUivORLjxCO/Irmue2DprETiNgEqktDBZaM1Bi+jrarx1XdCg== + dependencies: + semver "^7.3.5" + +"@npmcli/git@^4.0.0", "@npmcli/git@^4.0.1", "@npmcli/git@^4.1.0": + version "4.1.0" + resolved "https://registry.yarnpkg.com/@npmcli/git/-/git-4.1.0.tgz#ab0ad3fd82bc4d8c1351b6c62f0fa56e8fe6afa6" + integrity sha512-9hwoB3gStVfa0N31ymBmrX+GuDGdVA/QWShZVqE0HK2Af+7QGGrCTbZia/SW0ImUTjTne7SP91qxDmtXvDHRPQ== + dependencies: + "@npmcli/promise-spawn" "^6.0.0" + lru-cache "^7.4.4" + npm-pick-manifest "^8.0.0" + proc-log "^3.0.0" + promise-inflight "^1.0.1" + promise-retry "^2.0.1" + semver "^7.3.5" + which "^3.0.0" + +"@npmcli/installed-package-contents@^2.0.1", "@npmcli/installed-package-contents@^2.0.2": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@npmcli/installed-package-contents/-/installed-package-contents-2.1.0.tgz#63048e5f6e40947a3a88dcbcb4fd9b76fdd37c17" + integrity sha512-c8UuGLeZpm69BryRykLuKRyKFZYJsZSCT4aVY5ds4omyZqJ172ApzgfKJ5eV/r3HgLdUYgFVe54KSFVjKoe27w== + dependencies: + npm-bundled "^3.0.0" + npm-normalize-package-bin "^3.0.0" + +"@npmcli/map-workspaces@^3.0.2", "@npmcli/map-workspaces@^3.0.4": + version "3.0.6" + resolved "https://registry.yarnpkg.com/@npmcli/map-workspaces/-/map-workspaces-3.0.6.tgz#27dc06c20c35ef01e45a08909cab9cb3da08cea6" + integrity sha512-tkYs0OYnzQm6iIRdfy+LcLBjcKuQCeE5YLb8KnrIlutJfheNaPvPpgoFEyEFgbjzl5PLZ3IA/BWAwRU0eHuQDA== + dependencies: + "@npmcli/name-from-folder" "^2.0.0" + glob "^10.2.2" + minimatch "^9.0.0" + read-package-json-fast "^3.0.0" + +"@npmcli/metavuln-calculator@^5.0.0": + version "5.0.1" + resolved "https://registry.yarnpkg.com/@npmcli/metavuln-calculator/-/metavuln-calculator-5.0.1.tgz#426b3e524c2008bcc82dbc2ef390aefedd643d76" + integrity sha512-qb8Q9wIIlEPj3WeA1Lba91R4ZboPL0uspzV0F9uwP+9AYMVB2zOoa7Pbk12g6D2NHAinSbHh6QYmGuRyHZ874Q== + dependencies: + cacache "^17.0.0" + json-parse-even-better-errors "^3.0.0" + pacote "^15.0.0" + semver "^7.3.5" + +"@npmcli/move-file@^2.0.0": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-2.0.1.tgz#26f6bdc379d87f75e55739bab89db525b06100e4" + integrity sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ== + dependencies: + mkdirp "^1.0.4" + rimraf "^3.0.2" + +"@npmcli/name-from-folder@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@npmcli/name-from-folder/-/name-from-folder-2.0.0.tgz#c44d3a7c6d5c184bb6036f4d5995eee298945815" + integrity sha512-pwK+BfEBZJbKdNYpHHRTNBwBoqrN/iIMO0AiGvYsp3Hoaq0WbgGSWQR6SCldZovoDpY3yje5lkFUe6gsDgJ2vg== + +"@npmcli/node-gyp@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@npmcli/node-gyp/-/node-gyp-3.0.0.tgz#101b2d0490ef1aa20ed460e4c0813f0db560545a" + integrity sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA== + +"@npmcli/package-json@^4.0.0", "@npmcli/package-json@^4.0.1": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@npmcli/package-json/-/package-json-4.0.1.tgz#1a07bf0e086b640500791f6bf245ff43cc27fa37" + integrity sha512-lRCEGdHZomFsURroh522YvA/2cVb9oPIJrjHanCJZkiasz1BzcnLr3tBJhlV7S86MBJBuAQ33is2D60YitZL2Q== + dependencies: + "@npmcli/git" "^4.1.0" + glob "^10.2.2" + hosted-git-info "^6.1.1" + json-parse-even-better-errors "^3.0.0" + normalize-package-data "^5.0.0" + proc-log "^3.0.0" + semver "^7.5.3" + +"@npmcli/promise-spawn@^6.0.0", "@npmcli/promise-spawn@^6.0.1", "@npmcli/promise-spawn@^6.0.2": + version "6.0.2" + resolved "https://registry.yarnpkg.com/@npmcli/promise-spawn/-/promise-spawn-6.0.2.tgz#c8bc4fa2bd0f01cb979d8798ba038f314cfa70f2" + integrity sha512-gGq0NJkIGSwdbUt4yhdF8ZrmkGKVz9vAdVzpOfnom+V8PLSmSOVhZwbNvZZS1EYcJN5hzzKBxmmVVAInM6HQLg== + dependencies: + which "^3.0.0" + +"@npmcli/query@^3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@npmcli/query/-/query-3.1.0.tgz#bc202c59e122a06cf8acab91c795edda2cdad42c" + integrity sha512-C/iR0tk7KSKGldibYIB9x8GtO/0Bd0I2mhOaDb8ucQL/bQVTmGoeREaFj64Z5+iCBRf3dQfed0CjJL7I8iTkiQ== + dependencies: + postcss-selector-parser "^6.0.10" + +"@npmcli/run-script@^6.0.0", "@npmcli/run-script@^6.0.2": + version "6.0.2" + resolved "https://registry.yarnpkg.com/@npmcli/run-script/-/run-script-6.0.2.tgz#a25452d45ee7f7fb8c16dfaf9624423c0c0eb885" + integrity sha512-NCcr1uQo1k5U+SYlnIrbAh3cxy+OQT1VtqiAbxdymSlptbzBb62AjH2xXgjNCoP073hoa1CfCAcwoZ8k96C4nA== + dependencies: + "@npmcli/node-gyp" "^3.0.0" + "@npmcli/promise-spawn" "^6.0.0" + node-gyp "^9.0.0" + read-package-json-fast "^3.0.0" + which "^3.0.0" + "@open-draft/deferred-promise@^2.2.0": version "2.2.0" resolved "https://registry.npmjs.org/@open-draft/deferred-promise/-/deferred-promise-2.2.0.tgz" @@ -2300,6 +2532,23 @@ resolved "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz" integrity sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A== +"@prisma/client@4.15.0": + version "4.15.0" + resolved "https://registry.yarnpkg.com/@prisma/client/-/client-4.15.0.tgz#f52ec6ca6fbde37395a54b0a9e5da603a9de15f3" + integrity sha512-xnROvyABcGiwqRNdrObHVZkD9EjkJYHOmVdlKy1yGgI+XOzvMzJ4tRg3dz1pUlsyhKxXGCnjIQjWW+2ur+YXuw== + dependencies: + "@prisma/engines-version" "4.15.0-28.8fbc245156db7124f997f4cecdd8d1219e360944" + +"@prisma/engines-version@4.15.0-28.8fbc245156db7124f997f4cecdd8d1219e360944": + version "4.15.0-28.8fbc245156db7124f997f4cecdd8d1219e360944" + resolved "https://registry.yarnpkg.com/@prisma/engines-version/-/engines-version-4.15.0-28.8fbc245156db7124f997f4cecdd8d1219e360944.tgz#8d880becf996cffe08c78ad5afab6bc06090c990" + integrity sha512-sVOig4tjGxxlYaFcXgE71f/rtFhzyYrfyfNFUsxCIEJyVKU9rdOWIlIwQ2NQ7PntvGnn+x0XuFo4OC1jvPJKzg== + +"@prisma/engines@4.16.2": + version "4.16.2" + resolved "https://registry.yarnpkg.com/@prisma/engines/-/engines-4.16.2.tgz#5ec8dd672c2173d597e469194916ad4826ce2e5f" + integrity sha512-vx1nxVvN4QeT/cepQce68deh/Turxy5Mr+4L4zClFuK1GlxN3+ivxfuv+ej/gvidWn1cE1uAhW7ALLNlYbRUAw== + "@radix-ui/number@1.0.1": version "1.0.1" resolved "https://registry.npmjs.org/@radix-ui/number/-/number-1.0.1.tgz" @@ -3512,6 +3761,35 @@ "@sentry/cli" "^1.77.1" webpack-sources "^2.0.0 || ^3.0.0" +"@sigstore/bundle@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@sigstore/bundle/-/bundle-1.1.0.tgz#17f8d813b09348b16eeed66a8cf1c3d6bd3d04f1" + integrity sha512-PFutXEy0SmQxYI4texPw3dd2KewuNqv7OuK1ZFtY2fM754yhvG2KdgwIhRnoEE2uHdtdGNQ8s0lb94dW9sELog== + dependencies: + "@sigstore/protobuf-specs" "^0.2.0" + +"@sigstore/protobuf-specs@^0.2.0": + version "0.2.1" + resolved "https://registry.yarnpkg.com/@sigstore/protobuf-specs/-/protobuf-specs-0.2.1.tgz#be9ef4f3c38052c43bd399d3f792c97ff9e2277b" + integrity sha512-XTWVxnWJu+c1oCshMLwnKvz8ZQJJDVOlciMfgpJBQbThVjKTCG8dwyhgLngBD2KN0ap9F/gOV8rFDEx8uh7R2A== + +"@sigstore/sign@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@sigstore/sign/-/sign-1.0.0.tgz#6b08ebc2f6c92aa5acb07a49784cb6738796f7b4" + integrity sha512-INxFVNQteLtcfGmcoldzV6Je0sbbfh9I16DM4yJPw3j5+TFP8X6uIiA18mvpEa9yyeycAKgPmOA3X9hVdVTPUA== + dependencies: + "@sigstore/bundle" "^1.1.0" + "@sigstore/protobuf-specs" "^0.2.0" + make-fetch-happen "^11.0.1" + +"@sigstore/tuf@^1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@sigstore/tuf/-/tuf-1.0.3.tgz#2a65986772ede996485728f027b0514c0b70b160" + integrity sha512-2bRovzs0nJZFlCN3rXirE4gwxCn97JNjMmwpecqlbgV9WcxX7WRuIrgzx/X7Ib7MYRbyUTpBYE0s2x6AmZXnlg== + dependencies: + "@sigstore/protobuf-specs" "^0.2.0" + tuf-js "^1.1.7" + "@sinclair/typebox@^0.27.8": version "0.27.8" resolved "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz" @@ -4428,6 +4706,19 @@ resolved "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz" integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== +"@tufjs/canonical-json@1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@tufjs/canonical-json/-/canonical-json-1.0.0.tgz#eade9fd1f537993bc1f0949f3aea276ecc4fab31" + integrity sha512-QTnf++uxunWvG2z3UFNzAoQPHxnSXOwtaI3iJ+AohhV+5vONuArPjJE7aPXPVXfXJsqrVbZBu9b81AJoSd09IQ== + +"@tufjs/models@1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@tufjs/models/-/models-1.0.4.tgz#5a689630f6b9dbda338d4b208019336562f176ef" + integrity sha512-qaGV9ltJP0EO25YfFUPhxRVK0evXFIAGicsVXuRim4Ed9cjPxYhNnNJ49SFmbeLgtxpslIkX317IgpfcHPVj/A== + dependencies: + "@tufjs/canonical-json" "1.0.0" + minimatch "^9.0.0" + "@types/aria-query@^5.0.1": version "5.0.4" resolved "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz" @@ -5433,6 +5724,16 @@ abab@^2.0.6: resolved "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz" integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA== +abbrev@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" + integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== + +abbrev@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-2.0.0.tgz#cf59829b8b4f03f89dda2771cb7f3653828c89bf" + integrity sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ== + abort-controller@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz" @@ -5514,7 +5815,7 @@ after-all-results@^2.0.0: resolved "https://registry.npmjs.org/after-all-results/-/after-all-results-2.0.0.tgz" integrity sha512-2zHEyuhSJOuCrmas9YV0YL/MFCWLxe1dS6k/ENhgYrb/JqyMnadLN4iIAc9kkZrbElMDyyAGH/0J18OPErOWLg== -agent-base@6: +agent-base@6, agent-base@^6.0.2: version "6.0.2" resolved "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz" integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== @@ -5582,6 +5883,11 @@ ajv@^8.0.0, ajv@^8.6.0, ajv@^8.9.0: require-from-string "^2.0.2" uri-js "^4.2.2" +ansi-colors@^4.1.3: + version "4.1.3" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" + integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== + ansi-escapes@^4.2.1: version "4.3.2" resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz" @@ -5601,6 +5907,11 @@ ansi-html-community@0.0.8, ansi-html-community@^0.0.8: resolved "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz" integrity sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw== +ansi-regex@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + integrity sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA== + ansi-regex@^5.0.1: version "5.0.1" resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" @@ -5618,7 +5929,7 @@ ansi-styles@^3.2.1: dependencies: color-convert "^1.9.0" -ansi-styles@^4.0.0, ansi-styles@^4.1.0: +ansi-styles@^4.0.0, ansi-styles@^4.1.0, ansi-styles@^4.3.0: version "4.3.0" resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== @@ -5653,6 +5964,42 @@ app-root-dir@^1.0.2: resolved "https://registry.npmjs.org/app-root-dir/-/app-root-dir-1.0.2.tgz" integrity sha512-jlpIfsOoNoafl92Sz//64uQHGSyMrD2vYG5d8o2a4qGvyNCvXur7bzIsWtAC/6flI2RYAp3kv8rsfBtaLm7w0g== +aproba@^1.0.3: + version "1.2.0" + resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" + integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== + +"aproba@^1.0.3 || ^2.0.0", aproba@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/aproba/-/aproba-2.0.0.tgz#52520b8ae5b569215b354efc0caa3fe1e45a8adc" + integrity sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ== + +archy@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40" + integrity sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw== + +are-we-there-yet@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz#679df222b278c64f2cdba1175cdc00b0d96164bd" + integrity sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg== + dependencies: + delegates "^1.0.0" + readable-stream "^3.6.0" + +are-we-there-yet@^4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-4.0.2.tgz#aed25dd0eae514660d49ac2b2366b175c614785a" + integrity sha512-ncSWAawFhKMJDTdoAeOV+jyW1VCMj5QIAwULIBV0SSR7B/RLPPEQiknKcg/RIIZlUQrxELpsxMiTUoAQ4sIUyg== + +are-we-there-yet@~1.1.2: + version "1.1.7" + resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz#b15474a932adab4ff8a50d9adfa7e4e926f21146" + integrity sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g== + dependencies: + delegates "^1.0.0" + readable-stream "^2.0.6" + arg@^4.1.0: version "4.1.3" resolved "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz" @@ -5839,6 +6186,11 @@ assertion-error@^1.1.0: resolved "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz" integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== +assertion-error@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-2.0.1.tgz#f641a196b335690b1070bf00b6e7593fec190bf7" + integrity sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA== + ast-types-flow@^0.0.8: version "0.0.8" resolved "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz" @@ -5870,6 +6222,13 @@ async-value@^1.2.2: resolved "https://registry.npmjs.org/async-value/-/async-value-1.2.2.tgz" integrity sha512-8rwtYe32OAS1W9CTwvknoyts+mc3ta8N7Pi0h7AjkMaKvsFbr39K+gEfZ7Z81aPXQ1sK5M23lgLy1QfZpcpadQ== +async@^2.6.2: + version "2.6.4" + resolved "https://registry.yarnpkg.com/async/-/async-2.6.4.tgz#706b7ff6084664cd7eae713f6f965433b5504221" + integrity sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA== + dependencies: + lodash "^4.17.14" + async@^3.2.3: version "3.2.5" resolved "https://registry.npmjs.org/async/-/async-3.2.5.tgz" @@ -5951,6 +6310,11 @@ axobject-query@^3.2.1: dependencies: dequal "^2.0.3" +b4a@^1.0.1: + version "1.6.7" + resolved "https://registry.yarnpkg.com/b4a/-/b4a-1.6.7.tgz#a99587d4ebbfbd5a6e3b21bdb5d5fa385767abe4" + integrity sha512-OnAYlL5b7LEkALw87fUVafQw5rVR9RjwGd4KUwNQ6DrrNmaVaUCgLipfVlzrPQ4tWOR9P0IXGNOx50jYCCdSJg== + b4a@^1.6.4: version "1.6.6" resolved "https://registry.npmjs.org/b4a/-/b4a-1.6.6.tgz" @@ -6157,16 +6521,69 @@ bignumber.js@^9.0.0: resolved "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.2.tgz" integrity sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug== +bin-links@^4.0.1: + version "4.0.4" + resolved "https://registry.yarnpkg.com/bin-links/-/bin-links-4.0.4.tgz#c3565832b8e287c85f109a02a17027d152a58a63" + integrity sha512-cMtq4W5ZsEwcutJrVId+a/tjt8GSbS+h0oNkdl6+6rBuEv8Ot33Bevj5KPm40t309zuhVic8NjpuL42QCiJWWA== + dependencies: + cmd-shim "^6.0.0" + npm-normalize-package-bin "^3.0.0" + read-cmd-shim "^4.0.0" + write-file-atomic "^5.0.0" + binary-extensions@^2.0.0: version "2.2.0" resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== +binary-extensions@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.3.0.tgz#f6e14a97858d327252200242d4ccfe522c445522" + integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== + binary-search@^1.3.3: version "1.3.6" resolved "https://registry.npmjs.org/binary-search/-/binary-search-1.3.6.tgz" integrity sha512-nbE1WxOTTrUWIfsfZ4aHGYu5DOuNkbxGokjV6Z2kxfJK3uaAb8zNK1muzOeipoLHZjInT4Br88BHpzevc681xA== +binary@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/binary/-/binary-0.3.0.tgz#9f60553bc5ce8c3386f3b553cff47462adecaa79" + integrity sha512-D4H1y5KYwpJgK8wk1Cue5LLPgmwHKYSChkbspQg5JtVuR5ulGckxfR62H3AE9UDkdMC8yyXlqYihuz3Aqg2XZg== + dependencies: + buffers "~0.1.1" + chainsaw "~0.1.0" + +bindings@^1.3.1: + version "1.5.0" + resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" + integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== + dependencies: + file-uri-to-path "1.0.0" + +bip39@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/bip39/-/bip39-3.1.0.tgz#c55a418deaf48826a6ceb34ac55b3ee1577e18a3" + integrity sha512-c9kiwdk45Do5GL0vJMe7tS95VjCii65mYAH7DfWl3uW8AVzXKQVUm64i3hzVybBDMp9r7j9iNxR85+ul8MdN/A== + dependencies: + "@noble/hashes" "^1.2.0" + +bl@^1.0.0: + version "1.2.3" + resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.3.tgz#1e8dd80142eac80d7158c9dccc047fb620e035e7" + integrity sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww== + dependencies: + readable-stream "^2.3.5" + safe-buffer "^5.1.1" + +bl@^2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/bl/-/bl-2.2.1.tgz#8c11a7b730655c5d56898cdc871224f40fd901d5" + integrity sha512-6Pesp1w0DEX1N550i/uGV/TqucVL4AM/pgThFSN/Qq9si1/DF9aIHs1BxD8V/QU0HoeHO6cQRTAuYnLPKq1e4g== + dependencies: + readable-stream "^2.3.5" + safe-buffer "^5.1.1" + bl@^4.0.3, bl@^4.1.0: version "4.1.0" resolved "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz" @@ -6185,6 +6602,27 @@ bl@^5.0.0: inherits "^2.0.4" readable-stream "^3.4.0" +blake2b-wasm@^2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/blake2b-wasm/-/blake2b-wasm-2.4.0.tgz#9115649111edbbd87eb24ce7c04b427e4e2be5be" + integrity sha512-S1kwmW2ZhZFFFOghcx73+ZajEfKBqhP82JMssxtLVMxlaPea1p9uoLiUZ5WYyHn0KddwbLc+0vh4wR0KBNoT5w== + dependencies: + b4a "^1.0.1" + nanoassert "^2.0.0" + +blake2b@^2.1.4: + version "2.1.4" + resolved "https://registry.yarnpkg.com/blake2b/-/blake2b-2.1.4.tgz#817d278526ddb4cd673bfb1af16d1ad61e393ba3" + integrity sha512-AyBuuJNI64gIvwx13qiICz6H6hpmjvYS5DGkG6jbXMOT8Z3WUJ3V1X0FlhIoT1b/5JtHE3ki+xjtMvu1nn+t9A== + dependencies: + blake2b-wasm "^2.4.0" + nanoassert "^2.0.0" + +blakejs@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/blakejs/-/blakejs-1.2.1.tgz#5057e4206eadb4a97f7c0b6e197a505042fc3814" + integrity sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ== + bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.9: version "4.12.0" resolved "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz" @@ -6269,6 +6707,11 @@ browser-assert@^1.2.1: resolved "https://registry.npmjs.org/browser-assert/-/browser-assert-1.2.1.tgz" integrity sha512-nfulgvOR6S4gt9UKCeGJOuSGBPGiFT6oQ/2UBnvTY/5aQ1PnksW72fhZkM30DzoRRv2WpwZf1vHHEr3mtuXIWQ== +browser-stdout@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" + integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== + browserify-aes@^1.0.4, browserify-aes@^1.2.0: version "1.2.0" resolved "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz" @@ -6367,6 +6810,29 @@ bson-objectid@^2.0.4: resolved "https://registry.npmjs.org/bson-objectid/-/bson-objectid-2.0.4.tgz" integrity sha512-vgnKAUzcDoa+AeyYwXCoHyF2q6u/8H46dxu5JN+4/TZeq/Dlinn0K6GvxsCLb3LHUJl0m/TLiEK31kUwtgocMQ== +buffer-alloc-unsafe@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz#bd7dc26ae2972d0eda253be061dba992349c19f0" + integrity sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg== + +buffer-alloc@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/buffer-alloc/-/buffer-alloc-1.2.0.tgz#890dd90d923a873e08e10e5fd51a57e5b7cce0ec" + integrity sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow== + dependencies: + buffer-alloc-unsafe "^1.1.0" + buffer-fill "^1.0.0" + +buffer-crc32@~0.2.5: + version "0.2.13" + resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" + integrity sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ== + +buffer-fill@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c" + integrity sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ== + buffer-from@^1.0.0: version "1.1.2" resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz" @@ -6393,6 +6859,25 @@ buffer@^6.0.3: base64-js "^1.3.1" ieee754 "^1.2.1" +buffermaker@~1.2.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/buffermaker/-/buffermaker-1.2.1.tgz#0631f92b891a84b750f1036491ac857c734429f4" + integrity sha512-IdnyU2jDHU65U63JuVQNTHiWjPRH0CS3aYd/WPaEwyX84rFdukhOduAVb1jwUScmb5X0JWPw8NZOrhoLMiyAHQ== + dependencies: + long "1.1.2" + +buffers@~0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/buffers/-/buffers-0.1.1.tgz#b24579c3bed4d6d396aeee6d9a8ae7f5482ab7bb" + integrity sha512-9q/rDEGSb/Qsvv2qvzIzdluL5k7AaJOTrw23z9reQthrbF7is4CtlT0DXyO1oei2DCp4uojjzQ7igaSHp1kAEQ== + +bufferutil@^4.0.1: + version "4.0.8" + resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-4.0.8.tgz#1de6a71092d65d7766c4d8a522b261a6e787e8ea" + integrity sha512-4T53u4PdgsXqKaIctwF8ifXlRTTmEPJ8iEPWFdGZvcf7sbwYo6FKFEX9eNNAnzFZ7EzJAQ3CJeOtCRA4rDp7Pw== + dependencies: + node-gyp-build "^4.3.0" + builtin-modules@^3.1.0: version "3.3.0" resolved "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz" @@ -6420,6 +6905,48 @@ bytes@3.1.2: resolved "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz" integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== +cacache@^16.1.0: + version "16.1.3" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.1.3.tgz#a02b9f34ecfaf9a78c9f4bc16fceb94d5d67a38e" + integrity sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ== + dependencies: + "@npmcli/fs" "^2.1.0" + "@npmcli/move-file" "^2.0.0" + chownr "^2.0.0" + fs-minipass "^2.1.0" + glob "^8.0.1" + infer-owner "^1.0.4" + lru-cache "^7.7.1" + minipass "^3.1.6" + minipass-collect "^1.0.2" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.4" + mkdirp "^1.0.4" + p-map "^4.0.0" + promise-inflight "^1.0.1" + rimraf "^3.0.2" + ssri "^9.0.0" + tar "^6.1.11" + unique-filename "^2.0.0" + +cacache@^17.0.0, cacache@^17.0.4, cacache@^17.1.4: + version "17.1.4" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-17.1.4.tgz#b3ff381580b47e85c6e64f801101508e26604b35" + integrity sha512-/aJwG2l3ZMJ1xNAnqbMpA40of9dj/pIH3QfiuQSqjfPJF747VR0J/bHn+/KdNnHKc6XQcWt/AfRSBft82W1d2A== + dependencies: + "@npmcli/fs" "^3.1.0" + fs-minipass "^3.0.0" + glob "^10.2.2" + lru-cache "^7.7.1" + minipass "^7.0.3" + minipass-collect "^1.0.2" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.4" + p-map "^4.0.0" + ssri "^10.0.0" + tar "^6.1.11" + unique-filename "^3.0.0" + calculate-size@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/calculate-size/-/calculate-size-1.1.1.tgz#ae7caa1c7795f82c4f035dc7be270e3581dae3ee" @@ -6459,7 +6986,7 @@ camelcase@^5.0.0, camelcase@^5.3.1: resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== -camelcase@^6.2.0: +camelcase@^6.0.0, camelcase@^6.2.0: version "6.3.0" resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz" integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== @@ -6491,6 +7018,13 @@ case-sensitive-paths-webpack-plugin@^2.4.0: resolved "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz" integrity sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw== +cbor@^9.0.0: + version "9.0.2" + resolved "https://registry.yarnpkg.com/cbor/-/cbor-9.0.2.tgz#536b4f2d544411e70ec2b19a2453f10f83cd9fdb" + integrity sha512-JPypkxsB10s9QOWwa6zwPzqE1Md3vqpPc+cai4sAecuCsRyAtAl/pMyhPlMbT/xtPnm2dznJZYRLui57qiRhaQ== + dependencies: + nofilter "^3.1.0" + ccount@^2.0.0: version "2.0.1" resolved "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz" @@ -6509,6 +7043,24 @@ chai@^4.3.10, chai@^4.4.1: pathval "^1.1.1" type-detect "^4.0.8" +chai@^5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/chai/-/chai-5.1.2.tgz#3afbc340b994ae3610ca519a6c70ace77ad4378d" + integrity sha512-aGtmf24DW6MLHHG5gCx4zaI3uBq3KRtxeVs0DjFH6Z0rDNbsvTxFASFvdj79pxjxZ8/5u3PIiN3IwEIQkiiuPw== + dependencies: + assertion-error "^2.0.1" + check-error "^2.1.1" + deep-eql "^5.0.1" + loupe "^3.1.0" + pathval "^2.0.0" + +chainsaw@~0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/chainsaw/-/chainsaw-0.1.0.tgz#5eab50b28afe58074d0d58291388828b5e5fbc98" + integrity sha512-75kWfWt6MEKNC8xYXIdRpDehRYY/tNSgwKaJq+dbbDcxORuVrrQ+SEHoWsniVn9XPYfP4gmdWIeDk/4YNp1rNQ== + dependencies: + traverse ">=0.3.0 <0.4" + chalk@3.0.0, chalk@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz" @@ -6522,7 +7074,7 @@ chalk@5.2.0, chalk@^5.0.0: resolved "https://registry.npmjs.org/chalk/-/chalk-5.2.0.tgz" integrity sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA== -chalk@5.3.0: +chalk@5.3.0, chalk@^5.3.0: version "5.3.0" resolved "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz" integrity sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w== @@ -6581,6 +7133,11 @@ check-error@^1.0.3: dependencies: get-func-name "^2.0.2" +check-error@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/check-error/-/check-error-2.1.1.tgz#87eb876ae71ee388fa0471fe423f494be1d96ccc" + integrity sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw== + chokidar@^3.4.2, chokidar@^3.5.3, chokidar@^3.6.0: version "3.6.0" resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz" @@ -6596,7 +7153,7 @@ chokidar@^3.4.2, chokidar@^3.5.3, chokidar@^3.6.0: optionalDependencies: fsevents "~2.3.2" -chownr@^1.1.1: +chownr@^1.0.1, chownr@^1.1.1: version "1.1.4" resolved "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz" integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== @@ -6626,6 +7183,18 @@ ci-info@^3.2.0: resolved "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz" integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== +ci-info@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-4.1.0.tgz#92319d2fa29d2620180ea5afed31f589bc98cf83" + integrity sha512-HutrvTNsF48wnxkzERIXOe5/mlcfFcbfCmwcg6CJnizbSue78AbDt+1cgl26zwn61WFxhcPykPfZrbqjGmBb4A== + +cidr-regex@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/cidr-regex/-/cidr-regex-3.1.1.tgz#ba1972c57c66f61875f18fd7dd487469770b571d" + integrity sha512-RBqYd32aDwbCMFJRL6wHOlDNYJsPNTt8vC82ErHF5vKt8QQzxm1FrkW8s/R5pVrXMf17sba09Uoy91PKiddAsw== + dependencies: + ip-regex "^4.1.0" + cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: version "1.0.4" resolved "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz" @@ -6677,6 +7246,14 @@ clean-webpack-plugin@^4.0.0: dependencies: del "^4.1.1" +cli-columns@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/cli-columns/-/cli-columns-4.0.0.tgz#9fe4d65975238d55218c41bd2ed296a7fa555646" + integrity sha512-XW2Vg+w+L9on9wtwKpyzluIPCWXjaBahI7mTcYjx+BVIYD9c3yqcv/yKC7CmdCZat4rq2yiE1UMSJC5ivKfMtQ== + dependencies: + string-width "^4.2.3" + strip-ansi "^6.0.1" + cli-cursor@^3.1.0: version "3.1.0" resolved "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz" @@ -6705,6 +7282,15 @@ cli-table3@^0.6.1: optionalDependencies: "@colors/colors" "1.5.0" +cli-table3@^0.6.3: + version "0.6.5" + resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.6.5.tgz#013b91351762739c16a9567c21a04632e449bf2f" + integrity sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ== + dependencies: + string-width "^4.2.0" + optionalDependencies: + "@colors/colors" "1.5.0" + cli-truncate@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/cli-truncate/-/cli-truncate-4.0.0.tgz" @@ -6732,6 +7318,15 @@ cliui@^6.0.0: strip-ansi "^6.0.0" wrap-ansi "^6.2.0" +cliui@^7.0.2: + version "7.0.4" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" + integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^7.0.0" + cliui@^8.0.1: version "8.0.1" resolved "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz" @@ -6765,6 +7360,11 @@ clsx@^2.0.0, clsx@^2.1.0: resolved "https://registry.npmjs.org/clsx/-/clsx-2.1.0.tgz" integrity sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg== +cmd-shim@^6.0.0: + version "6.0.3" + resolved "https://registry.yarnpkg.com/cmd-shim/-/cmd-shim-6.0.3.tgz#c491e9656594ba17ac83c4bd931590a9d6e26033" + integrity sha512-FMabTRlc5t5zjdenF6mS0MBeFZm0XqHqeOkcskKFb/LYCcRQ5fVgLOHVc4Lq9CqABd9zhjwPjMBCJvMCziSVtA== + cmdk@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/cmdk/-/cmdk-1.0.0.tgz#0a095fdafca3dfabed82d1db78a6262fb163ded9" @@ -6783,6 +7383,11 @@ code-block-writer@^12.0.0: resolved "https://registry.npmjs.org/code-block-writer/-/code-block-writer-12.0.0.tgz" integrity sha512-q4dMFMlXtKR3XNBHyMHt/3pwYNA69EDk00lloMOaaUMKPUXBw6lpXtbu3MMVG6/uOihGnRDOlkyqsONEUj60+w== +code-point-at@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" + integrity sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA== + collect-v8-coverage@^1.0.0: version "1.0.2" resolved "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz" @@ -6820,6 +7425,11 @@ color-string@^1.9.0: color-name "^1.0.0" simple-swizzle "^0.2.2" +color-support@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" + integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== + color@^4.2.3: version "4.2.3" resolved "https://registry.npmjs.org/color/-/color-4.2.3.tgz" @@ -6833,6 +7443,14 @@ colorette@^2.0.10, colorette@^2.0.20: resolved "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz" integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== +columnify@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/columnify/-/columnify-1.6.0.tgz#6989531713c9008bb29735e61e37acf5bd553cf3" + integrity sha512-lomjuFZKfM6MSAnV9aCZC9sc0qGbmZdfygNv+nCpqVkSKdCxCklLtd16O0EILGkImHw9ZpHkAnHaB+8Zxq5W6Q== + dependencies: + strip-ansi "^6.0.1" + wcwidth "^1.0.0" + combined-stream@^1.0.8: version "1.0.8" resolved "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz" @@ -6888,6 +7506,11 @@ commander@^8.3.0: resolved "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz" integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== +common-ancestor-path@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/common-ancestor-path/-/common-ancestor-path-1.0.1.tgz#4f7d2d1394d91b7abdf51871c62f71eadb0182a7" + integrity sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w== + common-path-prefix@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz" @@ -6938,6 +7561,11 @@ console-browserify@^1.2.0: resolved "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz" integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA== +console-control-strings@^1.0.0, console-control-strings@^1.1.0, console-control-strings@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" + integrity sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ== + console-log-level@^1.4.1: version "1.4.1" resolved "https://registry.npmjs.org/console-log-level/-/console-log-level-1.4.1.tgz" @@ -7571,6 +8199,14 @@ d3@^7.4.0, d3@^7.8.2: d3-transition "3" d3-zoom "3" +d@1, d@^1.0.1, d@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/d/-/d-1.0.2.tgz#2aefd554b81981e7dccf72d6842ae725cb17e5de" + integrity sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw== + dependencies: + es5-ext "^0.10.64" + type "^2.7.2" + daemon@>=0.3.0: version "1.1.0" resolved "https://registry.npmjs.org/daemon/-/daemon-1.1.0.tgz" @@ -7640,7 +8276,7 @@ dayjs@^1.11.10, dayjs@^1.11.7: resolved "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz" integrity sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ== -debug@2.6.9, debug@^2.1.3: +debug@2.6.9, debug@^2.1.3, debug@^2.2.0: version "2.6.9" resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== @@ -7661,11 +8297,23 @@ debug@^3.2.7: dependencies: ms "^2.1.1" +debug@^4.3.3, debug@^4.3.5: + version "4.4.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.0.tgz#2b3f2aea2ffeb776477460267377dc8710faba8a" + integrity sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA== + dependencies: + ms "^2.1.3" + decamelize@^1.2.0: version "1.2.0" resolved "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz" integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== +decamelize@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" + integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== + decimal.js-light@^2.4.1: version "2.5.1" resolved "https://registry.npmjs.org/decimal.js-light/-/decimal.js-light-2.5.1.tgz" @@ -7683,6 +8331,13 @@ decode-named-character-reference@^1.0.0: dependencies: character-entities "^2.0.0" +decompress-response@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" + integrity sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA== + dependencies: + mimic-response "^1.0.0" + decompress-response@^6.0.0: version "6.0.0" resolved "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz" @@ -7722,6 +8377,11 @@ deep-eql@^4.1.3: dependencies: type-detect "^4.0.0" +deep-eql@^5.0.1: + version "5.0.2" + resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-5.0.2.tgz#4b756d8d770a9257300825d52a2c2cff99c3a341" + integrity sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q== + deep-equal@^2.0.5: version "2.2.3" resolved "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.3.tgz" @@ -7867,6 +8527,16 @@ delayed-stream@~1.0.0: resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== +delegates@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" + integrity sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ== + +denque@^1.3.0: + version "1.5.1" + resolved "https://registry.yarnpkg.com/denque/-/denque-1.5.1.tgz#07f670e29c9a78f8faecb2566a1e2c11929c5cbf" + integrity sha512-XwE+iZ4D6ZUB7mfYRMb5wByE8L74HCn30FBN7sWnXksWc1LO1bPDl67pBR9o/kC4z/xSNAwkMYcGgqDV3BE3Hw== + depd@2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz" @@ -7895,6 +8565,11 @@ detect-indent@^6.1.0: resolved "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz" integrity sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA== +detect-libc@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" + integrity sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg== + detect-libc@^2.0.0, detect-libc@^2.0.2: version "2.0.3" resolved "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz" @@ -7952,6 +8627,11 @@ diff@^5.0.0, diff@^5.1.0: resolved "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz" integrity sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw== +diff@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-5.2.0.tgz#26ded047cd1179b78b9537d5ef725503ce1ae531" + integrity sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A== + diffie-hellman@^5.0.0: version "5.0.3" resolved "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz" @@ -8264,6 +8944,13 @@ encodeurl@~1.0.2: resolved "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz" integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== +encoding@^0.1.13: + version "0.1.13" + resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9" + integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== + dependencies: + iconv-lite "^0.6.2" + end-of-stream@^1.0.0, end-of-stream@^1.1.0, end-of-stream@^1.4.1, end-of-stream@^1.4.4: version "1.4.4" resolved "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz" @@ -8298,11 +8985,21 @@ entities@^4.2.0, entities@^4.4.0: resolved "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz" integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== +env-paths@^2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2" + integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== + envinfo@^7.7.3: version "7.12.0" resolved "https://registry.npmjs.org/envinfo/-/envinfo-7.12.0.tgz" integrity sha512-Iw9rQJBGpJRd3rwXm9ft/JiGoAZmLxxJZELYDQoPRZ4USVhkKtIcNBPw6U+/K2mBpaqM25JSV6Yl4Az9vO2wJg== +err-code@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/err-code/-/err-code-2.0.3.tgz#23c2f3b756ffdfc608d30e27c9a941024807e7f9" + integrity sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA== + error-callsites@^2.0.4: version "2.0.4" resolved "https://registry.npmjs.org/error-callsites/-/error-callsites-2.0.4.tgz" @@ -8519,6 +9216,33 @@ es-to-primitive@^1.2.1: is-date-object "^1.0.1" is-symbol "^1.0.2" +es5-ext@^0.10.35, es5-ext@^0.10.62, es5-ext@^0.10.63, es5-ext@^0.10.64, es5-ext@~0.10.14: + version "0.10.64" + resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.64.tgz#12e4ffb48f1ba2ea777f1fcdd1918ef73ea21714" + integrity sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg== + dependencies: + es6-iterator "^2.0.3" + es6-symbol "^3.1.3" + esniff "^2.0.1" + next-tick "^1.1.0" + +es6-iterator@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" + integrity sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g== + dependencies: + d "1" + es5-ext "^0.10.35" + es6-symbol "^3.1.1" + +es6-symbol@^3.1.1, es6-symbol@^3.1.3: + version "3.1.4" + resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.4.tgz#f4e7d28013770b4208ecbf3e0bf14d3bcb557b8c" + integrity sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg== + dependencies: + d "^1.0.2" + ext "^1.7.0" + esbuild-plugin-alias@^0.2.1: version "0.2.1" resolved "https://registry.npmjs.org/esbuild-plugin-alias/-/esbuild-plugin-alias-0.2.1.tgz" @@ -8802,6 +9526,16 @@ esm-seedrandom@^3.0.5: resolved "https://registry.yarnpkg.com/esm-seedrandom/-/esm-seedrandom-3.0.5.tgz#2411adb5864e71c71613907df4cbe831f29fcd2e" integrity sha512-pMAq0mFIr5JQ3Ihbng7EBLMJ+llMbaDKkiG44pqbSXS0NIZWtEANpOpxb5s6Q8Q2R562P26qMHPv8YtP/NHh9g== +esniff@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/esniff/-/esniff-2.0.1.tgz#a4d4b43a5c71c7ec51c51098c1d8a29081f9b308" + integrity sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg== + dependencies: + d "^1.0.1" + es5-ext "^0.10.62" + event-emitter "^0.3.5" + type "^2.7.2" + espree@^9.6.0, espree@^9.6.1: version "9.6.1" resolved "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz" @@ -8872,6 +9606,14 @@ etag@~1.8.1: resolved "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz" integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== +event-emitter@^0.3.5: + version "0.3.5" + resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39" + integrity sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA== + dependencies: + d "1" + es5-ext "~0.10.14" + event-target-shim@^5.0.0: version "5.0.1" resolved "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz" @@ -8966,6 +9708,11 @@ expect@^29.7.0: jest-message-util "^29.7.0" jest-util "^29.7.0" +exponential-backoff@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/exponential-backoff/-/exponential-backoff-3.1.1.tgz#64ac7526fe341ab18a39016cd22c787d01e00bf6" + integrity sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw== + express@^4.17.3: version "4.19.2" resolved "https://registry.npmjs.org/express/-/express-4.19.2.tgz" @@ -9003,6 +9750,13 @@ express@^4.17.3: utils-merge "1.0.1" vary "~1.1.2" +ext@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/ext/-/ext-1.7.0.tgz#0ea4383c0103d60e70be99e9a7f11027a33c4f5f" + integrity sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw== + dependencies: + type "^2.7.2" + extend@^3.0.0: version "3.0.2" resolved "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz" @@ -9090,6 +9844,11 @@ fast-stream-to-buffer@^1.0.0: dependencies: end-of-stream "^1.4.1" +fastest-levenshtein@^1.0.16: + version "1.0.16" + resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz#210e61b6ff181de91ea9b3d1b84fdedd47e034e5" + integrity sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg== + fastest-stable-stringify@^2.0.2: version "2.0.2" resolved "https://registry.npmjs.org/fastest-stable-stringify/-/fastest-stable-stringify-2.0.2.tgz" @@ -9153,6 +9912,11 @@ file-type@^19.0.0: strtok3 "^7.0.0" token-types "^5.0.1" +file-uri-to-path@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" + integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== + filelist@^1.0.4: version "1.0.4" resolved "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz" @@ -9261,6 +10025,11 @@ flat-cache@^3.0.4: keyv "^4.5.3" rimraf "^3.0.2" +flat@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" + integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== + flatted@^3.2.9: version "3.2.9" resolved "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz" @@ -9418,13 +10187,20 @@ fs-extra@^9.0.1: jsonfile "^6.0.1" universalify "^2.0.0" -fs-minipass@^2.0.0: +fs-minipass@^2.0.0, fs-minipass@^2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz" integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== dependencies: minipass "^3.0.0" +fs-minipass@^3.0.0, fs-minipass@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-3.0.3.tgz#79a85981c4dc120065e96f62086bf6f9dc26cc54" + integrity sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw== + dependencies: + minipass "^7.0.3" + fs-monkey@^1.0.4: version "1.0.5" resolved "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.5.tgz" @@ -9435,6 +10211,11 @@ fs.realpath@^1.0.0: resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== +fs@^0.0.1-security: + version "0.0.1-security" + resolved "https://registry.yarnpkg.com/fs/-/fs-0.0.1-security.tgz#8a7bd37186b6dddf3813f23858b57ecaaf5e41d4" + integrity sha512-3XY9e1pP0CVEUCdj5BmfIZxRBTSDycnbqhIOGec9QYtmVH2fbLpj86CFWkrNOkt/Fvty4KZG5lTglL9j/gJ87w== + fsevents@^2.3.2, fsevents@~2.3.2: version "2.3.3" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" @@ -9465,6 +10246,48 @@ fuse.js@^6.6.2: resolved "https://registry.yarnpkg.com/fuse.js/-/fuse.js-6.6.2.tgz#fe463fed4b98c0226ac3da2856a415576dc9a111" integrity sha512-cJaJkxCCxC8qIIcPBF9yGxY0W/tVZS3uEISDxhYIdtk8OL93pe+6Zj7LjCqVV4dzbqcriOZ+kQ/NE4RXZHsIGA== +gauge@^4.0.3: + version "4.0.4" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-4.0.4.tgz#52ff0652f2bbf607a989793d53b751bef2328dce" + integrity sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg== + dependencies: + aproba "^1.0.3 || ^2.0.0" + color-support "^1.1.3" + console-control-strings "^1.1.0" + has-unicode "^2.0.1" + signal-exit "^3.0.7" + string-width "^4.2.3" + strip-ansi "^6.0.1" + wide-align "^1.1.5" + +gauge@^5.0.0: + version "5.0.2" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-5.0.2.tgz#7ab44c11181da9766333f10db8cd1e4b17fd6c46" + integrity sha512-pMaFftXPtiGIHCJHdcUUx9Rby/rFT/Kkt3fIIGCs+9PMDIljSyRiqraTlxNtBReJRDfUefpa263RQ3vnp5G/LQ== + dependencies: + aproba "^1.0.3 || ^2.0.0" + color-support "^1.1.3" + console-control-strings "^1.1.0" + has-unicode "^2.0.1" + signal-exit "^4.0.1" + string-width "^4.2.3" + strip-ansi "^6.0.1" + wide-align "^1.1.5" + +gauge@~2.7.3: + version "2.7.4" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" + integrity sha512-14x4kjc6lkD3ltw589k0NrPD6cCNTD6CWoVUNpB85+DrtONoZn+Rug6xZU5RvSC4+TZPxA5AnBibQYAvZn41Hg== + dependencies: + aproba "^1.0.3" + console-control-strings "^1.0.0" + has-unicode "^2.0.0" + object-assign "^4.1.0" + signal-exit "^3.0.0" + string-width "^1.0.1" + strip-ansi "^3.0.1" + wide-align "^1.1.0" + gensync@^1.0.0-beta.2: version "1.0.0-beta.2" resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" @@ -9604,6 +10427,18 @@ glob@10.3.10, glob@^10.0.0, glob@^10.3.10, glob@^10.3.7: minipass "^5.0.0 || ^6.0.2 || ^7.0.0" path-scurry "^1.10.1" +glob@^10.2.2: + version "10.4.5" + resolved "https://registry.yarnpkg.com/glob/-/glob-10.4.5.tgz#f4d9f0b90ffdbab09c9d77f5f29b4262517b0956" + integrity sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg== + dependencies: + foreground-child "^3.1.0" + jackspeak "^3.1.2" + minimatch "^9.0.4" + minipass "^7.1.2" + package-json-from-dist "^1.0.0" + path-scurry "^1.11.1" + glob@^7.0.3, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@~7.2.3: version "7.2.3" resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" @@ -9616,7 +10451,7 @@ glob@^7.0.3, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@~7.2.3: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^8.0.3: +glob@^8.0.1, glob@^8.0.3, glob@^8.1.0: version "8.1.0" resolved "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz" integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== @@ -9681,7 +10516,7 @@ gopd@^1.0.1: dependencies: get-intrinsic "^1.1.3" -graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.11, graceful-fs@^4.2.4, graceful-fs@^4.2.9: +graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.11, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: version "4.2.11" resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz" integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== @@ -9771,6 +10606,11 @@ has-tostringtag@^1.0.2: dependencies: has-symbols "^1.0.3" +has-unicode@^2.0.0, has-unicode@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" + integrity sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ== + has@~1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/has/-/has-1.0.4.tgz#2eb2860e000011dae4f1406a86fe80e530fb2ec6" @@ -10046,6 +10886,13 @@ hosted-git-info@^2.1.4: resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz" integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== +hosted-git-info@^6.0.0, hosted-git-info@^6.1.1, hosted-git-info@^6.1.3: + version "6.1.3" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-6.1.3.tgz#2ee1a14a097a1236bddf8672c35b613c46c55946" + integrity sha512-HVJyzUrLIL1c0QmviVh5E8VGyUS7xCFPS6yydaVd1UegW+ibV/CohqTH9MkOLDp5o+rb82DMo77PTuc9F/8GKw== + dependencies: + lru-cache "^7.5.1" + html-encoding-sniffer@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz" @@ -10130,6 +10977,11 @@ htmlparser2@^8.0.0: domutils "^3.0.1" entities "^4.4.0" +http-cache-semantics@^4.1.0, http-cache-semantics@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz#abe02fcb2985460bf0323be664436ec3476a6d5a" + integrity sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ== + http-errors@2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz" @@ -10215,6 +11067,11 @@ i18next-fs-backend@^2.3.1: resolved "https://registry.npmjs.org/i18next-fs-backend/-/i18next-fs-backend-2.3.1.tgz" integrity sha512-tvfXskmG/9o+TJ5Fxu54sSO5OkY6d+uMn+K6JiUGLJrwxAVfer+8V3nU8jq3ts9Pe5lXJv4b1N7foIjJ8Iy2Gg== +i@^0.3.7: + version "0.3.7" + resolved "https://registry.yarnpkg.com/i/-/i-0.3.7.tgz#2a7437a923d59c14b17243dc63a549af24d85799" + integrity sha512-FYz4wlXgkQwIPqhzC5TdNMLSE5+GS1IIDJZY/1ZiEPCT2S3COUVZeT5OW4BmW4r5LHLQuOosSwsvnroG9GR59Q== + iconv-lite@0.4.24, iconv-lite@^0.4.24: version "0.4.24" resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz" @@ -10222,7 +11079,7 @@ iconv-lite@0.4.24, iconv-lite@^0.4.24: dependencies: safer-buffer ">= 2.1.2 < 3" -iconv-lite@0.6, iconv-lite@0.6.3: +iconv-lite@0.6, iconv-lite@0.6.3, iconv-lite@^0.6.2: version "0.6.3" resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz" integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== @@ -10244,6 +11101,13 @@ ieee754@^1.1.13, ieee754@^1.2.1: resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz" integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== +ignore-walk@^6.0.0: + version "6.0.5" + resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-6.0.5.tgz#ef8d61eab7da169078723d1f82833b36e200b0dd" + integrity sha512-VuuG0wCnjhnylG1ABXT3dAuIpTNDs/G8jlpmwXY03fXoXy/8ZK8/T+hMzt8L4WnrLCJgdybqgPagnF/f97cg3A== + dependencies: + minimatch "^9.0.0" + ignore@^5.2.0: version "5.3.0" resolved "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz" @@ -10307,6 +11171,11 @@ indent-string@^4.0.0: resolved "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz" integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== +infer-owner@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" + integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== + inflight@^1.0.4: version "1.0.6" resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" @@ -10320,11 +11189,29 @@ inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, i resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== +ini@^4.1.0, ini@^4.1.1: + version "4.1.3" + resolved "https://registry.yarnpkg.com/ini/-/ini-4.1.3.tgz#4c359675a6071a46985eb39b14e4a2c0ec98a795" + integrity sha512-X7rqawQBvfdjS10YU1y1YVreA3SsLrW9dX2CewP2EbBJM4ypVNLDkO5y04gejPwKIY9lR+7r9gn3rFPt/kmWFg== + ini@~1.3.0: version "1.3.8" resolved "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz" integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== +init-package-json@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/init-package-json/-/init-package-json-5.0.0.tgz#030cf0ea9c84cfc1b0dc2e898b45d171393e4b40" + integrity sha512-kBhlSheBfYmq3e0L1ii+VKe3zBTLL5lDCDWR+f9dLmEGSB3MqLlMlsolubSsyI88Bg6EA+BIMlomAnQ1SwgQBw== + dependencies: + npm-package-arg "^10.0.0" + promzard "^1.0.0" + read "^2.0.0" + read-package-json "^6.0.0" + semver "^7.3.5" + validate-npm-package-license "^3.0.4" + validate-npm-package-name "^5.0.0" + init@^0.1.2: version "0.1.2" resolved "https://registry.npmjs.org/init/-/init-0.1.2.tgz" @@ -10401,6 +11288,19 @@ invariant@^2.2.4: dependencies: loose-envify "^1.0.0" +ip-address@^9.0.5: + version "9.0.5" + resolved "https://registry.yarnpkg.com/ip-address/-/ip-address-9.0.5.tgz#117a960819b08780c3bd1f14ef3c1cc1d3f3ea5a" + integrity sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g== + dependencies: + jsbn "1.1.0" + sprintf-js "^1.1.3" + +ip-regex@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-4.3.0.tgz#687275ab0f57fa76978ff8f4dddc8a23d5990db5" + integrity sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q== + ip@^2.0.1: version "2.0.1" resolved "https://registry.npmjs.org/ip/-/ip-2.0.1.tgz" @@ -10498,6 +11398,13 @@ is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: resolved "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz" integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== +is-cidr@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/is-cidr/-/is-cidr-4.0.2.tgz#94c7585e4c6c77ceabf920f8cde51b8c0fda8814" + integrity sha512-z4a1ENUajDbEl/Q6/pVBpTR1nBjjEE1X7qb7bmWYanNnPoKAvUCPFKeXV6Fe4mgTkWKBqiHIcwsI3SndiO5FeA== + dependencies: + cidr-regex "^3.1.1" + is-core-module@^2.11.0, is-core-module@^2.13.0, is-core-module@^2.13.1: version "2.13.1" resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz" @@ -10505,6 +11412,13 @@ is-core-module@^2.11.0, is-core-module@^2.13.0, is-core-module@^2.13.1: dependencies: hasown "^2.0.0" +is-core-module@^2.8.1: + version "2.16.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.16.0.tgz#6c01ffdd5e33c49c1d2abfa93334a85cb56bd81c" + integrity sha512-urTSINYfAYgcbLb0yDQ6egFm6h3Mo1DcF9EkyXSRjjzdHbsulg01qhwWuXdOoUBuTkbQ80KDboXa0vFJ+BDH+g== + dependencies: + hasown "^2.0.2" + is-data-view@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-data-view/-/is-data-view-1.0.1.tgz#4b4d3a511b70f3dc26d42c03ca9ca515d847759f" @@ -10551,6 +11465,13 @@ is-finite@^1.0.0: resolved "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz" integrity sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w== +is-fullwidth-code-point@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" + integrity sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw== + dependencies: + number-is-nan "^1.0.0" + is-fullwidth-code-point@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" @@ -10614,6 +11535,11 @@ is-interactive@^2.0.0: resolved "https://registry.npmjs.org/is-interactive/-/is-interactive-2.0.0.tgz" integrity sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ== +is-lambda@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-lambda/-/is-lambda-1.0.1.tgz#3d9877899e6a53efc0160504cde15f82e6f061d5" + integrity sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ== + is-lite@^0.8.2: version "0.8.2" resolved "https://registry.npmjs.org/is-lite/-/is-lite-0.8.2.tgz" @@ -10698,6 +11624,11 @@ is-path-inside@^3.0.2, is-path-inside@^3.0.3: resolved "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz" integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== +is-plain-obj@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" + integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== + is-plain-obj@^4.0.0: version "4.1.0" resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz" @@ -10797,6 +11728,11 @@ is-typed-array@^1.1.13: dependencies: which-typed-array "^1.1.14" +is-typedarray@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== + is-unicode-supported@^0.1.0: version "0.1.0" resolved "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz" @@ -10927,6 +11863,15 @@ jackspeak@^2.3.5: optionalDependencies: "@pkgjs/parseargs" "^0.11.0" +jackspeak@^3.1.2: + version "3.4.3" + resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-3.4.3.tgz#8833a9d89ab4acde6188942bd1c53b6390ed5a8a" + integrity sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw== + dependencies: + "@isaacs/cliui" "^8.0.2" + optionalDependencies: + "@pkgjs/parseargs" "^0.11.0" + jake@^10.8.5: version "10.8.7" resolved "https://registry.npmjs.org/jake/-/jake-10.8.7.tgz" @@ -11400,6 +12345,11 @@ js-yaml@^4.1.0: dependencies: argparse "^2.0.1" +jsbn@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-1.1.0.tgz#b01307cb29b618a1ed26ec79e911f803c4da0040" + integrity sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A== + jscodeshift@^0.15.1: version "0.15.2" resolved "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.15.2.tgz" @@ -11485,6 +12435,11 @@ json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== +json-parse-even-better-errors@^3.0.0, json-parse-even-better-errors@^3.0.1: + version "3.0.2" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.2.tgz#b43d35e89c0f3be6b5fbbe9dc6c82467b30c28da" + integrity sha512-fi0NG4bPjCHunUJffmLd0gxssIgkNmArMvis4iNah6Owg1MCJjWhEcDLmsK6iGkJq3tHwbDkTlce70/tmXN4cQ== + json-schema-traverse@^0.4.1: version "0.4.1" resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" @@ -11505,6 +12460,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 sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== +json-stringify-nice@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/json-stringify-nice/-/json-stringify-nice-1.1.4.tgz#2c937962b80181d3f317dd39aa323e14f5a60a67" + integrity sha512-5Z5RFW63yxReJ7vANgW6eZFGWaQvnPE3WNmZoOJrSkGju2etKA2L5rrOa1sm877TVTFt57A80BH1bArcmlLfPw== + json5@^1.0.2: version "1.0.2" resolved "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz" @@ -11533,6 +12493,11 @@ jsonp@^0.2.1: dependencies: debug "^2.1.3" +jsonparse@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" + integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg== + jsonpointer@^5.0.0: version "5.0.1" resolved "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz" @@ -11548,6 +12513,49 @@ jsonpointer@^5.0.0: object.assign "^4.1.4" object.values "^1.1.6" +just-diff-apply@^5.2.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/just-diff-apply/-/just-diff-apply-5.5.0.tgz#771c2ca9fa69f3d2b54e7c3f5c1dfcbcc47f9f0f" + integrity sha512-OYTthRfSh55WOItVqwpefPtNt2VdKsq5AnAK6apdtR6yCH8pr0CmSr710J0Mf+WdQy7K/OzMy7K2MgAfdQURDw== + +just-diff@^6.0.0: + version "6.0.2" + resolved "https://registry.yarnpkg.com/just-diff/-/just-diff-6.0.2.tgz#03b65908543ac0521caf6d8eb85035f7d27ea285" + integrity sha512-S59eriX5u3/QhMNq3v/gm8Kd0w8OS6Tz2FS1NG4blv+z0MuQcBRJyFWjdovM0Rad4/P4aUPFtnkNjMjyMlMSYA== + +kafka-node@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/kafka-node/-/kafka-node-5.0.0.tgz#4b6f65cc1d77ebe565859dfb8f9575ed15d543c0" + integrity sha512-dD2ga5gLcQhsq1yNoQdy1MU4x4z7YnXM5bcG9SdQuiNr5KKuAmXixH1Mggwdah5o7EfholFbcNDPSVA6BIfaug== + dependencies: + async "^2.6.2" + binary "~0.3.0" + bl "^2.2.0" + buffer-crc32 "~0.2.5" + buffermaker "~1.2.0" + debug "^2.1.3" + denque "^1.3.0" + lodash "^4.17.4" + minimatch "^3.0.2" + nested-error-stacks "^2.0.0" + optional "^0.1.3" + retry "^0.10.1" + uuid "^3.0.0" + optionalDependencies: + snappy "^6.0.1" + +kafka@^0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/kafka/-/kafka-0.2.3.tgz#fb7b1df38f161d821fee9dcb63985e388ea08188" + integrity sha512-Qi9J1HgikGlZz4dGzG++sZ3L52JTE+LCWelz3MNmze0KePSeWvZHVtGe981/mD/u+wyLg6INFw3Rgrqyg+orTA== + dependencies: + std "0.1.36" + +kafkajs@^2.2.4: + version "2.2.4" + resolved "https://registry.yarnpkg.com/kafkajs/-/kafkajs-2.2.4.tgz#59e6e16459d87fdf8b64be73970ed5aa42370a5b" + integrity sha512-j/YeapB1vfPT2iOIUn/vxdyKEuhuY2PxMBvf5JWux6iSaukAccrMtXEY/Lb7OvavDhOWME589bpLrEdnVHjfjA== + katex@^0.16.9: version "0.16.9" resolved "https://registry.npmjs.org/katex/-/katex-0.16.9.tgz" @@ -11664,11 +12672,161 @@ levn@^0.4.1: prelude-ls "^1.2.1" type-check "~0.4.0" +libcardano@^1.4.8: + version "1.4.8" + resolved "https://registry.yarnpkg.com/libcardano/-/libcardano-1.4.8.tgz#ee09c45d47291d984c11ae72f9319d85dd898e20" + integrity sha512-VN01OGnQ07YUr6y8NYhwRs1TYtfqI+Df5A82X0FMEGBURw5k8Axh81U4vlpIfCpkhF74Ov8taXkh38pxcEDABA== + dependencies: + "@cardano-sdk/crypto" "^0.1.30" + "@emurgo/cardano-serialization-lib-nodejs" "^11.5.0" + "@noble/curves" "^1.6.0" + "@prisma/client" "4.15.0" + bech32 "^2.0.0" + bip39 "^3.1.0" + blake2b "^2.1.4" + blakejs "^1.2.1" + cbor "^9.0.0" + chai "^5.1.1" + fs "^0.0.1-security" + kafka "^0.2.3" + kafka-node "^5.0.0" + kafkajs "^2.2.4" + mocha "^10.5.2" + prisma "^4.15.0" + readline "^1.3.0" + tsconfig-paths "^4.2.0" + websocket "^1.0.35" + +libnpmaccess@^7.0.2: + version "7.0.3" + resolved "https://registry.yarnpkg.com/libnpmaccess/-/libnpmaccess-7.0.3.tgz#9878b75c5cf36ddfff167dd47c1a6cf1fa21193c" + integrity sha512-It+fk/NRdRfv5giLhaVeyebGi/0S2LDSAwuZ0AGQ4x//PtCVb2Hj29wgSHe+XEL+RUkvLBkxbRV+DqLtOzuVTQ== + dependencies: + npm-package-arg "^10.1.0" + npm-registry-fetch "^14.0.3" + +libnpmdiff@^5.0.20: + version "5.0.21" + resolved "https://registry.yarnpkg.com/libnpmdiff/-/libnpmdiff-5.0.21.tgz#9d3036595a4cf393e1de07df98a40607a054d333" + integrity sha512-Zx+o/qnGoX46osnInyQQ5KI8jn2wIqXXiu4TJzE8GFd+o6kbyblJf+ihG81M1+yHK3AzkD1m4KK3+UTPXh/hBw== + dependencies: + "@npmcli/arborist" "^6.5.0" + "@npmcli/disparity-colors" "^3.0.0" + "@npmcli/installed-package-contents" "^2.0.2" + binary-extensions "^2.2.0" + diff "^5.1.0" + minimatch "^9.0.0" + npm-package-arg "^10.1.0" + pacote "^15.0.8" + tar "^6.1.13" + +libnpmexec@^6.0.4: + version "6.0.5" + resolved "https://registry.yarnpkg.com/libnpmexec/-/libnpmexec-6.0.5.tgz#36eb7e5a94a653478c8dd66b4a967cadf3f2540d" + integrity sha512-yN/7uJ3iYCPaKagHfrqXuCFLKn2ddcnYpEyC/tVhisHULC95uCy8AhUdNkThRXzhFqqptejO25ZfoWOGrdqnxA== + dependencies: + "@npmcli/arborist" "^6.5.0" + "@npmcli/run-script" "^6.0.0" + ci-info "^4.0.0" + npm-package-arg "^10.1.0" + npmlog "^7.0.1" + pacote "^15.0.8" + proc-log "^3.0.0" + read "^2.0.0" + read-package-json-fast "^3.0.2" + semver "^7.3.7" + walk-up-path "^3.0.1" + +libnpmfund@^4.2.1: + version "4.2.2" + resolved "https://registry.yarnpkg.com/libnpmfund/-/libnpmfund-4.2.2.tgz#4e50507212e64fcb6a396e4c02369f6c0fc40369" + integrity sha512-qnkP09tpryxD/iPYasHM7+yG4ZVe0e91sBVI/R8HJ1+ajeR9poWDckwiN2LEWGvtV/T/dqB++6A1NLrA5NPryw== + dependencies: + "@npmcli/arborist" "^6.5.0" + +libnpmhook@^9.0.3: + version "9.0.4" + resolved "https://registry.yarnpkg.com/libnpmhook/-/libnpmhook-9.0.4.tgz#43d893e19944a2e729b2b165a74f84a69443880d" + integrity sha512-bYD8nJiPnqeMtSsRc5bztqSh6/v16M0jQjLeO959HJqf9ZRWKRpVnFx971Rz5zbPGOB2BrQa6iopsh5vons5ww== + dependencies: + aproba "^2.0.0" + npm-registry-fetch "^14.0.3" + +libnpmorg@^5.0.4: + version "5.0.5" + resolved "https://registry.yarnpkg.com/libnpmorg/-/libnpmorg-5.0.5.tgz#baaba5c77bdfa6808975be9134a330f84b3fa4d4" + integrity sha512-0EbtEIFthVlmaj0hhC3LlEEXUZU3vKfJwfWL//iAqKjHreMhCD3cgdkld+UeWYDgsZzwzvXmopoY0l38I0yx9Q== + dependencies: + aproba "^2.0.0" + npm-registry-fetch "^14.0.3" + +libnpmpack@^5.0.20: + version "5.0.21" + resolved "https://registry.yarnpkg.com/libnpmpack/-/libnpmpack-5.0.21.tgz#bcc608279840448fa8c28d8df0f326694d0b6061" + integrity sha512-mQd3pPx7Xf6i2A6QnYcCmgq34BmfVG3HJvpl422B5dLKfi9acITqcJiJ2K7adhxPKZMF5VbP2+j391cs5w+xww== + dependencies: + "@npmcli/arborist" "^6.5.0" + "@npmcli/run-script" "^6.0.0" + npm-package-arg "^10.1.0" + pacote "^15.0.8" + +libnpmpublish@^7.5.1: + version "7.5.2" + resolved "https://registry.yarnpkg.com/libnpmpublish/-/libnpmpublish-7.5.2.tgz#1b2780a4a56429d6dea332174286179b8d6f930c" + integrity sha512-azAxjEjAgBkbPHUGsGdMbTScyiLcTKdEnNYwGS+9yt+fUsNyiYn8hNH3+HeWKaXzFjvxi50MrHw1yp1gg5pumQ== + dependencies: + ci-info "^4.0.0" + normalize-package-data "^5.0.0" + npm-package-arg "^10.1.0" + npm-registry-fetch "^14.0.3" + proc-log "^3.0.0" + semver "^7.3.7" + sigstore "^1.4.0" + ssri "^10.0.1" + +libnpmsearch@^6.0.2: + version "6.0.3" + resolved "https://registry.yarnpkg.com/libnpmsearch/-/libnpmsearch-6.0.3.tgz#f6001910b4a68341c2aa3f6f9505e665ed98759e" + integrity sha512-4FLTFsygxRKd+PL32WJlFN1g6gkfx3d90PjgSgd6kl9nJ55sZQAqNyi1M7QROKB4kN8JCNCphK8fQYDMg5bCcg== + dependencies: + npm-registry-fetch "^14.0.3" + +libnpmteam@^5.0.3: + version "5.0.4" + resolved "https://registry.yarnpkg.com/libnpmteam/-/libnpmteam-5.0.4.tgz#255ac22d94e4b9e911456bf97c1dc1013df03659" + integrity sha512-yN2zxNb8Urvvo7fTWRcP3E/KPtpZJXFweDWcl+H/s3zopGDI9ahpidddGVG98JhnPl3vjqtZvFGU3/sqVTfuIw== + dependencies: + aproba "^2.0.0" + npm-registry-fetch "^14.0.3" + +libnpmversion@^4.0.2: + version "4.0.3" + resolved "https://registry.yarnpkg.com/libnpmversion/-/libnpmversion-4.0.3.tgz#f4d85d3eb6bdbf7de8d9317abda92528e84b1a53" + integrity sha512-eD1O5zr0ko5pjOdz+2NyTEzP0kzKG8VIVyU+hIsz61cRmTrTxFRJhVBNOI1Q/inifkcM/UTl8EMfa0vX48zfoQ== + dependencies: + "@npmcli/git" "^4.0.1" + "@npmcli/run-script" "^6.0.0" + json-parse-even-better-errors "^3.0.0" + proc-log "^3.0.0" + semver "^7.3.7" + libphonenumber-js@^1.10.54: version "1.10.54" resolved "https://registry.npmjs.org/libphonenumber-js/-/libphonenumber-js-1.10.54.tgz" integrity sha512-P+38dUgJsmh0gzoRDoM4F5jLbyfztkU6PY6eSK6S5HwTi/LPvnwXqVCQZlAy1FxZ5c48q25QhxGQ0pq+WQcSlQ== +libsodium-sumo@^0.7.15: + version "0.7.15" + resolved "https://registry.yarnpkg.com/libsodium-sumo/-/libsodium-sumo-0.7.15.tgz#91c1d863fe3fbce6d6b9db1aadaa622733a1d007" + integrity sha512-5tPmqPmq8T8Nikpm1Nqj0hBHvsLFCXvdhBFV7SGOitQPZAA6jso8XoL0r4L7vmfKXr486fiQInvErHtEvizFMw== + +libsodium-wrappers-sumo@^0.7.5: + version "0.7.15" + resolved "https://registry.yarnpkg.com/libsodium-wrappers-sumo/-/libsodium-wrappers-sumo-0.7.15.tgz#0ef2a99b4b17e8385aa7e6850593660dbaf5fb40" + integrity sha512-aSWY8wKDZh5TC7rMvEdTHoyppVq/1dTSAeAR7H6pzd6QRT3vQWcT5pGwCotLcpPEOLXX6VvqihSPkpEhYAjANA== + dependencies: + libsodium-sumo "^0.7.15" + lie@3.1.1: version "3.1.1" resolved "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz" @@ -11834,7 +12992,7 @@ lodash.templatesettings@^4.0.0: dependencies: lodash._reinterpolate "^3.0.0" -lodash@^4.0.1, lodash@^4.17.15, lodash@^4.17.20, lodash@^4.17.21: +lodash@^4.0.1, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.4: version "4.17.21" resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -11866,6 +13024,11 @@ log-update@^6.0.0: strip-ansi "^7.1.0" wrap-ansi "^9.0.0" +long@1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/long/-/long-1.1.2.tgz#eaef5951ca7551d96926b82da242db9d6b28fb53" + integrity sha512-pjR3OP1X2VVQhCQlrq3s8UxugQsuoucwMOn9Yj/kN/61HMc+lDFJS5bvpNEHneZ9NVaSm8gNWxZvtGS7lqHb3Q== + longest-streak@^3.0.0: version "3.1.0" resolved "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz" @@ -11885,6 +13048,11 @@ loupe@^2.3.6, loupe@^2.3.7: dependencies: get-func-name "^2.0.1" +loupe@^3.1.0: + version "3.1.2" + resolved "https://registry.yarnpkg.com/loupe/-/loupe-3.1.2.tgz#c86e0696804a02218f2206124c45d8b15291a240" + integrity sha512-23I4pFZHmAemUnz8WZXbYRSKYj801VDaNv9ETuMh7IrMc7VuVVSo+Z9iLE3ni30+U48iDWfi30d3twAXBYmnCg== + lower-case@^2.0.2: version "2.0.2" resolved "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz" @@ -11897,6 +13065,11 @@ lru-cache@10.2.0: resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.2.0.tgz#0bd445ca57363465900f4d1f9bd8db343a4d95c3" integrity sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q== +lru-cache@^10.2.0: + version "10.4.3" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.4.3.tgz#410fc8a17b70e598013df257c2446b7f3383f119" + integrity sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ== + lru-cache@^5.1.1: version "5.1.1" resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz" @@ -11911,6 +13084,11 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" +lru-cache@^7.4.4, lru-cache@^7.5.1, lru-cache@^7.7.1: + version "7.18.3" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.18.3.tgz#f793896e0fd0e954a59dfdd82f0773808df6aa89" + integrity sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA== + "lru-cache@^9.1.1 || ^10.0.0": version "10.1.0" resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-10.1.0.tgz" @@ -11974,6 +13152,49 @@ make-error@1.x, make-error@^1.1.1: resolved "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz" integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== +make-fetch-happen@^10.0.3: + version "10.2.1" + resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz#f5e3835c5e9817b617f2770870d9492d28678164" + integrity sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w== + dependencies: + agentkeepalive "^4.2.1" + cacache "^16.1.0" + http-cache-semantics "^4.1.0" + http-proxy-agent "^5.0.0" + https-proxy-agent "^5.0.0" + is-lambda "^1.0.1" + lru-cache "^7.7.1" + minipass "^3.1.6" + minipass-collect "^1.0.2" + minipass-fetch "^2.0.3" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.4" + negotiator "^0.6.3" + promise-retry "^2.0.1" + socks-proxy-agent "^7.0.0" + ssri "^9.0.0" + +make-fetch-happen@^11.0.0, make-fetch-happen@^11.0.1, make-fetch-happen@^11.1.1: + version "11.1.1" + resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-11.1.1.tgz#85ceb98079584a9523d4bf71d32996e7e208549f" + integrity sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w== + dependencies: + agentkeepalive "^4.2.1" + cacache "^17.0.0" + http-cache-semantics "^4.1.1" + http-proxy-agent "^5.0.0" + https-proxy-agent "^5.0.0" + is-lambda "^1.0.1" + lru-cache "^7.7.1" + minipass "^5.0.0" + minipass-fetch "^3.0.0" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.4" + negotiator "^0.6.3" + promise-retry "^2.0.1" + socks-proxy-agent "^7.0.0" + ssri "^10.0.0" + makeerror@1.0.12: version "1.0.12" resolved "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz" @@ -12843,6 +14064,11 @@ mimic-fn@^4.0.0: resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz" integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw== +mimic-response@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" + integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== + mimic-response@^3.1.0: version "3.1.0" resolved "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz" @@ -12882,7 +14108,7 @@ minimatch@^3.0.2, minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatc dependencies: brace-expansion "^1.1.7" -minimatch@^5.0.1: +minimatch@^5.0.1, minimatch@^5.1.6: version "5.1.6" resolved "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz" integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== @@ -12896,6 +14122,13 @@ minimatch@^7.4.3: dependencies: brace-expansion "^2.0.1" +minimatch@^9.0.0, minimatch@^9.0.3: + version "9.0.5" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.5.tgz#d74f9dd6b57d83d8e98cfb82133b03978bc929e5" + integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow== + dependencies: + brace-expansion "^2.0.1" + minimatch@^9.0.4: version "9.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.4.tgz#8e49c731d1749cbec05050ee5145147b32496a51" @@ -12908,7 +14141,65 @@ minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.5, minimist@^1.2.6, minimist@^1. resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz" integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== -minipass@^3.0.0: +minipass-collect@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/minipass-collect/-/minipass-collect-1.0.2.tgz#22b813bf745dc6edba2576b940022ad6edc8c617" + integrity sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA== + dependencies: + minipass "^3.0.0" + +minipass-fetch@^2.0.3: + version "2.1.2" + resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-2.1.2.tgz#95560b50c472d81a3bc76f20ede80eaed76d8add" + integrity sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA== + dependencies: + minipass "^3.1.6" + minipass-sized "^1.0.3" + minizlib "^2.1.2" + optionalDependencies: + encoding "^0.1.13" + +minipass-fetch@^3.0.0: + version "3.0.5" + resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-3.0.5.tgz#f0f97e40580affc4a35cc4a1349f05ae36cb1e4c" + integrity sha512-2N8elDQAtSnFV0Dk7gt15KHsS0Fyz6CbYZ360h0WTYV1Ty46li3rAXVOQj1THMNLdmrD9Vt5pBPtWtVkpwGBqg== + dependencies: + minipass "^7.0.3" + minipass-sized "^1.0.3" + minizlib "^2.1.2" + optionalDependencies: + encoding "^0.1.13" + +minipass-flush@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/minipass-flush/-/minipass-flush-1.0.5.tgz#82e7135d7e89a50ffe64610a787953c4c4cbb373" + integrity sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw== + dependencies: + minipass "^3.0.0" + +minipass-json-stream@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/minipass-json-stream/-/minipass-json-stream-1.0.2.tgz#5121616c77a11c406c3ffa77509e0b77bb267ec3" + integrity sha512-myxeeTm57lYs8pH2nxPzmEEg8DGIgW+9mv6D4JZD2pa81I/OBjeU7PtICXV6c9eRGTA5JMDsuIPUZRCyBMYNhg== + dependencies: + jsonparse "^1.3.1" + minipass "^3.0.0" + +minipass-pipeline@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz#68472f79711c084657c067c5c6ad93cddea8214c" + integrity sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A== + dependencies: + minipass "^3.0.0" + +minipass-sized@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/minipass-sized/-/minipass-sized-1.0.3.tgz#70ee5a7c5052070afacfbc22977ea79def353b70" + integrity sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g== + dependencies: + minipass "^3.0.0" + +minipass@^3.0.0, minipass@^3.1.1, minipass@^3.1.6: version "3.3.6" resolved "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz" integrity sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw== @@ -12925,7 +14216,12 @@ minipass@^5.0.0: resolved "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz" integrity sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ== -minizlib@^2.1.1: +minipass@^7.0.3, minipass@^7.0.4, minipass@^7.1.2: + version "7.1.2" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.1.2.tgz#93a9626ce5e5e66bd4db86849e7515e92340a707" + integrity sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw== + +minizlib@^2.1.1, minizlib@^2.1.2: version "2.1.2" resolved "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz" integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== @@ -12938,14 +14234,14 @@ mkdirp-classic@^0.5.2, mkdirp-classic@^0.5.3: resolved "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz" integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== -mkdirp@^0.5.5: +mkdirp@^0.5.1, mkdirp@^0.5.5: version "0.5.6" resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz" integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== dependencies: minimist "^1.2.6" -mkdirp@^1.0.3: +mkdirp@^1.0.3, mkdirp@^1.0.4: version "1.0.4" resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz" integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== @@ -12955,6 +14251,32 @@ mkdirp@^2.1.6: resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-2.1.6.tgz" integrity sha512-+hEnITedc8LAtIP9u3HJDFIdcLV2vXP33sqLLIzkv1Db1zO/1OxbvYf0Y1OC/S/Qo5dxHXepofhmxL02PsKe+A== +mocha@^10.5.2: + version "10.8.2" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-10.8.2.tgz#8d8342d016ed411b12a429eb731b825f961afb96" + integrity sha512-VZlYo/WE8t1tstuRmqgeyBgCbJc/lEdopaa+axcKzTBJ+UIdlAB9XnmvTCAH4pwR4ElNInaedhEBmZD8iCSVEg== + dependencies: + ansi-colors "^4.1.3" + browser-stdout "^1.3.1" + chokidar "^3.5.3" + debug "^4.3.5" + diff "^5.2.0" + escape-string-regexp "^4.0.0" + find-up "^5.0.0" + glob "^8.1.0" + he "^1.2.0" + js-yaml "^4.1.0" + log-symbols "^4.1.0" + minimatch "^5.1.6" + ms "^2.1.3" + serialize-javascript "^6.0.2" + strip-json-comments "^3.1.1" + supports-color "^8.1.1" + workerpool "^6.5.1" + yargs "^16.2.0" + yargs-parser "^20.2.9" + yargs-unparser "^2.0.0" + mock-property@~1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/mock-property/-/mock-property-1.0.3.tgz#3e37c50a56609d548cabd56559fde3dd8767b10c" @@ -13004,7 +14326,7 @@ ms@2.1.2, ms@^2.0.0, ms@^2.1.1: resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -ms@2.1.3: +ms@2.1.3, ms@^2.1.2, ms@^2.1.3: version "2.1.3" resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== @@ -13041,6 +14363,11 @@ mute-stream@0.0.8: resolved "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz" integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== +mute-stream@^1.0.0, mute-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-1.0.0.tgz#e31bd9fe62f0aed23520aa4324ea6671531e013e" + integrity sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA== + mz@^2.7.0: version "2.7.0" resolved "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz" @@ -13055,6 +14382,11 @@ name-initials@^0.1.3: resolved "https://registry.yarnpkg.com/name-initials/-/name-initials-0.1.3.tgz#b9af9d8d551068b1c147c50458477f47c1217776" integrity sha512-UJcpCmyftGuZ7I46dqOw776VvH3VqHhAM7ma4eyY0t52FahFv/VhmDqSeekwSZFXyK9HLg9MXmb9udeOJ3YtCA== +nan@^2.14.1: + version "2.22.0" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.22.0.tgz#31bc433fc33213c97bad36404bb68063de604de3" + integrity sha512-nbajikzWTMwsW+eSsNm3QwlOs7het9gGJU5dDZzRTQGk03vyBOauxgI4VakDzE0PtsGTmXPsXTbbjVhRwR5mpw== + nano-css@^5.6.1: version "5.6.1" resolved "https://registry.npmjs.org/nano-css/-/nano-css-5.6.1.tgz" @@ -13069,6 +14401,11 @@ nano-css@^5.6.1: stacktrace-js "^2.0.2" stylis "^4.3.0" +nanoassert@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/nanoassert/-/nanoassert-2.0.0.tgz#a05f86de6c7a51618038a620f88878ed1e490c09" + integrity sha512-7vO7n28+aYO4J+8w96AzhmU8G+Y/xpPDJz/se19ICsqj/momRbb9mh9ZUtkoJ5X3nTnPdhEJyc0qnM6yAsHBaA== + nanoid@^3.3.6, nanoid@^3.3.7: version "3.3.7" resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz" @@ -13089,11 +14426,21 @@ negotiator@0.6.3: resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz" integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== +negotiator@^0.6.3: + version "0.6.4" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.4.tgz#777948e2452651c570b712dd01c23e262713fff7" + integrity sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w== + neo-async@^2.5.0, neo-async@^2.6.2: version "2.6.2" resolved "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz" integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== +nested-error-stacks@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/nested-error-stacks/-/nested-error-stacks-2.1.1.tgz#26c8a3cee6cc05fbcf1e333cd2fc3e003326c0b5" + integrity sha512-9iN1ka/9zmX1ZvLV9ewJYEk9h7RyRRtqdK0woXcqohu8EWIerfPUjYJPg0ULy0UqP7cslmdGc8xKDJcojlKiaw== + next-i18next@^15.2.0: version "15.2.0" resolved "https://registry.npmjs.org/next-i18next/-/next-i18next-15.2.0.tgz" @@ -13149,6 +14496,11 @@ next-themes@^0.2.1: resolved "https://registry.npmjs.org/next-themes/-/next-themes-0.2.1.tgz" integrity sha512-B+AKNfYNIzh0vqQQKqQItTS8evEouKD7H5Hj3kmuPERwddR2TxvDSFZuTj6T7Jfn1oyeUyJMydPl1Bkxkh0W7A== +next-tick@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" + integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== + next@^14.2.5: version "14.2.13" resolved "https://registry.yarnpkg.com/next/-/next-14.2.13.tgz#32da2ee0afbe729e2d4a467c3570def90e1c974d" @@ -13180,6 +14532,13 @@ no-case@^3.0.4: lower-case "^2.0.2" tslib "^2.0.3" +node-abi@^2.7.0: + version "2.30.1" + resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-2.30.1.tgz#c437d4b1fe0e285aaf290d45b45d4d7afedac4cf" + integrity sha512-/2D0wOQPgaUWzVSVgRMx+trKJRC2UG4SUc4oCJoXx9Uxjtp0Vy3/kt7zcbxHF8+Z/pK3UloLWzBISg72brfy1w== + dependencies: + semver "^5.4.1" + node-abi@^3.3.0: version "3.57.0" resolved "https://registry.npmjs.org/node-abi/-/node-abi-3.57.0.tgz" @@ -13230,6 +14589,28 @@ node-fetch@^3.3.0: fetch-blob "^3.1.4" formdata-polyfill "^4.0.10" +node-gyp-build@^4.3.0: + version "4.8.4" + resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.8.4.tgz#8a70ee85464ae52327772a90d66c6077a900cfc8" + integrity sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ== + +node-gyp@^9.0.0, node-gyp@^9.4.1: + version "9.4.1" + resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-9.4.1.tgz#8a1023e0d6766ecb52764cc3a734b36ff275e185" + integrity sha512-OQkWKbjQKbGkMf/xqI1jjy3oCTgMKJac58G2+bjZb3fza6gW2YrCSdMQYaoTb70crvE//Gngr4f0AgVHmqHvBQ== + dependencies: + env-paths "^2.2.0" + exponential-backoff "^3.1.1" + glob "^7.1.4" + graceful-fs "^4.2.6" + make-fetch-happen "^10.0.3" + nopt "^6.0.0" + npmlog "^6.0.0" + rimraf "^3.0.2" + semver "^7.3.5" + tar "^6.1.2" + which "^2.0.2" + node-int64@^0.4.0: version "0.4.0" resolved "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz" @@ -13271,11 +14652,35 @@ node-releases@^2.0.14: resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz" integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== +nofilter@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/nofilter/-/nofilter-3.1.0.tgz#c757ba68801d41ff930ba2ec55bab52ca184aa66" + integrity sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g== + non-layered-tidy-tree-layout@^2.0.2: version "2.0.2" resolved "https://registry.npmjs.org/non-layered-tidy-tree-layout/-/non-layered-tidy-tree-layout-2.0.2.tgz" integrity sha512-gkXMxRzUH+PB0ax9dUN0yYF0S25BqeAYqhgMaLUFmpXLEk7Fcu8f4emJuOAY0V8kjDICxROIKsTAKsV/v355xw== +noop-logger@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/noop-logger/-/noop-logger-0.1.1.tgz#94a2b1633c4f1317553007d8966fd0e841b6a4c2" + integrity sha512-6kM8CLXvuW5crTxsAtva2YLrRrDaiTIkIePWs9moLHqbFWT94WpNFjwS/5dfLfECg5i/lkmw3aoqVidxt23TEQ== + +nopt@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-6.0.0.tgz#245801d8ebf409c6df22ab9d95b65e1309cdb16d" + integrity sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g== + dependencies: + abbrev "^1.0.0" + +nopt@^7.0.0, nopt@^7.2.0: + version "7.2.1" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-7.2.1.tgz#1cac0eab9b8e97c9093338446eddd40b2c8ca1e7" + integrity sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w== + dependencies: + abbrev "^2.0.0" + normalize-package-data@^2.5.0: version "2.5.0" resolved "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz" @@ -13286,6 +14691,16 @@ normalize-package-data@^2.5.0: semver "2 || 3 || 4 || 5" validate-npm-package-license "^3.0.1" +normalize-package-data@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-5.0.0.tgz#abcb8d7e724c40d88462b84982f7cbf6859b4588" + integrity sha512-h9iPVIfrVZ9wVYQnxFgtw1ugSvGEMOlyPWWtm8BMJhnwyEL/FLbYbTY3V3PpjI/BUK67n9PEWDu6eHzu1fB15Q== + dependencies: + hosted-git-info "^6.0.0" + is-core-module "^2.8.1" + semver "^7.3.5" + validate-npm-package-license "^3.0.4" + normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" @@ -13301,6 +14716,78 @@ not@^0.1.0: resolved "https://registry.npmjs.org/not/-/not-0.1.0.tgz" integrity sha512-5PDmaAsVfnWUgTUbJ3ERwn7u79Z0dYxN9ErxCpVJJqe2RK0PJ3z+iFUxuqjwtlDDegXvtWoxD/3Fzxox7tFGWA== +npm-audit-report@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/npm-audit-report/-/npm-audit-report-5.0.0.tgz#83ac14aeff249484bde81eff53c3771d5048cf95" + integrity sha512-EkXrzat7zERmUhHaoren1YhTxFwsOu5jypE84k6632SXTHcQE1z8V51GC6GVZt8LxkC+tbBcKMUBZAgk8SUSbw== + +npm-bundled@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-3.0.1.tgz#cca73e15560237696254b10170d8f86dad62da25" + integrity sha512-+AvaheE/ww1JEwRHOrn4WHNzOxGtVp+adrg2AeZS/7KuxGUYFuBta98wYpfHBbJp6Tg6j1NKSEVHNcfZzJHQwQ== + dependencies: + npm-normalize-package-bin "^3.0.0" + +npm-install-checks@^6.0.0, npm-install-checks@^6.2.0, npm-install-checks@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/npm-install-checks/-/npm-install-checks-6.3.0.tgz#046552d8920e801fa9f919cad569545d60e826fe" + integrity sha512-W29RiK/xtpCGqn6f3ixfRYGk+zRyr+Ew9F2E20BfXxT5/euLdA/Nm7fO7OeTGuAmTs30cpgInyJ0cYe708YTZw== + dependencies: + semver "^7.1.1" + +npm-normalize-package-bin@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-3.0.1.tgz#25447e32a9a7de1f51362c61a559233b89947832" + integrity sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ== + +npm-package-arg@^10.0.0, npm-package-arg@^10.1.0: + version "10.1.0" + resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-10.1.0.tgz#827d1260a683806685d17193073cc152d3c7e9b1" + integrity sha512-uFyyCEmgBfZTtrKk/5xDfHp6+MdrqGotX/VoOyEEl3mBwiEE5FlBaePanazJSVMPT7vKepcjYBY2ztg9A3yPIA== + dependencies: + hosted-git-info "^6.0.0" + proc-log "^3.0.0" + semver "^7.3.5" + validate-npm-package-name "^5.0.0" + +npm-packlist@^7.0.0: + version "7.0.4" + resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-7.0.4.tgz#033bf74110eb74daf2910dc75144411999c5ff32" + integrity sha512-d6RGEuRrNS5/N84iglPivjaJPxhDbZmlbTwTDX2IbcRHG5bZCdtysYMhwiPvcF4GisXHGn7xsxv+GQ7T/02M5Q== + dependencies: + ignore-walk "^6.0.0" + +npm-pick-manifest@^8.0.0, npm-pick-manifest@^8.0.1, npm-pick-manifest@^8.0.2: + version "8.0.2" + resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-8.0.2.tgz#2159778d9c7360420c925c1a2287b5a884c713aa" + integrity sha512-1dKY+86/AIiq1tkKVD3l0WI+Gd3vkknVGAggsFeBkTvbhMQ1OND/LKkYv4JtXPKUJ8bOTCyLiqEg2P6QNdK+Gg== + dependencies: + npm-install-checks "^6.0.0" + npm-normalize-package-bin "^3.0.0" + npm-package-arg "^10.0.0" + semver "^7.3.5" + +npm-profile@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/npm-profile/-/npm-profile-7.0.1.tgz#a37dae08b22e662ece2c6e08946f9fcd9fdef663" + integrity sha512-VReArOY/fCx5dWL66cbJ2OMogTQAVVQA//8jjmjkarboki3V7UJ0XbGFW+khRwiAJFQjuH0Bqr/yF7Y5RZdkMQ== + dependencies: + npm-registry-fetch "^14.0.0" + proc-log "^3.0.0" + +npm-registry-fetch@^14.0.0, npm-registry-fetch@^14.0.3, npm-registry-fetch@^14.0.5: + version "14.0.5" + resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-14.0.5.tgz#fe7169957ba4986a4853a650278ee02e568d115d" + integrity sha512-kIDMIo4aBm6xg7jOttupWZamsZRkAqMqwqqbVXnUqstY5+tapvv6bkH/qMR76jdgV+YljEUCyWx3hRYMrJiAgA== + dependencies: + make-fetch-happen "^11.0.0" + minipass "^5.0.0" + minipass-fetch "^3.0.0" + minipass-json-stream "^1.0.1" + minizlib "^2.1.2" + npm-package-arg "^10.0.0" + proc-log "^3.0.0" + npm-run-path@^4.0.1: version "4.0.1" resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz" @@ -13315,6 +14802,117 @@ npm-run-path@^5.1.0: dependencies: path-key "^4.0.0" +npm-user-validate@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/npm-user-validate/-/npm-user-validate-2.0.1.tgz#097afbf0a2351e2a8f478f1ba07960b368f2a25c" + integrity sha512-d17PKaF2h8LSGFl5j4b1gHOJt1fgH7YUcCm1kNSJvaLWWKXlBsuUvx0bBEkr0qhsVA9XP5LtRZ83hdlhm2QkgA== + +npm@^9.3.0: + version "9.9.4" + resolved "https://registry.yarnpkg.com/npm/-/npm-9.9.4.tgz#572bef36e61852c5a391bb3b4eb86c231b1365cd" + integrity sha512-NzcQiLpqDuLhavdyJ2J3tGJ/ni/ebcqHVFZkv1C4/6lblraUPbPgCJ4Vhb4oa3FFhRa2Yj9gA58jGH/ztKueNQ== + dependencies: + "@isaacs/string-locale-compare" "^1.1.0" + "@npmcli/arborist" "^6.5.0" + "@npmcli/config" "^6.4.0" + "@npmcli/fs" "^3.1.0" + "@npmcli/map-workspaces" "^3.0.4" + "@npmcli/package-json" "^4.0.1" + "@npmcli/promise-spawn" "^6.0.2" + "@npmcli/run-script" "^6.0.2" + abbrev "^2.0.0" + archy "~1.0.0" + cacache "^17.1.4" + chalk "^5.3.0" + ci-info "^4.0.0" + cli-columns "^4.0.0" + cli-table3 "^0.6.3" + columnify "^1.6.0" + fastest-levenshtein "^1.0.16" + fs-minipass "^3.0.3" + glob "^10.3.10" + graceful-fs "^4.2.11" + hosted-git-info "^6.1.3" + ini "^4.1.1" + init-package-json "^5.0.0" + is-cidr "^4.0.2" + json-parse-even-better-errors "^3.0.1" + libnpmaccess "^7.0.2" + libnpmdiff "^5.0.20" + libnpmexec "^6.0.4" + libnpmfund "^4.2.1" + libnpmhook "^9.0.3" + libnpmorg "^5.0.4" + libnpmpack "^5.0.20" + libnpmpublish "^7.5.1" + libnpmsearch "^6.0.2" + libnpmteam "^5.0.3" + libnpmversion "^4.0.2" + make-fetch-happen "^11.1.1" + minimatch "^9.0.3" + minipass "^7.0.4" + minipass-pipeline "^1.2.4" + ms "^2.1.2" + node-gyp "^9.4.1" + nopt "^7.2.0" + normalize-package-data "^5.0.0" + npm-audit-report "^5.0.0" + npm-install-checks "^6.3.0" + npm-package-arg "^10.1.0" + npm-pick-manifest "^8.0.2" + npm-profile "^7.0.1" + npm-registry-fetch "^14.0.5" + npm-user-validate "^2.0.0" + npmlog "^7.0.1" + p-map "^4.0.0" + pacote "^15.2.0" + parse-conflict-json "^3.0.1" + proc-log "^3.0.0" + qrcode-terminal "^0.12.0" + read "^2.1.0" + semver "^7.6.0" + sigstore "^1.9.0" + spdx-expression-parse "^3.0.1" + ssri "^10.0.5" + supports-color "^9.4.0" + tar "^6.2.1" + text-table "~0.2.0" + tiny-relative-date "^1.3.0" + treeverse "^3.0.0" + validate-npm-package-name "^5.0.0" + which "^3.0.1" + write-file-atomic "^5.0.1" + +npmlog@^4.0.1: + version "4.1.2" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" + integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== + dependencies: + are-we-there-yet "~1.1.2" + console-control-strings "~1.1.0" + gauge "~2.7.3" + set-blocking "~2.0.0" + +npmlog@^6.0.0: + version "6.0.2" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-6.0.2.tgz#c8166017a42f2dea92d6453168dd865186a70830" + integrity sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg== + dependencies: + are-we-there-yet "^3.0.0" + console-control-strings "^1.1.0" + gauge "^4.0.3" + set-blocking "^2.0.0" + +npmlog@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-7.0.1.tgz#7372151a01ccb095c47d8bf1d0771a4ff1f53ac8" + integrity sha512-uJ0YFk/mCQpLBt+bxN88AKd+gyqZvZDbtiNxk6Waqcj2aPRyfVx8ITawkyQynxUagInjdYT1+qj4NfA5KJJUxg== + dependencies: + are-we-there-yet "^4.0.0" + console-control-strings "^1.1.0" + gauge "^5.0.0" + set-blocking "^2.0.0" + nprogress@^0.2.0: version "0.2.0" resolved "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz" @@ -13327,6 +14925,11 @@ nth-check@^2.0.0, nth-check@^2.0.1: dependencies: boolbase "^1.0.0" +number-is-nan@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" + integrity sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ== + nwsapi@^2.2.2: version "2.2.7" resolved "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.7.tgz" @@ -13343,7 +14946,7 @@ nypm@^0.3.8: pathe "^1.1.2" ufo "^1.4.0" -object-assign@^4.0.1, object-assign@^4.1.1: +object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: version "4.1.1" resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== @@ -13510,6 +15113,11 @@ optional-js@^2.0.0: resolved "https://registry.npmjs.org/optional-js/-/optional-js-2.3.0.tgz" integrity sha512-B0LLi+Vg+eko++0z/b8zIv57kp7HKEzaPJo7LowJXMUKYdf+3XJGu/cw03h/JhIOsLnP+cG5QnTHAuicjA5fMw== +optional@^0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/optional/-/optional-0.1.4.tgz#cdb1a9bedc737d2025f690ceeb50e049444fd5b3" + integrity sha512-gtvrrCfkE08wKcgXaVwQVgwEQ8vel2dc5DDBn9RLQZ3YtmtkBss6A2HY6BnJH4N/4Ku97Ri/SF8sNWE2225WJw== + optionator@^0.9.3: version "0.9.3" resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz" @@ -13564,6 +15172,11 @@ os-browserify@^0.3.0: resolved "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz" integrity sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A== +os-homedir@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" + integrity sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ== + os-tmpdir@~1.0.2: version "1.0.2" resolved "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz" @@ -13655,6 +15268,35 @@ p-try@^2.0.0: resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== +package-json-from-dist@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz#4f1471a010827a86f94cfd9b0727e36d267de505" + integrity sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw== + +pacote@^15.0.0, pacote@^15.0.8, pacote@^15.2.0: + version "15.2.0" + resolved "https://registry.yarnpkg.com/pacote/-/pacote-15.2.0.tgz#0f0dfcc3e60c7b39121b2ac612bf8596e95344d3" + integrity sha512-rJVZeIwHTUta23sIZgEIM62WYwbmGbThdbnkt81ravBplQv+HjyroqnLRNH2+sLJHcGZmLRmhPwACqhfTcOmnA== + dependencies: + "@npmcli/git" "^4.0.0" + "@npmcli/installed-package-contents" "^2.0.1" + "@npmcli/promise-spawn" "^6.0.1" + "@npmcli/run-script" "^6.0.0" + cacache "^17.0.0" + fs-minipass "^3.0.0" + minipass "^5.0.0" + npm-package-arg "^10.0.0" + npm-packlist "^7.0.0" + npm-pick-manifest "^8.0.0" + npm-registry-fetch "^14.0.0" + proc-log "^3.0.0" + promise-retry "^2.0.1" + read-package-json "^6.0.0" + read-package-json-fast "^3.0.0" + sigstore "^1.3.0" + ssri "^10.0.0" + tar "^6.1.11" + pako@~0.2.0: version "0.2.9" resolved "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz" @@ -13692,6 +15334,15 @@ parse-asn1@^5.0.0, parse-asn1@^5.1.7: pbkdf2 "^3.1.2" safe-buffer "^5.2.1" +parse-conflict-json@^3.0.0, parse-conflict-json@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/parse-conflict-json/-/parse-conflict-json-3.0.1.tgz#67dc55312781e62aa2ddb91452c7606d1969960c" + integrity sha512-01TvEktc68vwbJOtWZluyWeVGWjP+bZwXtPDMQVbBKzbJ/vZBif0L69KH1+cHv1SZ6e0FKLvjyHe8mqsIqYOmw== + dependencies: + json-parse-even-better-errors "^3.0.0" + just-diff "^6.0.0" + just-diff-apply "^5.2.0" + parse-entities@^4.0.0: version "4.0.1" resolved "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.1.tgz" @@ -13794,6 +15445,14 @@ path-scurry@^1.10.1: lru-cache "^9.1.1 || ^10.0.0" minipass "^5.0.0 || ^6.0.2 || ^7.0.0" +path-scurry@^1.11.1: + version "1.11.1" + resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.11.1.tgz#7960a668888594a0720b12a911d1a742ab9f11d2" + integrity sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA== + dependencies: + lru-cache "^10.2.0" + minipass "^5.0.0 || ^6.0.2 || ^7.0.0" + path-to-regexp@0.1.7: version "0.1.7" resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz" @@ -13819,6 +15478,11 @@ pathval@^1.1.1: resolved "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz" integrity sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ== +pathval@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/pathval/-/pathval-2.0.0.tgz#7e2550b422601d4f6b8e26f1301bc8f15a741a25" + integrity sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA== + pbkdf2@^3.0.3, pbkdf2@^3.1.2: version "3.1.2" resolved "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz" @@ -14054,6 +15718,14 @@ postcss-selector-parser@6.0.10: cssesc "^3.0.0" util-deprecate "^1.0.2" +postcss-selector-parser@^6.0.10: + version "6.1.2" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz#27ecb41fb0e3b6ba7a1ec84fff347f734c7929de" + integrity sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg== + dependencies: + cssesc "^3.0.0" + util-deprecate "^1.0.2" + postcss-selector-parser@^6.0.11, postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4: version "6.0.15" resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz" @@ -14085,6 +15757,28 @@ postcss@^8, postcss@^8.2.14, postcss@^8.4.21, postcss@^8.4.23, postcss@^8.4.33: picocolors "^1.0.0" source-map-js "^1.0.2" +prebuild-install@5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-5.3.0.tgz#58b4d8344e03590990931ee088dd5401b03004c8" + integrity sha512-aaLVANlj4HgZweKttFNUVNRxDukytuIuxeK2boIMHjagNJCiVKWFsKF4tCE3ql3GbrD2tExPQ7/pwtEJcHNZeg== + dependencies: + detect-libc "^1.0.3" + expand-template "^2.0.3" + github-from-package "0.0.0" + minimist "^1.2.0" + mkdirp "^0.5.1" + napi-build-utils "^1.0.1" + node-abi "^2.7.0" + noop-logger "^0.1.1" + npmlog "^4.0.1" + os-homedir "^1.0.1" + pump "^2.0.1" + rc "^1.2.7" + simple-get "^2.7.0" + tar-fs "^1.13.0" + tunnel-agent "^0.6.0" + which-pm-runs "^1.0.0" + prebuild-install@^7.1.1: version "7.1.2" resolved "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.2.tgz" @@ -14154,6 +15848,18 @@ pretty-hrtime@^1.0.3: resolved "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz" integrity sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A== +prisma@^4.15.0: + version "4.16.2" + resolved "https://registry.yarnpkg.com/prisma/-/prisma-4.16.2.tgz#469e0a0991c6ae5bcde289401726bb012253339e" + integrity sha512-SYCsBvDf0/7XSJyf2cHTLjLeTLVXYfqp7pG5eEVafFLeT0u/hLFz/9W196nDRGUOo1JfPatAEb+uEnTQImQC1g== + dependencies: + "@prisma/engines" "4.16.2" + +proc-log@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/proc-log/-/proc-log-3.0.0.tgz#fb05ef83ccd64fd7b20bbe9c8c1070fc08338dd8" + integrity sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A== + process-nextick-args@~2.0.0: version "2.0.1" resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz" @@ -14174,11 +15880,34 @@ progress@^2.0.3: resolved "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz" integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== +promise-all-reject-late@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/promise-all-reject-late/-/promise-all-reject-late-1.0.1.tgz#f8ebf13483e5ca91ad809ccc2fcf25f26f8643c2" + integrity sha512-vuf0Lf0lOxyQREH7GDIOUMLS7kz+gs8i6B+Yi8dC68a2sychGrHTJYghMBD6k7eUcH0H5P73EckCA48xijWqXw== + +promise-call-limit@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/promise-call-limit/-/promise-call-limit-1.0.2.tgz#f64b8dd9ef7693c9c7613e7dfe8d6d24de3031ea" + integrity sha512-1vTUnfI2hzui8AEIixbdAJlFY4LFDXqQswy/2eOlThAscXCY4It8FdVuI0fMJGAB2aWGbdQf/gv0skKYXmdrHA== + +promise-inflight@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" + integrity sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g== + promise-polyfill@^8.1.3: version "8.3.0" resolved "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-8.3.0.tgz" integrity sha512-H5oELycFml5yto/atYqmjyigJoAo3+OXwolYiH7OfQuYlAqhxNvTfiNMbV9hsC6Yp83yE5r2KTVmtrG6R9i6Pg== +promise-retry@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/promise-retry/-/promise-retry-2.0.1.tgz#ff747a13620ab57ba688f5fc67855410c370da22" + integrity sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g== + dependencies: + err-code "^2.0.2" + retry "^0.12.0" + prompts@^2.0.1, prompts@^2.4.0, prompts@^2.4.2: version "2.4.2" resolved "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz" @@ -14187,6 +15916,13 @@ prompts@^2.0.1, prompts@^2.4.0, prompts@^2.4.2: kleur "^3.0.3" sisteransi "^1.0.5" +promzard@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/promzard/-/promzard-1.0.2.tgz#2226e7c6508b1da3471008ae17066a7c3251e660" + integrity sha512-2FPputGL+mP3jJ3UZg/Dl9YOkovB7DX0oOr+ck5QbZ5MtORtds8k/BZdn+02peDLI8/YWbmzx34k5fA+fHvCVQ== + dependencies: + read "^3.0.1" + prop-types@^15.5.10, prop-types@^15.5.8, prop-types@^15.6.2, prop-types@^15.7.1, prop-types@^15.7.2, prop-types@^15.8.1: version "15.8.1" resolved "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz" @@ -14231,7 +15967,15 @@ public-encrypt@^4.0.0: randombytes "^2.0.1" safe-buffer "^5.1.2" -pump@^2.0.0: +pump@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/pump/-/pump-1.0.3.tgz#5dfe8311c33bbf6fc18261f9f34702c47c08a954" + integrity sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +pump@^2.0.0, pump@^2.0.1: version "2.0.1" resolved "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz" integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA== @@ -14271,6 +16015,11 @@ pure-rand@^6.0.0: resolved "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.4.tgz" integrity sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA== +qrcode-terminal@^0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/qrcode-terminal/-/qrcode-terminal-0.12.0.tgz#bb5b699ef7f9f0505092a3748be4464fe71b5819" + integrity sha512-EXtzRZmC+YGmGlDFbXKxQiMZNwCLEO6BANKXG4iCtSIM0yqc/pappSx3RIKr4r0uh5JsBckOXeKrB3Iz7mdQpQ== + qrcode@^1.5.3: version "1.5.3" resolved "https://registry.npmjs.org/qrcode/-/qrcode-1.5.3.tgz" @@ -14827,6 +16576,29 @@ read-cache@^1.0.0: dependencies: pify "^2.3.0" +read-cmd-shim@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/read-cmd-shim/-/read-cmd-shim-4.0.0.tgz#640a08b473a49043e394ae0c7a34dd822c73b9bb" + integrity sha512-yILWifhaSEEytfXI76kB9xEEiG1AiozaCJZ83A87ytjRiN+jVibXjedjCRNjoZviinhG+4UkalO3mWTd8u5O0Q== + +read-package-json-fast@^3.0.0, read-package-json-fast@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/read-package-json-fast/-/read-package-json-fast-3.0.2.tgz#394908a9725dc7a5f14e70c8e7556dff1d2b1049" + integrity sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw== + dependencies: + json-parse-even-better-errors "^3.0.0" + npm-normalize-package-bin "^3.0.0" + +read-package-json@^6.0.0: + version "6.0.4" + resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-6.0.4.tgz#90318824ec456c287437ea79595f4c2854708836" + integrity sha512-AEtWXYfopBj2z5N5PbkAOeNHRPUg5q+Nen7QLxV8M2zJq1ym6/lCz3fYNTCXe19puu2d06jfHhrP7v/S2PtMMw== + dependencies: + glob "^10.2.2" + json-parse-even-better-errors "^3.0.0" + normalize-package-data "^5.0.0" + npm-normalize-package-bin "^3.0.0" + read-pkg-up@^7.0.1: version "7.0.1" resolved "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz" @@ -14846,7 +16618,21 @@ read-pkg@^5.2.0: parse-json "^5.0.0" type-fest "^0.6.0" -readable-stream@^2.0.0, readable-stream@^2.3.8, readable-stream@~2.3.6: +read@^2.0.0, read@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/read/-/read-2.1.0.tgz#69409372c54fe3381092bc363a00650b6ac37218" + integrity sha512-bvxi1QLJHcaywCAEsAk4DG3nVoqiY2Csps3qzWalhj5hFqRn1d/OixkFXtLO1PrgHUcAP0FNaSY/5GYNfENFFQ== + dependencies: + mute-stream "~1.0.0" + +read@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/read/-/read-3.0.1.tgz#926808f0f7c83fa95f1ef33c0e2c09dbb28fd192" + integrity sha512-SLBrDU/Srs/9EoWhU5GdbAoxG1GzpQHo/6qiGItaoLJ1thmYpcNIM1qISEUvyHBzfGlWIyd6p2DNi1oV1VmAuw== + dependencies: + mute-stream "^1.0.0" + +readable-stream@^2.0.0, readable-stream@^2.0.6, readable-stream@^2.3.0, readable-stream@^2.3.5, readable-stream@^2.3.8, readable-stream@~2.3.6: version "2.3.8" resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz" integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== @@ -14893,6 +16679,11 @@ readdirp@~3.6.0: dependencies: picomatch "^2.2.1" +readline@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/readline/-/readline-1.3.0.tgz#c580d77ef2cfc8752b132498060dc9793a7ac01c" + integrity sha512-k2d6ACCkiNYz222Fs/iNze30rRJ1iIicW7JuX/7/cozvih6YCkFZH+J6mAFDVgv0dRBaAyr4jDqC95R2y4IADg== + reaflow@^5.3.1: version "5.3.1" resolved "https://registry.yarnpkg.com/reaflow/-/reaflow-5.3.1.tgz#dcf39c12a36d56695ada276864993a6310b963ac" @@ -15392,6 +17183,16 @@ restore-cursor@^4.0.0: onetime "^5.1.0" signal-exit "^3.0.2" +retry@^0.10.1: + version "0.10.1" + resolved "https://registry.yarnpkg.com/retry/-/retry-0.10.1.tgz#e76388d217992c252750241d3d3956fed98d8ff4" + integrity sha512-ZXUSQYTHdl3uS7IuCehYfMzKyIDBNoAuUblvy5oGO5UJSUTmStUUVPXbA9Qxd173Bgre53yCQczQuHgRWAdvJQ== + +retry@^0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" + integrity sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow== + reusify@^1.0.4: version "1.0.4" resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" @@ -15628,7 +17429,7 @@ scrollparent@^2.1.0: resolved "https://registry.npmjs.org/scrollparent/-/scrollparent-2.1.0.tgz" integrity sha512-bnnvJL28/Rtz/kz2+4wpBjHzWoEzXhVg/TE8BeVGJHUqE8THNIRnDxDWMktwM+qahvlRdvlLdsQfYe+cuqfZeA== -"semver@2 || 3 || 4 || 5", semver@^5.6.0: +"semver@2 || 3 || 4 || 5", semver@^5.4.1, semver@^5.6.0: version "5.7.2" resolved "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz" integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== @@ -15638,6 +17439,11 @@ semver@^6.0.0, semver@^6.3.0, semver@^6.3.1: resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== +semver@^7.1.1: + version "7.6.3" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143" + integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== + semver@^7.3.5, semver@^7.3.7, semver@^7.5.3, semver@^7.5.4: version "7.5.4" resolved "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz" @@ -15669,6 +17475,13 @@ send@0.18.0: range-parser "~1.2.1" statuses "2.0.1" +serialize-error@^8: + version "8.1.0" + resolved "https://registry.yarnpkg.com/serialize-error/-/serialize-error-8.1.0.tgz#3a069970c712f78634942ddd50fbbc0eaebe2f67" + integrity sha512-3NnuWfM6vBYoy5gZFvHiYsVbafvI9vZv/+jlIigFn4oP4zjNPK3LhcY0xSCgeb1a5L8jO71Mit9LlNoi2UfDDQ== + dependencies: + type-fest "^0.20.2" + serialize-javascript@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz" @@ -15676,7 +17489,7 @@ serialize-javascript@^4.0.0: dependencies: randombytes "^2.1.0" -serialize-javascript@^6.0.1: +serialize-javascript@^6.0.1, serialize-javascript@^6.0.2: version "6.0.2" resolved "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz" integrity sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g== @@ -15693,7 +17506,7 @@ serve-static@1.15.0: parseurl "~1.3.3" send "0.18.0" -set-blocking@^2.0.0: +set-blocking@^2.0.0, set-blocking@~2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz" integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== @@ -15831,7 +17644,7 @@ side-channel@^1.0.4, side-channel@^1.0.6: get-intrinsic "^1.2.4" object-inspect "^1.13.1" -signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: +signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: version "3.0.7" resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== @@ -15841,11 +17654,31 @@ signal-exit@^4.0.1, signal-exit@^4.1.0: resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz" integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== +sigstore@^1.3.0, sigstore@^1.4.0, sigstore@^1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/sigstore/-/sigstore-1.9.0.tgz#1e7ad8933aa99b75c6898ddd0eeebc3eb0d59875" + integrity sha512-0Zjz0oe37d08VeOtBIuB6cRriqXse2e8w+7yIy2XSXjshRKxbc2KkhXjL229jXSxEm7UbcjS76wcJDGQddVI9A== + dependencies: + "@sigstore/bundle" "^1.1.0" + "@sigstore/protobuf-specs" "^0.2.0" + "@sigstore/sign" "^1.0.0" + "@sigstore/tuf" "^1.0.3" + make-fetch-happen "^11.0.1" + simple-concat@^1.0.0: version "1.0.1" resolved "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz" integrity sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q== +simple-get@^2.7.0: + version "2.8.2" + resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-2.8.2.tgz#5708fb0919d440657326cd5fe7d2599d07705019" + integrity sha512-Ijd/rV5o+mSBBs4F/x9oDPtTx9Zb6X9brmnXvMW4J7IR15ngi9q5xxqWBKU744jTZiaXtxaPL7uHG6vtN8kUkw== + dependencies: + decompress-response "^3.3.0" + once "^1.3.1" + simple-concat "^1.0.0" + simple-get@^4.0.0, simple-get@^4.0.1: version "4.0.1" resolved "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz" @@ -15888,6 +17721,37 @@ slice-ansi@^7.0.0: ansi-styles "^6.2.1" is-fullwidth-code-point "^5.0.0" +smart-buffer@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae" + integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== + +snappy@^6.0.1: + version "6.3.5" + resolved "https://registry.yarnpkg.com/snappy/-/snappy-6.3.5.tgz#c14b8dea8e9bc2687875b5e491d15dd900e6023c" + integrity sha512-lonrUtdp1b1uDn1dbwgQbBsb5BbaiLeKq+AGwOk2No+en+VvJThwmtztwulEQsLinRF681pBqib0NUZaizKLIA== + dependencies: + bindings "^1.3.1" + nan "^2.14.1" + prebuild-install "5.3.0" + +socks-proxy-agent@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz#dc069ecf34436621acb41e3efa66ca1b5fed15b6" + integrity sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww== + dependencies: + agent-base "^6.0.2" + debug "^4.3.3" + socks "^2.6.2" + +socks@^2.6.2: + version "2.8.3" + resolved "https://registry.yarnpkg.com/socks/-/socks-2.8.3.tgz#1ebd0f09c52ba95a09750afe3f3f9f724a800cb5" + integrity sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw== + dependencies: + ip-address "^9.0.5" + smart-buffer "^4.2.0" + sonic-boom@^3.7.0: version "3.8.0" resolved "https://registry.npmjs.org/sonic-boom/-/sonic-boom-3.8.0.tgz" @@ -15971,7 +17835,7 @@ spdx-exceptions@^2.1.0: resolved "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz" integrity sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w== -spdx-expression-parse@^3.0.0: +spdx-expression-parse@^3.0.0, spdx-expression-parse@^3.0.1: version "3.0.1" resolved "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz" integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== @@ -15989,6 +17853,11 @@ split2@^4.0.0: resolved "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz" integrity sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg== +sprintf-js@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.3.tgz#4914b903a2f8b685d17fdf78a70e917e872e444a" + integrity sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA== + sprintf-js@~1.0.2: version "1.0.3" resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" @@ -15999,6 +17868,20 @@ sql-summary@^1.0.1: resolved "https://registry.npmjs.org/sql-summary/-/sql-summary-1.0.1.tgz" integrity sha512-IpCr2tpnNkP3Jera4ncexsZUp0enJBLr+pHCyTweMUBrbJsTgQeLWx1FXLhoBj/MvcnUQpkgOn2EY8FKOkUzww== +ssri@^10.0.0, ssri@^10.0.1, ssri@^10.0.5: + version "10.0.6" + resolved "https://registry.yarnpkg.com/ssri/-/ssri-10.0.6.tgz#a8aade2de60ba2bce8688e3fa349bad05c7dc1e5" + integrity sha512-MGrFH9Z4NP9Iyhqn16sDtBpRRNJ0Y2hNa6D65h736fVSaPCHr4DM4sWUNvVaSuC+0OBGhwsrydQwmgfg5LncqQ== + dependencies: + minipass "^7.0.3" + +ssri@^9.0.0: + version "9.0.1" + resolved "https://registry.yarnpkg.com/ssri/-/ssri-9.0.1.tgz#544d4c357a8d7b71a19700074b6883fcb4eae057" + integrity sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q== + dependencies: + minipass "^3.1.1" + stack-generator@^2.0.5: version "2.0.10" resolved "https://registry.npmjs.org/stack-generator/-/stack-generator-2.0.10.tgz" @@ -16057,6 +17940,11 @@ statuses@2.0.1, statuses@^2.0.1: resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz" integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== +std@0.1.36: + version "0.1.36" + resolved "https://registry.yarnpkg.com/std/-/std-0.1.36.tgz#79da0f9bba887809dfc60958ad4e69cdcf788c40" + integrity sha512-PZP6srpVKfDgMwgbo+0jOUV0IFAWxHKlyQj3wiZiov8AYbXtoDjhNtFaCLkthOp0T5I6HDFzYvo2mRVtU5HYdg== + stdin-discarder@^0.1.0: version "0.1.0" resolved "https://registry.npmjs.org/stdin-discarder/-/stdin-discarder-0.1.0.tgz" @@ -16146,7 +18034,7 @@ string-length@^4.0.1: char-regex "^1.0.2" strip-ansi "^6.0.0" -"string-width-cjs@npm:string-width@^4.2.0": +"string-width-cjs@npm:string-width@^4.2.0", "string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: version "4.2.3" resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -16155,14 +18043,14 @@ string-length@^4.0.1: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.1" -string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: - version "4.2.3" - resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== +string-width@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" + integrity sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw== dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + strip-ansi "^3.0.0" string-width@^5.0.1, string-width@^5.1.2: version "5.1.2" @@ -16283,19 +18171,19 @@ stringify-object@^3.3.0: is-obj "^1.0.1" is-regexp "^1.0.0" -"strip-ansi-cjs@npm:strip-ansi@^6.0.1": +"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== dependencies: ansi-regex "^5.0.1" -strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== +strip-ansi@^3.0.0, strip-ansi@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + integrity sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg== dependencies: - ansi-regex "^5.0.1" + ansi-regex "^2.0.0" strip-ansi@^7.0.1, strip-ansi@^7.1.0: version "7.1.0" @@ -16432,13 +18320,18 @@ supports-color@^7.0.0, supports-color@^7.1.0: dependencies: has-flag "^4.0.0" -supports-color@^8.0.0: +supports-color@^8.0.0, supports-color@^8.1.1: version "8.1.1" resolved "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== dependencies: has-flag "^4.0.0" +supports-color@^9.4.0: + version "9.4.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-9.4.0.tgz#17bfcf686288f531db3dea3215510621ccb55954" + integrity sha512-VL+lNrEoIXww1coLPOmiEmK/0sGigko5COxI09KzHc2VJXJsQ37UaQ+8quuxjDeA7+KnLGTWRyOXSLLR2Wb4jw== + supports-preserve-symlinks-flag@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" @@ -16531,6 +18424,16 @@ tape@^4.9.0: resolve "~1.22.6" string.prototype.trim "~1.2.8" +tar-fs@^1.13.0: + version "1.16.3" + resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-1.16.3.tgz#966a628841da2c4010406a82167cbd5e0c72d509" + integrity sha512-NvCeXpYx7OsmOh8zIOP/ebG55zZmxLE0etfWRbWok+q2Qo8x/vOR/IJT1taADXPe+jsiu9axDb3X4B+iIgNlKw== + dependencies: + chownr "^1.0.1" + mkdirp "^0.5.1" + pump "^1.0.0" + tar-stream "^1.1.2" + tar-fs@^2.0.0, tar-fs@^2.1.1: version "2.1.1" resolved "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz" @@ -16552,6 +18455,19 @@ tar-fs@^3.0.4: bare-fs "^2.1.1" bare-path "^2.1.0" +tar-stream@^1.1.2: + version "1.6.2" + resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.6.2.tgz#8ea55dab37972253d9a9af90fdcd559ae435c555" + integrity sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A== + dependencies: + bl "^1.0.0" + buffer-alloc "^1.2.0" + end-of-stream "^1.0.0" + fs-constants "^1.0.0" + readable-stream "^2.3.0" + to-buffer "^1.1.1" + xtend "^4.0.0" + tar-stream@^2.1.4: version "2.2.0" resolved "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz" @@ -16572,7 +18488,7 @@ tar-stream@^3.1.5: fast-fifo "^1.2.0" streamx "^2.15.0" -tar@^6.2.0: +tar@^6.1.11, tar@^6.1.13, tar@^6.1.2, tar@^6.2.0, tar@^6.2.1: version "6.2.1" resolved "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz" integrity sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A== @@ -16661,7 +18577,7 @@ text-segmentation@^1.0.3: dependencies: utrie "^1.0.2" -text-table@^0.2.0: +text-table@^0.2.0, text-table@~0.2.0: version "0.2.0" resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== @@ -16717,6 +18633,11 @@ tiny-invariant@^1.0.6, tiny-invariant@^1.3.1, tiny-invariant@^1.3.3: resolved "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz" integrity sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg== +tiny-relative-date@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/tiny-relative-date/-/tiny-relative-date-1.3.0.tgz#fa08aad501ed730f31cc043181d995c39a935e07" + integrity sha512-MOQHpzllWxDCHHaDno30hhLfbouoYlOI8YlMNtvKe1zXbjEVhbcEovQxvZrPvtiYW630GQDoMMarCnjfyfHA+A== + tinycolor2@^1.4.1: version "1.6.0" resolved "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.6.0.tgz" @@ -16739,6 +18660,11 @@ tmpl@1.0.5: resolved "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz" integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== +to-buffer@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/to-buffer/-/to-buffer-1.1.1.tgz#493bd48f62d7c43fcded313a03dcadb2e1213a80" + integrity sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg== + to-fast-properties@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" @@ -16803,6 +18729,11 @@ tr46@~0.0.3: resolved "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz" integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== +"traverse@>=0.3.0 <0.4": + version "0.3.9" + resolved "https://registry.yarnpkg.com/traverse/-/traverse-0.3.9.tgz#717b8f220cc0bb7b44e40514c22b2e8bbc70d8b9" + integrity sha512-iawgk0hLP3SxGKDfnDJf8wTz4p2qImnyihM5Hh/sGvQ3K37dPi/w8sRhdNIxYA1TwFwc5mDhIJq+O0RsvXBKdQ== + tree-changes@^0.11.2: version "0.11.2" resolved "https://registry.npmjs.org/tree-changes/-/tree-changes-0.11.2.tgz" @@ -16819,6 +18750,11 @@ tree-changes@^0.9.1: "@gilbarbara/deep-equal" "^0.1.1" is-lite "^0.8.2" +treeverse@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/treeverse/-/treeverse-3.0.0.tgz#dd82de9eb602115c6ebd77a574aae67003cb48c8" + integrity sha512-gcANaAnd2QDZFmHFEOF4k7uc1J/6a6z3DJMd/QwEyxLoKGiptJRwid582r7QIsFlFMIZ3SnxfS52S4hm2DHkuQ== + trim-lines@^3.0.0: version "3.0.1" resolved "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz" @@ -16839,6 +18775,11 @@ ts-api-utils@^1.3.0: resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.3.0.tgz#4b490e27129f1e8e686b45cc4ab63714dc60eea1" integrity sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ== +ts-custom-error@^3.2.0: + version "3.3.1" + resolved "https://registry.yarnpkg.com/ts-custom-error/-/ts-custom-error-3.3.1.tgz#8bd3c8fc6b8dc8e1cb329267c45200f1e17a65d1" + integrity sha512-5OX1tzOjxWEgsr/YEUWSuPrQ00deKLh6D7OTWcvNHm12/7QPyRh8SYpyWvA4IZv8H/+GQWQEh/kwo95Q9OVW1A== + ts-dedent@^2.0.0, ts-dedent@^2.2.0: version "2.2.0" resolved "https://registry.npmjs.org/ts-dedent/-/ts-dedent-2.2.0.tgz" @@ -16868,6 +18809,11 @@ ts-jest@^29.1.2: semver "^7.5.3" yargs-parser "^21.0.1" +ts-log@^2.2.4: + version "2.2.7" + resolved "https://registry.yarnpkg.com/ts-log/-/ts-log-2.2.7.tgz#4f4512144898b77c9984e91587076fcb8518688e" + integrity sha512-320x5Ggei84AxzlXp91QkIGSw5wgaLT6GeAH0KsqDmRZdVWW2OiSeVvElVoatk3f7nicwXlElXsoFkARiGE2yg== + ts-morph@^18.0.0: version "18.0.0" resolved "https://registry.npmjs.org/ts-morph/-/ts-morph-18.0.0.tgz" @@ -16955,6 +18901,15 @@ tty-browserify@^0.0.1: resolved "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz" integrity sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw== +tuf-js@^1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/tuf-js/-/tuf-js-1.1.7.tgz#21b7ae92a9373015be77dfe0cb282a80ec3bbe43" + integrity sha512-i3P9Kgw3ytjELUfpuKVDNBJvk4u5bXL6gskv572mcevPbSKCV3zt3djhmlEQ65yERjIbOSncy7U4cQJaB1CBCg== + dependencies: + "@tufjs/models" "1.0.4" + debug "^4.3.4" + make-fetch-happen "^11.1.1" + tunnel-agent@^0.6.0: version "0.6.0" resolved "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz" @@ -17037,6 +18992,11 @@ type-is@~1.6.18: media-typer "0.3.0" mime-types "~2.1.24" +type@^2.7.2: + version "2.7.3" + resolved "https://registry.yarnpkg.com/type/-/type-2.7.3.tgz#436981652129285cc3ba94f392886c2637ea0486" + integrity sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ== + typed-array-buffer@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz" @@ -17120,6 +19080,13 @@ typed-array-length@^1.0.6: is-typed-array "^1.1.13" possible-typed-array-names "^1.0.0" +typedarray-to-buffer@^3.1.5: + version "3.1.5" + resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" + integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== + dependencies: + is-typedarray "^1.0.0" + typescript@^5: version "5.3.3" resolved "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz" @@ -17207,6 +19174,34 @@ unified@^11.0.0, unified@^11.0.3, unified@~11.0.0: trough "^2.0.0" vfile "^6.0.0" +unique-filename@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-2.0.1.tgz#e785f8675a9a7589e0ac77e0b5c34d2eaeac6da2" + integrity sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A== + dependencies: + unique-slug "^3.0.0" + +unique-filename@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-3.0.0.tgz#48ba7a5a16849f5080d26c760c86cf5cf05770ea" + integrity sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g== + dependencies: + unique-slug "^4.0.0" + +unique-slug@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-3.0.0.tgz#6d347cf57c8a7a7a6044aabd0e2d74e4d76dc7c9" + integrity sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w== + dependencies: + imurmurhash "^0.1.4" + +unique-slug@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-4.0.0.tgz#6bae6bb16be91351badd24cdce741f892a6532e3" + integrity sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ== + dependencies: + imurmurhash "^0.1.4" + unique-string@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz" @@ -17391,6 +19386,13 @@ usehooks-ts@^3.1.0: dependencies: lodash.debounce "^4.0.8" +utf-8-validate@^5.0.2: + version "5.0.10" + resolved "https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-5.0.10.tgz#d7d10ea39318171ca982718b6b96a8d2442571a2" + integrity sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ== + dependencies: + node-gyp-build "^4.3.0" + util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" @@ -17424,6 +19426,11 @@ utrie@^1.0.2: dependencies: base64-arraybuffer "^1.0.2" +uuid@^3.0.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" + integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== + uuid@^9.0.0, uuid@^9.0.1: version "9.0.1" resolved "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz" @@ -17453,7 +19460,7 @@ v8-to-istanbul@^9.0.1: "@types/istanbul-lib-coverage" "^2.0.1" convert-source-map "^2.0.0" -validate-npm-package-license@^3.0.1: +validate-npm-package-license@^3.0.1, validate-npm-package-license@^3.0.4: version "3.0.4" resolved "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz" integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== @@ -17461,6 +19468,11 @@ validate-npm-package-license@^3.0.1: spdx-correct "^3.0.0" spdx-expression-parse "^3.0.0" +validate-npm-package-name@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-5.0.1.tgz#a316573e9b49f3ccd90dbb6eb52b3f06c6d604e8" + integrity sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ== + vanilla-cookieconsent@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/vanilla-cookieconsent/-/vanilla-cookieconsent-3.0.0.tgz" @@ -17528,6 +19540,11 @@ w3c-xmlserializer@^4.0.0: dependencies: xml-name-validator "^4.0.0" +walk-up-path@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/walk-up-path/-/walk-up-path-3.0.1.tgz#c8d78d5375b4966c717eb17ada73dbd41490e886" + integrity sha512-9YlCL/ynK3CTlrSRrDxZvUauLzAswPCrsaCgilqFevUYpeEW0/3ScEjaa3kbW/T0ghhkEr7mv+fpjqn1Y1YuTA== + walker@^1.0.8: version "1.0.8" resolved "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz" @@ -17543,7 +19560,7 @@ watchpack@^2.2.0, watchpack@^2.4.0: glob-to-regexp "^0.4.1" graceful-fs "^4.1.2" -wcwidth@^1.0.1: +wcwidth@^1.0.0, wcwidth@^1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz" integrity sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg== @@ -17653,6 +19670,18 @@ webpack@5: watchpack "^2.4.0" webpack-sources "^3.2.3" +websocket@^1.0.35: + version "1.0.35" + resolved "https://registry.yarnpkg.com/websocket/-/websocket-1.0.35.tgz#374197207d7d4cc4c36cbf8a1bb886ee52a07885" + integrity sha512-/REy6amwPZl44DDzvRCkaI1q1bIiQB0mEFQLUrhz3z2EK91cp3n72rAjUlrTP0zV22HJIUOVHQGPxhFRjxjt+Q== + dependencies: + bufferutil "^4.0.1" + debug "^2.2.0" + es5-ext "^0.10.63" + typedarray-to-buffer "^3.1.5" + utf-8-validate "^5.0.2" + yaeti "^0.0.6" + whatwg-encoding@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz" @@ -17739,6 +19768,11 @@ which-module@^2.0.0: resolved "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz" integrity sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ== +which-pm-runs@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/which-pm-runs/-/which-pm-runs-1.1.0.tgz#35ccf7b1a0fce87bd8b92a478c9d045785d3bf35" + integrity sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA== + which-typed-array@^1.1.11, which-typed-array@^1.1.13, which-typed-array@^1.1.2, which-typed-array@^1.1.9: version "1.1.13" resolved "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz" @@ -17773,6 +19807,20 @@ which@^2.0.1, which@^2.0.2: dependencies: isexe "^2.0.0" +which@^3.0.0, which@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/which/-/which-3.0.1.tgz#89f1cd0c23f629a8105ffe69b8172791c87b4be1" + integrity sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg== + dependencies: + isexe "^2.0.0" + +wide-align@^1.1.0, wide-align@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.5.tgz#df1d4c206854369ecf3c9a4898f1b23fbd9d15d3" + integrity sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg== + dependencies: + string-width "^1.0.2 || 2 || 3 || 4" + wordwrap@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz" @@ -17947,7 +19995,12 @@ workbox-window@6.6.0, workbox-window@^6.5.4: "@types/trusted-types" "^2.0.2" workbox-core "6.6.0" -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": +workerpool@^6.5.1: + version "6.5.1" + resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.5.1.tgz#060f73b39d0caf97c6db64da004cd01b4c099544" + integrity sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA== + +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: version "7.0.0" resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== @@ -17965,15 +20018,6 @@ wrap-ansi@^6.0.1, wrap-ansi@^6.2.0: string-width "^4.1.0" strip-ansi "^6.0.0" -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - wrap-ansi@^8.1.0: version "8.1.0" resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz" @@ -18014,6 +20058,14 @@ write-file-atomic@^4.0.2: imurmurhash "^0.1.4" signal-exit "^3.0.7" +write-file-atomic@^5.0.0, write-file-atomic@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-5.0.1.tgz#68df4717c55c6fa4281a7860b4c2ba0a6d2b11e7" + integrity sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw== + dependencies: + imurmurhash "^0.1.4" + signal-exit "^4.0.1" + ws@^8.11.0, ws@^8.2.3: version "8.16.0" resolved "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz" @@ -18029,7 +20081,7 @@ xmlchars@^2.2.0: resolved "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz" integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== -xtend@^4.0.2, xtend@~4.0.1: +xtend@^4.0.0, xtend@^4.0.2, xtend@~4.0.1: version "4.0.2" resolved "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz" integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== @@ -18044,6 +20096,11 @@ y18n@^5.0.5: resolved "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz" integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== +yaeti@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/yaeti/-/yaeti-0.0.6.tgz#f26f484d72684cf42bedfb76970aa1608fbf9577" + integrity sha512-MvQa//+KcZCUkBTIC9blM+CU9J2GzuTytsOUwf2lidtvkx/6gnEp1QvJv34t9vdjhFmha/mUiNDbN0D0mJWdug== + yallist@^3.0.2: version "3.1.1" resolved "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" @@ -18072,11 +20129,26 @@ yargs-parser@^18.1.2: camelcase "^5.0.0" decamelize "^1.2.0" +yargs-parser@^20.2.2, yargs-parser@^20.2.9: + version "20.2.9" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" + integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== + yargs-parser@^21.0.1, yargs-parser@^21.1.1: version "21.1.1" resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz" integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== +yargs-unparser@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb" + integrity sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA== + dependencies: + camelcase "^6.0.0" + decamelize "^4.0.0" + flat "^5.0.2" + is-plain-obj "^2.1.0" + yargs@^15.3.1: version "15.4.1" resolved "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz" @@ -18094,6 +20166,19 @@ yargs@^15.3.1: y18n "^4.0.0" yargs-parser "^18.1.2" +yargs@^16.2.0: + version "16.2.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" + integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== + dependencies: + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.0" + y18n "^5.0.5" + yargs-parser "^20.2.2" + yargs@^17.3.1, yargs@^17.7.2: version "17.7.2" resolved "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz" From 25fa7168e59d70abe2f8b5c29468b893f466fc76 Mon Sep 17 00:00:00 2001 From: Sital999 Date: Mon, 23 Dec 2024 16:58:31 +0545 Subject: [PATCH 25/42] enhancement: Add support for libcardano txSchema for filterType --- frontend/package.json | 2 +- .../components/event/EventTab.tsx | 95 ++- .../components/event/EventTrigger.ts | 108 +-- frontend/src/utils/common/array.ts | 8 + frontend/yarn.lock | 717 +----------------- 5 files changed, 115 insertions(+), 815 deletions(-) create mode 100644 frontend/src/utils/common/array.ts diff --git a/frontend/package.json b/frontend/package.json index 97a21f03..1c278b32 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -67,7 +67,7 @@ "js-cookie": "^3.0.5", "katex": "^0.16.9", "kuber-client": "^2.0.3", - "libcardano": "^1.4.8", + "libcardano": "^1.4.14-browser", "libphonenumber-js": "^1.10.54", "little-state-machine": "^4.8.0", "lodash": "^4.17.21", diff --git a/frontend/src/app/(pages)/templates/create-template/components/event/EventTab.tsx b/frontend/src/app/(pages)/templates/create-template/components/event/EventTab.tsx index 933478bc..8df2b442 100644 --- a/frontend/src/app/(pages)/templates/create-template/components/event/EventTab.tsx +++ b/frontend/src/app/(pages)/templates/create-template/components/event/EventTab.tsx @@ -1,6 +1,7 @@ -import { useEffect, useState } from 'react'; +import React, { useEffect, useState } from 'react'; import { IBooleanNode, IEventTrigger, IFieldNode } from '@api/agents'; +import { Events as transactionSchema } from 'libcardano/spec/properties'; import { ChevronDown, FileJson } from 'lucide-react'; import { Card } from '@app/components/atoms/Card'; @@ -15,10 +16,12 @@ import { Input } from '@app/components/atoms/Input'; import { cn } from '@app/components/lib/utils'; import { CustomSelect } from '@app/components/molecules/CustomDropDown'; import { ErrorToast } from '@app/components/molecules/CustomToasts'; +import { areArraysEqual } from '@app/utils/common/array'; +import { Close } from '@app/views/atoms/Icons/Close'; import InfoCard from '../cards/InfoCard'; import CustomEditor from './CustomEditor'; -import { ISchema, transactionSchema } from './EventTrigger'; +import { ISchema } from './EventTrigger'; import NodeGraph from './EventTriggerGraph'; const EventTab = ({ @@ -110,12 +113,28 @@ const EventTab = ({ } }; + function getSelectedParameter(parameterId: string | string[]) { + const selectedProperty = transactionSchema + .find((tx) => tx.id === formData!.id) + ?.properties?.find((filter) => filter.id === currentEventFilter?.id); + let selectedParameter: any = selectedProperty?.properties?.find((prop) => { + if (Array.isArray(parameterId)) { + return prop.id === parameterId[0]; + } else { + return prop.id === parameterId; + } + }); + if (selectedParameter && 'properties' in selectedParameter) { + selectedParameter = getNestedProperties(selectedParameter)?.find((prop) => + areArraysEqual(prop.id as string[], parameterId as string[]) + ); + } + return selectedParameter; + } + const handleAddParameter = (parameterId: string) => { if (formData && currentEventFilter) { - const selectedParameter = transactionSchema - .find((tx) => tx.id === formData.id) - ?.properties?.find((filter) => filter.id === currentEventFilter?.id) - ?.properties?.find((param) => param.id === parameterId); + const selectedParameter = getSelectedParameter(parameterId); if (selectedParameter) { const data = { ...formData, @@ -214,13 +233,48 @@ const EventTab = ({ ); }; + function getNestedProperties(obj: ISchema) { + const result: ISchema[] = []; + const txObjectOperators = obj.operators; + + function recursiveFlatten(property: ISchema, parentId: any = []) { + const { id, type, properties } = property; + const newId: string[] = [...parentId, id]; + + if (properties && Array.isArray(properties)) { + properties.forEach((child) => recursiveFlatten(child, newId)); + } else { + result.push({ + id: newId, + label: newId.join('.'), + type, + operators: txObjectOperators + }); + } + } + + recursiveFlatten(obj); + return result; + } + + const getFlattenEventFilterParams = () => { + return currentEventFilter?.properties + ?.map((prop) => getNestedProperties(prop)) + .flat(); + }; + const getNotSelectedEventFilterParameters = () => { - return currentEventFilter?.properties?.filter( - (prop) => - !formData?.children - .find((eventFilter) => eventFilter.id === currentEventFilter?.id) - //@ts-ignore - ?.children.find((child: IFieldNode) => child.id === prop.id) + return ( + currentEventFilter && + getFlattenEventFilterParams()?.filter( + (prop: ISchema) => + !formData?.children + .find( + (eventFilter) => eventFilter.id === currentEventFilter?.id + ) + //@ts-ignore + ?.children.find((child: IFieldNode) => child.id === prop.id) + ) ); }; @@ -305,10 +359,12 @@ const EventTab = ({ ({ - label: item.label, - value: item.id - })) || [] + getNotSelectedEventFilterParameters()?.map( + (item: ISchema) => ({ + label: item.label, + value: item.id + }) + ) || [] } disabled={currentEventFilter === null} defaultValue={` Add Parameters`} @@ -422,8 +478,8 @@ const RenderEventChildForm = ({ onValueChange?.(e.target.value); }; return ( -
- +
+ {Array.isArray(eventFilterParam.id) ? (eventFilterParam.id as string[]).join('.') : eventFilterParam.id} @@ -464,6 +520,9 @@ const RenderEventChildForm = ({ onChange={handleInputChange} /> {errMsg && {errMsg}} +
); }; diff --git a/frontend/src/app/(pages)/templates/create-template/components/event/EventTrigger.ts b/frontend/src/app/(pages)/templates/create-template/components/event/EventTrigger.ts index 94776de9..06ff6138 100644 --- a/frontend/src/app/(pages)/templates/create-template/components/event/EventTrigger.ts +++ b/frontend/src/app/(pages)/templates/create-template/components/event/EventTrigger.ts @@ -1,112 +1,12 @@ -// for storing event meatadata interface IEventFilterAtribute { id: string; label: string; type: string; + operators?: string[]; + validator?: (arg: any) => any | undefined; + properties?: IEventFilterAtribute[]; } -export interface IEventFilter { - id: string; - label: string; - children: IEventFilterAtribute[]; -} - -export interface IEvent { - id: string; - label: string; - filters: IEventFilter[]; -} - -export interface ISchema { +export interface ISchema extends Omit { id: string | string[]; - label: string; - properties?: ISchema[]; - type?: string; - validator?: (...args: any) => any; } - -export const transactionSchema: ISchema[] = [ - { - id: 'tx', - label: 'Transaction', - type: 'object', - properties: [ - // output - { - id: 'outputs', - label: 'Ouput', - type: 'object', - properties: [ - { - id: ['value', 'lovelace'], - label: 'value.lovelace', - type: 'bigint', - validator: (arg: number) => true - }, - { - id: ['value', 'multiAsset'], - label: 'value.multiAsset', - type: 'map', - validator: (arg: number) => true - }, - // address - { - id: ['address', 'raw'], - label: 'address', - type: 'string', - validator: (arg: any) => true - }, - { - id: ['address', 'networkId'], - label: 'address.networkId', - type: 'number', - validator: (arg: number) => true - }, - { - id: ['address', 'paymentPart', 'keyHash'], - label: 'address.paymentCredential.keyHash', - type: 'string', - validator: (arg: number) => true - }, - { - id: ['address', 'paymentPart', 'scriptHash'], - label: 'address.paymentCredential.scriptHash', - type: 'string', - validator: (arg: number) => true - }, - { - id: ['address', 'stakePart', 'keyHash'], - label: 'address.stakeCredential.keyHash', - type: 'string', - validator: (arg: number) => true - }, - { - id: ['address', 'stakePart', 'scriptHash'], - label: 'address.stakeCredential.scriptHash', - type: 'string', - validator: (arg: number) => true - }, - { - id: 'inlineDatum', - label: 'InlineDatum', - type: 'object' - }, - //datumHash - { - id: 'datumHash', - label: 'DatumHash', - type: 'string', - validator: (arg: any) => true - }, - //referenceScript - { - id: 'referenceScript', - label: 'ReferenceScript', - type: 'object', - validator: (arg: any) => true - } - ] - } - ] - } -]; diff --git a/frontend/src/utils/common/array.ts b/frontend/src/utils/common/array.ts new file mode 100644 index 00000000..9783a28a --- /dev/null +++ b/frontend/src/utils/common/array.ts @@ -0,0 +1,8 @@ +export function areArraysEqual(arr1: string[], arr2: string[]) { + if (arr1.length !== arr2.length) return false; + + const sortedArr1 = [...arr1].sort(); + const sortedArr2 = [...arr2].sort(); + + return sortedArr1.every((value, index) => value === sortedArr2[index]); +} diff --git a/frontend/yarn.lock b/frontend/yarn.lock index 177d980b..a3dc2dd8 100644 --- a/frontend/yarn.lock +++ b/frontend/yarn.lock @@ -1436,11 +1436,6 @@ resolved "https://registry.yarnpkg.com/@emurgo/cardano-serialization-lib-asmjs/-/cardano-serialization-lib-asmjs-12.0.0-alpha.30.tgz#44419615a3ac90cc4e2f01889553f341d6b8e9a7" integrity sha512-7I11UmeMep+aN34szfne4+V6BWvgnSXpBjbETQQeiwuD1c5QAIh4HjfYxf8N/At4PdovaoOH1u/jAX4wAlz1GA== -"@emurgo/cardano-serialization-lib-nodejs@^11.5.0": - version "11.5.0" - resolved "https://registry.yarnpkg.com/@emurgo/cardano-serialization-lib-nodejs/-/cardano-serialization-lib-nodejs-11.5.0.tgz#0662e2a17d7d1e944f8cdb86396133c8edaec059" - integrity sha512-IlVABlRgo9XaTR1NunwZpWcxnfEv04ba2l1vkUz4S1W7Jt36F4CtffP+jPeqBZGnAe+fnUwo0XjIJC3ZTNToNQ== - "@esbuild/aix-ppc64@0.20.2": version "0.20.2" resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz#a70f4ac11c6a1dfc18b8bbb13284155d933b9537" @@ -2532,23 +2527,6 @@ resolved "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz" integrity sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A== -"@prisma/client@4.15.0": - version "4.15.0" - resolved "https://registry.yarnpkg.com/@prisma/client/-/client-4.15.0.tgz#f52ec6ca6fbde37395a54b0a9e5da603a9de15f3" - integrity sha512-xnROvyABcGiwqRNdrObHVZkD9EjkJYHOmVdlKy1yGgI+XOzvMzJ4tRg3dz1pUlsyhKxXGCnjIQjWW+2ur+YXuw== - dependencies: - "@prisma/engines-version" "4.15.0-28.8fbc245156db7124f997f4cecdd8d1219e360944" - -"@prisma/engines-version@4.15.0-28.8fbc245156db7124f997f4cecdd8d1219e360944": - version "4.15.0-28.8fbc245156db7124f997f4cecdd8d1219e360944" - resolved "https://registry.yarnpkg.com/@prisma/engines-version/-/engines-version-4.15.0-28.8fbc245156db7124f997f4cecdd8d1219e360944.tgz#8d880becf996cffe08c78ad5afab6bc06090c990" - integrity sha512-sVOig4tjGxxlYaFcXgE71f/rtFhzyYrfyfNFUsxCIEJyVKU9rdOWIlIwQ2NQ7PntvGnn+x0XuFo4OC1jvPJKzg== - -"@prisma/engines@4.16.2": - version "4.16.2" - resolved "https://registry.yarnpkg.com/@prisma/engines/-/engines-4.16.2.tgz#5ec8dd672c2173d597e469194916ad4826ce2e5f" - integrity sha512-vx1nxVvN4QeT/cepQce68deh/Turxy5Mr+4L4zClFuK1GlxN3+ivxfuv+ej/gvidWn1cE1uAhW7ALLNlYbRUAw== - "@radix-ui/number@1.0.1": version "1.0.1" resolved "https://registry.npmjs.org/@radix-ui/number/-/number-1.0.1.tgz" @@ -5883,11 +5861,6 @@ ajv@^8.0.0, ajv@^8.6.0, ajv@^8.9.0: require-from-string "^2.0.2" uri-js "^4.2.2" -ansi-colors@^4.1.3: - version "4.1.3" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" - integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== - ansi-escapes@^4.2.1: version "4.3.2" resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz" @@ -5907,11 +5880,6 @@ ansi-html-community@0.0.8, ansi-html-community@^0.0.8: resolved "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz" integrity sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw== -ansi-regex@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" - integrity sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA== - ansi-regex@^5.0.1: version "5.0.1" resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" @@ -5964,11 +5932,6 @@ app-root-dir@^1.0.2: resolved "https://registry.npmjs.org/app-root-dir/-/app-root-dir-1.0.2.tgz" integrity sha512-jlpIfsOoNoafl92Sz//64uQHGSyMrD2vYG5d8o2a4qGvyNCvXur7bzIsWtAC/6flI2RYAp3kv8rsfBtaLm7w0g== -aproba@^1.0.3: - version "1.2.0" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" - integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== - "aproba@^1.0.3 || ^2.0.0", aproba@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/aproba/-/aproba-2.0.0.tgz#52520b8ae5b569215b354efc0caa3fe1e45a8adc" @@ -5992,14 +5955,6 @@ are-we-there-yet@^4.0.0: resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-4.0.2.tgz#aed25dd0eae514660d49ac2b2366b175c614785a" integrity sha512-ncSWAawFhKMJDTdoAeOV+jyW1VCMj5QIAwULIBV0SSR7B/RLPPEQiknKcg/RIIZlUQrxELpsxMiTUoAQ4sIUyg== -are-we-there-yet@~1.1.2: - version "1.1.7" - resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz#b15474a932adab4ff8a50d9adfa7e4e926f21146" - integrity sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g== - dependencies: - delegates "^1.0.0" - readable-stream "^2.0.6" - arg@^4.1.0: version "4.1.3" resolved "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz" @@ -6186,11 +6141,6 @@ assertion-error@^1.1.0: resolved "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz" integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== -assertion-error@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-2.0.1.tgz#f641a196b335690b1070bf00b6e7593fec190bf7" - integrity sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA== - ast-types-flow@^0.0.8: version "0.0.8" resolved "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz" @@ -6222,13 +6172,6 @@ async-value@^1.2.2: resolved "https://registry.npmjs.org/async-value/-/async-value-1.2.2.tgz" integrity sha512-8rwtYe32OAS1W9CTwvknoyts+mc3ta8N7Pi0h7AjkMaKvsFbr39K+gEfZ7Z81aPXQ1sK5M23lgLy1QfZpcpadQ== -async@^2.6.2: - version "2.6.4" - resolved "https://registry.yarnpkg.com/async/-/async-2.6.4.tgz#706b7ff6084664cd7eae713f6f965433b5504221" - integrity sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA== - dependencies: - lodash "^4.17.14" - async@^3.2.3: version "3.2.5" resolved "https://registry.npmjs.org/async/-/async-3.2.5.tgz" @@ -6546,21 +6489,6 @@ binary-search@^1.3.3: resolved "https://registry.npmjs.org/binary-search/-/binary-search-1.3.6.tgz" integrity sha512-nbE1WxOTTrUWIfsfZ4aHGYu5DOuNkbxGokjV6Z2kxfJK3uaAb8zNK1muzOeipoLHZjInT4Br88BHpzevc681xA== -binary@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/binary/-/binary-0.3.0.tgz#9f60553bc5ce8c3386f3b553cff47462adecaa79" - integrity sha512-D4H1y5KYwpJgK8wk1Cue5LLPgmwHKYSChkbspQg5JtVuR5ulGckxfR62H3AE9UDkdMC8yyXlqYihuz3Aqg2XZg== - dependencies: - buffers "~0.1.1" - chainsaw "~0.1.0" - -bindings@^1.3.1: - version "1.5.0" - resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" - integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== - dependencies: - file-uri-to-path "1.0.0" - bip39@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/bip39/-/bip39-3.1.0.tgz#c55a418deaf48826a6ceb34ac55b3ee1577e18a3" @@ -6568,22 +6496,6 @@ bip39@^3.1.0: dependencies: "@noble/hashes" "^1.2.0" -bl@^1.0.0: - version "1.2.3" - resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.3.tgz#1e8dd80142eac80d7158c9dccc047fb620e035e7" - integrity sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww== - dependencies: - readable-stream "^2.3.5" - safe-buffer "^5.1.1" - -bl@^2.2.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/bl/-/bl-2.2.1.tgz#8c11a7b730655c5d56898cdc871224f40fd901d5" - integrity sha512-6Pesp1w0DEX1N550i/uGV/TqucVL4AM/pgThFSN/Qq9si1/DF9aIHs1BxD8V/QU0HoeHO6cQRTAuYnLPKq1e4g== - dependencies: - readable-stream "^2.3.5" - safe-buffer "^5.1.1" - bl@^4.0.3, bl@^4.1.0: version "4.1.0" resolved "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz" @@ -6707,11 +6619,6 @@ browser-assert@^1.2.1: resolved "https://registry.npmjs.org/browser-assert/-/browser-assert-1.2.1.tgz" integrity sha512-nfulgvOR6S4gt9UKCeGJOuSGBPGiFT6oQ/2UBnvTY/5aQ1PnksW72fhZkM30DzoRRv2WpwZf1vHHEr3mtuXIWQ== -browser-stdout@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" - integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== - browserify-aes@^1.0.4, browserify-aes@^1.2.0: version "1.2.0" resolved "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz" @@ -6810,29 +6717,6 @@ bson-objectid@^2.0.4: resolved "https://registry.npmjs.org/bson-objectid/-/bson-objectid-2.0.4.tgz" integrity sha512-vgnKAUzcDoa+AeyYwXCoHyF2q6u/8H46dxu5JN+4/TZeq/Dlinn0K6GvxsCLb3LHUJl0m/TLiEK31kUwtgocMQ== -buffer-alloc-unsafe@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz#bd7dc26ae2972d0eda253be061dba992349c19f0" - integrity sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg== - -buffer-alloc@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/buffer-alloc/-/buffer-alloc-1.2.0.tgz#890dd90d923a873e08e10e5fd51a57e5b7cce0ec" - integrity sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow== - dependencies: - buffer-alloc-unsafe "^1.1.0" - buffer-fill "^1.0.0" - -buffer-crc32@~0.2.5: - version "0.2.13" - resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" - integrity sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ== - -buffer-fill@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c" - integrity sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ== - buffer-from@^1.0.0: version "1.1.2" resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz" @@ -6859,25 +6743,6 @@ buffer@^6.0.3: base64-js "^1.3.1" ieee754 "^1.2.1" -buffermaker@~1.2.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/buffermaker/-/buffermaker-1.2.1.tgz#0631f92b891a84b750f1036491ac857c734429f4" - integrity sha512-IdnyU2jDHU65U63JuVQNTHiWjPRH0CS3aYd/WPaEwyX84rFdukhOduAVb1jwUScmb5X0JWPw8NZOrhoLMiyAHQ== - dependencies: - long "1.1.2" - -buffers@~0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/buffers/-/buffers-0.1.1.tgz#b24579c3bed4d6d396aeee6d9a8ae7f5482ab7bb" - integrity sha512-9q/rDEGSb/Qsvv2qvzIzdluL5k7AaJOTrw23z9reQthrbF7is4CtlT0DXyO1oei2DCp4uojjzQ7igaSHp1kAEQ== - -bufferutil@^4.0.1: - version "4.0.8" - resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-4.0.8.tgz#1de6a71092d65d7766c4d8a522b261a6e787e8ea" - integrity sha512-4T53u4PdgsXqKaIctwF8ifXlRTTmEPJ8iEPWFdGZvcf7sbwYo6FKFEX9eNNAnzFZ7EzJAQ3CJeOtCRA4rDp7Pw== - dependencies: - node-gyp-build "^4.3.0" - builtin-modules@^3.1.0: version "3.3.0" resolved "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz" @@ -6986,7 +6851,7 @@ camelcase@^5.0.0, camelcase@^5.3.1: resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== -camelcase@^6.0.0, camelcase@^6.2.0: +camelcase@^6.2.0: version "6.3.0" resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz" integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== @@ -7018,13 +6883,6 @@ case-sensitive-paths-webpack-plugin@^2.4.0: resolved "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz" integrity sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw== -cbor@^9.0.0: - version "9.0.2" - resolved "https://registry.yarnpkg.com/cbor/-/cbor-9.0.2.tgz#536b4f2d544411e70ec2b19a2453f10f83cd9fdb" - integrity sha512-JPypkxsB10s9QOWwa6zwPzqE1Md3vqpPc+cai4sAecuCsRyAtAl/pMyhPlMbT/xtPnm2dznJZYRLui57qiRhaQ== - dependencies: - nofilter "^3.1.0" - ccount@^2.0.0: version "2.0.1" resolved "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz" @@ -7043,24 +6901,6 @@ chai@^4.3.10, chai@^4.4.1: pathval "^1.1.1" type-detect "^4.0.8" -chai@^5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/chai/-/chai-5.1.2.tgz#3afbc340b994ae3610ca519a6c70ace77ad4378d" - integrity sha512-aGtmf24DW6MLHHG5gCx4zaI3uBq3KRtxeVs0DjFH6Z0rDNbsvTxFASFvdj79pxjxZ8/5u3PIiN3IwEIQkiiuPw== - dependencies: - assertion-error "^2.0.1" - check-error "^2.1.1" - deep-eql "^5.0.1" - loupe "^3.1.0" - pathval "^2.0.0" - -chainsaw@~0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/chainsaw/-/chainsaw-0.1.0.tgz#5eab50b28afe58074d0d58291388828b5e5fbc98" - integrity sha512-75kWfWt6MEKNC8xYXIdRpDehRYY/tNSgwKaJq+dbbDcxORuVrrQ+SEHoWsniVn9XPYfP4gmdWIeDk/4YNp1rNQ== - dependencies: - traverse ">=0.3.0 <0.4" - chalk@3.0.0, chalk@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz" @@ -7133,11 +6973,6 @@ check-error@^1.0.3: dependencies: get-func-name "^2.0.2" -check-error@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/check-error/-/check-error-2.1.1.tgz#87eb876ae71ee388fa0471fe423f494be1d96ccc" - integrity sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw== - chokidar@^3.4.2, chokidar@^3.5.3, chokidar@^3.6.0: version "3.6.0" resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz" @@ -7153,7 +6988,7 @@ chokidar@^3.4.2, chokidar@^3.5.3, chokidar@^3.6.0: optionalDependencies: fsevents "~2.3.2" -chownr@^1.0.1, chownr@^1.1.1: +chownr@^1.1.1: version "1.1.4" resolved "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz" integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== @@ -7318,15 +7153,6 @@ cliui@^6.0.0: strip-ansi "^6.0.0" wrap-ansi "^6.2.0" -cliui@^7.0.2: - version "7.0.4" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" - integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^7.0.0" - cliui@^8.0.1: version "8.0.1" resolved "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz" @@ -7383,11 +7209,6 @@ code-block-writer@^12.0.0: resolved "https://registry.npmjs.org/code-block-writer/-/code-block-writer-12.0.0.tgz" integrity sha512-q4dMFMlXtKR3XNBHyMHt/3pwYNA69EDk00lloMOaaUMKPUXBw6lpXtbu3MMVG6/uOihGnRDOlkyqsONEUj60+w== -code-point-at@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" - integrity sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA== - collect-v8-coverage@^1.0.0: version "1.0.2" resolved "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz" @@ -7561,7 +7382,7 @@ console-browserify@^1.2.0: resolved "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz" integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA== -console-control-strings@^1.0.0, console-control-strings@^1.1.0, console-control-strings@~1.1.0: +console-control-strings@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" integrity sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ== @@ -8199,14 +8020,6 @@ d3@^7.4.0, d3@^7.8.2: d3-transition "3" d3-zoom "3" -d@1, d@^1.0.1, d@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/d/-/d-1.0.2.tgz#2aefd554b81981e7dccf72d6842ae725cb17e5de" - integrity sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw== - dependencies: - es5-ext "^0.10.64" - type "^2.7.2" - daemon@>=0.3.0: version "1.1.0" resolved "https://registry.npmjs.org/daemon/-/daemon-1.1.0.tgz" @@ -8276,7 +8089,7 @@ dayjs@^1.11.10, dayjs@^1.11.7: resolved "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz" integrity sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ== -debug@2.6.9, debug@^2.1.3, debug@^2.2.0: +debug@2.6.9, debug@^2.1.3: version "2.6.9" resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== @@ -8297,7 +8110,7 @@ debug@^3.2.7: dependencies: ms "^2.1.1" -debug@^4.3.3, debug@^4.3.5: +debug@^4.3.3: version "4.4.0" resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.0.tgz#2b3f2aea2ffeb776477460267377dc8710faba8a" integrity sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA== @@ -8309,11 +8122,6 @@ decamelize@^1.2.0: resolved "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz" integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== -decamelize@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" - integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== - decimal.js-light@^2.4.1: version "2.5.1" resolved "https://registry.npmjs.org/decimal.js-light/-/decimal.js-light-2.5.1.tgz" @@ -8331,13 +8139,6 @@ decode-named-character-reference@^1.0.0: dependencies: character-entities "^2.0.0" -decompress-response@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" - integrity sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA== - dependencies: - mimic-response "^1.0.0" - decompress-response@^6.0.0: version "6.0.0" resolved "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz" @@ -8377,11 +8178,6 @@ deep-eql@^4.1.3: dependencies: type-detect "^4.0.0" -deep-eql@^5.0.1: - version "5.0.2" - resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-5.0.2.tgz#4b756d8d770a9257300825d52a2c2cff99c3a341" - integrity sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q== - deep-equal@^2.0.5: version "2.2.3" resolved "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.3.tgz" @@ -8532,11 +8328,6 @@ delegates@^1.0.0: resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" integrity sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ== -denque@^1.3.0: - version "1.5.1" - resolved "https://registry.yarnpkg.com/denque/-/denque-1.5.1.tgz#07f670e29c9a78f8faecb2566a1e2c11929c5cbf" - integrity sha512-XwE+iZ4D6ZUB7mfYRMb5wByE8L74HCn30FBN7sWnXksWc1LO1bPDl67pBR9o/kC4z/xSNAwkMYcGgqDV3BE3Hw== - depd@2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz" @@ -8565,11 +8356,6 @@ detect-indent@^6.1.0: resolved "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz" integrity sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA== -detect-libc@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" - integrity sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg== - detect-libc@^2.0.0, detect-libc@^2.0.2: version "2.0.3" resolved "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz" @@ -8627,11 +8413,6 @@ diff@^5.0.0, diff@^5.1.0: resolved "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz" integrity sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw== -diff@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-5.2.0.tgz#26ded047cd1179b78b9537d5ef725503ce1ae531" - integrity sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A== - diffie-hellman@^5.0.0: version "5.0.3" resolved "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz" @@ -9216,33 +8997,6 @@ es-to-primitive@^1.2.1: is-date-object "^1.0.1" is-symbol "^1.0.2" -es5-ext@^0.10.35, es5-ext@^0.10.62, es5-ext@^0.10.63, es5-ext@^0.10.64, es5-ext@~0.10.14: - version "0.10.64" - resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.64.tgz#12e4ffb48f1ba2ea777f1fcdd1918ef73ea21714" - integrity sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg== - dependencies: - es6-iterator "^2.0.3" - es6-symbol "^3.1.3" - esniff "^2.0.1" - next-tick "^1.1.0" - -es6-iterator@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" - integrity sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g== - dependencies: - d "1" - es5-ext "^0.10.35" - es6-symbol "^3.1.1" - -es6-symbol@^3.1.1, es6-symbol@^3.1.3: - version "3.1.4" - resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.4.tgz#f4e7d28013770b4208ecbf3e0bf14d3bcb557b8c" - integrity sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg== - dependencies: - d "^1.0.2" - ext "^1.7.0" - esbuild-plugin-alias@^0.2.1: version "0.2.1" resolved "https://registry.npmjs.org/esbuild-plugin-alias/-/esbuild-plugin-alias-0.2.1.tgz" @@ -9526,16 +9280,6 @@ esm-seedrandom@^3.0.5: resolved "https://registry.yarnpkg.com/esm-seedrandom/-/esm-seedrandom-3.0.5.tgz#2411adb5864e71c71613907df4cbe831f29fcd2e" integrity sha512-pMAq0mFIr5JQ3Ihbng7EBLMJ+llMbaDKkiG44pqbSXS0NIZWtEANpOpxb5s6Q8Q2R562P26qMHPv8YtP/NHh9g== -esniff@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/esniff/-/esniff-2.0.1.tgz#a4d4b43a5c71c7ec51c51098c1d8a29081f9b308" - integrity sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg== - dependencies: - d "^1.0.1" - es5-ext "^0.10.62" - event-emitter "^0.3.5" - type "^2.7.2" - espree@^9.6.0, espree@^9.6.1: version "9.6.1" resolved "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz" @@ -9606,14 +9350,6 @@ etag@~1.8.1: resolved "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz" integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== -event-emitter@^0.3.5: - version "0.3.5" - resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39" - integrity sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA== - dependencies: - d "1" - es5-ext "~0.10.14" - event-target-shim@^5.0.0: version "5.0.1" resolved "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz" @@ -9750,13 +9486,6 @@ express@^4.17.3: utils-merge "1.0.1" vary "~1.1.2" -ext@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/ext/-/ext-1.7.0.tgz#0ea4383c0103d60e70be99e9a7f11027a33c4f5f" - integrity sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw== - dependencies: - type "^2.7.2" - extend@^3.0.0: version "3.0.2" resolved "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz" @@ -9912,11 +9641,6 @@ file-type@^19.0.0: strtok3 "^7.0.0" token-types "^5.0.1" -file-uri-to-path@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" - integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== - filelist@^1.0.4: version "1.0.4" resolved "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz" @@ -10025,11 +9749,6 @@ flat-cache@^3.0.4: keyv "^4.5.3" rimraf "^3.0.2" -flat@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" - integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== - flatted@^3.2.9: version "3.2.9" resolved "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz" @@ -10211,11 +9930,6 @@ fs.realpath@^1.0.0: resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== -fs@^0.0.1-security: - version "0.0.1-security" - resolved "https://registry.yarnpkg.com/fs/-/fs-0.0.1-security.tgz#8a7bd37186b6dddf3813f23858b57ecaaf5e41d4" - integrity sha512-3XY9e1pP0CVEUCdj5BmfIZxRBTSDycnbqhIOGec9QYtmVH2fbLpj86CFWkrNOkt/Fvty4KZG5lTglL9j/gJ87w== - fsevents@^2.3.2, fsevents@~2.3.2: version "2.3.3" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" @@ -10274,20 +9988,6 @@ gauge@^5.0.0: strip-ansi "^6.0.1" wide-align "^1.1.5" -gauge@~2.7.3: - version "2.7.4" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" - integrity sha512-14x4kjc6lkD3ltw589k0NrPD6cCNTD6CWoVUNpB85+DrtONoZn+Rug6xZU5RvSC4+TZPxA5AnBibQYAvZn41Hg== - dependencies: - aproba "^1.0.3" - console-control-strings "^1.0.0" - has-unicode "^2.0.0" - object-assign "^4.1.0" - signal-exit "^3.0.0" - string-width "^1.0.1" - strip-ansi "^3.0.1" - wide-align "^1.1.0" - gensync@^1.0.0-beta.2: version "1.0.0-beta.2" resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" @@ -10451,7 +10151,7 @@ glob@^7.0.3, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@~7.2.3: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^8.0.1, glob@^8.0.3, glob@^8.1.0: +glob@^8.0.1, glob@^8.0.3: version "8.1.0" resolved "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz" integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== @@ -10606,7 +10306,7 @@ has-tostringtag@^1.0.2: dependencies: has-symbols "^1.0.3" -has-unicode@^2.0.0, has-unicode@^2.0.1: +has-unicode@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" integrity sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ== @@ -11465,13 +11165,6 @@ is-finite@^1.0.0: resolved "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz" integrity sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w== -is-fullwidth-code-point@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" - integrity sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw== - dependencies: - number-is-nan "^1.0.0" - is-fullwidth-code-point@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" @@ -11624,11 +11317,6 @@ is-path-inside@^3.0.2, is-path-inside@^3.0.3: resolved "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz" integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== -is-plain-obj@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" - integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== - is-plain-obj@^4.0.0: version "4.1.0" resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz" @@ -11728,11 +11416,6 @@ is-typed-array@^1.1.13: dependencies: which-typed-array "^1.1.14" -is-typedarray@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== - is-unicode-supported@^0.1.0: version "0.1.0" resolved "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz" @@ -12523,39 +12206,6 @@ just-diff@^6.0.0: resolved "https://registry.yarnpkg.com/just-diff/-/just-diff-6.0.2.tgz#03b65908543ac0521caf6d8eb85035f7d27ea285" integrity sha512-S59eriX5u3/QhMNq3v/gm8Kd0w8OS6Tz2FS1NG4blv+z0MuQcBRJyFWjdovM0Rad4/P4aUPFtnkNjMjyMlMSYA== -kafka-node@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/kafka-node/-/kafka-node-5.0.0.tgz#4b6f65cc1d77ebe565859dfb8f9575ed15d543c0" - integrity sha512-dD2ga5gLcQhsq1yNoQdy1MU4x4z7YnXM5bcG9SdQuiNr5KKuAmXixH1Mggwdah5o7EfholFbcNDPSVA6BIfaug== - dependencies: - async "^2.6.2" - binary "~0.3.0" - bl "^2.2.0" - buffer-crc32 "~0.2.5" - buffermaker "~1.2.0" - debug "^2.1.3" - denque "^1.3.0" - lodash "^4.17.4" - minimatch "^3.0.2" - nested-error-stacks "^2.0.0" - optional "^0.1.3" - retry "^0.10.1" - uuid "^3.0.0" - optionalDependencies: - snappy "^6.0.1" - -kafka@^0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/kafka/-/kafka-0.2.3.tgz#fb7b1df38f161d821fee9dcb63985e388ea08188" - integrity sha512-Qi9J1HgikGlZz4dGzG++sZ3L52JTE+LCWelz3MNmze0KePSeWvZHVtGe981/mD/u+wyLg6INFw3Rgrqyg+orTA== - dependencies: - std "0.1.36" - -kafkajs@^2.2.4: - version "2.2.4" - resolved "https://registry.yarnpkg.com/kafkajs/-/kafkajs-2.2.4.tgz#59e6e16459d87fdf8b64be73970ed5aa42370a5b" - integrity sha512-j/YeapB1vfPT2iOIUn/vxdyKEuhuY2PxMBvf5JWux6iSaukAccrMtXEY/Lb7OvavDhOWME589bpLrEdnVHjfjA== - katex@^0.16.9: version "0.16.9" resolved "https://registry.npmjs.org/katex/-/katex-0.16.9.tgz" @@ -12672,30 +12322,18 @@ levn@^0.4.1: prelude-ls "^1.2.1" type-check "~0.4.0" -libcardano@^1.4.8: - version "1.4.8" - resolved "https://registry.yarnpkg.com/libcardano/-/libcardano-1.4.8.tgz#ee09c45d47291d984c11ae72f9319d85dd898e20" - integrity sha512-VN01OGnQ07YUr6y8NYhwRs1TYtfqI+Df5A82X0FMEGBURw5k8Axh81U4vlpIfCpkhF74Ov8taXkh38pxcEDABA== +libcardano@^1.4.14-browser: + version "1.4.14-browser" + resolved "https://registry.yarnpkg.com/libcardano/-/libcardano-1.4.14-browser.tgz#2dfa63d7800cdca6ae89d1170b98d5dc77b3d14a" + integrity sha512-wrARf/MzxgaqDjeU2550hjZGqcaqEeUBTGjnXDpQaC7m0Tx8w9D0DbbySkDpo64DV1ng3eC+jlNxfmkd4eCMPA== dependencies: "@cardano-sdk/crypto" "^0.1.30" - "@emurgo/cardano-serialization-lib-nodejs" "^11.5.0" "@noble/curves" "^1.6.0" - "@prisma/client" "4.15.0" bech32 "^2.0.0" bip39 "^3.1.0" blake2b "^2.1.4" blakejs "^1.2.1" - cbor "^9.0.0" - chai "^5.1.1" - fs "^0.0.1-security" - kafka "^0.2.3" - kafka-node "^5.0.0" - kafkajs "^2.2.4" - mocha "^10.5.2" - prisma "^4.15.0" - readline "^1.3.0" tsconfig-paths "^4.2.0" - websocket "^1.0.35" libnpmaccess@^7.0.2: version "7.0.3" @@ -12992,7 +12630,7 @@ lodash.templatesettings@^4.0.0: dependencies: lodash._reinterpolate "^3.0.0" -lodash@^4.0.1, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.4: +lodash@^4.0.1, lodash@^4.17.15, lodash@^4.17.20, lodash@^4.17.21: version "4.17.21" resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -13024,11 +12662,6 @@ log-update@^6.0.0: strip-ansi "^7.1.0" wrap-ansi "^9.0.0" -long@1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/long/-/long-1.1.2.tgz#eaef5951ca7551d96926b82da242db9d6b28fb53" - integrity sha512-pjR3OP1X2VVQhCQlrq3s8UxugQsuoucwMOn9Yj/kN/61HMc+lDFJS5bvpNEHneZ9NVaSm8gNWxZvtGS7lqHb3Q== - longest-streak@^3.0.0: version "3.1.0" resolved "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz" @@ -13048,11 +12681,6 @@ loupe@^2.3.6, loupe@^2.3.7: dependencies: get-func-name "^2.0.1" -loupe@^3.1.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/loupe/-/loupe-3.1.2.tgz#c86e0696804a02218f2206124c45d8b15291a240" - integrity sha512-23I4pFZHmAemUnz8WZXbYRSKYj801VDaNv9ETuMh7IrMc7VuVVSo+Z9iLE3ni30+U48iDWfi30d3twAXBYmnCg== - lower-case@^2.0.2: version "2.0.2" resolved "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz" @@ -14064,11 +13692,6 @@ mimic-fn@^4.0.0: resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz" integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw== -mimic-response@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" - integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== - mimic-response@^3.1.0: version "3.1.0" resolved "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz" @@ -14108,7 +13731,7 @@ minimatch@^3.0.2, minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatc dependencies: brace-expansion "^1.1.7" -minimatch@^5.0.1, minimatch@^5.1.6: +minimatch@^5.0.1: version "5.1.6" resolved "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz" integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== @@ -14234,7 +13857,7 @@ mkdirp-classic@^0.5.2, mkdirp-classic@^0.5.3: resolved "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz" integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== -mkdirp@^0.5.1, mkdirp@^0.5.5: +mkdirp@^0.5.5: version "0.5.6" resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz" integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== @@ -14251,32 +13874,6 @@ mkdirp@^2.1.6: resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-2.1.6.tgz" integrity sha512-+hEnITedc8LAtIP9u3HJDFIdcLV2vXP33sqLLIzkv1Db1zO/1OxbvYf0Y1OC/S/Qo5dxHXepofhmxL02PsKe+A== -mocha@^10.5.2: - version "10.8.2" - resolved "https://registry.yarnpkg.com/mocha/-/mocha-10.8.2.tgz#8d8342d016ed411b12a429eb731b825f961afb96" - integrity sha512-VZlYo/WE8t1tstuRmqgeyBgCbJc/lEdopaa+axcKzTBJ+UIdlAB9XnmvTCAH4pwR4ElNInaedhEBmZD8iCSVEg== - dependencies: - ansi-colors "^4.1.3" - browser-stdout "^1.3.1" - chokidar "^3.5.3" - debug "^4.3.5" - diff "^5.2.0" - escape-string-regexp "^4.0.0" - find-up "^5.0.0" - glob "^8.1.0" - he "^1.2.0" - js-yaml "^4.1.0" - log-symbols "^4.1.0" - minimatch "^5.1.6" - ms "^2.1.3" - serialize-javascript "^6.0.2" - strip-json-comments "^3.1.1" - supports-color "^8.1.1" - workerpool "^6.5.1" - yargs "^16.2.0" - yargs-parser "^20.2.9" - yargs-unparser "^2.0.0" - mock-property@~1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/mock-property/-/mock-property-1.0.3.tgz#3e37c50a56609d548cabd56559fde3dd8767b10c" @@ -14382,11 +13979,6 @@ name-initials@^0.1.3: resolved "https://registry.yarnpkg.com/name-initials/-/name-initials-0.1.3.tgz#b9af9d8d551068b1c147c50458477f47c1217776" integrity sha512-UJcpCmyftGuZ7I46dqOw776VvH3VqHhAM7ma4eyY0t52FahFv/VhmDqSeekwSZFXyK9HLg9MXmb9udeOJ3YtCA== -nan@^2.14.1: - version "2.22.0" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.22.0.tgz#31bc433fc33213c97bad36404bb68063de604de3" - integrity sha512-nbajikzWTMwsW+eSsNm3QwlOs7het9gGJU5dDZzRTQGk03vyBOauxgI4VakDzE0PtsGTmXPsXTbbjVhRwR5mpw== - nano-css@^5.6.1: version "5.6.1" resolved "https://registry.npmjs.org/nano-css/-/nano-css-5.6.1.tgz" @@ -14436,11 +14028,6 @@ neo-async@^2.5.0, neo-async@^2.6.2: resolved "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz" integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== -nested-error-stacks@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/nested-error-stacks/-/nested-error-stacks-2.1.1.tgz#26c8a3cee6cc05fbcf1e333cd2fc3e003326c0b5" - integrity sha512-9iN1ka/9zmX1ZvLV9ewJYEk9h7RyRRtqdK0woXcqohu8EWIerfPUjYJPg0ULy0UqP7cslmdGc8xKDJcojlKiaw== - next-i18next@^15.2.0: version "15.2.0" resolved "https://registry.npmjs.org/next-i18next/-/next-i18next-15.2.0.tgz" @@ -14496,11 +14083,6 @@ next-themes@^0.2.1: resolved "https://registry.npmjs.org/next-themes/-/next-themes-0.2.1.tgz" integrity sha512-B+AKNfYNIzh0vqQQKqQItTS8evEouKD7H5Hj3kmuPERwddR2TxvDSFZuTj6T7Jfn1oyeUyJMydPl1Bkxkh0W7A== -next-tick@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" - integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== - next@^14.2.5: version "14.2.13" resolved "https://registry.yarnpkg.com/next/-/next-14.2.13.tgz#32da2ee0afbe729e2d4a467c3570def90e1c974d" @@ -14532,13 +14114,6 @@ no-case@^3.0.4: lower-case "^2.0.2" tslib "^2.0.3" -node-abi@^2.7.0: - version "2.30.1" - resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-2.30.1.tgz#c437d4b1fe0e285aaf290d45b45d4d7afedac4cf" - integrity sha512-/2D0wOQPgaUWzVSVgRMx+trKJRC2UG4SUc4oCJoXx9Uxjtp0Vy3/kt7zcbxHF8+Z/pK3UloLWzBISg72brfy1w== - dependencies: - semver "^5.4.1" - node-abi@^3.3.0: version "3.57.0" resolved "https://registry.npmjs.org/node-abi/-/node-abi-3.57.0.tgz" @@ -14589,11 +14164,6 @@ node-fetch@^3.3.0: fetch-blob "^3.1.4" formdata-polyfill "^4.0.10" -node-gyp-build@^4.3.0: - version "4.8.4" - resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.8.4.tgz#8a70ee85464ae52327772a90d66c6077a900cfc8" - integrity sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ== - node-gyp@^9.0.0, node-gyp@^9.4.1: version "9.4.1" resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-9.4.1.tgz#8a1023e0d6766ecb52764cc3a734b36ff275e185" @@ -14652,21 +14222,11 @@ node-releases@^2.0.14: resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz" integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== -nofilter@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/nofilter/-/nofilter-3.1.0.tgz#c757ba68801d41ff930ba2ec55bab52ca184aa66" - integrity sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g== - non-layered-tidy-tree-layout@^2.0.2: version "2.0.2" resolved "https://registry.npmjs.org/non-layered-tidy-tree-layout/-/non-layered-tidy-tree-layout-2.0.2.tgz" integrity sha512-gkXMxRzUH+PB0ax9dUN0yYF0S25BqeAYqhgMaLUFmpXLEk7Fcu8f4emJuOAY0V8kjDICxROIKsTAKsV/v355xw== -noop-logger@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/noop-logger/-/noop-logger-0.1.1.tgz#94a2b1633c4f1317553007d8966fd0e841b6a4c2" - integrity sha512-6kM8CLXvuW5crTxsAtva2YLrRrDaiTIkIePWs9moLHqbFWT94WpNFjwS/5dfLfECg5i/lkmw3aoqVidxt23TEQ== - nopt@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/nopt/-/nopt-6.0.0.tgz#245801d8ebf409c6df22ab9d95b65e1309cdb16d" @@ -14883,16 +14443,6 @@ npm@^9.3.0: which "^3.0.1" write-file-atomic "^5.0.1" -npmlog@^4.0.1: - version "4.1.2" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" - integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== - dependencies: - are-we-there-yet "~1.1.2" - console-control-strings "~1.1.0" - gauge "~2.7.3" - set-blocking "~2.0.0" - npmlog@^6.0.0: version "6.0.2" resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-6.0.2.tgz#c8166017a42f2dea92d6453168dd865186a70830" @@ -14925,11 +14475,6 @@ nth-check@^2.0.0, nth-check@^2.0.1: dependencies: boolbase "^1.0.0" -number-is-nan@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" - integrity sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ== - nwsapi@^2.2.2: version "2.2.7" resolved "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.7.tgz" @@ -14946,7 +14491,7 @@ nypm@^0.3.8: pathe "^1.1.2" ufo "^1.4.0" -object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: +object-assign@^4.0.1, object-assign@^4.1.1: version "4.1.1" resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== @@ -15113,11 +14658,6 @@ optional-js@^2.0.0: resolved "https://registry.npmjs.org/optional-js/-/optional-js-2.3.0.tgz" integrity sha512-B0LLi+Vg+eko++0z/b8zIv57kp7HKEzaPJo7LowJXMUKYdf+3XJGu/cw03h/JhIOsLnP+cG5QnTHAuicjA5fMw== -optional@^0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/optional/-/optional-0.1.4.tgz#cdb1a9bedc737d2025f690ceeb50e049444fd5b3" - integrity sha512-gtvrrCfkE08wKcgXaVwQVgwEQ8vel2dc5DDBn9RLQZ3YtmtkBss6A2HY6BnJH4N/4Ku97Ri/SF8sNWE2225WJw== - optionator@^0.9.3: version "0.9.3" resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz" @@ -15172,11 +14712,6 @@ os-browserify@^0.3.0: resolved "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz" integrity sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A== -os-homedir@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" - integrity sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ== - os-tmpdir@~1.0.2: version "1.0.2" resolved "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz" @@ -15478,11 +15013,6 @@ pathval@^1.1.1: resolved "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz" integrity sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ== -pathval@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/pathval/-/pathval-2.0.0.tgz#7e2550b422601d4f6b8e26f1301bc8f15a741a25" - integrity sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA== - pbkdf2@^3.0.3, pbkdf2@^3.1.2: version "3.1.2" resolved "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz" @@ -15757,28 +15287,6 @@ postcss@^8, postcss@^8.2.14, postcss@^8.4.21, postcss@^8.4.23, postcss@^8.4.33: picocolors "^1.0.0" source-map-js "^1.0.2" -prebuild-install@5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-5.3.0.tgz#58b4d8344e03590990931ee088dd5401b03004c8" - integrity sha512-aaLVANlj4HgZweKttFNUVNRxDukytuIuxeK2boIMHjagNJCiVKWFsKF4tCE3ql3GbrD2tExPQ7/pwtEJcHNZeg== - dependencies: - detect-libc "^1.0.3" - expand-template "^2.0.3" - github-from-package "0.0.0" - minimist "^1.2.0" - mkdirp "^0.5.1" - napi-build-utils "^1.0.1" - node-abi "^2.7.0" - noop-logger "^0.1.1" - npmlog "^4.0.1" - os-homedir "^1.0.1" - pump "^2.0.1" - rc "^1.2.7" - simple-get "^2.7.0" - tar-fs "^1.13.0" - tunnel-agent "^0.6.0" - which-pm-runs "^1.0.0" - prebuild-install@^7.1.1: version "7.1.2" resolved "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.2.tgz" @@ -15848,13 +15356,6 @@ pretty-hrtime@^1.0.3: resolved "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz" integrity sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A== -prisma@^4.15.0: - version "4.16.2" - resolved "https://registry.yarnpkg.com/prisma/-/prisma-4.16.2.tgz#469e0a0991c6ae5bcde289401726bb012253339e" - integrity sha512-SYCsBvDf0/7XSJyf2cHTLjLeTLVXYfqp7pG5eEVafFLeT0u/hLFz/9W196nDRGUOo1JfPatAEb+uEnTQImQC1g== - dependencies: - "@prisma/engines" "4.16.2" - proc-log@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/proc-log/-/proc-log-3.0.0.tgz#fb05ef83ccd64fd7b20bbe9c8c1070fc08338dd8" @@ -15967,15 +15468,7 @@ public-encrypt@^4.0.0: randombytes "^2.0.1" safe-buffer "^5.1.2" -pump@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/pump/-/pump-1.0.3.tgz#5dfe8311c33bbf6fc18261f9f34702c47c08a954" - integrity sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -pump@^2.0.0, pump@^2.0.1: +pump@^2.0.0: version "2.0.1" resolved "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz" integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA== @@ -16632,7 +16125,7 @@ read@^3.0.1: dependencies: mute-stream "^1.0.0" -readable-stream@^2.0.0, readable-stream@^2.0.6, readable-stream@^2.3.0, readable-stream@^2.3.5, readable-stream@^2.3.8, readable-stream@~2.3.6: +readable-stream@^2.0.0, readable-stream@^2.3.8, readable-stream@~2.3.6: version "2.3.8" resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz" integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== @@ -16679,11 +16172,6 @@ readdirp@~3.6.0: dependencies: picomatch "^2.2.1" -readline@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/readline/-/readline-1.3.0.tgz#c580d77ef2cfc8752b132498060dc9793a7ac01c" - integrity sha512-k2d6ACCkiNYz222Fs/iNze30rRJ1iIicW7JuX/7/cozvih6YCkFZH+J6mAFDVgv0dRBaAyr4jDqC95R2y4IADg== - reaflow@^5.3.1: version "5.3.1" resolved "https://registry.yarnpkg.com/reaflow/-/reaflow-5.3.1.tgz#dcf39c12a36d56695ada276864993a6310b963ac" @@ -17183,11 +16671,6 @@ restore-cursor@^4.0.0: onetime "^5.1.0" signal-exit "^3.0.2" -retry@^0.10.1: - version "0.10.1" - resolved "https://registry.yarnpkg.com/retry/-/retry-0.10.1.tgz#e76388d217992c252750241d3d3956fed98d8ff4" - integrity sha512-ZXUSQYTHdl3uS7IuCehYfMzKyIDBNoAuUblvy5oGO5UJSUTmStUUVPXbA9Qxd173Bgre53yCQczQuHgRWAdvJQ== - retry@^0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" @@ -17429,7 +16912,7 @@ scrollparent@^2.1.0: resolved "https://registry.npmjs.org/scrollparent/-/scrollparent-2.1.0.tgz" integrity sha512-bnnvJL28/Rtz/kz2+4wpBjHzWoEzXhVg/TE8BeVGJHUqE8THNIRnDxDWMktwM+qahvlRdvlLdsQfYe+cuqfZeA== -"semver@2 || 3 || 4 || 5", semver@^5.4.1, semver@^5.6.0: +"semver@2 || 3 || 4 || 5", semver@^5.6.0: version "5.7.2" resolved "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz" integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== @@ -17489,7 +16972,7 @@ serialize-javascript@^4.0.0: dependencies: randombytes "^2.1.0" -serialize-javascript@^6.0.1, serialize-javascript@^6.0.2: +serialize-javascript@^6.0.1: version "6.0.2" resolved "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz" integrity sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g== @@ -17506,7 +16989,7 @@ serve-static@1.15.0: parseurl "~1.3.3" send "0.18.0" -set-blocking@^2.0.0, set-blocking@~2.0.0: +set-blocking@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz" integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== @@ -17644,7 +17127,7 @@ side-channel@^1.0.4, side-channel@^1.0.6: get-intrinsic "^1.2.4" object-inspect "^1.13.1" -signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: +signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: version "3.0.7" resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== @@ -17670,15 +17153,6 @@ simple-concat@^1.0.0: resolved "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz" integrity sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q== -simple-get@^2.7.0: - version "2.8.2" - resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-2.8.2.tgz#5708fb0919d440657326cd5fe7d2599d07705019" - integrity sha512-Ijd/rV5o+mSBBs4F/x9oDPtTx9Zb6X9brmnXvMW4J7IR15ngi9q5xxqWBKU744jTZiaXtxaPL7uHG6vtN8kUkw== - dependencies: - decompress-response "^3.3.0" - once "^1.3.1" - simple-concat "^1.0.0" - simple-get@^4.0.0, simple-get@^4.0.1: version "4.0.1" resolved "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz" @@ -17726,15 +17200,6 @@ smart-buffer@^4.2.0: resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae" integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== -snappy@^6.0.1: - version "6.3.5" - resolved "https://registry.yarnpkg.com/snappy/-/snappy-6.3.5.tgz#c14b8dea8e9bc2687875b5e491d15dd900e6023c" - integrity sha512-lonrUtdp1b1uDn1dbwgQbBsb5BbaiLeKq+AGwOk2No+en+VvJThwmtztwulEQsLinRF681pBqib0NUZaizKLIA== - dependencies: - bindings "^1.3.1" - nan "^2.14.1" - prebuild-install "5.3.0" - socks-proxy-agent@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz#dc069ecf34436621acb41e3efa66ca1b5fed15b6" @@ -17940,11 +17405,6 @@ statuses@2.0.1, statuses@^2.0.1: resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz" integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== -std@0.1.36: - version "0.1.36" - resolved "https://registry.yarnpkg.com/std/-/std-0.1.36.tgz#79da0f9bba887809dfc60958ad4e69cdcf788c40" - integrity sha512-PZP6srpVKfDgMwgbo+0jOUV0IFAWxHKlyQj3wiZiov8AYbXtoDjhNtFaCLkthOp0T5I6HDFzYvo2mRVtU5HYdg== - stdin-discarder@^0.1.0: version "0.1.0" resolved "https://registry.npmjs.org/stdin-discarder/-/stdin-discarder-0.1.0.tgz" @@ -18043,15 +17503,6 @@ string-length@^4.0.1: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.1" -string-width@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" - integrity sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw== - dependencies: - code-point-at "^1.0.0" - is-fullwidth-code-point "^1.0.0" - strip-ansi "^3.0.0" - string-width@^5.0.1, string-width@^5.1.2: version "5.1.2" resolved "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz" @@ -18178,13 +17629,6 @@ stringify-object@^3.3.0: dependencies: ansi-regex "^5.0.1" -strip-ansi@^3.0.0, strip-ansi@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" - integrity sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg== - dependencies: - ansi-regex "^2.0.0" - strip-ansi@^7.0.1, strip-ansi@^7.1.0: version "7.1.0" resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz" @@ -18320,7 +17764,7 @@ supports-color@^7.0.0, supports-color@^7.1.0: dependencies: has-flag "^4.0.0" -supports-color@^8.0.0, supports-color@^8.1.1: +supports-color@^8.0.0: version "8.1.1" resolved "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== @@ -18424,16 +17868,6 @@ tape@^4.9.0: resolve "~1.22.6" string.prototype.trim "~1.2.8" -tar-fs@^1.13.0: - version "1.16.3" - resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-1.16.3.tgz#966a628841da2c4010406a82167cbd5e0c72d509" - integrity sha512-NvCeXpYx7OsmOh8zIOP/ebG55zZmxLE0etfWRbWok+q2Qo8x/vOR/IJT1taADXPe+jsiu9axDb3X4B+iIgNlKw== - dependencies: - chownr "^1.0.1" - mkdirp "^0.5.1" - pump "^1.0.0" - tar-stream "^1.1.2" - tar-fs@^2.0.0, tar-fs@^2.1.1: version "2.1.1" resolved "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz" @@ -18455,19 +17889,6 @@ tar-fs@^3.0.4: bare-fs "^2.1.1" bare-path "^2.1.0" -tar-stream@^1.1.2: - version "1.6.2" - resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.6.2.tgz#8ea55dab37972253d9a9af90fdcd559ae435c555" - integrity sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A== - dependencies: - bl "^1.0.0" - buffer-alloc "^1.2.0" - end-of-stream "^1.0.0" - fs-constants "^1.0.0" - readable-stream "^2.3.0" - to-buffer "^1.1.1" - xtend "^4.0.0" - tar-stream@^2.1.4: version "2.2.0" resolved "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz" @@ -18660,11 +18081,6 @@ tmpl@1.0.5: resolved "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz" integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== -to-buffer@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/to-buffer/-/to-buffer-1.1.1.tgz#493bd48f62d7c43fcded313a03dcadb2e1213a80" - integrity sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg== - to-fast-properties@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" @@ -18729,11 +18145,6 @@ tr46@~0.0.3: resolved "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz" integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== -"traverse@>=0.3.0 <0.4": - version "0.3.9" - resolved "https://registry.yarnpkg.com/traverse/-/traverse-0.3.9.tgz#717b8f220cc0bb7b44e40514c22b2e8bbc70d8b9" - integrity sha512-iawgk0hLP3SxGKDfnDJf8wTz4p2qImnyihM5Hh/sGvQ3K37dPi/w8sRhdNIxYA1TwFwc5mDhIJq+O0RsvXBKdQ== - tree-changes@^0.11.2: version "0.11.2" resolved "https://registry.npmjs.org/tree-changes/-/tree-changes-0.11.2.tgz" @@ -18992,11 +18403,6 @@ type-is@~1.6.18: media-typer "0.3.0" mime-types "~2.1.24" -type@^2.7.2: - version "2.7.3" - resolved "https://registry.yarnpkg.com/type/-/type-2.7.3.tgz#436981652129285cc3ba94f392886c2637ea0486" - integrity sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ== - typed-array-buffer@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz" @@ -19080,13 +18486,6 @@ typed-array-length@^1.0.6: is-typed-array "^1.1.13" possible-typed-array-names "^1.0.0" -typedarray-to-buffer@^3.1.5: - version "3.1.5" - resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" - integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== - dependencies: - is-typedarray "^1.0.0" - typescript@^5: version "5.3.3" resolved "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz" @@ -19386,13 +18785,6 @@ usehooks-ts@^3.1.0: dependencies: lodash.debounce "^4.0.8" -utf-8-validate@^5.0.2: - version "5.0.10" - resolved "https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-5.0.10.tgz#d7d10ea39318171ca982718b6b96a8d2442571a2" - integrity sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ== - dependencies: - node-gyp-build "^4.3.0" - util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" @@ -19426,11 +18818,6 @@ utrie@^1.0.2: dependencies: base64-arraybuffer "^1.0.2" -uuid@^3.0.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" - integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== - uuid@^9.0.0, uuid@^9.0.1: version "9.0.1" resolved "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz" @@ -19670,18 +19057,6 @@ webpack@5: watchpack "^2.4.0" webpack-sources "^3.2.3" -websocket@^1.0.35: - version "1.0.35" - resolved "https://registry.yarnpkg.com/websocket/-/websocket-1.0.35.tgz#374197207d7d4cc4c36cbf8a1bb886ee52a07885" - integrity sha512-/REy6amwPZl44DDzvRCkaI1q1bIiQB0mEFQLUrhz3z2EK91cp3n72rAjUlrTP0zV22HJIUOVHQGPxhFRjxjt+Q== - dependencies: - bufferutil "^4.0.1" - debug "^2.2.0" - es5-ext "^0.10.63" - typedarray-to-buffer "^3.1.5" - utf-8-validate "^5.0.2" - yaeti "^0.0.6" - whatwg-encoding@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz" @@ -19768,11 +19143,6 @@ which-module@^2.0.0: resolved "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz" integrity sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ== -which-pm-runs@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/which-pm-runs/-/which-pm-runs-1.1.0.tgz#35ccf7b1a0fce87bd8b92a478c9d045785d3bf35" - integrity sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA== - which-typed-array@^1.1.11, which-typed-array@^1.1.13, which-typed-array@^1.1.2, which-typed-array@^1.1.9: version "1.1.13" resolved "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz" @@ -19814,7 +19184,7 @@ which@^3.0.0, which@^3.0.1: dependencies: isexe "^2.0.0" -wide-align@^1.1.0, wide-align@^1.1.5: +wide-align@^1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.5.tgz#df1d4c206854369ecf3c9a4898f1b23fbd9d15d3" integrity sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg== @@ -19995,12 +19365,8 @@ workbox-window@6.6.0, workbox-window@^6.5.4: "@types/trusted-types" "^2.0.2" workbox-core "6.6.0" -workerpool@^6.5.1: - version "6.5.1" - resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.5.1.tgz#060f73b39d0caf97c6db64da004cd01b4c099544" - integrity sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA== - "wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: + name wrap-ansi-cjs version "7.0.0" resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== @@ -20081,7 +19447,7 @@ xmlchars@^2.2.0: resolved "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz" integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== -xtend@^4.0.0, xtend@^4.0.2, xtend@~4.0.1: +xtend@^4.0.2, xtend@~4.0.1: version "4.0.2" resolved "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz" integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== @@ -20096,11 +19462,6 @@ y18n@^5.0.5: resolved "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz" integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== -yaeti@^0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/yaeti/-/yaeti-0.0.6.tgz#f26f484d72684cf42bedfb76970aa1608fbf9577" - integrity sha512-MvQa//+KcZCUkBTIC9blM+CU9J2GzuTytsOUwf2lidtvkx/6gnEp1QvJv34t9vdjhFmha/mUiNDbN0D0mJWdug== - yallist@^3.0.2: version "3.1.1" resolved "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" @@ -20129,26 +19490,11 @@ yargs-parser@^18.1.2: camelcase "^5.0.0" decamelize "^1.2.0" -yargs-parser@^20.2.2, yargs-parser@^20.2.9: - version "20.2.9" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" - integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== - yargs-parser@^21.0.1, yargs-parser@^21.1.1: version "21.1.1" resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz" integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== -yargs-unparser@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb" - integrity sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA== - dependencies: - camelcase "^6.0.0" - decamelize "^4.0.0" - flat "^5.0.2" - is-plain-obj "^2.1.0" - yargs@^15.3.1: version "15.4.1" resolved "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz" @@ -20166,19 +19512,6 @@ yargs@^15.3.1: y18n "^4.0.0" yargs-parser "^18.1.2" -yargs@^16.2.0: - version "16.2.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" - integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== - dependencies: - cliui "^7.0.2" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.0" - y18n "^5.0.5" - yargs-parser "^20.2.2" - yargs@^17.3.1, yargs@^17.7.2: version "17.7.2" resolved "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz" From d837a5082ed2a0b450c52ac0507fe90cc02f018b Mon Sep 17 00:00:00 2001 From: Sital999 Date: Wed, 25 Dec 2024 10:58:08 +0545 Subject: [PATCH 26/42] enhancement: Add customCombox for search field --- agent-node/src/utils/operatorSupport.ts | 238 +++++++------ api/backend/app/models/trigger/trigger_dto.py | 3 +- frontend/src/api/agents.ts | 3 +- .../components/event/EventTab.tsx | 331 ++++++++++-------- frontend/src/app/layout.tsx | 2 +- .../components/molecules/CustomCombobox.tsx | 83 ++++- frontend/src/models/types/functions.ts | 4 +- frontend/src/utils/cardano.ts | 31 ++ 8 files changed, 439 insertions(+), 256 deletions(-) diff --git a/agent-node/src/utils/operatorSupport.ts b/agent-node/src/utils/operatorSupport.ts index e386dc2a..ca04b777 100644 --- a/agent-node/src/utils/operatorSupport.ts +++ b/agent-node/src/utils/operatorSupport.ts @@ -1,129 +1,159 @@ -type TypeHandler = (a: any, b: any) => boolean; +type TypeHandler = (a: any, b: any) => boolean const operatorNameToSymbol: Record = { - // Text-based comparison operators - greaterthan: '>', - greaterthanorequal: '>=', - lessthan: '<', - lessthanorequal: '<=', - equal: '==', - equals: '==', - notequal: '!=', - notequals: '!=', - - // Shorthand comparison operators - gt: '>', - gte: '>=', - lt: '<', - lte: '<=', - ne: '!=', -}; + // Text-based comparison operators + greaterthan: '>', + greaterthanorequal: '>=', + lessthan: '<', + lessthanorequal: '<=', + equal: '==', + equals: '==', + notequal: '!=', + notequals: '!=', + + // Shorthand comparison operators + gt: '>', + gte: '>=', + lt: '<', + lte: '<=', + ne: '!=', + eq: '==', +} class LogicalFunctions { - private typeHandlers: Map>; - - constructor() { - // Initialize a map to hold handlers for different types/classes - this.typeHandlers = new Map(); - } + private typeHandlers: Map> - // Register operator for a specific class or type (e.g., Person, Animal, Number, etc.) - register(type: string, operator: string, handler: TypeHandler): void { - if (!this.typeHandlers.has(type)) { - this.typeHandlers.set(type, {}); + constructor() { + // Initialize a map to hold handlers for different types/classes + this.typeHandlers = new Map() } - const typeRegistry = this.typeHandlers.get(type)!; - if (typeRegistry[operator]) { - throw new Error(`Operator "${operator}" for type "${type}" is already registered.`); + // Register operator for a specific class or type (e.g., Person, Animal, Number, etc.) + register(type: string, operator: string, handler: TypeHandler): void { + if (!this.typeHandlers.has(type)) { + this.typeHandlers.set(type, {}) + } + const typeRegistry = this.typeHandlers.get(type)! + + if (typeRegistry[operator]) { + throw new Error( + `Operator "${operator}" for type "${type}" is already registered.` + ) + } + + typeRegistry[operator] = handler } - typeRegistry[operator] = handler; - } + // Execute the logical operation, checking the types/classes of the operands + execute(operator: string, a: any, b: any): boolean { + const aClass = a.constructor ? a.constructor.name : typeof a + const bClass = b.constructor ? b.constructor.name : typeof b - // Execute the logical operation, checking the types/classes of the operands - execute(operator: string, a: any, b: any): boolean { - const aClass = a.constructor ? a.constructor.name : typeof a; - const bClass = b.constructor ? b.constructor.name : typeof b; + if (operatorNameToSymbol[operator.toLowerCase()]) { + operator = operatorNameToSymbol[operator.toLowerCase()] + } + // Try class-specific operator registration first + if (this.typeHandlers.has(aClass)) { + const aHandlers = this.typeHandlers.get(aClass)! + if (aHandlers[operator]) { + if (aClass === 'buffer' && !Buffer.isBuffer(b)) { + const convertedBuffer = Buffer.from(b) + return aHandlers[operator](a, convertedBuffer) + } + return aHandlers[operator](a, b) + } + } - if(operatorNameToSymbol[operator.toLowerCase()]){ - operator=operatorNameToSymbol[operator.toLowerCase()] - } - // Try class-specific operator registration first - if (this.typeHandlers.has(aClass)) { - const aHandlers = this.typeHandlers.get(aClass)!; - if (aHandlers[operator]) { - if (aClass === 'buffer' && !Buffer.isBuffer(b)){ - const convertedBuffer = Buffer.from(b) - return aHandlers[operator](a, convertedBuffer); + // If class-specific handler not found, check for type (primitive) operators + if (this.typeHandlers.has(aClass.toLowerCase())) { + const aHandlers = this.typeHandlers.get(aClass.toLowerCase())! + if (aHandlers[operator]) { + if (aClass.toLowerCase() === 'buffer' && !Buffer.isBuffer(b)) { + const convertedBuffer = Buffer.from(b, 'hex') + return aHandlers[operator](a, convertedBuffer) + } + return aHandlers[operator](a, b) + } } - return aHandlers[operator](a, b); - } - } - // If class-specific handler not found, check for type (primitive) operators - if (this.typeHandlers.has(aClass.toLowerCase())) { - const aHandlers = this.typeHandlers.get(aClass.toLowerCase())!; - if (aHandlers[operator]) { - if (aClass.toLowerCase() === 'buffer' && !Buffer.isBuffer(b)){ - const convertedBuffer = Buffer.from(b,'hex') - return aHandlers[operator](a, convertedBuffer); + // Try class-specific operator registration for the second operand + if (this.typeHandlers.has(bClass)) { + const bHandlers = this.typeHandlers.get(bClass)! + if (bHandlers[operator]) { + return bHandlers[operator](a, b) + } } - return aHandlers[operator](a, b); - } - } - // Try class-specific operator registration for the second operand - if (this.typeHandlers.has(bClass)) { - const bHandlers = this.typeHandlers.get(bClass)!; - if (bHandlers[operator]) { - return bHandlers[operator](a, b); - } - } + // If still not found, try for primitive types such as number, string, etc. + if (this.typeHandlers.has('number')) { + const numberHandlers = this.typeHandlers.get('number')! + if (numberHandlers[operator]) { + return numberHandlers[operator](a, b) + } + } - // If still not found, try for primitive types such as number, string, etc. - if (this.typeHandlers.has("number")) { - const numberHandlers = this.typeHandlers.get("number")!; - if (numberHandlers[operator]) { - return numberHandlers[operator](a, b); - } + console.log( + 'typeHandlers', + JSON.stringify(Array.from(this.typeHandlers.keys()), undefined, 2) + ) + console.log( + 'typeHandlersvalues', + JSON.stringify(Array.from(this.typeHandlers.values()), undefined, 2) + ) + + // If operator is not found for the types of operands, throw an error + throw new Error( + `Operator "${operator}" is not supported for operands of types "${aClass}" and "${bClass}".` + ) } - - console.log("typeHandlers",JSON.stringify(Array.from( this.typeHandlers.keys()),undefined,2)); - console.log("typeHandlersvalues",JSON.stringify(Array.from( this.typeHandlers.values()),undefined,2)); - - // If operator is not found for the types of operands, throw an error - throw new Error(`Operator "${operator}" is not supported for operands of types "${aClass}" and "${bClass}".`); - } } - - // Initialize the _logicalFunctions instance -const _logicalFunctions = new LogicalFunctions(); +const _logicalFunctions = new LogicalFunctions() // Register handlers for numbers -_logicalFunctions.register("number", "==", (a: number, b: number) => a === b); -_logicalFunctions.register("number", "!=", (a: number, b: number) => a !== b); -_logicalFunctions.register("number", ">", (a: number, b: number) => a > b); -_logicalFunctions.register("number", "<", (a: number, b: number) => a < b); -_logicalFunctions.register("number", ">=", (a: number, b: number) => a >= b); -_logicalFunctions.register("number", "<=", (a: number, b: number) => a <= b); +_logicalFunctions.register('number', '==', (a: number, b: number) => a === b) +_logicalFunctions.register('number', '!=', (a: number, b: number) => a !== b) +_logicalFunctions.register('number', '>', (a: number, b: number) => a > b) +_logicalFunctions.register('number', '<', (a: number, b: number) => a < b) +_logicalFunctions.register('number', '>=', (a: number, b: number) => a >= b) +_logicalFunctions.register('number', '<=', (a: number, b: number) => a <= b) // Register handlers for strings -_logicalFunctions.register("string", "==", (a: string, b: string) => a === b); -_logicalFunctions.register("string", "!=", (a: string, b: string) => a !== b); -_logicalFunctions.register("string", ">", (a: string, b: string) => a > b); -_logicalFunctions.register("string", "<", (a: string, b: string) => a < b); -_logicalFunctions.register("string", ">=", (a: string, b: string) => a >= b); -_logicalFunctions.register("string", "<=", (a: string, b: string) => a <= b); +_logicalFunctions.register('string', '==', (a: string, b: string) => a === b) +_logicalFunctions.register('string', '!=', (a: string, b: string) => a !== b) +_logicalFunctions.register('string', '>', (a: string, b: string) => a > b) +_logicalFunctions.register('string', '<', (a: string, b: string) => a < b) +_logicalFunctions.register('string', '>=', (a: string, b: string) => a >= b) +_logicalFunctions.register('string', '<=', (a: string, b: string) => a <= b) // Register handlers for buffers -_logicalFunctions.register("buffer", "==", (a: Buffer, b: Buffer) => a.equals(b)); -_logicalFunctions.register("buffer", "!=", (a: Buffer, b: Buffer) => !a.equals(b)); -_logicalFunctions.register("buffer", ">", (a: Buffer, b: Buffer) => a.compare(b) > 0); -_logicalFunctions.register("buffer", "<", (a: Buffer, b: Buffer) => a.compare(b) < 0); -_logicalFunctions.register("buffer", ">=", (a: Buffer, b: Buffer) => a.compare(b) >= 0); -_logicalFunctions.register("buffer", "<=", (a: Buffer, b: Buffer) => a.compare(b) <= 0); - -export const logicalFunctions=_logicalFunctions; - +_logicalFunctions.register('buffer', '==', (a: Buffer, b: Buffer) => + a.equals(b) +) +_logicalFunctions.register( + 'buffer', + '!=', + (a: Buffer, b: Buffer) => !a.equals(b) +) +_logicalFunctions.register( + 'buffer', + '>', + (a: Buffer, b: Buffer) => a.compare(b) > 0 +) +_logicalFunctions.register( + 'buffer', + '<', + (a: Buffer, b: Buffer) => a.compare(b) < 0 +) +_logicalFunctions.register( + 'buffer', + '>=', + (a: Buffer, b: Buffer) => a.compare(b) >= 0 +) +_logicalFunctions.register( + 'buffer', + '<=', + (a: Buffer, b: Buffer) => a.compare(b) <= 0 +) + +export const logicalFunctions = _logicalFunctions diff --git a/api/backend/app/models/trigger/trigger_dto.py b/api/backend/app/models/trigger/trigger_dto.py index cb131df1..1bb813bf 100644 --- a/api/backend/app/models/trigger/trigger_dto.py +++ b/api/backend/app/models/trigger/trigger_dto.py @@ -26,7 +26,7 @@ class Action(BaseModel): # For Event Based Trigger BooleanOperator = Literal["AND", "OR"] -ComparisonOperator = Literal["equals", "greaterthan", "lessthan", "in"] +ComparisonOperator = Literal["equals", "greaterthan", "lessthan", "in","gt","gte","lt","lte","ne","eq","contains"] class Field(BaseModel): @@ -34,6 +34,7 @@ class Field(BaseModel): value: Any negate: bool operator: ComparisonOperator + operators: list[ComparisonOperator] class ChildrenFields(BaseModel): diff --git a/frontend/src/api/agents.ts b/frontend/src/api/agents.ts index 4d8cb86c..f34bc02a 100644 --- a/frontend/src/api/agents.ts +++ b/frontend/src/api/agents.ts @@ -16,7 +16,8 @@ export interface IFieldNode { id: string | Array; value: any; negate: boolean; - operator: ComparisonOperator; + operators: string[]; + validator: (...args: any) => any; } export interface IBooleanNode { diff --git a/frontend/src/app/(pages)/templates/create-template/components/event/EventTab.tsx b/frontend/src/app/(pages)/templates/create-template/components/event/EventTab.tsx index 8df2b442..2f148931 100644 --- a/frontend/src/app/(pages)/templates/create-template/components/event/EventTab.tsx +++ b/frontend/src/app/(pages)/templates/create-template/components/event/EventTab.tsx @@ -1,9 +1,11 @@ import React, { useEffect, useState } from 'react'; import { IBooleanNode, IEventTrigger, IFieldNode } from '@api/agents'; +import { getNestedTxProperties } from '@utils'; import { Events as transactionSchema } from 'libcardano/spec/properties'; import { ChevronDown, FileJson } from 'lucide-react'; +import NodeGraph from '@app/app/(pages)/templates/create-template/components/event/EventTriggerGraph'; import { Card } from '@app/components/atoms/Card'; import { Checkbox } from '@app/components/atoms/Checkbox'; import { @@ -14,6 +16,7 @@ import { } from '@app/components/atoms/DropDownMenu'; import { Input } from '@app/components/atoms/Input'; import { cn } from '@app/components/lib/utils'; +import { CustomCombobox } from '@app/components/molecules/CustomCombobox'; import { CustomSelect } from '@app/components/molecules/CustomDropDown'; import { ErrorToast } from '@app/components/molecules/CustomToasts'; import { areArraysEqual } from '@app/utils/common/array'; @@ -22,7 +25,6 @@ import { Close } from '@app/views/atoms/Icons/Close'; import InfoCard from '../cards/InfoCard'; import CustomEditor from './CustomEditor'; import { ISchema } from './EventTrigger'; -import NodeGraph from './EventTriggerGraph'; const EventTab = ({ className, @@ -125,14 +127,15 @@ const EventTab = ({ } }); if (selectedParameter && 'properties' in selectedParameter) { - selectedParameter = getNestedProperties(selectedParameter)?.find((prop) => + selectedParameter = getNestedTxProperties(selectedParameter)?.find((prop) => areArraysEqual(prop.id as string[], parameterId as string[]) ); } return selectedParameter; } - const handleAddParameter = (parameterId: string) => { + const handleAddParameter = (parameterId: string | string[]) => { + console.log('Added param is : ', parameterId); if (formData && currentEventFilter) { const selectedParameter = getSelectedParameter(parameterId); if (selectedParameter) { @@ -147,7 +150,10 @@ const EventTab = ({ ...(eventFilter.children || []), { id: selectedParameter.id, - operator: 'equals', + operators: selectedParameter.operators + ? selectedParameter.operators + : ['eq'], + validator: selectedParameter.validator, value: '', negate: false } @@ -161,6 +167,29 @@ const EventTab = ({ } }; + const handleDeleteParameter = (parameterId: string | string[]) => { + if (!formData) return; + const data = { + ...formData, + children: formData.children.map((eventFilter) => { + return 'children' in eventFilter + ? { + ...eventFilter, + children: eventFilter.children.filter((child) => { + if (Array.isArray(child.id)) { + return !areArraysEqual( + child.id as string[], + parameterId as string[] + ); + } else return child.id !== parameterId; + }) + } + : eventFilter; + }) + }; + setFormData(data); + }; + const handleParamValueChange = (parameterId: string, value: any) => { if (formData && currentEventFilter) { const data = { @@ -233,33 +262,9 @@ const EventTab = ({ ); }; - function getNestedProperties(obj: ISchema) { - const result: ISchema[] = []; - const txObjectOperators = obj.operators; - - function recursiveFlatten(property: ISchema, parentId: any = []) { - const { id, type, properties } = property; - const newId: string[] = [...parentId, id]; - - if (properties && Array.isArray(properties)) { - properties.forEach((child) => recursiveFlatten(child, newId)); - } else { - result.push({ - id: newId, - label: newId.join('.'), - type, - operators: txObjectOperators - }); - } - } - - recursiveFlatten(obj); - return result; - } - const getFlattenEventFilterParams = () => { return currentEventFilter?.properties - ?.map((prop) => getNestedProperties(prop)) + ?.map((prop) => getNestedTxProperties(prop)) .flat(); }; @@ -295,45 +300,78 @@ const EventTab = ({ onClick={() => setProMode(!proMode)} />
-
- ({ - label: txProp.label, - value: txProp.id - }))} - defaultValue={currentEvent?.label || 'Event'} - label="Event" - onSelect={handleSelectEvent} - disabled={currentEvent !== null} - /> - ({ - label: item.label, - value: item.id - })) || [] - } - defaultValue={`${currentEvent?.label || 'Event'} filters`} - label="Event Filter" - onSelect={handleAddEventFilter} - disabled={currentEvent === null} - /> - { - setIsInfoVisible(true); - }} - onMouseLeave={() => { - setIsInfoVisible(false); - }} - visible={isInfoVisible} - /> -
-
- +
+
+ ({ + label: txProp.label, + value: txProp.id + }))} + defaultValue={currentEvent?.label || 'Event'} + label="Event" + onSelect={handleSelectEvent} + disabled={currentEvent !== null} + /> + ({ + label: item.label, + value: item.id + })) || [] + } + defaultValue={`${currentEvent?.label || 'Event'} filters`} + label="Event Filter" + onSelect={handleAddEventFilter} + disabled={currentEvent === null} + /> + {/* ({*/} + {/* label: item.label,*/} + {/* value: item.id*/} + {/* })) || []*/} + {/* }*/} + {/* label={'Event Filter Parameters'}*/} + {/* disabled={currentEventFilter === null}*/} + {/* defaultValue={` Add Parameters`}*/} + {/* onSelect={handleAddParameter}*/} + {/*/>*/} +
+

Event Filter Parameters

+ item.label + ) || [] + } + onSelect={(selectedParam: string) => { + const splittedParamArray = selectedParam.split('.'); + handleAddParameter(splittedParamArray); + }} + defaultValue={'Search Parameter'} + /> +
+ { + setIsInfoVisible(true); + }} + onMouseLeave={() => { + setIsInfoVisible(false); + }} + visible={isInfoVisible} + /> +
+
+ + +
@@ -356,20 +394,6 @@ const EventTab = ({
))} - ({ - label: item.label, - value: item.id - }) - ) || [] - } - disabled={currentEventFilter === null} - defaultValue={` Add Parameters`} - onSelect={handleAddParameter} - />
{currentEventFilter && formData?.children.map((param, index) => { @@ -405,8 +429,8 @@ const EventTab = ({ value ); }} - validator={ - currentEventFilter.validator + onDeleteParameter={ + handleDeleteParameter } /> } @@ -418,6 +442,9 @@ const EventTab = ({ } })} +
+ +
void; onOperatorChange?: (value: any) => void; onNegateChange?: (value: boolean) => void; - validator?: (...args: any) => any; + onDeleteParameter?: (...args: any) => void; }) => { const [localOperator, setLocalOperator] = useState( - eventFilterParam.operator + eventFilterParam.operators[0] ); + useEffect(() => { + localOperator && onOperatorChange?.(localOperator); + }, [localOperator]); + const [errMsg, setErrMsg] = useState(''); useEffect(() => { @@ -462,69 +493,95 @@ const RenderEventChildForm = ({ }; }, [errMsg]); - const operators = ['equals', 'greaterthan', 'lessthan', 'in']; - const handleOperatorChange = (operator: string) => { setLocalOperator(operator); onOperatorChange?.(operator); }; + const handleOnDeleteParam = (paramId: string | string[]) => { + onDeleteParameter && onDeleteParameter(paramId); + }; + const handleInputChange = (e: React.ChangeEvent) => { - // if (validator && validator(e.target.value)) { - // onValueChange?.(e.target.value); - // } else { - // setErrMsg('Kei Error occured'); - // } + if (!eventFilterParam?.validator(e.target.value)) { + setErrMsg('Error occured'); + } onValueChange?.(e.target.value); }; return ( -
- - {Array.isArray(eventFilterParam.id) - ? (eventFilterParam.id as string[]).join('.') - : eventFilterParam.id} - -
- negate - +
+ + {Array.isArray(eventFilterParam.id) + ? (eventFilterParam.id as string[]).join('.') + : eventFilterParam.id} + +
+ negate + +
+ + + + {transformLabelForOperators(localOperator)} + + + + + {eventFilterParam.operators.map((operator, index) => ( + handleOperatorChange(operator)} + > + {transformLabelForOperators(operator)} + + ))} + + + + handleOnDeleteParam(eventFilterParam.id)} + className={ + 'invisible relative top-2 h-10 w-10 cursor-pointer group-hover:visible' + } />
- - - - {localOperator} - - - - - {operators.map((operator, index) => ( - handleOperatorChange(operator)} - > - {operator} - - ))} - - - - {errMsg && {errMsg}} - + {errMsg && ( +
+ {errMsg} +
+ )}
); }; +function transformLabelForOperators(operator: string) { + switch (operator) { + case 'lt': + return 'Less Than'; + case 'gt': + return 'Greater Than'; + case 'gte': + return 'Great Than Or Equals To'; + case 'lte': + return 'Less Than Or Equals To'; + case 'eq': + return 'Equals'; + default: + return operator.toUpperCase(); + } +} + export default EventTab; diff --git a/frontend/src/app/layout.tsx b/frontend/src/app/layout.tsx index 92c44a4e..90820f6d 100644 --- a/frontend/src/app/layout.tsx +++ b/frontend/src/app/layout.tsx @@ -119,7 +119,7 @@ function embedApmScript() { serverUrlPrefix: '/status' }; const htmlStr = 'elasticApm.init(' + JSON.stringify(config) + ')'; - return process.env.NEXT_PUBLIC_APM_ENABLED ? ( + return !!process.env.NEXT_PUBLIC_APM_ENABLED ? ( <> {/* + ) : ( <> )} @@ -86,11 +82,7 @@ export default function RootLayout({
- +
- +
); diff --git a/frontend/src/assets/icons/AgentsIcon.tsx b/frontend/src/assets/icons/AgentsIcon.tsx index 6f8d3d7a..baaaa1c4 100644 --- a/frontend/src/assets/icons/AgentsIcon.tsx +++ b/frontend/src/assets/icons/AgentsIcon.tsx @@ -2,25 +2,13 @@ import React from 'react'; export default function AgentsIcon(props: React.SVGAttributes) { return ( - + - + ); } diff --git a/frontend/src/assets/icons/DashboardIcon.tsx b/frontend/src/assets/icons/DashboardIcon.tsx index f8cd16d8..c922178c 100644 --- a/frontend/src/assets/icons/DashboardIcon.tsx +++ b/frontend/src/assets/icons/DashboardIcon.tsx @@ -1,13 +1,6 @@ export default function DashBoardIcon(props: React.SVGAttributes) { return ( - + ( d="M180.8 737.6c-1.6 0-3.2 0-4-0.8-2.4-1.6-4-4-4-7.2V375.2c0-3.2 1.6-5.6 4-7.2l329.6-196c2.4-1.6 5.6-1.6 8 0 2.4 1.6 4 4 4 7.2v375.2c0 3.2-1.6 5.6-4 7.2l-329.6 176h-4z m8-358.4v337.6l313.6-167.2V193.6L188.8 379.2z" fill="#0033AD" /> - + - + - + - + ); diff --git a/frontend/src/assets/icons/Logo.tsx b/frontend/src/assets/icons/Logo.tsx index b1466e5f..a6a5360c 100644 --- a/frontend/src/assets/icons/Logo.tsx +++ b/frontend/src/assets/icons/Logo.tsx @@ -7,13 +7,7 @@ interface LogoProps { const Logo: React.FC = ({ height = 65, width = 65 }) => { return ( - + st ) { return ( - + ( - + - + ); } diff --git a/frontend/src/assets/icons/TemplateEditIcon.tsx b/frontend/src/assets/icons/TemplateEditIcon.tsx index 0be29d03..d35b3a8c 100644 --- a/frontend/src/assets/icons/TemplateEditIcon.tsx +++ b/frontend/src/assets/icons/TemplateEditIcon.tsx @@ -3,13 +3,7 @@ import type { SVGProps } from 'react'; export function TemplateEditIcon(props: SVGProps) { return ( - + { const TemplateIcon: React.FC = ({ ...props }) => { return ( - + + - {children} -
- ); +export default function ContentHeader({ children, className }: { children: React.ReactNode; className?: string }) { + return
{children}
; } diff --git a/frontend/src/components/Agent/AgentContent/Functions.tsx b/frontend/src/components/Agent/AgentContent/Functions.tsx index ff058cdc..6cda0e02 100644 --- a/frontend/src/components/Agent/AgentContent/Functions.tsx +++ b/frontend/src/components/Agent/AgentContent/Functions.tsx @@ -82,34 +82,25 @@ export default function AgentFunctionsComponent({ textClassName="text-xl font-semibold" /> {enableControl && ( - )}
- {agent && - agent.agent_configurations && - agent?.agent_configurations.length === 0 && ( - - )} - {agent && - agent.agent_configurations && - agent?.agent_configurations.length > 0 && ( -
- -
- )} + {agent && agent.agent_configurations && agent?.agent_configurations.length === 0 && ( + + )} + {agent && agent.agent_configurations && agent?.agent_configurations.length > 0 && ( +
+ +
+ )} - setOpenDeleteConfirmation(false)} - > + setOpenDeleteConfirmation(false)}> { const [openDialog, setOpenDialog] = useState(false); - const [currentFunction, setCurrentFunction] = - useState(null); + const [currentFunction, setCurrentFunction] = useState(null); const updateTemplate = useMutation({ mutationFn: (data: IAgentConfiguration) => updateTrigger(data), diff --git a/frontend/src/components/Agent/AgentContent/Logs.tsx b/frontend/src/components/Agent/AgentContent/Logs.tsx index d25a1e29..e319b9b9 100644 --- a/frontend/src/components/Agent/AgentContent/Logs.tsx +++ b/frontend/src/components/Agent/AgentContent/Logs.tsx @@ -35,15 +35,7 @@ export const AgentLogComponent = ({ agent }: { agent?: IAgent }) => { refetch: refetchLogsHistory, isLoading: loadingLogs } = useQuery({ - queryKey: [ - `${agent?.id}LogsHistory`, - 1, - 50, - agent?.id, - currentFunction, - currentStatus, - currentSuccess - ], + queryKey: [`${agent?.id}LogsHistory`, 1, 50, agent?.id, currentFunction, currentStatus, currentSuccess], queryFn: fetchAllTriggerHistory, refetchInterval: 60000, refetchOnWindowFocus: true, @@ -88,21 +80,13 @@ export const AgentLogComponent = ({ agent }: { agent?: IAgent }) => { onChange={(strVal: string) => { setCurrentFunction(strVal); }} - value={ - currentFunction === 'None' - ? 'Function' - : MapFunctionNameAndViewName[currentFunction] - } + value={currentFunction === 'None' ? 'Function' : MapFunctionNameAndViewName[currentFunction]} />
{statusOptions.map((status: string, index) => ( handleStatusChange(status)} > @@ -118,13 +102,7 @@ export const AgentLogComponent = ({ agent }: { agent?: IAgent }) => { ) : (
{LogsHistory?.items?.map((history: IAgentTriggerHistory) => { - return ( - - ); + return ; })}
)} @@ -163,36 +141,19 @@ export const AgentLogCard = ({ className )} > -
+
{globalLog && (
- +
{Truncate( - (agents && - agents[history.agentId] && - agents[history.agentId].name) || - '', + (agents && agents[history.agentId] && agents[history.agentId].name) || '', 20 )}   #{history.instanceIndex} - + {Truncate(history.agentId || '', 25)}
@@ -200,28 +161,21 @@ export const AgentLogCard = ({ )} {!globalLog && (
- - #{history.instanceIndex} - + #{history.instanceIndex}
)}
- {MapFunctionNameAndViewName[history.functionName] || - history.functionName} - - - {history.triggerType || 'CRON'} + {MapFunctionNameAndViewName[history.functionName] || history.functionName} + {history.triggerType || 'CRON'}
{history.parameters && (
Parameters {history.parameters?.map((param, index) => { - return ( - - ); + return ; })}
)} @@ -229,14 +183,9 @@ export const AgentLogCard = ({
Result {history.txHash || !history.message ? ( - + ) : ( - - {history.message} - + {history.message} )}
) : history.txHash ? ( @@ -247,15 +196,9 @@ export const AgentLogCard = ({ {history.internal && }
-
+
{getAgentExecutionStatus()} - - {formatTimestamp(history.timestamp)} - + {formatTimestamp(history.timestamp)}
); @@ -268,24 +211,15 @@ const InternalLogs = ({ history }: { history: IAgentTriggerHistory }) => { return (
-
+
- {MapFunctionNameAndViewName[internal.function_name] || - internal.function_name} + {MapFunctionNameAndViewName[internal.function_name] || internal.function_name} - {internal.txHash && ( - - )} - {internal.message && ( - {internal.message} - )} + {internal.txHash && } + {internal.message && {internal.message}}
); @@ -304,17 +238,10 @@ const LogFunctionParameter = ({ param }: { param: any }) => { }; return ( -
+
{formatParameterName(param.name)} : {typeof param.value === 'string' ? ( - + {param.value} ) : ( @@ -327,13 +254,7 @@ const LogFunctionParameter = ({ param }: { param: any }) => { ); }; -const LogObjectParameter = ({ - params, - longTruncate = false -}: { - params: Record; - longTruncate?: boolean; -}) => { +const LogObjectParameter = ({ params, longTruncate = false }: { params: Record; longTruncate?: boolean }) => { const { copyToClipboard } = useCopyClipboard(); return ( @@ -341,12 +262,7 @@ const LogObjectParameter = ({ Object.entries(params).map((param, index) => { return ( - copyToClipboard( - param[1], - `${formatParameterName(param[0])} copied!` - ) - } + onClick={() => copyToClipboard(param[1], `${formatParameterName(param[0])} copied!`)} key={index} className={` cursor-pointer truncate text-xs drop-shadow ${longTruncate ? ' w-[250px] md:max-w-[320px]' : 'w-[100px] md:max-w-[280px]'}`} > @@ -364,11 +280,7 @@ const TxHashComponent = ({ txHash }: { txHash: string }) => { }; return ( <> -
+

TxHash :

{ > {txHash} - +
); diff --git a/frontend/src/components/Agent/AgentContent/ManualActions.tsx b/frontend/src/components/Agent/AgentContent/ManualActions.tsx index a5e8d4f2..39503615 100644 --- a/frontend/src/components/Agent/AgentContent/ManualActions.tsx +++ b/frontend/src/components/Agent/AgentContent/ManualActions.tsx @@ -39,55 +39,31 @@ const AgentManualTriggerComponent = ({ agent }: { agent?: IAgent }) => { <>
- - Available Functions - + Available Functions
-
+
{AvailableFunctions.map((func) => { return (
- + {func.group} -
+
{func.items.map((item) => { return (
- handleOnClickFunctionsTab(item) - } + onClick={() => handleOnClickFunctionsTab(item)} key={item.id} className={ 'flex h-[130px] w-full cursor-pointer flex-col gap-2 rounded-md bg-brand-White-200 px-3 py-2 drop-shadow-md hover:bg-gray-200 lg:w-[300px]' } > - + {item.name} - + {item.description}
@@ -102,20 +78,13 @@ const AgentManualTriggerComponent = ({ agent }: { agent?: IAgent }) => { )} handleOnClickCloseIcon()} > - handleOpenChange(boolVal)} - /> + handleOpenChange(boolVal)} /> - {(agent?.is_active === false || - agent?.is_active === null || - agent?.is_active === undefined) && ( + {(agent?.is_active === false || agent?.is_active === null || agent?.is_active === undefined) && ( } /> )} diff --git a/frontend/src/components/Agent/AgentContent/Overview.tsx b/frontend/src/components/Agent/AgentContent/Overview.tsx index 106652dc..57576ad7 100644 --- a/frontend/src/components/Agent/AgentContent/Overview.tsx +++ b/frontend/src/components/Agent/AgentContent/Overview.tsx @@ -21,10 +21,7 @@ interface AgentOverViewProps { enableControl?: boolean; } -const AgentOverViewComponent: React.FC = ({ - agent, - enableControl -}) => { +const AgentOverViewComponent: React.FC = ({ agent, enableControl }) => { const { data: LogsHistory } = useQuery({ queryKey: [`${agent?.id}LogsHistory`, 1, 24, agent?.id], queryFn: fetchAllTriggerHistory, @@ -59,18 +56,9 @@ const AgentOverViewComponent: React.FC = ({ return ( <> - + {!agent?.is_active && enableControl && ( - )} @@ -89,18 +77,10 @@ const AgentOverViewComponent: React.FC = ({ '', false )} - {renderCustomCopyBox( - 'Status', - agent?.is_active ? 'Online' : 'Offline', - '', - false - )} + {renderCustomCopyBox('Status', agent?.is_active ? 'Online' : 'Offline', '', false)}
- {renderCustomCopyBox( - 'wallet address', - agent?.agent_address || '' - )} + {renderCustomCopyBox('wallet address', agent?.agent_address || '')} {renderCustomCopyBox( 'wallet balance', `${Number(agent?.wallet_amount || 0).toFixed(2)} Ada`, @@ -116,18 +96,10 @@ const AgentOverViewComponent: React.FC = ({ 'w-fit', false )} - {renderCustomCopyBox( - 'voting power', - `${agent?.voting_power || 0} Ada`, - 'w-fit', - false - )} + {renderCustomCopyBox('voting power', `${agent?.voting_power || 0} Ada`, 'w-fit', false)}
- {renderCustomCopyBox( - 'stake id', - hexToBech32(agent?.drep_id || '', 'stake_test') - )} + {renderCustomCopyBox('stake id', hexToBech32(agent?.drep_id || '', 'stake_test'))} {renderCustomCopyBox( 'is stake registered', agent?.is_stake_registered ? 'Yes' : 'No', @@ -136,16 +108,8 @@ const AgentOverViewComponent: React.FC = ({ )}
- {renderCustomCopyBox( - 'delegated Drep', - agent?.delegation?.drep_id || '' - )} - {renderCustomCopyBox( - 'delegated Pool', - agent?.delegation?.pool_id || '', - '', - false - )} + {renderCustomCopyBox('delegated Drep', agent?.delegation?.drep_id || '')} + {renderCustomCopyBox('delegated Pool', agent?.delegation?.pool_id || '', '', false)}
@@ -176,12 +140,7 @@ const TriggerDataBox = ({ className?: string; }) => { const dataSource = triggerData.map( - (item) => - (item.status && item.success - ? 'success' - : item.status - ? 'failed' - : 'skipped') as string + (item) => (item.status && item.success ? 'success' : item.status ? 'failed' : 'skipped') as string ); { @@ -195,18 +154,8 @@ const TriggerDataBox = ({ } } - const customBox = ( - status: string, - width?: string, - height?: string, - index?: number - ) => { - const bgColor = - status === 'success' - ? 'bg-green-500' - : status === 'failed' - ? 'bg-red-500' - : 'bg-gray-400'; + const customBox = (status: string, width?: string, height?: string, index?: number) => { + const bgColor = status === 'success' ? 'bg-green-500' : status === 'failed' ? 'bg-red-500' : 'bg-gray-400'; return (
{dataSource .reverse() - .map((status: string, index: number) => - customBox(status, `w-3`, `h-full`, index) - )} + .map((status: string, index: number) => customBox(status, `w-3`, `h-full`, index))}
-
- Last Active -
+
Last Active
- {lastActive - ? new Date(lastActive).toDateString() - : 'Not Activated'} + {lastActive ? new Date(lastActive).toDateString() : 'Not Activated'}
diff --git a/frontend/src/components/Agent/AgentContent/Settings.tsx b/frontend/src/components/Agent/AgentContent/Settings.tsx index b4377fd7..ae0efa30 100644 --- a/frontend/src/components/Agent/AgentContent/Settings.tsx +++ b/frontend/src/components/Agent/AgentContent/Settings.tsx @@ -88,11 +88,7 @@ export default function AgentSettingsComponent({ }; const AgnetDataCanBeChanged = () => { - return ( - agent && - agentData.agentName === agent?.name && - agentData.instance === agent?.instance - ); + return agent && agentData.agentName === agent?.name && agentData.instance === agent?.instance; }; return ( @@ -110,9 +106,7 @@ export default function AgentSettingsComponent({ value={agentData.agentName} className="mx-[2px]" viewOnly={!isEditing} - onChange={(e: any) => - setAgentData({ ...agentData, agentName: e.target.value }) - } + onChange={(e: any) => setAgentData({ ...agentData, agentName: e.target.value })} />
@@ -121,9 +115,7 @@ export default function AgentSettingsComponent({ value={agentData.instance} className="mx-[2px]" viewOnly={!isEditing} - onChange={(e: any) => - setAgentData({ ...agentData, instance: e.target.value }) - } + onChange={(e: any) => setAgentData({ ...agentData, instance: e.target.value })} min={1} />
@@ -131,11 +123,7 @@ export default function AgentSettingsComponent({
@@ -145,10 +133,7 @@ export default function AgentSettingsComponent({ className="cursor-pointer text-gray-400" /> ) : ( - setShowSecret(!showSecret)} - className="cursor-pointer text-gray-400" - /> + setShowSecret(!showSecret)} className="cursor-pointer text-gray-400" /> )}
@@ -157,12 +142,7 @@ export default function AgentSettingsComponent({
{isEditing ? (
-
) : ( - )} diff --git a/frontend/src/components/Agent/AgentTab/AgentTab.tsx b/frontend/src/components/Agent/AgentTab/AgentTab.tsx index 734a3153..0703ea32 100644 --- a/frontend/src/components/Agent/AgentTab/AgentTab.tsx +++ b/frontend/src/components/Agent/AgentTab/AgentTab.tsx @@ -12,13 +12,7 @@ import AgentTabItem from './AgentTabItem'; const adminTabs = ['Overview', 'Functions', 'Manual Actions', 'Logs', 'Settings']; const normalTabs = ['Overview', 'Functions', 'Logs']; -const AgentTabSection = ({ - showAllTabs = false, - className -}: { - showAllTabs?: boolean; - className?: string; -}) => { +const AgentTabSection = ({ showAllTabs = false, className }: { showAllTabs?: boolean; className?: string }) => { const tabs = showAllTabs ? adminTabs : normalTabs; const [, setSelectedTab] = useAtom(selectedAgentTabAtom); @@ -29,12 +23,7 @@ const AgentTabSection = ({ return ( <> -
+
{tabs.map((item, index) => ( ))} diff --git a/frontend/src/components/Agent/AgentTab/AgentTabContent.tsx b/frontend/src/components/Agent/AgentTab/AgentTabContent.tsx index b12df0a8..94e3e66b 100644 --- a/frontend/src/components/Agent/AgentTab/AgentTabContent.tsx +++ b/frontend/src/components/Agent/AgentTab/AgentTabContent.tsx @@ -26,29 +26,19 @@ const AgentTabContent = ({ const [selectedAgentTab] = useAtom(selectedAgentTabAtom); function getAgentSelectedTabComponent() { - if (selectedAgentTab === 'Overview') - return ; + if (selectedAgentTab === 'Overview') return ; else if (selectedAgentTab === 'Functions') return ; - else if (selectedAgentTab === 'Logs') - return ; + else if (selectedAgentTab === 'Logs') return ; else if (enableEdit) { - if (selectedAgentTab === 'Manual Actions') - return ; + if (selectedAgentTab === 'Manual Actions') return ; else if (selectedAgentTab === 'Settings') - return ( - - ); + return ; } } return ( -
+
{agentLoading ? (
diff --git a/frontend/src/components/Agent/AgentTab/AgentTabItem.tsx b/frontend/src/components/Agent/AgentTab/AgentTabItem.tsx index 0eccfe64..9601cd1d 100644 --- a/frontend/src/components/Agent/AgentTab/AgentTabItem.tsx +++ b/frontend/src/components/Agent/AgentTab/AgentTabItem.tsx @@ -12,9 +12,7 @@ const AgentTabItem = ({ item }: { item: any }) => { onClick={() => setSelectedTab(item)} className={cn( 'relative flex cursor-pointer items-center gap-1 rounded p-2 text-xs text-brand-Black-100 md:gap-2 md:px-4 md:text-base', - selectedTab === item - ? ' text-brand-Blue-200' - : 'hover-transition-blue !text-brand-Black-100' + selectedTab === item ? ' text-brand-Blue-200' : 'hover-transition-blue !text-brand-Black-100' )} > {selectedTab === item && ( diff --git a/frontend/src/components/Agent/FormRenderer/FormParameters.tsx b/frontend/src/components/Agent/FormRenderer/FormParameters.tsx index ba8239b0..02925ef3 100644 --- a/frontend/src/components/Agent/FormRenderer/FormParameters.tsx +++ b/frontend/src/components/Agent/FormRenderer/FormParameters.tsx @@ -29,9 +29,7 @@ const FormParameters = ({ parameters }: { parameters: Array }) => { {parameters.map((param, index) => { return (
- {!param.items && ( - {param.name} - )} + {!param.items && {param.name} }
{renderParamsComponent(param, index)}
); diff --git a/frontend/src/components/Agent/FormRenderer/FormRenderer.tsx b/frontend/src/components/Agent/FormRenderer/FormRenderer.tsx index b26f018f..2853b7e9 100644 --- a/frontend/src/components/Agent/FormRenderer/FormRenderer.tsx +++ b/frontend/src/components/Agent/FormRenderer/FormRenderer.tsx @@ -11,10 +11,7 @@ import { Button } from '@app/components/atoms/Button'; import { ErrorToast, SuccessToast } from '@app/components/molecules/CustomToasts'; import { Separator } from '@app/components/shadcn/ui/separator'; import { errorAtom, selectedFunctionAtom } from '@app/store/atoms/formRenderer'; -import { - extractAnswerFromForm, - validateForDifferentType -} from '@app/utils/formRenderer'; +import { extractAnswerFromForm, validateForDifferentType } from '@app/utils/formRenderer'; import { queryClient } from '@app/utils/providers/ReactQueryProvider'; const FormRenderer = ({ @@ -28,10 +25,8 @@ const FormRenderer = ({ const [selectedFunction] = useAtom(selectedFunctionAtom); const [, setErrorIndex] = useAtom(errorAtom); const agentMutation = useMutation({ - mutationFn: (data: { - agentId: string; - agentFunction: AgentTriggerRequestData; - }) => manualTriggerForAgent(data.agentId, data.agentFunction), + mutationFn: (data: { agentId: string; agentFunction: AgentTriggerRequestData }) => + manualTriggerForAgent(data.agentId, data.agentFunction), onSuccess: () => { queryClient.refetchQueries({ queryKey: ['agents'] }); SuccessToast( @@ -45,18 +40,14 @@ const FormRenderer = ({ } }); const handleTrigger = async () => { - const errorIndexes = await checkIfRequiredFieldIsEmpty( - selectedFunction?.parameters - ); + const errorIndexes = await checkIfRequiredFieldIsEmpty(selectedFunction?.parameters); setErrorIndex(errorIndexes); if (!errorIndexes.length) { const params = extractAnswerFromForm(selectedFunction); await agentMutation.mutateAsync({ agentId: agent?.id || '', agentFunction: { - function_name: - (selectedFunction?.id as AgentTriggerFunctionType) || - 'transferADA', + function_name: (selectedFunction?.id as AgentTriggerFunctionType) || 'transferADA', parameters: params } }); @@ -84,12 +75,8 @@ const FormRenderer = ({
- - {selectedFunction?.name} - - - {selectedFunction?.description} - + {selectedFunction?.name} + {selectedFunction?.description}
{selectedFunction && selectedFunction.parameters && ( diff --git a/frontend/src/components/Agent/FormRenderer/InputParameter.tsx b/frontend/src/components/Agent/FormRenderer/InputParameter.tsx index fb1030a0..973d0fc1 100644 --- a/frontend/src/components/Agent/FormRenderer/InputParameter.tsx +++ b/frontend/src/components/Agent/FormRenderer/InputParameter.tsx @@ -7,13 +7,7 @@ import { useDebounceValue } from 'usehooks-ts'; import { Input } from '@app/components/atoms/Input'; import { errorAtom, selectedFunctionAtom } from '@app/store/atoms/formRenderer'; -const InputParameter = ({ - parameter, - paramIndex -}: { - parameter: IParameter; - paramIndex: number; -}) => { +const InputParameter = ({ parameter, paramIndex }: { parameter: IParameter; paramIndex: number }) => { const [selectedFunction, setSelectedFunction] = useAtom(selectedFunctionAtom); const [errorIndex] = useAtom(errorAtom); diff --git a/frontend/src/components/Agent/FormRenderer/ListParameter.tsx b/frontend/src/components/Agent/FormRenderer/ListParameter.tsx index 77a87e6e..ef8227c6 100644 --- a/frontend/src/components/Agent/FormRenderer/ListParameter.tsx +++ b/frontend/src/components/Agent/FormRenderer/ListParameter.tsx @@ -8,13 +8,7 @@ import { useDebounceValue } from 'usehooks-ts'; import { Input } from '@app/components/atoms/Input'; import { errorAtom, selectedFunctionAtom } from '@app/store/atoms/formRenderer'; -const ListParameter = ({ - paramIndex, - parameter -}: { - paramIndex: number; - parameter: IParameter; -}) => { +const ListParameter = ({ paramIndex, parameter }: { paramIndex: number; parameter: IParameter }) => { const [selectedFunction, setSelectedFunction] = useAtom(selectedFunctionAtom); const [errorIndex] = useAtom(errorAtom); const [items, setItems] = useState>(parameter.items || []); @@ -75,9 +69,7 @@ const ListParameter = ({ if (items && items.length) { const paramLength = items.length; items?.map((item, index) => { - const isParamsFieldEmpty = item.parameters!.every( - (param) => param.value === '' - ); + const isParamsFieldEmpty = item.parameters!.every((param) => param.value === ''); if (isParamsFieldEmpty && paramLength > 1 && index != paramLength - 1) { isEmpty = true; } @@ -126,14 +118,9 @@ const ListParameter = ({
{items[0]?.parameters?.map((param) => { return ( -
+
{param.name} - {!parameter.optional && ( - * - )} + {!parameter.optional && *}
); })} @@ -142,18 +129,11 @@ const ListParameter = ({ {items && items.map((item, index) => { return ( -
+
{item.parameters && ( - handleOnChangeParams(params, index) - } + defaultValues={items.length ? items[index].parameters : []} + handleOnChange={(params) => handleOnChangeParams(params, index)} parameters={item.parameters} /> )} @@ -174,9 +154,7 @@ const ListParameter = ({
{} - } + onClick={checkIfFieldIsRequired() ? handleClickPlusIcon : () => {}} >
@@ -203,10 +181,7 @@ const ItemsObjectParameter = ({ } }, [defaultValues]); - const handleInputChange = ( - e: React.ChangeEvent, - index: number - ) => { + const handleInputChange = (e: React.ChangeEvent, index: number) => { e.preventDefault(); const updatedParam = params[index]; updatedParam.value = e.target.value; @@ -218,12 +193,7 @@ const ItemsObjectParameter = ({ function checkIfFieldIsRequired(parameter: IParameter) { const isAnyFieldFilled = params.some((param) => param.value !== ''); if (isAnyFieldFilled) { - return ( - !parameter.value && - !params - .filter((param) => !param.optional) - .every((param) => param.value !== '') - ); + return !parameter.value && !params.filter((param) => !param.optional).every((param) => param.value !== ''); } return false; } @@ -246,9 +216,7 @@ const ItemsObjectParameter = ({ onChange={(e) => handleInputChange(e, index)} type={param.type === 'number' ? 'number' : 'text'} /> - {checkIfFieldIsRequired(param) && ( - * - )} + {checkIfFieldIsRequired(param) && *}
); })} diff --git a/frontend/src/components/Agent/FormRenderer/ObjectParameter.tsx b/frontend/src/components/Agent/FormRenderer/ObjectParameter.tsx index 55c0bbd6..25087de7 100644 --- a/frontend/src/components/Agent/FormRenderer/ObjectParameter.tsx +++ b/frontend/src/components/Agent/FormRenderer/ObjectParameter.tsx @@ -8,13 +8,7 @@ import { Input } from '@app/components/atoms/Input'; import { errorAtom, selectedFunctionAtom } from '@app/store/atoms/formRenderer'; import { checkIfToFillAnyOneField } from '@app/utils/formRenderer'; -const ObjectParameter = ({ - paramIndex, - parameter -}: { - paramIndex: number; - parameter: IParameter; -}) => { +const ObjectParameter = ({ paramIndex, parameter }: { paramIndex: number; parameter: IParameter }) => { const [selectedFunction, setSelectedFunction] = useAtom(selectedFunctionAtom); const [errorIndex] = useAtom(errorAtom); @@ -39,8 +33,7 @@ const ObjectParameter = ({ }, [errorIndex]); useEffect(() => { - const updatedParams = - parameter.parameters?.map((param) => ({ ...param, value: '' })) || []; + const updatedParams = parameter.parameters?.map((param) => ({ ...param, value: '' })) || []; setParams([...updatedParams]); }, []); @@ -63,11 +56,7 @@ const ObjectParameter = ({ useEffect(() => { if (debouncedVal && selectedFunction && selectedFunction.parameters?.length) { const param = selectedFunction.parameters[paramIndex]; - if ( - param?.options && - param.parameters?.length && - param.parameters[0]?.parameters - ) { + if (param?.options && param.parameters?.length && param.parameters[0]?.parameters) { param.parameters[0].parameters = debouncedVal; } else { if (param) { @@ -86,25 +75,18 @@ const ObjectParameter = ({
{param.name} - {!param.optional && ( - * - )} + {!param.optional && *}
- handleOnChange(e.target.value, index) - } + onChange={(e) => handleOnChange(e.target.value, index)} type={param.type === 'number' ? 'number' : 'text'} />
- {(param.errorMsg || - (!param.optional && errorMsg && !param.value)) && ( - - {errorMsg} - + {(param.errorMsg || (!param.optional && errorMsg && !param.value)) && ( + {errorMsg} )}
); diff --git a/frontend/src/components/Agent/FormRenderer/OptionParameter.tsx b/frontend/src/components/Agent/FormRenderer/OptionParameter.tsx index 88591b5b..beacc01e 100644 --- a/frontend/src/components/Agent/FormRenderer/OptionParameter.tsx +++ b/frontend/src/components/Agent/FormRenderer/OptionParameter.tsx @@ -9,13 +9,7 @@ import ObjectParameter from '@app/components/Agent/FormRenderer/ObjectParameter' import { CustomCombobox } from '@app/components/molecules/CustomCombobox'; import { selectedFunctionAtom } from '@app/store/atoms/formRenderer'; -const OptionsParameter = ({ - parameter, - paramIndex -}: { - parameter: IParameter; - paramIndex: number; -}) => { +const OptionsParameter = ({ parameter, paramIndex }: { parameter: IParameter; paramIndex: number }) => { const [selectedFunction, setSelectedFunction] = useAtom(selectedFunctionAtom); function renderParamsComponent(parameter: IParameter) { @@ -26,9 +20,7 @@ const OptionsParameter = ({ case 'url': return ; case 'object': - return ( - - ); + return ; case 'list': return ; } @@ -55,13 +47,9 @@ const OptionsParameter = ({ : { id: '', label: '' } } onSelect={(optionName: string) => { - const option = parameter.options!.find( - (item) => item.name === optionName - ); + const option = parameter.options!.find((item) => item.name === optionName); if (option && selectedFunction && selectedFunction.parameters) { - selectedFunction.parameters[paramIndex].parameters = [ - option - ]; + selectedFunction.parameters[paramIndex].parameters = [option]; setSelectedFunction({ ...selectedFunction }); } option && setSelectedOption(option); @@ -72,9 +60,7 @@ const OptionsParameter = ({ renderParamsComponent(selectedOption as IParameter) ) : (
- {selectedOption - ? `Selected ${selectedOption.name}` - : 'No Options Selected Yet'} + {selectedOption ? `Selected ${selectedOption.name}` : 'No Options Selected Yet'}
)}
diff --git a/frontend/src/components/Agent/RunnerTutorial.tsx b/frontend/src/components/Agent/RunnerTutorial.tsx index 02c064d9..dd39d896 100644 --- a/frontend/src/components/Agent/RunnerTutorial.tsx +++ b/frontend/src/components/Agent/RunnerTutorial.tsx @@ -6,22 +6,14 @@ import { SuccessToast } from '@app/components/molecules/CustomToasts'; import environments from '@app/configs/environments'; import { convertToBase64 } from '@app/utils/base64converter'; -const AgentRunnerTutorial = ({ - agentSecretKey, - showToken -}: { - agentSecretKey: string; - showToken?: boolean; -}) => { +const AgentRunnerTutorial = ({ agentSecretKey, showToken }: { agentSecretKey: string; showToken?: boolean }) => { const dockerCommand = `docker run -d --pull always -e TOKEN=${convertToBase64(agentSecretKey)} cardanoapi/autonomous-agents:${environments.NEXT_PUBLIC_IMAGE_TAG}`; return (
Run this agent by following tutorial:
- - Using Docker: - + Using Docker:
{ @@ -46,8 +38,7 @@ const AgentRunnerTutorial = ({ Note:{' '} - If you dont have docker installed then you can install it from - here{' '} + If you dont have docker installed then you can install it from here{' '} {showToken && ( -
+
Token :
{ - navigator.clipboard.writeText( - convertToBase64(agentSecretKey) - ); + navigator.clipboard.writeText(convertToBase64(agentSecretKey)); SuccessToast('Token Copied!'); }} className={'cursor-pointer text-xs'} diff --git a/frontend/src/components/Agent/shared/AgentAvatar.tsx b/frontend/src/components/Agent/shared/AgentAvatar.tsx index daf6fe25..447261c9 100644 --- a/frontend/src/components/Agent/shared/AgentAvatar.tsx +++ b/frontend/src/components/Agent/shared/AgentAvatar.tsx @@ -23,18 +23,8 @@ const AgentAvatar = ({ const src = generateIdentIcon(hash, size); return isLink ? ( -
- Identicon +
+ Identicon {activeStatus && (
) : (
- Identicon + Identicon {activeStatus && (
- - {func.name} - - - {func?.description || 'No Description'} - + {func.name} + {func?.description || 'No Description'}
); }; diff --git a/frontend/src/components/Agent/shared/AgentRunner.tsx b/frontend/src/components/Agent/shared/AgentRunner.tsx index 4cc31cee..e49e0040 100644 --- a/frontend/src/components/Agent/shared/AgentRunner.tsx +++ b/frontend/src/components/Agent/shared/AgentRunner.tsx @@ -10,9 +10,7 @@ const AgentRunnerComponent = ({ agent }: { agent?: IAgent }) => { Manual Trigger
- {agent && agent.secret_key && ( - - )} + {agent && agent.secret_key && }
); }; diff --git a/frontend/src/components/Agent/shared/CustomCopyBox.tsx b/frontend/src/components/Agent/shared/CustomCopyBox.tsx index 36dec3ee..c0b8ad5c 100644 --- a/frontend/src/components/Agent/shared/CustomCopyBox.tsx +++ b/frontend/src/components/Agent/shared/CustomCopyBox.tsx @@ -24,9 +24,7 @@ const CustomCopyBox = ({ }; return ( -
+
{title}
{content === '' ? ( @@ -35,9 +33,7 @@ const CustomCopyBox = ({ {}} > @@ -46,11 +42,7 @@ const CustomCopyBox = ({ )} {showCopyIcon && content !== '' && (
- +
)}
diff --git a/frontend/src/components/Agent/shared/FunctionCardWithMeta.tsx b/frontend/src/components/Agent/shared/FunctionCardWithMeta.tsx index d9fb1fb8..690acb4c 100644 --- a/frontend/src/components/Agent/shared/FunctionCardWithMeta.tsx +++ b/frontend/src/components/Agent/shared/FunctionCardWithMeta.tsx @@ -25,9 +25,7 @@ const FunctionCardWithMeta = ({ return TemplateFunctions.find((f) => f.id === functionName); }; const renderConfigMeta = (config: IAgentConfiguration | ITemplateConfiguration) => { - const functionMetaData = getFunctionMetaData( - config.action?.function_name || '' - ); + const functionMetaData = getFunctionMetaData(config.action?.function_name || ''); return ( <> @@ -37,9 +35,7 @@ const FunctionCardWithMeta = ({ {config.type} - - {functionMetaData?.description || 'No description'} - + {functionMetaData?.description || 'No description'} ); }; @@ -82,9 +78,7 @@ const FunctionCardWithMeta = ({ /> diff --git a/frontend/src/components/Agent/shared/GroupParameters.tsx b/frontend/src/components/Agent/shared/GroupParameters.tsx index 6d52ed2f..c8aaea86 100644 --- a/frontend/src/components/Agent/shared/GroupParameters.tsx +++ b/frontend/src/components/Agent/shared/GroupParameters.tsx @@ -17,25 +17,16 @@ const GroupParams = ({ function checkForErrMsg(index: number) { if (parameter.optional) { - return ( - checkIfParameterIsRequired(index) && !parameter.parameters![index].value - ); + return checkIfParameterIsRequired(index) && !parameter.parameters![index].value; } - return ( - checkIfParameterIsRequired(index) && - !parameter.parameters![index].value && - isError - ); + return checkIfParameterIsRequired(index) && !parameter.parameters![index].value && isError; } function checkIfParameterIsRequired(index: number) { if (parameter.optional) { const isAnyFieldFilled = parameter.parameters?.some( - (param) => - param.value !== '' && - param.value !== undefined && - param.value !== null + (param) => param.value !== '' && param.value !== undefined && param.value !== null ) || false; return isAnyFieldFilled ? !parameter.parameters![index].optional : false; } else { @@ -43,10 +34,7 @@ const GroupParams = ({ } } - const handleInputChange = ( - e: React.ChangeEvent, - index: number - ) => { + const handleInputChange = (e: React.ChangeEvent, index: number) => { const updatedParam = { ...parameter }; updatedParam.parameters![index] = { ...parameter.parameters![index], @@ -58,26 +46,14 @@ const GroupParams = ({ return (
- {parameter.description}{' '} - {parameter.optional ? ( - <> - ) : ( - * - )} + {parameter.description} {parameter.optional ? <> : *}
{parameter.parameters?.length && parameter.parameters?.map((param, index) => { return ( -
-
+
+
{param.description}{' '} {checkIfParameterIsRequired(index) ? ( * @@ -90,9 +66,7 @@ const GroupParams = ({ onChange={(e) => handleInputChange(e, index)} /> {checkForErrMsg(index) && ( - - This field is required. - + This field is required. )}
); diff --git a/frontend/src/components/Agent/shared/TriggerChart.tsx b/frontend/src/components/Agent/shared/TriggerChart.tsx index ef0bfc53..f6bfcd9e 100644 --- a/frontend/src/components/Agent/shared/TriggerChart.tsx +++ b/frontend/src/components/Agent/shared/TriggerChart.tsx @@ -19,26 +19,12 @@ import { convertDictToGraphDataFormat } from '../../Chart/ChartFilter'; import AgentFunctionsDropDown from '../../Common/AgentFunctionsDropDown'; import { cn } from '../../lib/utils'; -const AgentHistoryChart = ({ - agent, - chartClassName -}: { - agent?: IAgent; - chartClassName?: string; -}) => { - const [currentChartFilterOption, setCurrentChartFilterOption] = useState( - chartFilterOptions[2] - ); - const [chartDataSource, setChartDataSource] = useState< - { count: number; values: Record }[] - >([]); +const AgentHistoryChart = ({ agent, chartClassName }: { agent?: IAgent; chartClassName?: string }) => { + const [currentChartFilterOption, setCurrentChartFilterOption] = useState(chartFilterOptions[2]); + const [chartDataSource, setChartDataSource] = useState<{ count: number; values: Record }[]>([]); const { data: triggerHistoryMetric, refetch: refecthTriggerHistory } = useQuery({ queryKey: [`${agent?.id}TriggerHistoryMetric`], - queryFn: () => - fecthTriggerHistoryMetric( - currentFunction === 'None' ? [] : [currentFunction], - agent?.id - ) + queryFn: () => fecthTriggerHistoryMetric(currentFunction === 'None' ? [] : [currentFunction], agent?.id) }); const [currentFunction, setCurrentFunction] = useState('None'); @@ -47,19 +33,13 @@ const AgentHistoryChart = ({ if (triggerHistoryMetric !== undefined) { switch (currentChartFilterOption.placeholder) { case 'Last Hour': - setChartDataSource( - triggerHistoryMetric.last_hour_successful_triggers - ); + setChartDataSource(triggerHistoryMetric.last_hour_successful_triggers); break; case 'Last 24 Hours': - setChartDataSource( - triggerHistoryMetric.last_24hour_successful_triggers - ); + setChartDataSource(triggerHistoryMetric.last_24hour_successful_triggers); break; case 'Last 7 Days': - setChartDataSource( - triggerHistoryMetric.last_week_successful_triggers - ); + setChartDataSource(triggerHistoryMetric.last_week_successful_triggers); break; } } @@ -83,34 +63,27 @@ const AgentHistoryChart = ({ onChange={(stringValue: string) => { setCurrentFunction(stringValue); }} - value={ - currentFunction === 'None' ? 'Function' : currentFunction - } + value={currentFunction === 'None' ? 'Function' : currentFunction} /> - + {currentChartFilterOption.placeholder} - {chartFilterOptions.map( - (item: IChartFilterOption, index) => ( - { - setCurrentChartFilterOption({ - placeholder: item.placeholder, - unit: item.unit, - xaxisInterval: item.xaxisInterval - }); - }} - key={index} - > - {item.placeholder} - - ) - )} + {chartFilterOptions.map((item: IChartFilterOption, index) => ( + { + setCurrentChartFilterOption({ + placeholder: item.placeholder, + unit: item.unit, + xaxisInterval: item.xaxisInterval + }); + }} + key={index} + > + {item.placeholder} + + ))}
@@ -119,10 +92,7 @@ const AgentHistoryChart = ({ (null); + const [currentSelectedWalletProvider, setCurrentSelectedWalletProvider] = useState(null); const [connectingWallet, setConnectingWallet] = useState(false); async function enableWallet(wallet: CIP30Provider, disabletoast: boolean = false) { @@ -111,21 +110,12 @@ export default function WalletSignInDialog({ defaultCross={false} >
- +
- + {' '} - Select your{' '} - CIP-30 wallet - provider + Select your CIP-30 wallet provider
@@ -136,16 +126,10 @@ export default function WalletSignInDialog({ wallet={wallet} onClick={(wallet: CIP30Provider) => currentSelectedWalletProvider === wallet - ? setCurrentSelectedWalletProvider( - null - ) - : setCurrentSelectedWalletProvider( - wallet - ) - } - selected={ - currentSelectedWalletProvider === wallet + ? setCurrentSelectedWalletProvider(null) + : setCurrentSelectedWalletProvider(wallet) } + selected={currentSelectedWalletProvider === wallet} disabled={connectingWallet} />
@@ -221,11 +205,7 @@ function WalletProviderListEmptyMessage() { No Wallets found ! Click here to see a list of{' '} - + CIP-30 Supported Wallets.{' '} diff --git a/frontend/src/components/Chart/ChartFilter.tsx b/frontend/src/components/Chart/ChartFilter.tsx index 65b27599..ef7f14f5 100644 --- a/frontend/src/components/Chart/ChartFilter.tsx +++ b/frontend/src/components/Chart/ChartFilter.tsx @@ -41,36 +41,23 @@ export function convertDictToGraphDataFormat( switch (chartUnit) { case 'Mins': - timeStampCalculator = (val: number) => - new Date(Date.now() - val * 60000).toTimeString(); + timeStampCalculator = (val: number) => new Date(Date.now() - val * 60000).toTimeString(); xAxisTickGenerator = (val: number) => { const date = new Date(Date.now() - val * 60000); - return ( - appendZeroIfRequired(date.getHours()) + - ':' + - appendZeroIfRequired(date.getMinutes()) - ); + return appendZeroIfRequired(date.getHours()) + ':' + appendZeroIfRequired(date.getMinutes()); }; break; case 'Hours': - timeStampCalculator = (val: number) => - new Date(Date.now() - val * 3600000).toTimeString(); + timeStampCalculator = (val: number) => new Date(Date.now() - val * 3600000).toTimeString(); xAxisTickGenerator = (val: number) => { const date = new Date(Date.now() - val * 3600000); - return ( - appendZeroIfRequired(date.getHours()) + - ':' + - appendZeroIfRequired(date.getMinutes()) - ); + return appendZeroIfRequired(date.getHours()) + ':' + appendZeroIfRequired(date.getMinutes()); }; break; case 'Days': - timeStampCalculator = (val: number) => - new Date(Date.now() - val * 86400000).toDateString(); + timeStampCalculator = (val: number) => new Date(Date.now() - val * 86400000).toDateString(); xAxisTickGenerator = (val: number) => { - const dateParts = new Date(Date.now() - val * 86400000) - .toDateString() - .split(' '); + const dateParts = new Date(Date.now() - val * 86400000).toDateString().split(' '); return dateParts.slice(1, 3).join(' '); }; break; diff --git a/frontend/src/components/Chart/CustomLineChart.tsx b/frontend/src/components/Chart/CustomLineChart.tsx index d9dea43d..63686447 100644 --- a/frontend/src/components/Chart/CustomLineChart.tsx +++ b/frontend/src/components/Chart/CustomLineChart.tsx @@ -1,14 +1,6 @@ 'use client'; -import { - Area, - AreaChart, - CartesianGrid, - ResponsiveContainer, - Tooltip, - XAxis, - YAxis -} from 'recharts'; +import { Area, AreaChart, CartesianGrid, ResponsiveContainer, Tooltip, XAxis, YAxis } from 'recharts'; import { useMediaQuery } from 'usehooks-ts'; import { v4 as uuidv4 } from 'uuid'; @@ -74,37 +66,15 @@ export default function CustomLineChart({ return ( - + - - - + + + {renderLines && ( - + )} {renderYaxis && ( - } + content={} cursor={{ strokeDasharray: 5, stroke: '#1C63E7' }} position={{ y: positionYToolTip, x: positionXToolTip }} /> @@ -146,11 +114,7 @@ export default function CustomLineChart({ dx={-25} fill="#2196F3" stroke="#A2A3A5" - interval={ - isMobile - ? getInterval(chartData?.length || 1) - : xaxisInterval - } + interval={isMobile ? getInterval(chartData?.length || 1) : xaxisInterval} reversed={true} className={'text-[10px] xl:text-lg'} > diff --git a/frontend/src/components/Chart/CustomTooltip.tsx b/frontend/src/components/Chart/CustomTooltip.tsx index 706dc8e6..71563674 100644 --- a/frontend/src/components/Chart/CustomTooltip.tsx +++ b/frontend/src/components/Chart/CustomTooltip.tsx @@ -8,29 +8,18 @@ interface CustomTooltipProps extends TooltipProps { showOnlyTransaction?: boolean; } -const CustomTooltip = ({ - active, - payload, - className, - showOnlyTransaction = false -}: CustomTooltipProps) => { +const CustomTooltip = ({ active, payload, className, showOnlyTransaction = false }: CustomTooltipProps) => { if (active) { if (showOnlyTransaction) { return ( - +
{payload?.[0]?.payload?.amt || '0'} - - Transactions - + Transactions
- - {payload?.[0]?.payload?.name} - + {payload?.[0]?.payload?.name}
); } @@ -39,13 +28,10 @@ const CustomTooltip = ({ className={`min-w-32 items-center rounded-xl pb-4 pt-4 text-center shadow-[0_3px_10px_rgb(0,0,0,0.2)] ${className}`} >
- {payload?.[0]?.payload?.amt || '0'}{' '} - Transactions + {payload?.[0]?.payload?.amt || '0'} Transactions
{payload?.[0]?.payload?.name}
- {payload?.[0]?.payload?.toolTipFooter && ( -
{payload[0].payload.toolTipFooter}
- )} + {payload?.[0]?.payload?.toolTipFooter &&
{payload[0].payload.toolTipFooter}
}
); } diff --git a/frontend/src/components/Chart/DashboardChart.tsx b/frontend/src/components/Chart/DashboardChart.tsx index 8eb91e02..ae08838d 100644 --- a/frontend/src/components/Chart/DashboardChart.tsx +++ b/frontend/src/components/Chart/DashboardChart.tsx @@ -39,10 +39,7 @@ export default function DashboardChart({ className }: { className?: string }) { { placeholder: 'Last Hour', timeUnit: 'Mins', - chartData: convertDictToGraphDataFormat( - triggerHistoryMetric?.last_hour_successful_triggers || [], - 'Mins' - ), + chartData: convertDictToGraphDataFormat(triggerHistoryMetric?.last_hour_successful_triggers || [], 'Mins'), xAxisInterval: 5 }, { @@ -57,10 +54,7 @@ export default function DashboardChart({ className }: { className?: string }) { { placeholder: 'Last 7 Days', timeUnit: 'Days', - chartData: convertDictToGraphDataFormat( - triggerHistoryMetric?.last_week_successful_triggers || [], - 'Days' - ), + chartData: convertDictToGraphDataFormat(triggerHistoryMetric?.last_week_successful_triggers || [], 'Days'), xAxisInterval: 0 } ]; @@ -84,18 +78,11 @@ export default function DashboardChart({ className }: { className?: string }) { {dataSources[currentChartFilterOption].placeholder} - {chartFilterOptions.map( - (item: IChartFilterOption, index) => ( - - setCurrentChartFilterOption(index) - } - > - {item.placeholder} - - ) - )} + {chartFilterOptions.map((item: IChartFilterOption, index) => ( + setCurrentChartFilterOption(index)}> + {item.placeholder} + + ))} )} @@ -106,12 +93,8 @@ export default function DashboardChart({ className }: { className?: string }) { ) : ( <> )} diff --git a/frontend/src/components/Chart/DynamicLineChart.tsx b/frontend/src/components/Chart/DynamicLineChart.tsx index a3a3bd92..9a5d4af1 100644 --- a/frontend/src/components/Chart/DynamicLineChart.tsx +++ b/frontend/src/components/Chart/DynamicLineChart.tsx @@ -77,9 +77,7 @@ function Chart() { const timeoutRef = useRef(null); function validate() { - setArr((prevState) => - [...prevState, { X: Math.random() >= 0.5 ? 5 : 0 }].slice(1) - ); + setArr((prevState) => [...prevState, { X: Math.random() >= 0.5 ? 5 : 0 }].slice(1)); } useEffect(() => { @@ -98,12 +96,7 @@ function Chart() { return (

{time}

- + diff --git a/frontend/src/components/Common/AgentFunctionsDropDown.tsx b/frontend/src/components/Common/AgentFunctionsDropDown.tsx index 2a3bd14e..8e3b5dce 100644 --- a/frontend/src/components/Common/AgentFunctionsDropDown.tsx +++ b/frontend/src/components/Common/AgentFunctionsDropDown.tsx @@ -5,12 +5,7 @@ import { useQuery } from '@tanstack/react-query'; import { cn } from '@app/components/lib/utils'; -import { - DropdownMenu, - DropdownMenuContent, - DropdownMenuItem, - DropdownMenuTrigger -} from '../atoms/DropDownMenu'; +import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from '../atoms/DropDownMenu'; export default function AgentFunctionsDropDown({ onChange, @@ -30,10 +25,7 @@ export default function AgentFunctionsDropDown({ return ( - + {value || currentFunction} diff --git a/frontend/src/components/Modals/ModalViews/AgentManualTriggerModalView.tsx b/frontend/src/components/Modals/ModalViews/AgentManualTriggerModalView.tsx index 81488b27..85efdd1a 100644 --- a/frontend/src/components/Modals/ModalViews/AgentManualTriggerModalView.tsx +++ b/frontend/src/components/Modals/ModalViews/AgentManualTriggerModalView.tsx @@ -16,13 +16,7 @@ import { queryClient } from '@app/utils/providers/ReactQueryProvider'; import { useModal } from '../context'; -const AgentManualTriggerModalView = ({ - agentId, - agentFunction -}: { - agentId: string; - agentFunction: IFunction; -}) => { +const AgentManualTriggerModalView = ({ agentId, agentFunction }: { agentId: string; agentFunction: IFunction }) => { const { closeModal } = useModal(); const [agents] = useAtom(agentsAtom); @@ -102,9 +96,7 @@ const AgentManualTriggerModalView = ({ updatedParams[index] = { ...updatedParams[index], value }; } setParams(updatedParams); - const newErrorIndex = errorParamIndex.filter( - (errIndex: number) => errIndex != index - ); + const newErrorIndex = errorParamIndex.filter((errIndex: number) => errIndex != index); setErrorParamIndex(newErrorIndex); }; @@ -114,64 +106,40 @@ const AgentManualTriggerModalView = ({
{agentFunction.name} Function - - {agentFunction.description} - + {agentFunction.description}
- {Array.isArray(agentFunction.parameters) && - agentFunction.parameters.length ? ( - agentFunction.parameters.map( - (param: IParameter, index: number) => { - return param.data_type !== 'group' ? ( -
- - {param.description}{' '} - {param.optional ? ( - <> - ) : ( - - * - - )} - - - handleInputChange(e.target.value, index) - } - /> - {errorParamIndex.length && - errorParamIndex.includes(index) ? ( - - This field is required. - - ) : ( + {Array.isArray(agentFunction.parameters) && agentFunction.parameters.length ? ( + agentFunction.parameters.map((param: IParameter, index: number) => { + return param.data_type !== 'group' ? ( +
+ + {param.description}{' '} + {param.optional ? ( <> + ) : ( + * )} -
- ) : ( - { - handleInputChange( - groupParamVal, - groupParamIndex, - true, - index - ); - }} + + handleInputChange(e.target.value, index)} /> - ); - } - ) + {errorParamIndex.length && errorParamIndex.includes(index) ? ( + This field is required. + ) : ( + <> + )} +
+ ) : ( + { + handleInputChange(groupParamVal, groupParamIndex, true, index); + }} + /> + ); + }) ) : ( <> )} diff --git a/frontend/src/components/Template/Content/EditBtns.tsx b/frontend/src/components/Template/Content/EditBtns.tsx index 807179c3..8af18eb2 100644 --- a/frontend/src/components/Template/Content/EditBtns.tsx +++ b/frontend/src/components/Template/Content/EditBtns.tsx @@ -18,22 +18,12 @@ const EditBtns = ({ - ) : ( - )} diff --git a/frontend/src/components/Template/Content/TemplateOverview.tsx b/frontend/src/components/Template/Content/TemplateOverview.tsx index 10ab71b4..6c43423b 100644 --- a/frontend/src/components/Template/Content/TemplateOverview.tsx +++ b/frontend/src/components/Template/Content/TemplateOverview.tsx @@ -21,20 +21,10 @@ import { ErrorToast } from '@app/components/molecules/CustomToasts'; import { SuccessToast } from '@app/components/molecules/CustomToasts'; import { queryClient } from '@app/utils/providers/ReactQueryProvider'; -import { - AddFunctionDialog, - DeleteFunctionDialog, - UpdateFunctionDialog -} from './Dialogs'; +import { AddFunctionDialog, DeleteFunctionDialog, UpdateFunctionDialog } from './Dialogs'; import EditBtns from './EditBtns'; -const TemplateOverview = ({ - template, - enableEdit -}: { - template: ITemplate; - enableEdit?: boolean; -}) => { +const TemplateOverview = ({ template, enableEdit }: { template: ITemplate; enableEdit?: boolean }) => { const [isEditing, setIsEditing] = useState(false); const [dialogOpen, setDialogOpen] = useState(false); const [addFunctionDialogOpen, setAddFunctionDialogOpen] = useState(false); @@ -57,8 +47,7 @@ const TemplateOverview = ({ } }); - const [currentFunction, setCurrentFunctionItem] = - useState(null); + const [currentFunction, setCurrentFunctionItem] = useState(null); const toggleEdit = () => { setIsEditing(!isEditing); @@ -87,16 +76,12 @@ const TemplateOverview = ({ }; const handleFunctionUpdate = (functionItem: IFormFunctionInstance) => { - const convertedFunction = mapFormFunctionToTemplateConfiguration( - functionItem, - template.id - ); + const convertedFunction = mapFormFunctionToTemplateConfiguration(functionItem, template.id); if (templateDataCopy.template_configurations) { - const newConfigurations: ITemplateConfiguration[] = - templateDataCopy.template_configurations.map((config) => - config.id === functionItem.id ? convertedFunction : config - ); + const newConfigurations: ITemplateConfiguration[] = templateDataCopy.template_configurations.map( + (config) => (config.id === functionItem.id ? convertedFunction : config) + ); setTemplateDataCopy({ ...templateDataCopy, @@ -108,10 +93,9 @@ const TemplateOverview = ({ const handleFunctionDelete = (index: number) => { if (templateDataCopy.template_configurations) { - const newConfigurations: ITemplateConfiguration[] = - templateDataCopy.template_configurations.filter( - (config, i) => i !== index - ); + const newConfigurations: ITemplateConfiguration[] = templateDataCopy.template_configurations.filter( + (config, i) => i !== index + ); setTemplateDataCopy({ ...templateDataCopy, template_configurations: newConfigurations @@ -123,15 +107,9 @@ const TemplateOverview = ({ const validateData = () => { if (!templateDataCopy.name || templateDataCopy.name.length === 0) { ErrorToast('Template Name is required'); - } else if ( - !templateDataCopy.template_configurations || - templateDataCopy.template_configurations.length === 0 - ) { + } else if (!templateDataCopy.template_configurations || templateDataCopy.template_configurations.length === 0) { ErrorToast('At least one function is required'); - } else if ( - !templateDataCopy.description || - templateDataCopy.description.length === 0 - ) { + } else if (!templateDataCopy.description || templateDataCopy.description.length === 0) { ErrorToast('Template description is required'); } else { return true; @@ -146,10 +124,7 @@ const TemplateOverview = ({ }; setTemplateDataCopy({ ...templateDataCopy, - template_configurations: [ - ...(templateDataCopy.template_configurations || []), - convertedConfiguration - ] + template_configurations: [...(templateDataCopy.template_configurations || []), convertedConfiguration] }); toggleAddFunctionDialog(); }; diff --git a/frontend/src/components/atoms/Badge.tsx b/frontend/src/components/atoms/Badge.tsx index a11d3b6c..463336bf 100644 --- a/frontend/src/components/atoms/Badge.tsx +++ b/frontend/src/components/atoms/Badge.tsx @@ -9,21 +9,13 @@ const badgeVariants = cva( { variants: { variant: { - default: - 'border-transparent bg-gray-500 text-white hover:bg-gray-500/80', - primary: - 'border-brand-border-200 border-[2px] text-xs font-medium text-gray-500', - secondary: - 'border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80', - destructive: - 'border-transparent bg-red-500 text-white hover:bg-red-500/80', + default: 'border-transparent bg-gray-500 text-white hover:bg-gray-500/80', + primary: 'border-brand-border-200 border-[2px] text-xs font-medium text-gray-500', + secondary: 'border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80', + destructive: 'border-transparent bg-red-500 text-white hover:bg-red-500/80', outline: 'text-foreground', - success: - '' + - 'border-transparent bg-green-500 text-white hover:bg-green-500/80', - successPrimary: - '' + - 'border-transaprent bg-brand-Blue-200 text-white hover:bg-brand-Blue-100/80' + success: '' + 'border-transparent bg-green-500 text-white hover:bg-green-500/80', + successPrimary: '' + 'border-transaprent bg-brand-Blue-200 text-white hover:bg-brand-Blue-100/80' } }, defaultVariants: { @@ -32,9 +24,7 @@ const badgeVariants = cva( } ); -export interface BadgeProps - extends React.HTMLAttributes, - VariantProps {} +export interface BadgeProps extends React.HTMLAttributes, VariantProps {} function Badge({ className, variant, ...props }: BadgeProps) { return
; diff --git a/frontend/src/components/atoms/Breadcrumb.tsx b/frontend/src/components/atoms/Breadcrumb.tsx index aef34dfa..dc0747a4 100644 --- a/frontend/src/components/atoms/Breadcrumb.tsx +++ b/frontend/src/components/atoms/Breadcrumb.tsx @@ -13,34 +13,22 @@ const Breadcrumb = React.forwardRef< >(({ ...props }, ref) =>