From cad8656565ae8b6701706f31927eb7eebbe0f717 Mon Sep 17 00:00:00 2001 From: nadjajovancevic Date: Wed, 5 Aug 2026 11:51:47 +0200 Subject: [PATCH 01/59] Check if lectures have been fetched Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- .../labextension/src/app/pages/instructor-view/dashboard.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/labextension/src/app/pages/instructor-view/dashboard.tsx b/packages/labextension/src/app/pages/instructor-view/dashboard.tsx index 186726c4..d50291fe 100644 --- a/packages/labextension/src/app/pages/instructor-view/dashboard.tsx +++ b/packages/labextension/src/app/pages/instructor-view/dashboard.tsx @@ -194,7 +194,7 @@ export const Dashboard = () => {

)} - {lectures.length > 0 ? ( + {(lectures?.length ?? 0) > 0 ? ( filteredLectures.length === 0 ? ( Date: Wed, 5 Aug 2026 12:07:45 +0200 Subject: [PATCH 02/59] fix: always pass an empty string for className prop --- .../assignments/assignment-card.tsx | 12 ++++++------ .../src/app/components/ui/badges.tsx | 16 ++++++++++------ 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/packages/labextension/src/app/components/grader-service/assignments/assignment-card.tsx b/packages/labextension/src/app/components/grader-service/assignments/assignment-card.tsx index b9998e71..8a1e1ea9 100644 --- a/packages/labextension/src/app/components/grader-service/assignments/assignment-card.tsx +++ b/packages/labextension/src/app/components/grader-service/assignments/assignment-card.tsx @@ -55,19 +55,19 @@ export const AssignmentCard = (props: IAssignment) => { if (gradingType === AutogradeTypeEnum.FullAuto) { return ( ); } else if (gradingType === AutogradeTypeEnum.Auto) { return ( ); } else { return ( ); } @@ -103,13 +103,13 @@ export const AssignmentCard = (props: IAssignment) => { > {
diff --git a/packages/labextension/src/app/components/ui/badges.tsx b/packages/labextension/src/app/components/ui/badges.tsx index a7a16724..2805cb19 100644 --- a/packages/labextension/src/app/components/ui/badges.tsx +++ b/packages/labextension/src/app/components/ui/badges.tsx @@ -4,7 +4,7 @@ import React from 'react'; const commonStyle = 'text-foreground'; export const FullyAutomaticGradingBadge = ({ - className + className = '' }: { className?: string; }) => { @@ -18,7 +18,7 @@ export const FullyAutomaticGradingBadge = ({ }; export const AutomaticGradingBadge = ({ - className + className = '' }: { className?: string; }) => { @@ -31,7 +31,11 @@ export const AutomaticGradingBadge = ({ ); }; -export const ManualGradingBadge = ({ className }: { className?: string }) => { +export const ManualGradingBadge = ({ + className = '' +}: { + className?: string; +}) => { return ( { }; export const CreatedAssignmentBadge = ({ - className + className = '' }: { className?: string; }) => { @@ -56,7 +60,7 @@ export const CreatedAssignmentBadge = ({ }; export const ReleasedAssignmentBadge = ({ - className + className = '' }: { className?: string; }) => { @@ -70,7 +74,7 @@ export const ReleasedAssignmentBadge = ({ }; export const CompletedAssignmentBadge = ({ - className + className = '' }: { className?: string; }) => { From 631347aace1e0f6c64f326ade9c15a6c2141eb3a Mon Sep 17 00:00:00 2001 From: Nadja Jovancevic Date: Wed, 5 Aug 2026 12:08:20 +0200 Subject: [PATCH 03/59] fix: remove circular dependency --- .../src/app/components/ui/filter-button.tsx | 10 +++++++++- .../src/app/pages/instructor-view/lecture.tsx | 17 ++++++----------- 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/packages/labextension/src/app/components/ui/filter-button.tsx b/packages/labextension/src/app/components/ui/filter-button.tsx index 467d44d1..f473536d 100644 --- a/packages/labextension/src/app/components/ui/filter-button.tsx +++ b/packages/labextension/src/app/components/ui/filter-button.tsx @@ -10,7 +10,15 @@ import { DropdownMenuLabel, DropdownMenuTrigger } from '../../shadcn-components/ui/dropdown-menu'; -import { IFilterGroup } from '../../pages/instructor-view/lecture'; + +export interface IFilterOption { + value: V; + label: string; +} + +export interface IFilterGroup { + [category: string]: IFilterOption[]; +} interface IFilterLecturesButtonProps { className?: string; diff --git a/packages/labextension/src/app/pages/instructor-view/lecture.tsx b/packages/labextension/src/app/pages/instructor-view/lecture.tsx index 025b397c..dcb660f5 100644 --- a/packages/labextension/src/app/pages/instructor-view/lecture.tsx +++ b/packages/labextension/src/app/pages/instructor-view/lecture.tsx @@ -9,7 +9,11 @@ import { useParams } from 'react-router'; import { useQuery } from '@tanstack/react-query'; import { Button } from '../../shadcn-components/ui/button'; import { SearchField } from '../../components/ui/search'; -import { FilterAssignmentsButton } from '../../components/ui/filter-button'; +import { + FilterAssignmentsButton, + IFilterGroup, + IFilterOption +} from '../../components/ui/filter-button'; import { SortButton } from '../../components/ui/sort-button'; import { AssignmentDetail } from '../../../model/assignmentDetail'; import { AssignmentGroup } from '../../components/grader-service/assignments/assignment-group'; @@ -44,15 +48,6 @@ export interface IAssignmentChecked { checked: boolean; } -interface IFilterOption { - value: V; - label: string; -} - -export interface IFilterGroup { - [category: string]: IFilterOption[]; -} - interface IGroupsContextValue { groups: string[]; customGroups: string[]; @@ -150,7 +145,7 @@ export const Lecture = () => { const allFilters = useMemo(() => { if (isPendingAssignments) { - return; + return []; } // extract all groups from assignments const uniqueGroups = [ From 872a31e1ac07cc56448ee43ec491e24e9c6df614 Mon Sep 17 00:00:00 2001 From: Nadja Jovancevic Date: Wed, 5 Aug 2026 12:09:04 +0200 Subject: [PATCH 04/59] fix: add/change key prop --- .../src/app/components/grader-service/lectures/lecture-card.tsx | 2 +- .../labextension/src/app/pages/instructor-view/dashboard.tsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/labextension/src/app/components/grader-service/lectures/lecture-card.tsx b/packages/labextension/src/app/components/grader-service/lectures/lecture-card.tsx index 5e7ed035..bb61d05a 100644 --- a/packages/labextension/src/app/components/grader-service/lectures/lecture-card.tsx +++ b/packages/labextension/src/app/components/grader-service/lectures/lecture-card.tsx @@ -46,7 +46,7 @@ export const LectureCard = (props: ILectureCard) => { } return (
diff --git a/packages/labextension/src/app/pages/instructor-view/dashboard.tsx b/packages/labextension/src/app/pages/instructor-view/dashboard.tsx index d50291fe..dfa71a40 100644 --- a/packages/labextension/src/app/pages/instructor-view/dashboard.tsx +++ b/packages/labextension/src/app/pages/instructor-view/dashboard.tsx @@ -255,7 +255,7 @@ export const Dashboard = () => { {Array.from( { length: Math.ceil(lectures.length / 6) }, (_, i) => ( - {i + 1} + {i + 1} ) )} From 1a756357b6c73c912ec09379c70be971d08997d2 Mon Sep 17 00:00:00 2001 From: Nadja Jovancevic Date: Wed, 5 Aug 2026 12:09:48 +0200 Subject: [PATCH 05/59] fix: remove async/await keywords from mutation handlers --- .../assignment-create-edit-dialog.tsx | 10 ++++---- .../assignments/assignment-group.tsx | 2 +- .../assignments/release-dialog.tsx | 6 ++--- .../assignment/assignment-create-hook.tsx | 8 +++---- .../assignment/assignment-delete-hook.tsx | 7 ++---- .../assignment/assignment-status-hook.tsx | 23 ++++++++++--------- .../assignment/assignment-update-hook.tsx | 2 +- 7 files changed, 28 insertions(+), 30 deletions(-) diff --git a/packages/labextension/src/app/components/grader-service/assignments/assignment-create-edit-dialog.tsx b/packages/labextension/src/app/components/grader-service/assignments/assignment-create-edit-dialog.tsx index f284a27d..1c7d16fa 100644 --- a/packages/labextension/src/app/components/grader-service/assignments/assignment-create-edit-dialog.tsx +++ b/packages/labextension/src/app/components/grader-service/assignments/assignment-create-edit-dialog.tsx @@ -120,18 +120,18 @@ export const AssignmentCreateEditDialog = (props: IAssignmentSettingsForm) => { } }; - if (!createAnother) { - props.setOpenDialog(false); - } if (props.assignment) { - await handleUpdateAssignment( + handleUpdateAssignment( props.assignment, newAssignment, props.lectureId, recalcScoresConfirmed ); } else { - await handleCreateAssignment(newAssignment, props.lectureId); + handleCreateAssignment(newAssignment, props.lectureId); + } + if (!createAnother) { + props.setOpenDialog(false); } } }); diff --git a/packages/labextension/src/app/components/grader-service/assignments/assignment-group.tsx b/packages/labextension/src/app/components/grader-service/assignments/assignment-group.tsx index a6d8e86b..294a2783 100644 --- a/packages/labextension/src/app/components/grader-service/assignments/assignment-group.tsx +++ b/packages/labextension/src/app/components/grader-service/assignments/assignment-group.tsx @@ -74,7 +74,7 @@ export const AssignmentGroup = (props: IAssignmentGroup) => { } else { group = props.assignmentGroup; } - await handleUpdateAssignment( + handleUpdateAssignment( assignment, { ...assignment, settings: { ...assignment.settings, group: group } }, props.lectureId diff --git a/packages/labextension/src/app/components/grader-service/assignments/release-dialog.tsx b/packages/labextension/src/app/components/grader-service/assignments/release-dialog.tsx index 975c9cb8..ef2718c5 100644 --- a/packages/labextension/src/app/components/grader-service/assignments/release-dialog.tsx +++ b/packages/labextension/src/app/components/grader-service/assignments/release-dialog.tsx @@ -40,11 +40,11 @@ export const ReleaseDialog = (props: IReleaseDialog) => { defaultValues: { comment: 'Release' }, - onSubmit: async ({ value }) => { + onSubmit: ({ value }) => { if (Array.isArray(props.assignments)) { - await handleAssignmentsRelease(props.assignments, props.lectureId); + handleAssignmentsRelease(props.assignments, props.lectureId); } else { - await handleRelease(props.assignments, props.lectureId); + handleRelease(props.assignments, props.lectureId); } props.setOpenDialog(false); } diff --git a/packages/labextension/src/app/hooks/assignment/assignment-create-hook.tsx b/packages/labextension/src/app/hooks/assignment/assignment-create-hook.tsx index 614cfd06..1d5eb9fd 100644 --- a/packages/labextension/src/app/hooks/assignment/assignment-create-hook.tsx +++ b/packages/labextension/src/app/hooks/assignment/assignment-create-hook.tsx @@ -2,6 +2,7 @@ import { useMutation, useQueryClient } from '@tanstack/react-query'; import { Assignment } from '../../../model/assignment'; import { createAssignment } from '../../../services/assignments.service'; import { useMutationStatus } from '../../../widget'; +import { HTTPError } from '../../../services/request.service'; export function useAssignmentCreate() { const queryClient = useQueryClient(); @@ -23,15 +24,14 @@ export function useAssignmentCreate() { message: 'The assignment has been created successfully.' }); }, - onError: (error: any) => + onError: (error: HTTPError) => setStatus({ status: 'error', - message: - error.message || error.error.message || 'Error creating assignment.' + message: error?.message || 'Error creating assignment.' }) }); - const handleCreateAssignment = async ( + const handleCreateAssignment = ( assignment: Assignment, lectureId: number ) => { diff --git a/packages/labextension/src/app/hooks/assignment/assignment-delete-hook.tsx b/packages/labextension/src/app/hooks/assignment/assignment-delete-hook.tsx index 711ca21f..c901e7ee 100644 --- a/packages/labextension/src/app/hooks/assignment/assignment-delete-hook.tsx +++ b/packages/labextension/src/app/hooks/assignment/assignment-delete-hook.tsx @@ -25,14 +25,11 @@ export function useAssignmentDelete() { onError: (error: HTTPError) => setStatus({ status: 'error', - message: error.message || 'Error deleting assignment.' + message: error?.message || 'Error deleting assignment.' }) }); - const handleDeleteAssignment = async ( - assignmentId: number, - lectureId: number - ) => { + const handleDeleteAssignment = (assignmentId: number, lectureId: number) => { deleteAssignmentMutation.mutate({ assignmentId, lectureId }); }; return { handleDeleteAssignment }; diff --git a/packages/labextension/src/app/hooks/assignment/assignment-status-hook.tsx b/packages/labextension/src/app/hooks/assignment/assignment-status-hook.tsx index 92aebb11..d573ad77 100644 --- a/packages/labextension/src/app/hooks/assignment/assignment-status-hook.tsx +++ b/packages/labextension/src/app/hooks/assignment/assignment-status-hook.tsx @@ -3,6 +3,7 @@ import { Assignment } from '../../../model/assignment'; import { updateAssignment } from '../../../services/assignments.service'; import { IAssignmentChecked } from '../../pages/instructor-view/lecture'; import { useMutationStatus } from '../../../widget'; +import { HTTPError } from '../../../services/request.service'; export function useAssignmentStatus() { const queryClient = useQueryClient(); @@ -30,14 +31,14 @@ export function useAssignmentStatus() { message: variables.successMessage }); }, - onError: (error: any, variables) => + onError: (error: HTTPError, variables) => setStatus({ status: 'error', - message: error.message || error.error.message || variables.errorMessage + message: error?.message || variables.errorMessage }) }); - const updateAssignmentStatus = async ( + const updateAssignmentStatus = ( status: 'created' | 'released' | 'complete', assignment: Assignment, lectureId: number, @@ -53,8 +54,8 @@ export function useAssignmentStatus() { }); }; - const handleRelease = async (assignment: Assignment, lectureId: number) => { - await updateAssignmentStatus( + const handleRelease = (assignment: Assignment, lectureId: number) => { + updateAssignmentStatus( 'released', assignment, lectureId, @@ -65,16 +66,16 @@ export function useAssignmentStatus() { ); }; - const handleAssignmentsRelease = async ( + const handleAssignmentsRelease = ( assignmentsChecked: IAssignmentChecked[], lectureId: number ) => { assignmentsChecked.map( - async a => a.checked && (await handleRelease(a.assignment, lectureId)) + a => a.checked && handleRelease(a.assignment, lectureId) ); }; - const handleUnrelease = async (assignment: Assignment, lectureId: number) => { - await updateAssignmentStatus( + const handleUnrelease = (assignment: Assignment, lectureId: number) => { + updateAssignmentStatus( 'created', assignment, lectureId, @@ -83,8 +84,8 @@ export function useAssignmentStatus() { ); }; - const handleComplete = async (assignment: Assignment, lectureId: number) => { - await updateAssignmentStatus( + const handleComplete = (assignment: Assignment, lectureId: number) => { + updateAssignmentStatus( 'complete', assignment, lectureId, diff --git a/packages/labextension/src/app/hooks/assignment/assignment-update-hook.tsx b/packages/labextension/src/app/hooks/assignment/assignment-update-hook.tsx index f911d124..3a041ce7 100644 --- a/packages/labextension/src/app/hooks/assignment/assignment-update-hook.tsx +++ b/packages/labextension/src/app/hooks/assignment/assignment-update-hook.tsx @@ -41,7 +41,7 @@ export function useAssignmentUpdate() { }) }); - const handleUpdateAssignment = async ( + const handleUpdateAssignment = ( assignment: Assignment, updatedValues: Assignment, lectureId: number, From 7e7ff43ee53c6537f56768e7df26d11c59c54e12 Mon Sep 17 00:00:00 2001 From: Nadja Jovancevic Date: Wed, 5 Aug 2026 12:10:21 +0200 Subject: [PATCH 06/59] chore: use correct operational signs --- .../create-assignment/creation-component.tsx | 2 +- .../src/components/notebook/model.ts | 48 +- packages/labextension/style/css/output.css | 127 +- packages/labextension/yarn.lock | 2814 ++++++++--------- 4 files changed, 1450 insertions(+), 1541 deletions(-) diff --git a/packages/labextension/src/components/notebook/create-assignment/creation-component.tsx b/packages/labextension/src/components/notebook/create-assignment/creation-component.tsx index 451e4877..c8927391 100644 --- a/packages/labextension/src/components/notebook/create-assignment/creation-component.tsx +++ b/packages/labextension/src/components/notebook/create-assignment/creation-component.tsx @@ -28,7 +28,7 @@ export const CreationComponent = (props: ICreationComponentProps) => { const [id, setId] = React.useState(toolData.id); const [points, setPoints] = React.useState(toolData.points); const [hintChecked, setChecked] = React.useState( - props.cell.model.getMetadata('hint') != null + props.cell.model.getMetadata('hint') !== null ); const [hint, setHint] = React.useState( hintChecked ? props.cell.model.getMetadata('hint') : '' diff --git a/packages/labextension/src/components/notebook/model.ts b/packages/labextension/src/components/notebook/model.ts index 95d50239..7fb8689d 100644 --- a/packages/labextension/src/components/notebook/model.ts +++ b/packages/labextension/src/components/notebook/model.ts @@ -28,7 +28,7 @@ export namespace CellModel { cellType: nbformat.CellType ): boolean { const data = CellModel.getNbgraderData(cellModel.metadata); - if (data == null || !PrivateNbgraderData.isInvalid(data, cellType)) { + if (data === null || !PrivateNbgraderData.isInvalid(data, cellType)) { return false; } @@ -47,7 +47,7 @@ export namespace CellModel { */ export function clearCellType(cellMetadata: Partial): void { const data = cellMetadata[NBGRADER_KEY] as JSONObject | undefined; - if (data == null) { + if (data === null) { return; } data['cell_type'] = undefined; @@ -62,11 +62,11 @@ export namespace CellModel { export function getNbgraderData( cellMetadata: Partial ): NbgraderData { - if (cellMetadata == null) { + if (cellMetadata === null) { return null; } const nbgraderValue = cellMetadata[NBGRADER_KEY]; - if (nbgraderValue == null) { + if (nbgraderValue === null) { return null; } return nbgraderValue.valueOf() as NbgraderData; @@ -158,18 +158,18 @@ export namespace CellModel { cellModel: ICellModel ): void { const readOnlyMetadata = cellModel.metadata; - if (data == null) { - if (readOnlyMetadata[NBGRADER_KEY] != undefined) { + if (data === null) { + if (readOnlyMetadata[NBGRADER_KEY] !== undefined) { readOnlyMetadata[NBGRADER_KEY] = undefined; } return; } const currentDataJson = readOnlyMetadata[NBGRADER_KEY]; const currentData = - currentDataJson == null + currentDataJson === null ? null : (currentDataJson.valueOf() as NbgraderData); - if (currentData != data) { + if (currentData !== data) { cellModel.setMetadata(NBGRADER_KEY, data.toJson()); } } @@ -181,14 +181,14 @@ export namespace CellModel { namespace PrivateNbgraderData { export function getGradeId(nbgraderData: NbgraderData): string { - if (nbgraderData == null || nbgraderData.grade_id == null) { + if (nbgraderData === null || nbgraderData.grade_id === null) { return ''; } return nbgraderData.grade_id; } export function getPoints(nbgraderData: NbgraderData): number { - if (nbgraderData == null) { + if (nbgraderData === null) { return 0; } return PrivateNbgraderData._to_float(nbgraderData.points); @@ -230,7 +230,7 @@ namespace PrivateNbgraderData { } export function isGrade(nbgraderData: NbgraderData): boolean { - return nbgraderData != null && nbgraderData.grade === true; + return nbgraderData !== null && nbgraderData.grade === true; } export function isGraded(nbgraderData: NbgraderData): boolean { @@ -247,7 +247,7 @@ namespace PrivateNbgraderData { return ( !PrivateNbgraderData.isTask(nbgraderData) && cellType !== 'code' && - PrivateNbgraderData.isSolution(nbgraderData) != + PrivateNbgraderData.isSolution(nbgraderData) !== PrivateNbgraderData.isGrade(nbgraderData) ); } @@ -256,20 +256,20 @@ namespace PrivateNbgraderData { return ( !PrivateNbgraderData.isSolution(nbgraderData) && (PrivateNbgraderData.isGraded(nbgraderData) || - (nbgraderData != null && nbgraderData.locked === true)) + (nbgraderData !== null && nbgraderData.locked === true)) ); } export function isSolution(nbgraderData: NbgraderData): boolean { - return nbgraderData != null && nbgraderData.solution === true; + return nbgraderData !== null && nbgraderData.solution === true; } export function isTask(nbgraderData: NbgraderData): boolean { - return nbgraderData != null && nbgraderData.task === true; + return nbgraderData !== null && nbgraderData.task === true; } export function _to_float(val: any): number { - if (val == null || val === '') { + if (val === null || val === '') { return 0; } const valType = typeof val; @@ -288,7 +288,7 @@ namespace PrivateToolData { } export function getGradeId(data: ToolData): string { - return data.id == null ? '' : data.id; + return data.id === null ? '' : data.id; } export function getLocked(data: ToolData): boolean { @@ -337,25 +337,25 @@ export class NbgraderData { toJson(): ReadonlyJSONObject { const json = {} as JSONObject; - if (this.grade != null) { + if (this.grade !== null) { json['grade'] = this.grade; } - if (this.grade_id != null) { + if (this.grade_id !== null) { json['grade_id'] = this.grade_id; } - if (this.locked != null) { + if (this.locked !== null) { json['locked'] = this.locked; } - if (this.points != null) { + if (this.points !== null) { json['points'] = this.points; } - if (this.schema_version != null) { + if (this.schema_version !== null) { json['schema_version'] = this.schema_version; } - if (this.solution != null) { + if (this.solution !== null) { json['solution'] = this.solution; } - if (this.task != null) { + if (this.task !== null) { json['task'] = this.task; } return json; diff --git a/packages/labextension/style/css/output.css b/packages/labextension/style/css/output.css index 96f1518a..25424841 100644 --- a/packages/labextension/style/css/output.css +++ b/packages/labextension/style/css/output.css @@ -329,6 +329,9 @@ .top-0 { top: 0px; } + .top-1 { + top: var(--spacing); + } .top-1\.5 { top: calc(var(--spacing) * 1.5); } @@ -356,6 +359,9 @@ .bottom-0 { bottom: 0px; } + .left-1 { + left: var(--spacing); + } .left-1\/2 { left: calc(1 / 2 * 100%); } @@ -398,6 +404,9 @@ .row-start-1 { grid-row-start: 1; } + .m-0 { + margin: 0px; + } .m-0\! { margin: 0px !important; } @@ -410,6 +419,9 @@ .mx-2 { margin-inline: calc(var(--spacing) * 2); } + .mx-3 { + margin-inline: calc(var(--spacing) * 3); + } .mx-3\.5 { margin-inline: calc(var(--spacing) * 3.5); } @@ -568,6 +580,9 @@ .h-\(--cell-size\) { height: var(--cell-size); } + .h-2 { + height: calc(var(--spacing) * 2); + } .h-2\.5 { height: calc(var(--spacing) * 2.5); } @@ -595,6 +610,9 @@ .h-12 { height: calc(var(--spacing) * 12); } + .h-13 { + height: calc(var(--spacing) * 13); + } .h-13\.5 { height: calc(var(--spacing) * 13.5); } @@ -664,6 +682,9 @@ .w-\(--sidebar-width\) { width: var(--sidebar-width); } + .w-2 { + width: calc(var(--spacing) * 2); + } .w-2\.5 { width: calc(var(--spacing) * 2.5); } @@ -745,9 +766,15 @@ .flex-1 { flex: 1; } + .flex-shrink { + flex-shrink: 1; + } .shrink-0 { flex-shrink: 0; } + .flex-grow { + flex-grow: 1; + } .grow { flex-grow: 1; } @@ -760,6 +787,10 @@ .origin-\(--transform-origin\) { transform-origin: var(--transform-origin); } + .-translate-x-1 { + --tw-translate-x: calc(var(--spacing) * -1); + translate: var(--tw-translate-x) var(--tw-translate-y); + } .-translate-x-1\/2 { --tw-translate-x: calc(calc(1 / 2 * 100%) * -1); translate: var(--tw-translate-x) var(--tw-translate-y); @@ -772,6 +803,10 @@ --tw-translate-x: 1px; translate: var(--tw-translate-x) var(--tw-translate-y); } + .-translate-y-1 { + --tw-translate-y: calc(var(--spacing) * -1); + translate: var(--tw-translate-x) var(--tw-translate-y); + } .-translate-y-1\/2 { --tw-translate-y: calc(calc(1 / 2 * 100%) * -1); translate: var(--tw-translate-x) var(--tw-translate-y); @@ -808,6 +843,9 @@ .touch-none { touch-action: none; } + .resize { + resize: both; + } .resize-none { resize: none; } @@ -1061,6 +1099,9 @@ .border-\[\#FF9D52\] { border-color: #ff9d52; } + .border-blue-500 { + border-color: var(--color-blue-500); + } .border-blue-500\/50 { border-color: color-mix( in srgb, @@ -1083,6 +1124,9 @@ border-color: color-mix(in oklab, var(--destructive) 50%, transparent); } } + .border-green-500 { + border-color: var(--color-green-500); + } .border-green-500\/50 { border-color: color-mix( in srgb, @@ -1115,6 +1159,9 @@ .border-transparent { border-color: transparent; } + .border-yellow-500 { + border-color: var(--color-yellow-500); + } .border-yellow-500\/50 { border-color: color-mix( in srgb, @@ -1177,6 +1224,9 @@ .bg-background { background-color: var(--background); } + .bg-black { + background-color: var(--color-black); + } .bg-black\/10 { background-color: color-mix(in srgb, #000 10%, transparent); @supports (color: color-mix(in lab, red, red)) { @@ -1187,6 +1237,9 @@ ); } } + .bg-blue-500 { + background-color: var(--color-blue-500); + } .bg-blue-500\/10 { background-color: color-mix( in srgb, @@ -1226,6 +1279,9 @@ .bg-dialog-background { background-color: var(--dialog-background); } + .bg-green-500 { + background-color: var(--color-green-500); + } .bg-green-500\/10 { background-color: color-mix( in srgb, @@ -1380,6 +1436,9 @@ .px-14 { padding-inline: calc(var(--spacing) * 14); } + .py-0 { + padding-block: 0px; + } .py-0\.5 { padding-block: calc(var(--spacing) * 0.5); } @@ -1506,6 +1565,9 @@ --tw-tracking: var(--tracking-widest); letter-spacing: var(--tracking-widest); } + .text-wrap { + text-wrap: wrap; + } .whitespace-nowrap { white-space: nowrap; } @@ -1665,6 +1727,9 @@ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); } + .ring-foreground { + --tw-ring-color: var(--foreground); + } .ring-foreground\/10 { --tw-ring-color: var(--foreground); @supports (color: color-mix(in lab, red, red)) { @@ -1694,6 +1759,18 @@ var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); } + .backdrop-filter { + -webkit-backdrop-filter: var(--tw-backdrop-blur,) + var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) + var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) + var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) + var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,); + backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) + var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) + var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) + var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) + var(--tw-backdrop-sepia,); + } .transition { transition-property: color, @@ -4506,69 +4583,69 @@ syntax: '*'; inherits: false; } -@property --tw-duration { +@property --tw-backdrop-blur { syntax: '*'; inherits: false; } -@property --tw-ease { +@property --tw-backdrop-brightness { syntax: '*'; inherits: false; } -@property --tw-content { +@property --tw-backdrop-contrast { syntax: '*'; - initial-value: ''; inherits: false; } -@property --tw-scale-x { +@property --tw-backdrop-grayscale { syntax: '*'; inherits: false; - initial-value: 1; } -@property --tw-scale-y { +@property --tw-backdrop-hue-rotate { syntax: '*'; inherits: false; - initial-value: 1; } -@property --tw-scale-z { +@property --tw-backdrop-invert { syntax: '*'; inherits: false; - initial-value: 1; } -@property --tw-backdrop-blur { +@property --tw-backdrop-opacity { syntax: '*'; inherits: false; } -@property --tw-backdrop-brightness { +@property --tw-backdrop-saturate { syntax: '*'; inherits: false; } -@property --tw-backdrop-contrast { +@property --tw-backdrop-sepia { syntax: '*'; inherits: false; } -@property --tw-backdrop-grayscale { +@property --tw-duration { syntax: '*'; inherits: false; } -@property --tw-backdrop-hue-rotate { +@property --tw-ease { syntax: '*'; inherits: false; } -@property --tw-backdrop-invert { +@property --tw-content { syntax: '*'; + initial-value: ''; inherits: false; } -@property --tw-backdrop-opacity { +@property --tw-scale-x { syntax: '*'; inherits: false; + initial-value: 1; } -@property --tw-backdrop-saturate { +@property --tw-scale-y { syntax: '*'; inherits: false; + initial-value: 1; } -@property --tw-backdrop-sepia { +@property --tw-scale-z { syntax: '*'; inherits: false; + initial-value: 1; } @keyframes pulse { 50% { @@ -4662,12 +4739,6 @@ --tw-drop-shadow-color: initial; --tw-drop-shadow-alpha: 100%; --tw-drop-shadow-size: initial; - --tw-duration: initial; - --tw-ease: initial; - --tw-content: ''; - --tw-scale-x: 1; - --tw-scale-y: 1; - --tw-scale-z: 1; --tw-backdrop-blur: initial; --tw-backdrop-brightness: initial; --tw-backdrop-contrast: initial; @@ -4677,6 +4748,12 @@ --tw-backdrop-opacity: initial; --tw-backdrop-saturate: initial; --tw-backdrop-sepia: initial; + --tw-duration: initial; + --tw-ease: initial; + --tw-content: ''; + --tw-scale-x: 1; + --tw-scale-y: 1; + --tw-scale-z: 1; --tw-animation-delay: 0s; --tw-animation-direction: normal; --tw-animation-duration: initial; diff --git a/packages/labextension/yarn.lock b/packages/labextension/yarn.lock index 6cf61137..686ac950 100644 --- a/packages/labextension/yarn.lock +++ b/packages/labextension/yarn.lock @@ -15,109 +15,109 @@ __metadata: languageName: node linkType: hard -"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.28.6, @babel/code-frame@npm:^7.29.0": - version: 7.29.0 - resolution: "@babel/code-frame@npm:7.29.0" +"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/code-frame@npm:7.29.7" dependencies: - "@babel/helper-validator-identifier": ^7.28.5 + "@babel/helper-validator-identifier": ^7.29.7 js-tokens: ^4.0.0 picocolors: ^1.1.1 - checksum: 39f5b303757e4d63bbff8133e251094cd4f952b46e3fa9febc7368d907583911d6a1eded6090876dc1feeff5cf6e134fb19b706f8d58d26c5402cd50e5e1aeb2 + checksum: 21b12fe2356e36f6cc3cd8a3721f878bfeea80ce38356979a0518b47b3aafdcc0bd263da75ccc9d51c64d40b1b6df00e768ce2446acb0b7cbec0ae8f905663ad languageName: node linkType: hard -"@babel/compat-data@npm:^7.28.6, @babel/compat-data@npm:^7.29.3": - version: 7.29.3 - resolution: "@babel/compat-data@npm:7.29.3" - checksum: 977192bab334f66bc8150026340a33ed318c1a7ce18a9323f4c1b86f8ed1d8645bfe5600242bf682717c05c46a4ff06225242207c1d599f4296914b9b4e3efb5 +"@babel/compat-data@npm:^7.28.6, @babel/compat-data@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/compat-data@npm:7.29.7" + checksum: 4424f8fb72f61657c8e811bdf7e5c69af212a15fe362711162b2e00b82f0e0588fb8259ecd9a70c5490562bf51d408b0cb92f277ead71a2390ddddfe7283b35d languageName: node linkType: hard "@babel/core@npm:^7.10.2, @babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.23.9": - version: 7.29.0 - resolution: "@babel/core@npm:7.29.0" - dependencies: - "@babel/code-frame": ^7.29.0 - "@babel/generator": ^7.29.0 - "@babel/helper-compilation-targets": ^7.28.6 - "@babel/helper-module-transforms": ^7.28.6 - "@babel/helpers": ^7.28.6 - "@babel/parser": ^7.29.0 - "@babel/template": ^7.28.6 - "@babel/traverse": ^7.29.0 - "@babel/types": ^7.29.0 + version: 7.29.7 + resolution: "@babel/core@npm:7.29.7" + dependencies: + "@babel/code-frame": ^7.29.7 + "@babel/generator": ^7.29.7 + "@babel/helper-compilation-targets": ^7.29.7 + "@babel/helper-module-transforms": ^7.29.7 + "@babel/helpers": ^7.29.7 + "@babel/parser": ^7.29.7 + "@babel/template": ^7.29.7 + "@babel/traverse": ^7.29.7 + "@babel/types": ^7.29.7 "@jridgewell/remapping": ^2.3.5 convert-source-map: ^2.0.0 debug: ^4.1.0 gensync: ^1.0.0-beta.2 json5: ^2.2.3 semver: ^6.3.1 - checksum: 85e1df6e213382c46dee27bcd07ed9202fa108a85bb74eb37be656308fd949349171ad2aa17cc84cf0720c908dc9ea6309d25e64d2a7fcdaa63721ce0c67c10b + checksum: 95149e98ffde5b9d903459c284fbcf1f9ad8b3a833d69fdfe1aa7185821a102af1925324fe2892caf4b643b151c1dc948510d1e25a5e3c6c6c6f17f6712eb38e languageName: node linkType: hard -"@babel/generator@npm:^7.29.0, @babel/generator@npm:^7.7.2": - version: 7.29.1 - resolution: "@babel/generator@npm:7.29.1" +"@babel/generator@npm:^7.29.7, @babel/generator@npm:^7.29.8, @babel/generator@npm:^7.7.2": + version: 7.29.8 + resolution: "@babel/generator@npm:7.29.8" dependencies: - "@babel/parser": ^7.29.0 - "@babel/types": ^7.29.0 + "@babel/parser": ^7.29.8 + "@babel/types": ^7.29.8 "@jridgewell/gen-mapping": ^0.3.12 "@jridgewell/trace-mapping": ^0.3.28 jsesc: ^3.0.2 - checksum: d8e6863b2d04f684e65ad72731049ac7d754d3a3d1a67cdfc20807b109ba3180ed90d7ccef58ce5d38ded2eaeb71983a76c711eecb9b6266118262378f6c7226 + checksum: e3d80ad2ce45ca974cb14e084350d590aa62e840d5028bb7771e910b1727b6646afcc9815560e3c6e3526f115b71b18a7f7139ada76a80287d5bd25b84c17e8d languageName: node linkType: hard -"@babel/helper-annotate-as-pure@npm:^7.27.1, @babel/helper-annotate-as-pure@npm:^7.27.3": - version: 7.27.3 - resolution: "@babel/helper-annotate-as-pure@npm:7.27.3" +"@babel/helper-annotate-as-pure@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helper-annotate-as-pure@npm:7.29.7" dependencies: - "@babel/types": ^7.27.3 - checksum: 63863a5c936ef82b546ca289c9d1b18fabfc24da5c4ee382830b124e2e79b68d626207febc8d4bffc720f50b2ee65691d7d12cc0308679dee2cd6bdc926b7190 + "@babel/types": ^7.29.7 + checksum: acd9e128de634a5144b5d622357d018fa616de45f64c74e42007c048dd15d0a0be213f4d5a2bf02307bdaddf053791b87900a99d183de828c08dc3b556329009 languageName: node linkType: hard -"@babel/helper-compilation-targets@npm:^7.27.1, @babel/helper-compilation-targets@npm:^7.28.6": - version: 7.28.6 - resolution: "@babel/helper-compilation-targets@npm:7.28.6" +"@babel/helper-compilation-targets@npm:^7.28.6, @babel/helper-compilation-targets@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helper-compilation-targets@npm:7.29.7" dependencies: - "@babel/compat-data": ^7.28.6 - "@babel/helper-validator-option": ^7.27.1 + "@babel/compat-data": ^7.29.7 + "@babel/helper-validator-option": ^7.29.7 browserslist: ^4.24.0 lru-cache: ^5.1.1 semver: ^6.3.1 - checksum: 8151e36b74eb1c5e414fe945c189436421f7bfa011884de5be3dd7fd77f12f1f733ff7c982581dfa0a49d8af724450243c2409427114b4a6cfeb8333259d001c + checksum: f60a943937f4eba0e671aa28551cb45569fd081c1e30a52ede167860475dc0417f3dbdf2a0fa3f086965595c7070aa76308da60cc0319860de05db4ed2a431f7 languageName: node linkType: hard -"@babel/helper-create-class-features-plugin@npm:^7.28.6": - version: 7.29.3 - resolution: "@babel/helper-create-class-features-plugin@npm:7.29.3" - dependencies: - "@babel/helper-annotate-as-pure": ^7.27.3 - "@babel/helper-member-expression-to-functions": ^7.28.5 - "@babel/helper-optimise-call-expression": ^7.27.1 - "@babel/helper-replace-supers": ^7.28.6 - "@babel/helper-skip-transparent-expression-wrappers": ^7.27.1 - "@babel/traverse": ^7.29.0 +"@babel/helper-create-class-features-plugin@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helper-create-class-features-plugin@npm:7.29.7" + dependencies: + "@babel/helper-annotate-as-pure": ^7.29.7 + "@babel/helper-member-expression-to-functions": ^7.29.7 + "@babel/helper-optimise-call-expression": ^7.29.7 + "@babel/helper-replace-supers": ^7.29.7 + "@babel/helper-skip-transparent-expression-wrappers": ^7.29.7 + "@babel/traverse": ^7.29.7 semver: ^6.3.1 peerDependencies: "@babel/core": ^7.0.0 - checksum: ed7e755d83a59679ea9554b733e2f4b41fd1dd68ef4d8d3e5009930d8ff323f7aabdb8577abea0d98e5cc62a7ce5d14aca501e4446ccfe397c6c2fa3d8164f4b + checksum: c954e4bfe423a277cdcbad64344637cf696ddcd80085fce5f284b02a0c700af0d2d7b61468a06d9e296e948de60ece138921b65564aec023a9d9594f5d9fe18d languageName: node linkType: hard -"@babel/helper-create-regexp-features-plugin@npm:^7.18.6, @babel/helper-create-regexp-features-plugin@npm:^7.27.1, @babel/helper-create-regexp-features-plugin@npm:^7.28.5": - version: 7.28.5 - resolution: "@babel/helper-create-regexp-features-plugin@npm:7.28.5" +"@babel/helper-create-regexp-features-plugin@npm:^7.18.6, @babel/helper-create-regexp-features-plugin@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helper-create-regexp-features-plugin@npm:7.29.7" dependencies: - "@babel/helper-annotate-as-pure": ^7.27.3 + "@babel/helper-annotate-as-pure": ^7.29.7 regexpu-core: ^6.3.1 semver: ^6.3.1 peerDependencies: "@babel/core": ^7.0.0 - checksum: de202103e6ff8cd8da0d62eb269fcceb29857f3fa16173f0ff38188fd514e9ad4901aef1d590ff8ba25381644b42eaf70ad9ba91fda59fe7aa6a5e694cdde267 + checksum: 702a34db6c064a2c26675b717b3af88b8acaeb5341e2285792a873a67a16ec4cbe987ba72e055db198b2e03ead05600d8c9c0c1e7436708e95865bbfb3516026 languageName: node linkType: hard @@ -136,219 +136,219 @@ __metadata: languageName: node linkType: hard -"@babel/helper-globals@npm:^7.28.0": - version: 7.28.0 - resolution: "@babel/helper-globals@npm:7.28.0" - checksum: d8d7b91c12dad1ee747968af0cb73baf91053b2bcf78634da2c2c4991fb45ede9bd0c8f9b5f3254881242bc0921218fcb7c28ae885477c25177147e978ce4397 +"@babel/helper-globals@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helper-globals@npm:7.29.7" + checksum: 6deaf9846a415c7f110ac153e8c3d81e3543c9b685aa9fd9a59b4235f402e2b760129d3df49466daea9162f0cf73ff98a0ec7f180448a3449ca14ae5e1117b42 languageName: node linkType: hard -"@babel/helper-member-expression-to-functions@npm:^7.28.5": - version: 7.28.5 - resolution: "@babel/helper-member-expression-to-functions@npm:7.28.5" +"@babel/helper-member-expression-to-functions@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helper-member-expression-to-functions@npm:7.29.7" dependencies: - "@babel/traverse": ^7.28.5 - "@babel/types": ^7.28.5 - checksum: 447d385233bae2eea713df1785f819b5a5ca272950740da123c42d23f491045120f0fbbb5609c091f7a9bbd40f289a442846dde0cb1bf0c59440fa093690cf7c + "@babel/traverse": ^7.29.7 + "@babel/types": ^7.29.7 + checksum: 79d5f095b4bafadff3d1ec316d9f17ec85940fece957db62dd523b08e142da73c53180d1bce2fdc4d523e3889bb01b39bea70ad968b6e2f4dbdc66ebd1055b8a languageName: node linkType: hard -"@babel/helper-module-imports@npm:^7.28.6": - version: 7.28.6 - resolution: "@babel/helper-module-imports@npm:7.28.6" +"@babel/helper-module-imports@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helper-module-imports@npm:7.29.7" dependencies: - "@babel/traverse": ^7.28.6 - "@babel/types": ^7.28.6 - checksum: 437513aa029898b588a38f7991d7656c539b22f595207d85d0c407240c9e3f2aff8b9d0d7115fdedc91e7fdce4465100549a052024e2fba6a810bcbb7584296b + "@babel/traverse": ^7.29.7 + "@babel/types": ^7.29.7 + checksum: ad5a768fc9c162620b7f5b7645c6c2efee1e6f9df432bb79651888661a7e4cd91dac7192f3ddcfd6de4778a089e9fb30fafae768156aa73a07eeca425f64e849 languageName: node linkType: hard -"@babel/helper-module-transforms@npm:^7.27.1, @babel/helper-module-transforms@npm:^7.28.6": - version: 7.28.6 - resolution: "@babel/helper-module-transforms@npm:7.28.6" +"@babel/helper-module-transforms@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helper-module-transforms@npm:7.29.7" dependencies: - "@babel/helper-module-imports": ^7.28.6 - "@babel/helper-validator-identifier": ^7.28.5 - "@babel/traverse": ^7.28.6 + "@babel/helper-module-imports": ^7.29.7 + "@babel/helper-validator-identifier": ^7.29.7 + "@babel/traverse": ^7.29.7 peerDependencies: "@babel/core": ^7.0.0 - checksum: 522f7d1d08b5e2ccd4ec912aca879bd1506af78d1fb30f46e3e6b4bb69c6ae6ab4e379a879723844230d27dc6d04a55b03f5215cd3141b7a2b40bb4a02f71a9f + checksum: 484f6d02975d304f680d44e331d4b832d67e51917483985eab7b853664452b5a627366e7a9d421200ec772a123213a591e28b40636566afeac189411ba3f45a8 languageName: node linkType: hard -"@babel/helper-optimise-call-expression@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/helper-optimise-call-expression@npm:7.27.1" +"@babel/helper-optimise-call-expression@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helper-optimise-call-expression@npm:7.29.7" dependencies: - "@babel/types": ^7.27.1 - checksum: 0fb7ee824a384529d6b74f8a58279f9b56bfe3cce332168067dddeab2552d8eeb56dc8eaf86c04a3a09166a316cb92dfc79c4c623cd034ad4c563952c98b464f + "@babel/types": ^7.29.7 + checksum: 6b477e01b403fd48349336cb1d94722bff4fa54af2841b5fa950c557b796f4ecc14724052252ed1362ccfc23d1c09c54dc03e182fea59d3dc5bd69f8c626ba25 languageName: node linkType: hard -"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.27.1, @babel/helper-plugin-utils@npm:^7.28.6, @babel/helper-plugin-utils@npm:^7.8.0": - version: 7.28.6 - resolution: "@babel/helper-plugin-utils@npm:7.28.6" - checksum: a0b4caab5e2180b215faa4d141ceac9e82fad9d446b8023eaeb8d82a6e62024726675b07fe8e616dd12f34e2bb59747e8d57aa8adab3e0717d1b8d691b118379 +"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.28.6, @babel/helper-plugin-utils@npm:^7.29.7, @babel/helper-plugin-utils@npm:^7.8.0": + version: 7.29.7 + resolution: "@babel/helper-plugin-utils@npm:7.29.7" + checksum: b0a183abcc6670afa4861425fa428217d8ebadce062d5b43117919e8715f820080fd63bbfcf0e43c6e0e7d21a96b21f635c46dda80bdb0ce7e8a762ebee1d8d9 languageName: node linkType: hard -"@babel/helper-remap-async-to-generator@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/helper-remap-async-to-generator@npm:7.27.1" +"@babel/helper-remap-async-to-generator@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helper-remap-async-to-generator@npm:7.29.7" dependencies: - "@babel/helper-annotate-as-pure": ^7.27.1 - "@babel/helper-wrap-function": ^7.27.1 - "@babel/traverse": ^7.27.1 + "@babel/helper-annotate-as-pure": ^7.29.7 + "@babel/helper-wrap-function": ^7.29.7 + "@babel/traverse": ^7.29.7 peerDependencies: "@babel/core": ^7.0.0 - checksum: 0747397ba013f87dbf575454a76c18210d61c7c9af0f697546b4bcac670b54ddc156330234407b397f0c948738c304c228e0223039bc45eab4fbf46966a5e8cc + checksum: 98338ad6e34ebb4be2dc23f8d9199d28d6d8ac6a2ce8b90fe9efdf3595b39748321528d9f2540ec0586a6e45f7c84f5f623fbf980c5efa7fa9ba7ce837ea4b20 languageName: node linkType: hard -"@babel/helper-replace-supers@npm:^7.27.1, @babel/helper-replace-supers@npm:^7.28.6": - version: 7.28.6 - resolution: "@babel/helper-replace-supers@npm:7.28.6" +"@babel/helper-replace-supers@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helper-replace-supers@npm:7.29.7" dependencies: - "@babel/helper-member-expression-to-functions": ^7.28.5 - "@babel/helper-optimise-call-expression": ^7.27.1 - "@babel/traverse": ^7.28.6 + "@babel/helper-member-expression-to-functions": ^7.29.7 + "@babel/helper-optimise-call-expression": ^7.29.7 + "@babel/traverse": ^7.29.7 peerDependencies: "@babel/core": ^7.0.0 - checksum: aa6530a52010883b6be88465e3b9e789509786a40203650a23a51c315f7442b196e5925fb8e2d66d1e3dc2c604cdc817bd8c5c170dbb322ab5ebc7486fd8a022 + checksum: f7eb9a6b035d9d45250c880eb09605f95998998e828ec90759ed45764fe0abeee583419969de8b8dee551163dff914c9fc6ace90c1d819c56c23146f8df525db languageName: node linkType: hard -"@babel/helper-skip-transparent-expression-wrappers@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.27.1" +"@babel/helper-skip-transparent-expression-wrappers@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.29.7" dependencies: - "@babel/traverse": ^7.27.1 - "@babel/types": ^7.27.1 - checksum: 4f380c5d0e0769fa6942a468b0c2d7c8f0c438f941aaa88f785f8752c103631d0904c7b4e76207a3b0e6588b2dec376595370d92ca8f8f1b422c14a69aa146d4 + "@babel/traverse": ^7.29.7 + "@babel/types": ^7.29.7 + checksum: a5800bfcdca6cef7f6fe33ac02a0f05ff33da9746f97806553f249733f7ba8400290a17f3831d7faa5d91656f254ab749931f53c8a29f301d958d7dd00499637 languageName: node linkType: hard -"@babel/helper-string-parser@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/helper-string-parser@npm:7.27.1" - checksum: 0a8464adc4b39b138aedcb443b09f4005d86207d7126e5e079177e05c3116107d856ec08282b365e9a79a9872f40f4092a6127f8d74c8a01c1ef789dacfc25d6 +"@babel/helper-string-parser@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helper-string-parser@npm:7.29.7" + checksum: 4c229d2c2296b6c94439e87ecddf3a93cee3ffd2d4cee0b4c28079275bed3de4e02cd943e4cb06036d1d9407549c4e3423006b61a46215c482fce902ee02bc0b languageName: node linkType: hard -"@babel/helper-validator-identifier@npm:^7.28.5": - version: 7.28.5 - resolution: "@babel/helper-validator-identifier@npm:7.28.5" - checksum: 5a251a6848e9712aea0338f659a1a3bd334d26219d5511164544ca8ec20774f098c3a6661e9da65a0d085c745c00bb62c8fada38a62f08fa1f8053bc0aeb57e4 +"@babel/helper-validator-identifier@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helper-validator-identifier@npm:7.29.7" + checksum: cc7779e96fe9c9478c96ca4bf04fc338b95b501aa5abe78178307dea282d4a5dc23d443efb12dde8e8c5636d03dd00e443532e6ed7f15fa7977349af1f87ba4d languageName: node linkType: hard -"@babel/helper-validator-option@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/helper-validator-option@npm:7.27.1" - checksum: db73e6a308092531c629ee5de7f0d04390835b21a263be2644276cb27da2384b64676cab9f22cd8d8dbd854c92b1d7d56fc8517cf0070c35d1c14a8c828b0903 +"@babel/helper-validator-option@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helper-validator-option@npm:7.29.7" + checksum: aeb6aa966f59300d3cc2fea7c68e1dfd7ad011fc10e535c8e2b2de3094b27c859428dc7220f16420350f8b1cde99da120b673be04bcb0c2f37b56258c96bed58 languageName: node linkType: hard -"@babel/helper-wrap-function@npm:^7.27.1": - version: 7.28.6 - resolution: "@babel/helper-wrap-function@npm:7.28.6" +"@babel/helper-wrap-function@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helper-wrap-function@npm:7.29.7" dependencies: - "@babel/template": ^7.28.6 - "@babel/traverse": ^7.28.6 - "@babel/types": ^7.28.6 - checksum: 1281f45d55ff291711de7cf05b8132fc28b8d2b30c6c9cf8fce68669bbe318503ed485057d434efa1a4f91ab55d62bf8f3ecb0a889a9f81d357ad4614cd0fa6c + "@babel/template": ^7.29.7 + "@babel/traverse": ^7.29.7 + "@babel/types": ^7.29.7 + checksum: 2e6dfca94a10a3672a6b0ff337c80f27d7c66f3ea110969e833529a2d5bfbb5e53ab40abf6fad4657b8f810fcab2e3d56998f8da89bfe82a58267c5e8bc06e9a languageName: node linkType: hard -"@babel/helpers@npm:^7.28.6": - version: 7.29.2 - resolution: "@babel/helpers@npm:7.29.2" +"@babel/helpers@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helpers@npm:7.29.7" dependencies: - "@babel/template": ^7.28.6 - "@babel/types": ^7.29.0 - checksum: 2c8ce711a639ef334539d3bd48977f57493f71af99e13d3f685fe47b3bc32aa83dbc1380688e19d5df924d958f8f29072f3dcff8110257ba6399524907287189 + "@babel/template": ^7.29.7 + "@babel/types": ^7.29.7 + checksum: b5c4ed0ce5983c5599cd01b3948444b77ba2fa47bf6282a82afdcbe45eb8cc5b7986194e3920ef2760f533c6a775504e6b00a66960c0a3bc52909920b8433908 languageName: node linkType: hard -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.28.6, @babel/parser@npm:^7.29.0": - version: 7.29.3 - resolution: "@babel/parser@npm:7.29.3" +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.29.7, @babel/parser@npm:^7.29.8": + version: 7.29.8 + resolution: "@babel/parser@npm:7.29.8" dependencies: - "@babel/types": ^7.29.0 + "@babel/types": ^7.29.8 bin: parser: ./bin/babel-parser.js - checksum: 046f46996bf4053b6e29f8a7f420f9e0a2878593c1c9a9914a36faca23fc544a307c78a0101ba3ae98936ade68bdde686a83e1ab2b74c2ebb80dc4a9df48476d + checksum: c8bbea3c87b8593e78e8901841b068cc004ece24bf3ee44e11b4a3e04f10dab513125ca290c2cc04ba981399b662dbebb0a675016417d600e99272e86d59b375 languageName: node linkType: hard -"@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:^7.28.5": - version: 7.28.5 - resolution: "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:7.28.5" +"@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:7.29.7" dependencies: - "@babel/helper-plugin-utils": ^7.27.1 - "@babel/traverse": ^7.28.5 + "@babel/helper-plugin-utils": ^7.29.7 + "@babel/traverse": ^7.29.7 peerDependencies: "@babel/core": ^7.0.0 - checksum: 749b40a963d5633f554cad0336245cb6c1c1393c70a3fddcf302d86a1a42b35efdd2ed62056b88db66f3900887ae1cee9a3eeec89799c22e0cf65059f0dfd142 + checksum: 83cca77d175f3e66460a004648c8a645da880d5a9db96b03abd433e05bc4357aec0418d17b05fbfecfa679438b8eb8d8adc71b8f4db86cfaf6e6b0373b39a05e languageName: node linkType: hard -"@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:7.27.1" +"@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:7.29.7" dependencies: - "@babel/helper-plugin-utils": ^7.27.1 + "@babel/helper-plugin-utils": ^7.29.7 peerDependencies: "@babel/core": ^7.0.0 - checksum: eb7f4146dc01f1198ce559a90b077e58b951a07521ec414e3c7d4593bf6c4ab5c2af22242a7e9fec085e20299e0ba6ea97f44a45e84ab148141bf9eb959ad25e + checksum: ad06de66ccfb19f0f04e6124d144f3fef72fa5191861b1d04bc32cab87ce43958810d9632eac5881ef991a78b33e68588e3d90e76a63d917bd5a7ff4c96618f8 languageName: node linkType: hard -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.27.1" +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.29.7" dependencies: - "@babel/helper-plugin-utils": ^7.27.1 + "@babel/helper-plugin-utils": ^7.29.7 peerDependencies: "@babel/core": ^7.0.0 - checksum: 621cfddfcc99a81e74f8b6f9101fd260b27500cb1a568e3ceae9cc8afe9aee45ac3bca3900a2b66c612b1a2366d29ef67d4df5a1c975be727eaad6906f98c2c6 + checksum: 2189a2a648948107c59ad3bf028e5b71a85b28c840facfead769a33c5f63ae4ec0f147e6a2e664a91a506d4405f5a8972d2ca628f3b64d03edd7620d770761fb languageName: node linkType: hard -"@babel/plugin-bugfix-safari-rest-destructuring-rhs-array@npm:^7.29.3": - version: 7.29.3 - resolution: "@babel/plugin-bugfix-safari-rest-destructuring-rhs-array@npm:7.29.3" +"@babel/plugin-bugfix-safari-rest-destructuring-rhs-array@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-bugfix-safari-rest-destructuring-rhs-array@npm:7.29.7" dependencies: - "@babel/helper-plugin-utils": ^7.28.6 - "@babel/helper-skip-transparent-expression-wrappers": ^7.27.1 + "@babel/helper-plugin-utils": ^7.29.7 + "@babel/helper-skip-transparent-expression-wrappers": ^7.29.7 peerDependencies: "@babel/core": ^7.0.0 - checksum: fd13198afc9b72c6a4e4868f1592fc8010f390e7601148a71d2d6111664c0242d6d5ff27d8eb77ca4c35ef47f8416daf5dbc8d46a498ac706d69c6b3a0988cd7 + checksum: a9bd13c2600bdfcb5b35590e210bcb30f009fda9bd1556567757ea4fcb8ca247750331d6d10774d68127cae4e529bc79abd86a28fe5e2a1cc2cc00e75964ac52 languageName: node linkType: hard -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.27.1" +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.29.7" dependencies: - "@babel/helper-plugin-utils": ^7.27.1 - "@babel/helper-skip-transparent-expression-wrappers": ^7.27.1 - "@babel/plugin-transform-optional-chaining": ^7.27.1 + "@babel/helper-plugin-utils": ^7.29.7 + "@babel/helper-skip-transparent-expression-wrappers": ^7.29.7 + "@babel/plugin-transform-optional-chaining": ^7.29.7 peerDependencies: "@babel/core": ^7.13.0 - checksum: f07aa80272bd7a46b7ba11a4644da6c9b6a5a64e848dfaffdad6f02663adefd512e1aaebe664c4dd95f7ed4f80c872c7f8db8d8e34b47aae0930b412a28711a0 + checksum: 76a494ec4f52a127b0208c4574a6da36f6ff5f30484306921762db549fa7d9d9183c837759eb68c0c9e5a56013aa247e6e02e02263384d2a103240353ae0ceb6 languageName: node linkType: hard -"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:^7.28.6": - version: 7.28.6 - resolution: "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:7.28.6" +"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:7.29.7" dependencies: - "@babel/helper-plugin-utils": ^7.28.6 - "@babel/traverse": ^7.28.6 + "@babel/helper-plugin-utils": ^7.29.7 + "@babel/traverse": ^7.29.7 peerDependencies: "@babel/core": ^7.0.0 - checksum: f1341f829f809c8685d839669953a478f8a40d1d53f4f5e1972bf39ff4e1ece148319340292d6e0c3641157268b435cbb99b3ac2f3cefe9fca9e81b8f62d6d71 + checksum: 7a58b4b32f4c04b86160dc7900612904e2b88d42c8b89d59a89d3c343f320ad096d73fb453a2e8bf8e97c9d4af3563043bc6d1e3def53c819812cb03f3f873c8 languageName: node linkType: hard @@ -405,25 +405,25 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-import-assertions@npm:^7.28.6": - version: 7.28.6 - resolution: "@babel/plugin-syntax-import-assertions@npm:7.28.6" +"@babel/plugin-syntax-import-assertions@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-syntax-import-assertions@npm:7.29.7" dependencies: - "@babel/helper-plugin-utils": ^7.28.6 + "@babel/helper-plugin-utils": ^7.29.7 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 25017235e1e2c4ed892aa327a3fa10f4209cc618c6dd7806fc40c07d8d7d24a39743d3d5568b8d1c8f416cffe03c174e78874ded513c9338b07a7ab1dcbab050 + checksum: a7f24858e7e833c2ee25779a355b5eff46e4bc93c98b06bda7ea0fd12faf99c4954e0f71074485512045920432790e0269aa562dd4d2085c3f8660ed1cfde8a1 languageName: node linkType: hard -"@babel/plugin-syntax-import-attributes@npm:^7.24.7, @babel/plugin-syntax-import-attributes@npm:^7.28.6": - version: 7.28.6 - resolution: "@babel/plugin-syntax-import-attributes@npm:7.28.6" +"@babel/plugin-syntax-import-attributes@npm:^7.24.7, @babel/plugin-syntax-import-attributes@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-syntax-import-attributes@npm:7.29.7" dependencies: - "@babel/helper-plugin-utils": ^7.28.6 + "@babel/helper-plugin-utils": ^7.29.7 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 6c8c6a5988dbb9799d6027360d1a5ba64faabf551f2ef11ba4eade0c62253b5c85d44ddc8eb643c74b9acb2bcaa664a950bd5de9a5d4aef291c4f2a48223bb4b + checksum: 9f47345d09aae16b7ab52ecaf541cde3e3ae1e57e3eb2d4088e062b29dfbd67db55d42d529840557583d66121e2a98788df7a455401cc6d635c8b7700a02efc9 languageName: node linkType: hard @@ -450,13 +450,13 @@ __metadata: linkType: hard "@babel/plugin-syntax-jsx@npm:^7.7.2": - version: 7.28.6 - resolution: "@babel/plugin-syntax-jsx@npm:7.28.6" + version: 7.29.7 + resolution: "@babel/plugin-syntax-jsx@npm:7.29.7" dependencies: - "@babel/helper-plugin-utils": ^7.28.6 + "@babel/helper-plugin-utils": ^7.29.7 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 572e38f5c1bb4b8124300e7e3dd13e82ae84a21f90d3f0786c98cd05e63c78ca1f32d1cfe462dfbaf5e7d5102fa7cd8fd741dfe4f3afc2e01a3b2877dcc8c866 + checksum: 84150d27c553a1d3d921354437f6725ca1d63b49514c25591bfcaaafa6ea4d6c10715b66fe7245e4ad7ab7c6cf4b6e1de7373defd3df00877ab12638170d7772 languageName: node linkType: hard @@ -549,13 +549,13 @@ __metadata: linkType: hard "@babel/plugin-syntax-typescript@npm:^7.7.2": - version: 7.28.6 - resolution: "@babel/plugin-syntax-typescript@npm:7.28.6" + version: 7.29.7 + resolution: "@babel/plugin-syntax-typescript@npm:7.29.7" dependencies: - "@babel/helper-plugin-utils": ^7.28.6 + "@babel/helper-plugin-utils": ^7.29.7 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 5c55f9c63bd36cf3d7e8db892294c8f85000f9c1526c3a1cc310d47d1e174f5c6f6605e5cc902c4636d885faba7a9f3d5e5edc6b35e4f3b1fd4c2d58d0304fa5 + checksum: ef454d2a7a6209dd4255361c072c94ab1293e7ad4b06e7e744d08bb308065d4d6544964eae9b2357c3b33d8d939f9e32d4aa95905bc464407cd8f7101dee4443 languageName: node linkType: hard @@ -571,676 +571,676 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-arrow-functions@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-arrow-functions@npm:7.27.1" +"@babel/plugin-transform-arrow-functions@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-arrow-functions@npm:7.29.7" dependencies: - "@babel/helper-plugin-utils": ^7.27.1 + "@babel/helper-plugin-utils": ^7.29.7 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 62c2cc0ae2093336b1aa1376741c5ed245c0987d9e4b4c5313da4a38155509a7098b5acce582b6781cc0699381420010da2e3086353344abe0a6a0ec38961eb7 + checksum: 0037fd7563c7c91cddb8ce104e270bc260190d29c7a297df65e4306471010b4343366de13fab4602cf8ee6c672d3b313b34a01b62f27a333cad16908c83368d8 languageName: node linkType: hard -"@babel/plugin-transform-async-generator-functions@npm:^7.29.0": - version: 7.29.0 - resolution: "@babel/plugin-transform-async-generator-functions@npm:7.29.0" +"@babel/plugin-transform-async-generator-functions@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-async-generator-functions@npm:7.29.7" dependencies: - "@babel/helper-plugin-utils": ^7.28.6 - "@babel/helper-remap-async-to-generator": ^7.27.1 - "@babel/traverse": ^7.29.0 + "@babel/helper-plugin-utils": ^7.29.7 + "@babel/helper-remap-async-to-generator": ^7.29.7 + "@babel/traverse": ^7.29.7 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: bd549b54283034dd3e2f6c4b41b99a0caba0ddc8e9418490a611136ddb01e62235f14b233fcc172902fd1d18eec6e029245d22212566ea5cb5e24c7450d6005d + checksum: d8239f43b4051b12cd7a5581367bd2b13ac26235da39d79f182999879f010124341ac500f480140b0961a62ec451a0a963b421c509f9c1a306c313f10fc60451 languageName: node linkType: hard -"@babel/plugin-transform-async-to-generator@npm:^7.28.6": - version: 7.28.6 - resolution: "@babel/plugin-transform-async-to-generator@npm:7.28.6" +"@babel/plugin-transform-async-to-generator@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-async-to-generator@npm:7.29.7" dependencies: - "@babel/helper-module-imports": ^7.28.6 - "@babel/helper-plugin-utils": ^7.28.6 - "@babel/helper-remap-async-to-generator": ^7.27.1 + "@babel/helper-module-imports": ^7.29.7 + "@babel/helper-plugin-utils": ^7.29.7 + "@babel/helper-remap-async-to-generator": ^7.29.7 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: bca5774263ec01dd2bf71c74bbaf7baa183bf03576636b7826c3346be70c8c8cb15cff549112f2983c36885131a0afde6c443591278c281f733ee17f455aa9b1 + checksum: e24db9c4c69121daab25883f9a96e6849fa664c78c6bbcfb77fe0a0c6ab29b81ba39e8497985367463d3a88deac3b5bbe15dd1c5d0e5dd492cfccf8efdd27452 languageName: node linkType: hard -"@babel/plugin-transform-block-scoped-functions@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.27.1" +"@babel/plugin-transform-block-scoped-functions@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.29.7" dependencies: - "@babel/helper-plugin-utils": ^7.27.1 + "@babel/helper-plugin-utils": ^7.29.7 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 7fb4988ca80cf1fc8345310d5edfe38e86b3a72a302675cdd09404d5064fe1d1fe1283ebe658ad2b71445ecef857bfb29a748064306b5f6c628e0084759c2201 + checksum: 24f9712ade98061cd22088709b86b8e3e19ea416dbe5a69ad504fc3f8f2179af5bdeb32fcb9c24fc861bef515e41ae5ef72cd909e0e42bb0cf15838c4e737149 languageName: node linkType: hard -"@babel/plugin-transform-block-scoping@npm:^7.28.6": - version: 7.28.6 - resolution: "@babel/plugin-transform-block-scoping@npm:7.28.6" +"@babel/plugin-transform-block-scoping@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-block-scoping@npm:7.29.7" dependencies: - "@babel/helper-plugin-utils": ^7.28.6 + "@babel/helper-plugin-utils": ^7.29.7 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: cb4f71ac4fc7b32c2e3cc167eb9e7a1a11562127d702e3b5093567750e9a4eb11a29ae5a917f62741bf9d5792bfe3022cbcdcc7bb927ddb6f627b6749a38c118 + checksum: a17c02f8dfcaf2c26c0c323aaa8e3a1616f2de3ea0a4947e16789bb64cb0f177deff388eb1390c100c82d7e6fecd4d583646bb9305fb3df3ca824b1bdbebdc8e languageName: node linkType: hard -"@babel/plugin-transform-class-properties@npm:^7.28.6": - version: 7.28.6 - resolution: "@babel/plugin-transform-class-properties@npm:7.28.6" +"@babel/plugin-transform-class-properties@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-class-properties@npm:7.29.7" dependencies: - "@babel/helper-create-class-features-plugin": ^7.28.6 - "@babel/helper-plugin-utils": ^7.28.6 + "@babel/helper-create-class-features-plugin": ^7.29.7 + "@babel/helper-plugin-utils": ^7.29.7 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 200f30d44b36a768fa3a8cf690db9e333996af2ad14d9fa1b4c91a427ed9302907873b219b4ce87517ca1014a810eb2e929a6a66be68473f72b546fc64d04fbc + checksum: 0cc5e7a882e29eead360f02ef79f6b2ec3b3813213b1513d8fdaa931d1d1361fccc92fbacc9b399e42495953d9d6fc722f283b5f3aa272fe016a0b5fe1e6a130 languageName: node linkType: hard -"@babel/plugin-transform-class-static-block@npm:^7.28.6": - version: 7.28.6 - resolution: "@babel/plugin-transform-class-static-block@npm:7.28.6" +"@babel/plugin-transform-class-static-block@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-class-static-block@npm:7.29.7" dependencies: - "@babel/helper-create-class-features-plugin": ^7.28.6 - "@babel/helper-plugin-utils": ^7.28.6 + "@babel/helper-create-class-features-plugin": ^7.29.7 + "@babel/helper-plugin-utils": ^7.29.7 peerDependencies: "@babel/core": ^7.12.0 - checksum: 3db326156f73a0c0d1e2ea4d73e082b9ace2f6a9c965db1c2e51f3a186751b8b91bafb184d05e046bf970b50ecfde1f74862dd895f9a5ea0fad328369d74cfc4 + checksum: fe94eb94d8417de753a26f06a3c50780cdfc3f07e10bcd09dde2fe61dcd9a2714b83b1b2d36733328a3ad09b02e84fa06197f757644ffbcca1673e87c64ecb76 languageName: node linkType: hard -"@babel/plugin-transform-classes@npm:^7.28.6": - version: 7.28.6 - resolution: "@babel/plugin-transform-classes@npm:7.28.6" +"@babel/plugin-transform-classes@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-classes@npm:7.29.7" dependencies: - "@babel/helper-annotate-as-pure": ^7.27.3 - "@babel/helper-compilation-targets": ^7.28.6 - "@babel/helper-globals": ^7.28.0 - "@babel/helper-plugin-utils": ^7.28.6 - "@babel/helper-replace-supers": ^7.28.6 - "@babel/traverse": ^7.28.6 + "@babel/helper-annotate-as-pure": ^7.29.7 + "@babel/helper-compilation-targets": ^7.29.7 + "@babel/helper-globals": ^7.29.7 + "@babel/helper-plugin-utils": ^7.29.7 + "@babel/helper-replace-supers": ^7.29.7 + "@babel/traverse": ^7.29.7 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: bddeefbfd1966272e5da6a0844d68369a0f43c286816c8b379dfd576cf835b8bc652089ef337b0334ff3ae6c9652d56d8332b78a7d29176534265c39856e4822 + checksum: cc45ff5b5b063339131cd701266af90506db8640e56494de0c78f882da6317f057951bf6507c5b48a0278cf5dad21691baf2af05e24b8c26b0725d677088edbf languageName: node linkType: hard -"@babel/plugin-transform-computed-properties@npm:^7.28.6": - version: 7.28.6 - resolution: "@babel/plugin-transform-computed-properties@npm:7.28.6" +"@babel/plugin-transform-computed-properties@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-computed-properties@npm:7.29.7" dependencies: - "@babel/helper-plugin-utils": ^7.28.6 - "@babel/template": ^7.28.6 + "@babel/helper-plugin-utils": ^7.29.7 + "@babel/template": ^7.29.7 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: fd1fcc55003a2584c7461bf214ae9e9fce370ad09339319e99e29e5e55a8a3bd485d10805b3d69636a738208761b3a5b0dafdd023534396be45a36409082b014 + checksum: ad945a48e6826c3b34f825e780ab33bf91e18c7924dd263e44bef8d8a6350636305b22af8f00793d3767482004651f4bfb9fed0c92f05c01b99ae80d79956e67 languageName: node linkType: hard -"@babel/plugin-transform-destructuring@npm:^7.28.5": - version: 7.28.5 - resolution: "@babel/plugin-transform-destructuring@npm:7.28.5" +"@babel/plugin-transform-destructuring@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-destructuring@npm:7.29.7" dependencies: - "@babel/helper-plugin-utils": ^7.27.1 - "@babel/traverse": ^7.28.5 + "@babel/helper-plugin-utils": ^7.29.7 + "@babel/traverse": ^7.29.7 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 74a06e55e715cfda0fdd8be53d2655d64dfdc28dffaede329d42548fd5b1449ad26a4ce43a24c3fd277b96f8b2010c7b3915afa8297911cda740cc5cc3a81f38 + checksum: 5f56c030beec2ae1640909eb5213fc655f0062046b28699d049cc8b00fb7d9aa1c5ba1dc1c7ee41c8bae97be778066f1f9ea2ecd8fff872a1e8f10fd3addf18c languageName: node linkType: hard -"@babel/plugin-transform-dotall-regex@npm:^7.28.6": - version: 7.28.6 - resolution: "@babel/plugin-transform-dotall-regex@npm:7.28.6" +"@babel/plugin-transform-dotall-regex@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-dotall-regex@npm:7.29.7" dependencies: - "@babel/helper-create-regexp-features-plugin": ^7.28.5 - "@babel/helper-plugin-utils": ^7.28.6 + "@babel/helper-create-regexp-features-plugin": ^7.29.7 + "@babel/helper-plugin-utils": ^7.29.7 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 866ffbbdee77fa955063b37c75593db8dbbe46b1ebb64cc788ea437e3a9aa41cb7b9afcee617c678a32b6705baa0892ec8e5d4b8af3bbb0ab1b254514ccdbd37 + checksum: 537df0fb915a420df715a2f4da16ab6c08ce2370521edef9a8a59af23a533314109f6abd836c5e127c8cea4a46bc4a05692670cf7ad64868c286075fa2d7848c languageName: node linkType: hard -"@babel/plugin-transform-duplicate-keys@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-duplicate-keys@npm:7.27.1" +"@babel/plugin-transform-duplicate-keys@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-duplicate-keys@npm:7.29.7" dependencies: - "@babel/helper-plugin-utils": ^7.27.1 + "@babel/helper-plugin-utils": ^7.29.7 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: ef2112d658338e3ff0827f39a53c0cfa211f1cbbe60363bca833a5269df389598ec965e7283600b46533c39cdca82307d0d69c0f518290ec5b00bb713044715b + checksum: 39bf312a798792e361d2afa9e900eb7d7fd853239a776912bafc5bb3799886374d54a0882d21517296086abdd3e5458405f6f3a7da5dcb493bc86c5a32576bab languageName: node linkType: hard -"@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:^7.29.0": - version: 7.29.0 - resolution: "@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:7.29.0" +"@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:7.29.7" dependencies: - "@babel/helper-create-regexp-features-plugin": ^7.28.5 - "@babel/helper-plugin-utils": ^7.28.6 + "@babel/helper-create-regexp-features-plugin": ^7.29.7 + "@babel/helper-plugin-utils": ^7.29.7 peerDependencies: "@babel/core": ^7.0.0 - checksum: 7fa7b773259a578c9e01c80946f75ecc074520064aa7a87a65db06c7df70766e2fa6be78cda55fa9418a14e30b2b9d595484a46db48074d495d9f877a4276065 + checksum: fa7fcdbede10dbc06fe4f861e90286f7f599d3f3c43e69445e63c3f48422fd34db0b0dd9bbebccd1dbd04a50fca4ab22fd82d28e7bc8fe9b6d5790c9e694d380 languageName: node linkType: hard -"@babel/plugin-transform-dynamic-import@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-dynamic-import@npm:7.27.1" +"@babel/plugin-transform-dynamic-import@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-dynamic-import@npm:7.29.7" dependencies: - "@babel/helper-plugin-utils": ^7.27.1 + "@babel/helper-plugin-utils": ^7.29.7 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 7a9fbc8d17148b7f11a1d1ca3990d2c2cd44bd08a45dcaf14f20a017721235b9044b20e6168b6940282bb1b48fb78e6afbdfb9dd9d82fde614e15baa7d579932 + checksum: 58c035e6b9103c225f3d181671d9b3dec140351c3ecf12bc3a66b8653be41161f20135ada00a703244c2bfc9dd57b62fc54f77f2f6fe43df6c598358f377e6fa languageName: node linkType: hard -"@babel/plugin-transform-explicit-resource-management@npm:^7.28.6": - version: 7.28.6 - resolution: "@babel/plugin-transform-explicit-resource-management@npm:7.28.6" +"@babel/plugin-transform-explicit-resource-management@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-explicit-resource-management@npm:7.29.7" dependencies: - "@babel/helper-plugin-utils": ^7.28.6 - "@babel/plugin-transform-destructuring": ^7.28.5 + "@babel/helper-plugin-utils": ^7.29.7 + "@babel/plugin-transform-destructuring": ^7.29.7 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: be65403694d360793b1b626ac0dfa7c120cfe4dd1c95a81a30b6e7426dc317643e60a486d642e318a4d3d9a7193e72fdb36e2ec140c25c773dcb9c3b1e2854ef + checksum: 28ff30f46d97b91ba5f57ae63499a489fa1ec3dcc427ec851c2aacb34106b573c58eba4be000bc4c28223ba767cfadc008cdfa9f833ed12996e2f014e0a06373 languageName: node linkType: hard -"@babel/plugin-transform-exponentiation-operator@npm:^7.28.6": - version: 7.28.6 - resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.28.6" +"@babel/plugin-transform-exponentiation-operator@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.29.7" dependencies: - "@babel/helper-plugin-utils": ^7.28.6 + "@babel/helper-plugin-utils": ^7.29.7 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: b232152499370435c7cd4bf3321f58e189150e35ca3722ea16533d33434b97294df1342f5499671ec48e62b71c34cdea0ca8cf317ad12594a10f6fc670315e62 + checksum: bf0366d77d318d4b6eae6880217e3fdfcb6e5f7913f658583de9537fd4fca1f05f9ac4083d8f946a84eaefec068cbba948be90f4a39484c85bc69082def3162d languageName: node linkType: hard -"@babel/plugin-transform-export-namespace-from@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-export-namespace-from@npm:7.27.1" +"@babel/plugin-transform-export-namespace-from@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-export-namespace-from@npm:7.29.7" dependencies: - "@babel/helper-plugin-utils": ^7.27.1 + "@babel/helper-plugin-utils": ^7.29.7 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 85082923eca317094f08f4953d8ea2a6558b3117826c0b740676983902b7236df1f4213ad844cb38c2dae104753dbe8f1cc51f01567835d476d32f5f544a4385 + checksum: d157d62b144d1626b801e557dcede914db33e78f3f4230f487e5709c21efd40648f7f3a47a44a7fce694ad9cd117d2ac3ed796da0102275fd02b4fdb317d906b languageName: node linkType: hard -"@babel/plugin-transform-for-of@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-for-of@npm:7.27.1" +"@babel/plugin-transform-for-of@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-for-of@npm:7.29.7" dependencies: - "@babel/helper-plugin-utils": ^7.27.1 - "@babel/helper-skip-transparent-expression-wrappers": ^7.27.1 + "@babel/helper-plugin-utils": ^7.29.7 + "@babel/helper-skip-transparent-expression-wrappers": ^7.29.7 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: c9224e08de5d80b2c834383d4359aa9e519db434291711434dd996a4f86b7b664ad67b45d65459b7ec11fa582e3e11a3c769b8a8ca71594bdd4e2f0503f84126 + checksum: 7641d5eb4ef268df2f7d8736691a565646f42c55fdc2c86a65ed027276415a19ac6cafab2fc386621894c5d3202baacc9f222424bda37fa2ab9a20d7fec921f9 languageName: node linkType: hard -"@babel/plugin-transform-function-name@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-function-name@npm:7.27.1" +"@babel/plugin-transform-function-name@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-function-name@npm:7.29.7" dependencies: - "@babel/helper-compilation-targets": ^7.27.1 - "@babel/helper-plugin-utils": ^7.27.1 - "@babel/traverse": ^7.27.1 + "@babel/helper-compilation-targets": ^7.29.7 + "@babel/helper-plugin-utils": ^7.29.7 + "@babel/traverse": ^7.29.7 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 26a2a183c3c52a96495967420a64afc5a09f743a230272a131668abf23001e393afa6371e6f8e6c60f4182bea210ed31d1caf866452d91009c1daac345a52f23 + checksum: 87a6329442ef8085fbc160e659f64562f0f5b63be65403b8bbb8e18c67dd7d03b82fb2e1371fdde734e2f05b13a72f88ed8d8cb03807150063954b9604d082cf languageName: node linkType: hard -"@babel/plugin-transform-json-strings@npm:^7.28.6": - version: 7.28.6 - resolution: "@babel/plugin-transform-json-strings@npm:7.28.6" +"@babel/plugin-transform-json-strings@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-json-strings@npm:7.29.7" dependencies: - "@babel/helper-plugin-utils": ^7.28.6 + "@babel/helper-plugin-utils": ^7.29.7 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 69d82a1a0a72ed6e6f7969e09cf330516599d79b2b4e680e9dd3c57616a8c6af049b5103456e370ab56642815e80e46ed88bb81e9e059304a85c5fe0bf137c29 + checksum: 3af97e144e0d986522f01803ffa0f90741530d1610952ac6a92511c356ecbf5616092ab1d21401d25bc7cb8ac90d73c2c7ff35e41766df2708c29d7e588cfa7f languageName: node linkType: hard -"@babel/plugin-transform-literals@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-literals@npm:7.27.1" +"@babel/plugin-transform-literals@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-literals@npm:7.29.7" dependencies: - "@babel/helper-plugin-utils": ^7.27.1 + "@babel/helper-plugin-utils": ^7.29.7 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 0a76d12ab19f32dd139964aea7da48cecdb7de0b75e207e576f0f700121fe92367d788f328bf4fb44b8261a0f605c97b44e62ae61cddbb67b14e94c88b411f95 + checksum: aadb2b3fe85186c274a07d5486aeef9496ce374e534fbc7b54f77985c75513422d9acec4c532f67b027e939644d93a69c00505b8909e259184c3ee5c5c62c46b languageName: node linkType: hard -"@babel/plugin-transform-logical-assignment-operators@npm:^7.28.6": - version: 7.28.6 - resolution: "@babel/plugin-transform-logical-assignment-operators@npm:7.28.6" +"@babel/plugin-transform-logical-assignment-operators@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-logical-assignment-operators@npm:7.29.7" dependencies: - "@babel/helper-plugin-utils": ^7.28.6 + "@babel/helper-plugin-utils": ^7.29.7 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 36095d5d1cfc680e95298b5389a16016da800ae3379b130dabf557e94652c47b06610407e9fa44aaa03e9b0a5aa7b4b93348123985d44a45e369bf5f3497d149 + checksum: 374d83dfbb2de5e339d2966487c0f0d766cd67422addbd0172104ff2788b60317858172a7ab2cb6ee7d5bffad72ce07120fec009a2ef3b35551013fce4908686 languageName: node linkType: hard -"@babel/plugin-transform-member-expression-literals@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-member-expression-literals@npm:7.27.1" +"@babel/plugin-transform-member-expression-literals@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-member-expression-literals@npm:7.29.7" dependencies: - "@babel/helper-plugin-utils": ^7.27.1 + "@babel/helper-plugin-utils": ^7.29.7 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 804121430a6dcd431e6ffe99c6d1fbbc44b43478113b79c677629e7f877b4f78a06b69c6bfb2747fd84ee91879fe2eb32e4620b53124603086cf5b727593ebe8 + checksum: 698cbc9500e8caea1d36b48248112d60e023cea9d0772ac1ecf1639b38b662d9352043747dbe617fe1f6f17709bc17601534f7bf2f22c791fb86f7e2ab43e39f languageName: node linkType: hard -"@babel/plugin-transform-modules-amd@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-modules-amd@npm:7.27.1" +"@babel/plugin-transform-modules-amd@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-modules-amd@npm:7.29.7" dependencies: - "@babel/helper-module-transforms": ^7.27.1 - "@babel/helper-plugin-utils": ^7.27.1 + "@babel/helper-module-transforms": ^7.29.7 + "@babel/helper-plugin-utils": ^7.29.7 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 8bb36d448e438d5d30f4faf19120e8c18aa87730269e65d805bf6032824d175ed738057cc392c2c8a650028f1ae0f346cad8d6b723f31a037b586e2092a7be18 + checksum: 6fce7d329230e3be0389b1135b6ffa1224c3f060294409137c5bb7f26d81ac47b6d91651deaef93b17f5e6f99e5ca7edb80b6b855b562b65ad00b3d7f717da40 languageName: node linkType: hard -"@babel/plugin-transform-modules-commonjs@npm:^7.28.6": - version: 7.28.6 - resolution: "@babel/plugin-transform-modules-commonjs@npm:7.28.6" +"@babel/plugin-transform-modules-commonjs@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-modules-commonjs@npm:7.29.7" dependencies: - "@babel/helper-module-transforms": ^7.28.6 - "@babel/helper-plugin-utils": ^7.28.6 + "@babel/helper-module-transforms": ^7.29.7 + "@babel/helper-plugin-utils": ^7.29.7 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: b48cab26fda72894c7002a9c783befbc8a643d827c52bdcc5adf83e418ca93224a15aaf7ed2d1e6284627be55913696cfa2119242686cfa77a473bf79314df26 + checksum: e9d8102deca4c2f06507a8d071ca0e161f01cec0e108151142edb39995bd830e312d55d21fac0ceb390ac79a1fee5fb768b719413b8fc5adda5f06ecd8845cd6 languageName: node linkType: hard -"@babel/plugin-transform-modules-systemjs@npm:^7.29.4": - version: 7.29.4 - resolution: "@babel/plugin-transform-modules-systemjs@npm:7.29.4" +"@babel/plugin-transform-modules-systemjs@npm:^7.29.7": + version: 7.29.8 + resolution: "@babel/plugin-transform-modules-systemjs@npm:7.29.8" dependencies: - "@babel/helper-module-transforms": ^7.28.6 - "@babel/helper-plugin-utils": ^7.28.6 - "@babel/helper-validator-identifier": ^7.28.5 - "@babel/traverse": ^7.29.0 + "@babel/helper-module-transforms": ^7.29.7 + "@babel/helper-plugin-utils": ^7.29.7 + "@babel/helper-validator-identifier": ^7.29.7 + "@babel/traverse": ^7.29.8 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: d9cbb30669077756048af990a08ad1ba149785c336024affa49848dc4ffc5948bfaaf52d90bbec711a1f320e19e2c60182dbeff40d81cc5b9a09a87919abe07d + checksum: c0b1048a02c82d8aaa76ceb8b957ffe3e10a0d62896bb80efbdc10fd418636cf32769fc937cb75d69b8affd314d54f49d5da770658d182a280501d96bc97eaa4 languageName: node linkType: hard -"@babel/plugin-transform-modules-umd@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-modules-umd@npm:7.27.1" +"@babel/plugin-transform-modules-umd@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-modules-umd@npm:7.29.7" dependencies: - "@babel/helper-module-transforms": ^7.27.1 - "@babel/helper-plugin-utils": ^7.27.1 + "@babel/helper-module-transforms": ^7.29.7 + "@babel/helper-plugin-utils": ^7.29.7 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: b007dd89231f2eeccf1c71a85629bcb692573303977a4b1c5f19a835ea6b5142c18ef07849bc6d752b874a11bc0ddf3c67468b77c8ee8310290b688a4f01ef31 + checksum: 589f5c30a906587d039e2f3bf8267652be272d93d3056667b479f450318c91e55d1674631239ac25e0e9591f4abb7ff225bb0fc8af58e5bfb703d3385ec02082 languageName: node linkType: hard -"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.29.0": - version: 7.29.0 - resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.29.0" +"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.29.7" dependencies: - "@babel/helper-create-regexp-features-plugin": ^7.28.5 - "@babel/helper-plugin-utils": ^7.28.6 + "@babel/helper-create-regexp-features-plugin": ^7.29.7 + "@babel/helper-plugin-utils": ^7.29.7 peerDependencies: "@babel/core": ^7.0.0 - checksum: ed8c27699ca82a6c01cbfd39f3de16b90cfea4f8146a358057f76df290d308a66a8bd2e6734e6a87f68c18576e15d2d70548a84cd474d26fdf256c3f5ae44d8c + checksum: 3a481be133e9ca5d25570b5ed62daae323a51663bacf30fed0d1980e912047ebd34d6326533182db625fc0bbd086d1a23ed68ebb6108e7a68a8650c228afc084 languageName: node linkType: hard -"@babel/plugin-transform-new-target@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-new-target@npm:7.27.1" +"@babel/plugin-transform-new-target@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-new-target@npm:7.29.7" dependencies: - "@babel/helper-plugin-utils": ^7.27.1 + "@babel/helper-plugin-utils": ^7.29.7 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 32c8078d843bda001244509442d68fd3af088d7348ba883f45c262b2c817a27ffc553b0d78e7f7a763271b2ece7fac56151baad7a91fb21f5bb1d2f38e5acad7 + checksum: 35b4c295348d17c9c00cf772663a6e705fd48f5a9a5378d7b548ab4cb71d5f183ca9446d2a86c77f16b037cfe64c621c00e93219aefab43bfd39d8dd2c8b56bb languageName: node linkType: hard -"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.28.6": - version: 7.28.6 - resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.28.6" +"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.29.7" dependencies: - "@babel/helper-plugin-utils": ^7.28.6 + "@babel/helper-plugin-utils": ^7.29.7 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 1cdd3ca48a8fffa13dbb9949748d3dd2183cf24110cd55d702da4549205611fc12978b49886be809ec1929ff6304ac4eecc747a33dca2484f9dc655928ab5a89 + checksum: f486e737ddcec3a88e2e0dc004c28e15156dd255f3b2d944903f3d75666257c96ee7ebf57d80d2cf42eda2bee497db8134a26d657ddc3defcc34b9583ecbd119 languageName: node linkType: hard -"@babel/plugin-transform-numeric-separator@npm:^7.28.6": - version: 7.28.6 - resolution: "@babel/plugin-transform-numeric-separator@npm:7.28.6" +"@babel/plugin-transform-numeric-separator@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-numeric-separator@npm:7.29.7" dependencies: - "@babel/helper-plugin-utils": ^7.28.6 + "@babel/helper-plugin-utils": ^7.29.7 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 4b5ca60e481e22f0842761a3badca17376a230b5a7e5482338604eb95836c2d0c9c9bde53bdc5c2de1c6a12ae6c12de7464d098bf74b0943f85905ca358f0b68 + checksum: 6177df9e1a8a190bf4a360f8cbcfa614b70ededba61201bd0a38929770b6d00a8a54a19f8fda82cf60688d9bab938427a9fe5dae0a9e8cd8ed79c88a3b2dbcd7 languageName: node linkType: hard -"@babel/plugin-transform-object-rest-spread@npm:^7.28.6": - version: 7.28.6 - resolution: "@babel/plugin-transform-object-rest-spread@npm:7.28.6" +"@babel/plugin-transform-object-rest-spread@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-object-rest-spread@npm:7.29.7" dependencies: - "@babel/helper-compilation-targets": ^7.28.6 - "@babel/helper-plugin-utils": ^7.28.6 - "@babel/plugin-transform-destructuring": ^7.28.5 - "@babel/plugin-transform-parameters": ^7.27.7 - "@babel/traverse": ^7.28.6 + "@babel/helper-compilation-targets": ^7.29.7 + "@babel/helper-plugin-utils": ^7.29.7 + "@babel/plugin-transform-destructuring": ^7.29.7 + "@babel/plugin-transform-parameters": ^7.29.7 + "@babel/traverse": ^7.29.7 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: ab85b1321f86db91aba22ad9d8e6ab65448c983214998012229f5302468527d27b908ad6b14755991c317e35d2f54ec8459a2a094a755999651fe0ac9bd2e9a6 + checksum: e09bcc8800cf374962ab98bce5ccceb900266278a3a1e4a68391abec440fdf7371c8059f9091f407a1b167f3acf624c34c9b92188674fdcb7797e3f02509216b languageName: node linkType: hard -"@babel/plugin-transform-object-super@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-object-super@npm:7.27.1" +"@babel/plugin-transform-object-super@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-object-super@npm:7.29.7" dependencies: - "@babel/helper-plugin-utils": ^7.27.1 - "@babel/helper-replace-supers": ^7.27.1 + "@babel/helper-plugin-utils": ^7.29.7 + "@babel/helper-replace-supers": ^7.29.7 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 46b819cb9a6cd3cfefe42d07875fee414f18d5e66040366ae856116db560ad4e16f3899a0a7fddd6773e0d1458444f94b208b67c0e3b6977a27ea17a5c13dbf6 + checksum: 65ed8719563572c4917f19b32c476c9a9062fccf89bfd44a418bb734cd866034d66049499cace58e2bb4589da779983f534078bd989333f36268b9da08d4b33c languageName: node linkType: hard -"@babel/plugin-transform-optional-catch-binding@npm:^7.28.6": - version: 7.28.6 - resolution: "@babel/plugin-transform-optional-catch-binding@npm:7.28.6" +"@babel/plugin-transform-optional-catch-binding@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-optional-catch-binding@npm:7.29.7" dependencies: - "@babel/helper-plugin-utils": ^7.28.6 + "@babel/helper-plugin-utils": ^7.29.7 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: ee24a17defec056eb9ef01824d7e4a1f65d531af6b4b79acfd0bcb95ce0b47926e80c61897f36f8c01ce733b069c9acdb1c9ce5ec07a729d0dbf9e8d859fe992 + checksum: 4b6e41e1dc5dbd02cfe0b96214130cca5fd3bd879551fc82188bb3d9a2782af9bab50f2140af9ff946a8ee23b9478ee42810641fb99aa3e033884d7c6103d138 languageName: node linkType: hard -"@babel/plugin-transform-optional-chaining@npm:^7.27.1, @babel/plugin-transform-optional-chaining@npm:^7.28.6": - version: 7.28.6 - resolution: "@babel/plugin-transform-optional-chaining@npm:7.28.6" +"@babel/plugin-transform-optional-chaining@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-optional-chaining@npm:7.29.7" dependencies: - "@babel/helper-plugin-utils": ^7.28.6 - "@babel/helper-skip-transparent-expression-wrappers": ^7.27.1 + "@babel/helper-plugin-utils": ^7.29.7 + "@babel/helper-skip-transparent-expression-wrappers": ^7.29.7 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: a40dbe709671a436bb69e14524805e10af81b44c422e4fc5dc905cb91adb92d650c9d266c3c2c0da0d410dea89ce784995d4118b7ab6a7544f4923e61590b386 + checksum: 6255d259bb0143f7938278ebb382aba22311c260919d3f08476509c76335a111b479b3ad7363e86de064f87af85ca4d7f03f08195f0646c525ea70fb587c0a2d languageName: node linkType: hard -"@babel/plugin-transform-parameters@npm:^7.27.7": - version: 7.27.7 - resolution: "@babel/plugin-transform-parameters@npm:7.27.7" +"@babel/plugin-transform-parameters@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-parameters@npm:7.29.7" dependencies: - "@babel/helper-plugin-utils": ^7.27.1 + "@babel/helper-plugin-utils": ^7.29.7 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: d51f195e1d6ac5d9fce583e9a70a5bfe403e62386e5eb06db9fbc6533f895a98ff7e7c3dcaa311a8e6fa7a9794466e81cdabcba6af9f59d787fb767bfe7868b4 + checksum: 615cdd72dc2d08051e6d4e7f0539661e40029257a047ce15c5da5f4394a372a53f6f6d6aece72ad15ccf0590e448c9a742f8576564321c9dcc16262ec6197c9b languageName: node linkType: hard -"@babel/plugin-transform-private-methods@npm:^7.28.6": - version: 7.28.6 - resolution: "@babel/plugin-transform-private-methods@npm:7.28.6" +"@babel/plugin-transform-private-methods@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-private-methods@npm:7.29.7" dependencies: - "@babel/helper-create-class-features-plugin": ^7.28.6 - "@babel/helper-plugin-utils": ^7.28.6 + "@babel/helper-create-class-features-plugin": ^7.29.7 + "@babel/helper-plugin-utils": ^7.29.7 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: b80179b28f6a165674d0b0d6c6349b13a01dd282b18f56933423c0a33c23fc0626c8f011f859fc20737d021fe966eb8474a5233e4596401482e9ee7fb00e2aa2 + checksum: 5055af2b86a95acbf6bd1a14256edf439ba4f214707f6aa9f6a29d1168c882e5709853c4ff225f55575f88d3a58effbed952d25c5cd70f93785106541f992cdd languageName: node linkType: hard -"@babel/plugin-transform-private-property-in-object@npm:^7.28.6": - version: 7.28.6 - resolution: "@babel/plugin-transform-private-property-in-object@npm:7.28.6" +"@babel/plugin-transform-private-property-in-object@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-private-property-in-object@npm:7.29.7" dependencies: - "@babel/helper-annotate-as-pure": ^7.27.3 - "@babel/helper-create-class-features-plugin": ^7.28.6 - "@babel/helper-plugin-utils": ^7.28.6 + "@babel/helper-annotate-as-pure": ^7.29.7 + "@babel/helper-create-class-features-plugin": ^7.29.7 + "@babel/helper-plugin-utils": ^7.29.7 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 32a935e44872e90607851be5bc2cd3365f29c0e0e3853ef3e2b6a7da4d08c647379bf2f2dc4f14a9064d7d72e2cf75da85e55baeeec1ffc25cf6088fe24422f7 + checksum: 068ff9e35e103b269c707d16f50384646295a6613c5abfdebea24f0430bb18ea4ef40a299e1dcc915bb22f65e2217c3428c20bcd4a3fe5f8ac60ec212835646d languageName: node linkType: hard -"@babel/plugin-transform-property-literals@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-property-literals@npm:7.27.1" +"@babel/plugin-transform-property-literals@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-property-literals@npm:7.29.7" dependencies: - "@babel/helper-plugin-utils": ^7.27.1 + "@babel/helper-plugin-utils": ^7.29.7 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 7caec27d5ed8870895c9faf4f71def72745d69da0d8e77903146a4e135fd7bed5778f5f9cebb36c5fba86338e6194dd67a08c033fc84b4299b7eceab6d9630cb + checksum: 7e7a557df8feb50cd6913158c6d12df0e8a9da58e3f73e7cbfc08af399055b03e77a22b12c73d5bf6bb49239617d6189ccb6021ab03f0225bc54f9c74a880b62 languageName: node linkType: hard -"@babel/plugin-transform-regenerator@npm:^7.29.0": - version: 7.29.0 - resolution: "@babel/plugin-transform-regenerator@npm:7.29.0" +"@babel/plugin-transform-regenerator@npm:^7.29.7": + version: 7.29.8 + resolution: "@babel/plugin-transform-regenerator@npm:7.29.8" dependencies: - "@babel/helper-plugin-utils": ^7.28.6 + "@babel/helper-plugin-utils": ^7.29.7 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: f48bc814f11239f2bfe010a6e29d5ac2443e7b1d8004e7c022effa111b743491127acf8644cfef475edb86b91f123829585867bc13762652aabd9b85ed6ce61e + checksum: 18ce75d379e276764d1283002d0b7fffc02f487269ddc425c19d059f3f6e0a9f57ad4bdd20c1ddf99b9441f12357a1189c6927c1b19348e10aa5b7216edd9936 languageName: node linkType: hard -"@babel/plugin-transform-regexp-modifiers@npm:^7.28.6": - version: 7.28.6 - resolution: "@babel/plugin-transform-regexp-modifiers@npm:7.28.6" +"@babel/plugin-transform-regexp-modifiers@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-regexp-modifiers@npm:7.29.7" dependencies: - "@babel/helper-create-regexp-features-plugin": ^7.28.5 - "@babel/helper-plugin-utils": ^7.28.6 + "@babel/helper-create-regexp-features-plugin": ^7.29.7 + "@babel/helper-plugin-utils": ^7.29.7 peerDependencies: "@babel/core": ^7.0.0 - checksum: 5aacc570034c085afa0165137bb9a04cd4299b86eb9092933a96dcc1132c8f591d9d534419988f5f762b2f70d43a3c719a6b8fa05fdd3b2b1820d01cf85500da + checksum: bfbc6b898ace99b8412eb6e902b90856188c692e69672d42d48c5e22a5bf9b0d15d35424fda8501bfb06ba0504acc5f1b9e13eacaba232aa58af74472d6068dc languageName: node linkType: hard -"@babel/plugin-transform-reserved-words@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-reserved-words@npm:7.27.1" +"@babel/plugin-transform-reserved-words@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-reserved-words@npm:7.29.7" dependencies: - "@babel/helper-plugin-utils": ^7.27.1 + "@babel/helper-plugin-utils": ^7.29.7 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: dea0b66742d2863b369c06c053e11e15ba785892ea19cccf7aef3c1bdaa38b6ab082e19984c5ea7810d275d9445c5400fcc385ad71ce707ed9256fadb102af3b + checksum: ffd7f86ddce36c6ded2dd9218f81be8cbae35b1ed01100ac0a98623bd0a76c059188b70953ab5accae8f8430451e8ed4779d533ac5e35c523f5004a981208b7c languageName: node linkType: hard -"@babel/plugin-transform-shorthand-properties@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-shorthand-properties@npm:7.27.1" +"@babel/plugin-transform-shorthand-properties@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-shorthand-properties@npm:7.29.7" dependencies: - "@babel/helper-plugin-utils": ^7.27.1 + "@babel/helper-plugin-utils": ^7.29.7 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: fbba6e2aef0b69681acb68202aa249c0598e470cc0853d7ff5bd0171fd6a7ec31d77cfabcce9df6360fc8349eded7e4a65218c32551bd3fc0caaa1ac899ac6d4 + checksum: c57ef27853f334a6147da9aa00f8a8f4c3a1c217eb2efa73cba2e118edda10754fa23cec2c0c7f7408279ad28fef92c1f663dfec137a7503813331569c3e02f9 languageName: node linkType: hard -"@babel/plugin-transform-spread@npm:^7.28.6": - version: 7.28.6 - resolution: "@babel/plugin-transform-spread@npm:7.28.6" +"@babel/plugin-transform-spread@npm:^7.29.7": + version: 7.29.8 + resolution: "@babel/plugin-transform-spread@npm:7.29.8" dependencies: - "@babel/helper-plugin-utils": ^7.28.6 - "@babel/helper-skip-transparent-expression-wrappers": ^7.27.1 + "@babel/helper-plugin-utils": ^7.29.7 + "@babel/helper-skip-transparent-expression-wrappers": ^7.29.7 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: e4782578904df68f7d2b3e865f20701c71d6aba0027c4794c1dc08a2f805a12892a078dab483714552398a689ad4ff6786cdf4e088b073452aee7db67e37a09c + checksum: 7f5951150b5c92b1e5e244e270bf680bcfaaaf4651c89c6658da489ab188c9b71273ebd4478659ad5175342e513f7197eba8a35241c82a5162f5897b6d35f881 languageName: node linkType: hard -"@babel/plugin-transform-sticky-regex@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-sticky-regex@npm:7.27.1" +"@babel/plugin-transform-sticky-regex@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-sticky-regex@npm:7.29.7" dependencies: - "@babel/helper-plugin-utils": ^7.27.1 + "@babel/helper-plugin-utils": ^7.29.7 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: e1414a502efba92c7974681767e365a8cda6c5e9e5f33472a9eaa0ce2e75cea0a9bef881ff8dda37c7810ad902f98d3c00ead92a3ac3b73a79d011df85b5a189 + checksum: 16b570c0270a59c2a29b2118c00e463882e9dda49b51a17dde3ae6b2886995d49f4bf2161a4c743ad1bca39d2aeb3ac963400e095682e105c7f751e6a2156c28 languageName: node linkType: hard -"@babel/plugin-transform-template-literals@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-template-literals@npm:7.27.1" +"@babel/plugin-transform-template-literals@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-template-literals@npm:7.29.7" dependencies: - "@babel/helper-plugin-utils": ^7.27.1 + "@babel/helper-plugin-utils": ^7.29.7 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 93aad782503b691faef7c0893372d5243df3219b07f1f22cfc32c104af6a2e7acd6102c128439eab15336d048f1b214ca134b87b0630d8cd568bf447f78b25ce + checksum: d1014dab020f0f802089de17bba82d929eda6ac87fde5f58fb9763885b8d645ce63fc1df97055c06a12d95a8788334a93b559fcaf1da6d7777a191e5f9c5646e languageName: node linkType: hard -"@babel/plugin-transform-typeof-symbol@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-typeof-symbol@npm:7.27.1" +"@babel/plugin-transform-typeof-symbol@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-typeof-symbol@npm:7.29.7" dependencies: - "@babel/helper-plugin-utils": ^7.27.1 + "@babel/helper-plugin-utils": ^7.29.7 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: ed8048c8de72c60969a64cf2273cc6d9275d8fa8db9bd25a1268273a00fb9cbd79931140311411bda1443aa56cb3961fb911d1795abacde7f0482f1d8fdf0356 + checksum: 90c2308f97c4e3773b7d2010b962ce6122bd9e1163f0caf7bb45819342f547a5a41d36c73d9a828ad89ce2072e2613ea867d28ad59eb440d9e22196438437d02 languageName: node linkType: hard -"@babel/plugin-transform-unicode-escapes@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-unicode-escapes@npm:7.27.1" +"@babel/plugin-transform-unicode-escapes@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-unicode-escapes@npm:7.29.7" dependencies: - "@babel/helper-plugin-utils": ^7.27.1 + "@babel/helper-plugin-utils": ^7.29.7 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: d817154bc10758ddd85b716e0bc1af1a1091e088400289ab6b78a1a4d609907ce3d2f1fd51a6fd0e0c8ecbb5f8e3aab4957e0747776d132d2379e85c3ef0520a + checksum: cf337bf93a2e76aa82acb60d8a8a567225744cf7f42ffa4dde4c177aef54250f4067db38b8ab2c26f20cf2a589822242891ba8b91739a705f618bf6a4eeca7ff languageName: node linkType: hard -"@babel/plugin-transform-unicode-property-regex@npm:^7.28.6": - version: 7.28.6 - resolution: "@babel/plugin-transform-unicode-property-regex@npm:7.28.6" +"@babel/plugin-transform-unicode-property-regex@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-unicode-property-regex@npm:7.29.7" dependencies: - "@babel/helper-create-regexp-features-plugin": ^7.28.5 - "@babel/helper-plugin-utils": ^7.28.6 + "@babel/helper-create-regexp-features-plugin": ^7.29.7 + "@babel/helper-plugin-utils": ^7.29.7 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: d14e8c51aa73f592575c1543400fd67d96df6410d75c9dc10dd640fd7eecb37366a2f2368bbdd7529842532eda4af181c921bda95146c6d373c64ea59c6e9991 + checksum: 03ee0b5d27eee08ba71bc09e919eb648094123985b7adc7dc875e4172100596a47ab68337abf6814cbd3140c6552cf1044135eb0ec1ec78345e1270e5e6aabba languageName: node linkType: hard -"@babel/plugin-transform-unicode-regex@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-unicode-regex@npm:7.27.1" +"@babel/plugin-transform-unicode-regex@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-unicode-regex@npm:7.29.7" dependencies: - "@babel/helper-create-regexp-features-plugin": ^7.27.1 - "@babel/helper-plugin-utils": ^7.27.1 + "@babel/helper-create-regexp-features-plugin": ^7.29.7 + "@babel/helper-plugin-utils": ^7.29.7 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: a34d89a2b75fb78e66d97c3dc90d4877f7e31f43316b52176f95a5dee20e9bb56ecf158eafc42a001676ddf7b393d9e67650bad6b32f5405780f25fb83cd68e3 + checksum: 1ade0672ae5bbbf2ec1ea0a8de1b5d804ae414283215620097ab21cf7f05dae8916f5b0548a18c6f080ec17135018f5edd2d38f8fa9ca052af570cab5c712786 languageName: node linkType: hard -"@babel/plugin-transform-unicode-sets-regex@npm:^7.28.6": - version: 7.28.6 - resolution: "@babel/plugin-transform-unicode-sets-regex@npm:7.28.6" +"@babel/plugin-transform-unicode-sets-regex@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-unicode-sets-regex@npm:7.29.7" dependencies: - "@babel/helper-create-regexp-features-plugin": ^7.28.5 - "@babel/helper-plugin-utils": ^7.28.6 + "@babel/helper-create-regexp-features-plugin": ^7.29.7 + "@babel/helper-plugin-utils": ^7.29.7 peerDependencies: "@babel/core": ^7.0.0 - checksum: 423971fe2eef9d18782b1c30f5f42613ee510e5b9c08760c5538a0997b36c34495acce261e0e37a27831f81330359230bd1f33c2e1822de70241002b45b7d68e + checksum: 680c22e2a63bffbf6798b0c2f599b06beb7ea4d29ee37a56c9192014143d396c479b12783d9c343e107fa491aeeb65b1ca774fd76825ffb306eef7fb5e7b4b2c languageName: node linkType: hard "@babel/preset-env@npm:^7.10.2": - version: 7.29.5 - resolution: "@babel/preset-env@npm:7.29.5" - dependencies: - "@babel/compat-data": ^7.29.3 - "@babel/helper-compilation-targets": ^7.28.6 - "@babel/helper-plugin-utils": ^7.28.6 - "@babel/helper-validator-option": ^7.27.1 - "@babel/plugin-bugfix-firefox-class-in-computed-class-key": ^7.28.5 - "@babel/plugin-bugfix-safari-class-field-initializer-scope": ^7.27.1 - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": ^7.27.1 - "@babel/plugin-bugfix-safari-rest-destructuring-rhs-array": ^7.29.3 - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": ^7.27.1 - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": ^7.28.6 + version: 7.29.7 + resolution: "@babel/preset-env@npm:7.29.7" + dependencies: + "@babel/compat-data": ^7.29.7 + "@babel/helper-compilation-targets": ^7.29.7 + "@babel/helper-plugin-utils": ^7.29.7 + "@babel/helper-validator-option": ^7.29.7 + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": ^7.29.7 + "@babel/plugin-bugfix-safari-class-field-initializer-scope": ^7.29.7 + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": ^7.29.7 + "@babel/plugin-bugfix-safari-rest-destructuring-rhs-array": ^7.29.7 + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": ^7.29.7 + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": ^7.29.7 "@babel/plugin-proposal-private-property-in-object": 7.21.0-placeholder-for-preset-env.2 - "@babel/plugin-syntax-import-assertions": ^7.28.6 - "@babel/plugin-syntax-import-attributes": ^7.28.6 + "@babel/plugin-syntax-import-assertions": ^7.29.7 + "@babel/plugin-syntax-import-attributes": ^7.29.7 "@babel/plugin-syntax-unicode-sets-regex": ^7.18.6 - "@babel/plugin-transform-arrow-functions": ^7.27.1 - "@babel/plugin-transform-async-generator-functions": ^7.29.0 - "@babel/plugin-transform-async-to-generator": ^7.28.6 - "@babel/plugin-transform-block-scoped-functions": ^7.27.1 - "@babel/plugin-transform-block-scoping": ^7.28.6 - "@babel/plugin-transform-class-properties": ^7.28.6 - "@babel/plugin-transform-class-static-block": ^7.28.6 - "@babel/plugin-transform-classes": ^7.28.6 - "@babel/plugin-transform-computed-properties": ^7.28.6 - "@babel/plugin-transform-destructuring": ^7.28.5 - "@babel/plugin-transform-dotall-regex": ^7.28.6 - "@babel/plugin-transform-duplicate-keys": ^7.27.1 - "@babel/plugin-transform-duplicate-named-capturing-groups-regex": ^7.29.0 - "@babel/plugin-transform-dynamic-import": ^7.27.1 - "@babel/plugin-transform-explicit-resource-management": ^7.28.6 - "@babel/plugin-transform-exponentiation-operator": ^7.28.6 - "@babel/plugin-transform-export-namespace-from": ^7.27.1 - "@babel/plugin-transform-for-of": ^7.27.1 - "@babel/plugin-transform-function-name": ^7.27.1 - "@babel/plugin-transform-json-strings": ^7.28.6 - "@babel/plugin-transform-literals": ^7.27.1 - "@babel/plugin-transform-logical-assignment-operators": ^7.28.6 - "@babel/plugin-transform-member-expression-literals": ^7.27.1 - "@babel/plugin-transform-modules-amd": ^7.27.1 - "@babel/plugin-transform-modules-commonjs": ^7.28.6 - "@babel/plugin-transform-modules-systemjs": ^7.29.4 - "@babel/plugin-transform-modules-umd": ^7.27.1 - "@babel/plugin-transform-named-capturing-groups-regex": ^7.29.0 - "@babel/plugin-transform-new-target": ^7.27.1 - "@babel/plugin-transform-nullish-coalescing-operator": ^7.28.6 - "@babel/plugin-transform-numeric-separator": ^7.28.6 - "@babel/plugin-transform-object-rest-spread": ^7.28.6 - "@babel/plugin-transform-object-super": ^7.27.1 - "@babel/plugin-transform-optional-catch-binding": ^7.28.6 - "@babel/plugin-transform-optional-chaining": ^7.28.6 - "@babel/plugin-transform-parameters": ^7.27.7 - "@babel/plugin-transform-private-methods": ^7.28.6 - "@babel/plugin-transform-private-property-in-object": ^7.28.6 - "@babel/plugin-transform-property-literals": ^7.27.1 - "@babel/plugin-transform-regenerator": ^7.29.0 - "@babel/plugin-transform-regexp-modifiers": ^7.28.6 - "@babel/plugin-transform-reserved-words": ^7.27.1 - "@babel/plugin-transform-shorthand-properties": ^7.27.1 - "@babel/plugin-transform-spread": ^7.28.6 - "@babel/plugin-transform-sticky-regex": ^7.27.1 - "@babel/plugin-transform-template-literals": ^7.27.1 - "@babel/plugin-transform-typeof-symbol": ^7.27.1 - "@babel/plugin-transform-unicode-escapes": ^7.27.1 - "@babel/plugin-transform-unicode-property-regex": ^7.28.6 - "@babel/plugin-transform-unicode-regex": ^7.27.1 - "@babel/plugin-transform-unicode-sets-regex": ^7.28.6 + "@babel/plugin-transform-arrow-functions": ^7.29.7 + "@babel/plugin-transform-async-generator-functions": ^7.29.7 + "@babel/plugin-transform-async-to-generator": ^7.29.7 + "@babel/plugin-transform-block-scoped-functions": ^7.29.7 + "@babel/plugin-transform-block-scoping": ^7.29.7 + "@babel/plugin-transform-class-properties": ^7.29.7 + "@babel/plugin-transform-class-static-block": ^7.29.7 + "@babel/plugin-transform-classes": ^7.29.7 + "@babel/plugin-transform-computed-properties": ^7.29.7 + "@babel/plugin-transform-destructuring": ^7.29.7 + "@babel/plugin-transform-dotall-regex": ^7.29.7 + "@babel/plugin-transform-duplicate-keys": ^7.29.7 + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": ^7.29.7 + "@babel/plugin-transform-dynamic-import": ^7.29.7 + "@babel/plugin-transform-explicit-resource-management": ^7.29.7 + "@babel/plugin-transform-exponentiation-operator": ^7.29.7 + "@babel/plugin-transform-export-namespace-from": ^7.29.7 + "@babel/plugin-transform-for-of": ^7.29.7 + "@babel/plugin-transform-function-name": ^7.29.7 + "@babel/plugin-transform-json-strings": ^7.29.7 + "@babel/plugin-transform-literals": ^7.29.7 + "@babel/plugin-transform-logical-assignment-operators": ^7.29.7 + "@babel/plugin-transform-member-expression-literals": ^7.29.7 + "@babel/plugin-transform-modules-amd": ^7.29.7 + "@babel/plugin-transform-modules-commonjs": ^7.29.7 + "@babel/plugin-transform-modules-systemjs": ^7.29.7 + "@babel/plugin-transform-modules-umd": ^7.29.7 + "@babel/plugin-transform-named-capturing-groups-regex": ^7.29.7 + "@babel/plugin-transform-new-target": ^7.29.7 + "@babel/plugin-transform-nullish-coalescing-operator": ^7.29.7 + "@babel/plugin-transform-numeric-separator": ^7.29.7 + "@babel/plugin-transform-object-rest-spread": ^7.29.7 + "@babel/plugin-transform-object-super": ^7.29.7 + "@babel/plugin-transform-optional-catch-binding": ^7.29.7 + "@babel/plugin-transform-optional-chaining": ^7.29.7 + "@babel/plugin-transform-parameters": ^7.29.7 + "@babel/plugin-transform-private-methods": ^7.29.7 + "@babel/plugin-transform-private-property-in-object": ^7.29.7 + "@babel/plugin-transform-property-literals": ^7.29.7 + "@babel/plugin-transform-regenerator": ^7.29.7 + "@babel/plugin-transform-regexp-modifiers": ^7.29.7 + "@babel/plugin-transform-reserved-words": ^7.29.7 + "@babel/plugin-transform-shorthand-properties": ^7.29.7 + "@babel/plugin-transform-spread": ^7.29.7 + "@babel/plugin-transform-sticky-regex": ^7.29.7 + "@babel/plugin-transform-template-literals": ^7.29.7 + "@babel/plugin-transform-typeof-symbol": ^7.29.7 + "@babel/plugin-transform-unicode-escapes": ^7.29.7 + "@babel/plugin-transform-unicode-property-regex": ^7.29.7 + "@babel/plugin-transform-unicode-regex": ^7.29.7 + "@babel/plugin-transform-unicode-sets-regex": ^7.29.7 "@babel/preset-modules": 0.1.6-no-external-plugins babel-plugin-polyfill-corejs2: ^0.4.15 babel-plugin-polyfill-corejs3: ^0.14.0 @@ -1249,7 +1249,7 @@ __metadata: semver: ^6.3.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 4241d9aa5488dc6df958fe866b747fcd2fd1c1385e95e05900bc6377b1c976cb5bc2057200e8a6c1f76dc99566983e27db927b768df09d7617f61d133f760b1a + checksum: 36deae2ea4329e8490fc4507e6747e07c4cff9df1f1397aa99fae16e03a5195f9c7a3494f571ddfb5002bbc0e18832a8cc711831d686896312fa127823f7fedc languageName: node linkType: hard @@ -1273,50 +1273,50 @@ __metadata: languageName: node linkType: hard -"@babel/template@npm:^7.28.6, @babel/template@npm:^7.3.3": - version: 7.28.6 - resolution: "@babel/template@npm:7.28.6" +"@babel/template@npm:^7.29.7, @babel/template@npm:^7.3.3": + version: 7.29.7 + resolution: "@babel/template@npm:7.29.7" dependencies: - "@babel/code-frame": ^7.28.6 - "@babel/parser": ^7.28.6 - "@babel/types": ^7.28.6 - checksum: 8ab6383053e226025d9491a6e795293f2140482d14f60c1244bece6bf53610ed1e251d5e164de66adab765629881c7d9416e1e540c716541d2fd0f8f36a013d7 + "@babel/code-frame": ^7.29.7 + "@babel/parser": ^7.29.7 + "@babel/types": ^7.29.7 + checksum: 521eb6a1fd4735074ca8dac0d70810860a80edf3bf78105851571993cd13701a2041987e7398ccc9376eb6235ea1258bf494ccaccf3b67fa98dbe954154a2e93 languageName: node linkType: hard -"@babel/traverse@npm:^7.27.1, @babel/traverse@npm:^7.28.5, @babel/traverse@npm:^7.28.6, @babel/traverse@npm:^7.29.0": - version: 7.29.0 - resolution: "@babel/traverse@npm:7.29.0" +"@babel/traverse@npm:^7.29.7, @babel/traverse@npm:^7.29.8": + version: 7.29.8 + resolution: "@babel/traverse@npm:7.29.8" dependencies: - "@babel/code-frame": ^7.29.0 - "@babel/generator": ^7.29.0 - "@babel/helper-globals": ^7.28.0 - "@babel/parser": ^7.29.0 - "@babel/template": ^7.28.6 - "@babel/types": ^7.29.0 + "@babel/code-frame": ^7.29.7 + "@babel/generator": ^7.29.8 + "@babel/helper-globals": ^7.29.7 + "@babel/parser": ^7.29.8 + "@babel/template": ^7.29.7 + "@babel/types": ^7.29.8 debug: ^4.3.1 - checksum: fbb5085aa525b5d4ecd9fe2f5885d88413fff6ad9c0fac244c37f96069b6d3af9ce825750cd16af1d97d26fa3d354b38dbbdb5f31430e0d99ed89660ab65430e + checksum: 7c33eb59db5c67411305ed1d29fe50dbde74b220f4500840951d776fbcc3fbddca09f57302e8961d2533871ef4719ec0f2f05969870263b180d6ff4217f7acee languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.27.1, @babel/types@npm:^7.27.3, @babel/types@npm:^7.28.2, @babel/types@npm:^7.28.5, @babel/types@npm:^7.28.6, @babel/types@npm:^7.29.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4": - version: 7.29.0 - resolution: "@babel/types@npm:7.29.0" +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.28.2, @babel/types@npm:^7.29.7, @babel/types@npm:^7.29.8, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4": + version: 7.29.8 + resolution: "@babel/types@npm:7.29.8" dependencies: - "@babel/helper-string-parser": ^7.27.1 - "@babel/helper-validator-identifier": ^7.28.5 - checksum: 83f190438e94c22b2574aaeef7501830311ef266eaabfb06523409f64e2fe855e522951607085d71cad286719adef14e1ba37b671f334a7cd25b0f8506a01e0b + "@babel/helper-string-parser": ^7.29.7 + "@babel/helper-validator-identifier": ^7.29.7 + checksum: 9ac45d1fc702bce8e51f74566c85211f4a5d06b6f921c297e07f05742ac0eb9660d4380f96ac18d882415e4e1172e92a3fc7a20b29afd2277b713efc5b3c7cf6 languageName: node linkType: hard "@base-ui/react@npm:^1.4.1": - version: 1.6.0 - resolution: "@base-ui/react@npm:1.6.0" + version: 1.7.0 + resolution: "@base-ui/react@npm:1.7.0" dependencies: "@babel/runtime": ^7.29.2 - "@base-ui/utils": 0.3.1 - "@floating-ui/react-dom": ^2.1.8 - "@floating-ui/utils": ^0.2.11 + "@base-ui/utils": 0.3.2 + "@floating-ui/react-dom": ^2.1.9 + "@floating-ui/utils": ^0.2.12 use-sync-external-store: ^1.6.0 peerDependencies: "@date-fns/tz": ^1.2.0 @@ -1331,16 +1331,16 @@ __metadata: optional: true date-fns: optional: true - checksum: 06185d1cbc4fafdce814e5160fba0984693751dbe1e86e9ffd94a96fa771d04c79b17fc956acd6782bf45137a77b1e8fcd836b8a9a95ab7bd243e00295efcdc6 + checksum: 68be5b6ea506a4bd530ebae3ed9244c6165970da3589e9a3c2dc9e8600e6c6352eeb8e7546ed00f9a35c88d6cc475fb1c058f76bcc5bf17df382370a05a55ddc languageName: node linkType: hard -"@base-ui/utils@npm:0.3.1": - version: 0.3.1 - resolution: "@base-ui/utils@npm:0.3.1" +"@base-ui/utils@npm:0.3.2": + version: 0.3.2 + resolution: "@base-ui/utils@npm:0.3.2" dependencies: "@babel/runtime": ^7.29.2 - "@floating-ui/utils": ^0.2.11 + "@floating-ui/utils": ^0.2.12 reselect: ^5.2.0 use-sync-external-store: ^1.6.0 peerDependencies: @@ -1350,7 +1350,7 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: fc0c7eb62cd1cdffa723af49c203599ee608183fb812538b92fa174da292ff180c183de2ad90830985446f9bc7d62debbb14fda55e4e3fe23407c0421f984cb3 + checksum: 3a470069452e2f13224320c8bd161f6f18d72d6c5d41627aa88fa0f903b43409646c107d54baa10d31695d102ea6b959aeddea44e03c139616673d327e344633 languageName: node linkType: hard @@ -1368,25 +1368,25 @@ __metadata: languageName: node linkType: hard -"@cacheable/memory@npm:^2.0.8": - version: 2.0.8 - resolution: "@cacheable/memory@npm:2.0.8" +"@cacheable/memory@npm:^2.2.0": + version: 2.2.0 + resolution: "@cacheable/memory@npm:2.2.0" dependencies: - "@cacheable/utils": ^2.4.0 + "@cacheable/utils": ^2.5.0 "@keyv/bigmap": ^1.3.1 hookified: ^1.15.1 keyv: ^5.6.0 - checksum: 6fc69730346be1115c50d5747b7566a599128b74e05dd27404fdd9985dfa068c77474a31c2eb2b0404d375fdba27936136a8a7102da679fc7fd67891b698ae6c + checksum: 5ccb1680b1fb57f8aad55d6564ec71da93d63ff46b16f3a9e00fa35bff0e2febb5b3b03d416900556862398b6f60a0742d840286962c42f981be610544cd0145 languageName: node linkType: hard -"@cacheable/utils@npm:^2.4.0, @cacheable/utils@npm:^2.4.1": - version: 2.4.1 - resolution: "@cacheable/utils@npm:2.4.1" +"@cacheable/utils@npm:^2.5.0": + version: 2.5.0 + resolution: "@cacheable/utils@npm:2.5.0" dependencies: hashery: ^1.5.1 keyv: ^5.6.0 - checksum: dd547bd0919ffeee85fc30b7213c47fc77db68d45091db5ad661505b9d4acf5f9ade4f72ccfeb0f2012d81b338fcb0840205ce062313e94f5652149fc1751e4c + checksum: e458e8b8dda9e1bcec8bb8373d852d57d66cca81b9eb8d67f8cc227cc63153d06addc7604b8cd5cc9d15e745ef7cbfff894d06447059009f423b71f21d58a128 languageName: node linkType: hard @@ -1398,26 +1398,26 @@ __metadata: linkType: hard "@codemirror/autocomplete@npm:^6.0.0, @codemirror/autocomplete@npm:^6.20.0, @codemirror/autocomplete@npm:^6.3.2, @codemirror/autocomplete@npm:^6.7.1": - version: 6.20.2 - resolution: "@codemirror/autocomplete@npm:6.20.2" + version: 6.20.3 + resolution: "@codemirror/autocomplete@npm:6.20.3" dependencies: "@codemirror/language": ^6.0.0 "@codemirror/state": ^6.0.0 "@codemirror/view": ^6.17.0 "@lezer/common": ^1.0.0 - checksum: 1c8f7604ddf1a46f7bdbbdf2c6ea7103bdf3152b20115fb3bb77002e3537fffc5aba93830b1f3ca494abdd8c6ed29274a6928f96c77e8768699145058e8a1ac3 + checksum: 872a0671363158e24087f7c2edcbd4435ebb4fb799c9f5ccb4589cf4dc34a80763dace4909a71d75a42c79b75a687ae129fae169c4f835ef8e4695a34e7e99ca languageName: node linkType: hard "@codemirror/commands@npm:^6.10.2": - version: 6.10.3 - resolution: "@codemirror/commands@npm:6.10.3" + version: 6.10.4 + resolution: "@codemirror/commands@npm:6.10.4" dependencies: "@codemirror/language": ^6.0.0 - "@codemirror/state": ^6.6.0 + "@codemirror/state": ^6.7.0 "@codemirror/view": ^6.27.0 "@lezer/common": ^1.1.0 - checksum: 8a7c6583819989f553c00d3ea137c656d371d026d0bb8791b330f9a0b1c589285c8a944320f7418483f1c6d4381555fe1306680eaa9e9b93b0effd34665e1a4f + checksum: 744c077ee58be0b70bae4891233aff3560a4978b91fd410927fa3c94d3580c40c3fe9804d9c2f746cb6f5162fabf4cba6610c9ab3d13cbf40957196f9de2ee4d languageName: node linkType: hard @@ -1445,8 +1445,8 @@ __metadata: linkType: hard "@codemirror/lang-html@npm:^6.0.0, @codemirror/lang-html@npm:^6.4.11": - version: 6.4.11 - resolution: "@codemirror/lang-html@npm:6.4.11" + version: 6.4.12 + resolution: "@codemirror/lang-html@npm:6.4.12" dependencies: "@codemirror/autocomplete": ^6.0.0 "@codemirror/lang-css": ^6.0.0 @@ -1457,7 +1457,7 @@ __metadata: "@lezer/common": ^1.0.0 "@lezer/css": ^1.1.0 "@lezer/html": ^1.3.12 - checksum: 31a16cc6be4daa58c6765274b9b7ba1bb54a4b0858d33d8ad1c7ec1bcb85920e3715a891f8cb27f5d9dfe87bbe00f0ddfbac5b04011374e15380b9cec7ba3c69 + checksum: 0ef2b72e98ae50880ea2cb299761cea61a5a0ae56c0bc40867ee97a0018593bac3eb521e953b5f8a9d8bf6586284711652996a6fca8fef047df7efd1d5e548f4 languageName: node linkType: hard @@ -1497,8 +1497,8 @@ __metadata: linkType: hard "@codemirror/lang-markdown@npm:^6.5.0": - version: 6.5.0 - resolution: "@codemirror/lang-markdown@npm:6.5.0" + version: 6.5.2 + resolution: "@codemirror/lang-markdown@npm:6.5.2" dependencies: "@codemirror/autocomplete": ^6.7.1 "@codemirror/lang-html": ^6.0.0 @@ -1507,7 +1507,7 @@ __metadata: "@codemirror/view": ^6.0.0 "@lezer/common": ^1.2.1 "@lezer/markdown": ^1.0.0 - checksum: 15c6bf7eb800b73d77a2e202f08b2282230903d830111699f34a036e0ae334cf5edd65b29f45f138e305fb33a7a11f0ef111c2eaed948b10501e5e8deb7d6c47 + checksum: e978a64e49fe517caf442a15f6f0c2ce7a22e9f5018070d67aae539becafb49cf331c1cdbd7cdf991fe529664c5f9df2192c4ba9e3a797d68073b74f3cf663cb languageName: node linkType: hard @@ -1588,8 +1588,8 @@ __metadata: linkType: hard "@codemirror/language@npm:^6.0.0, @codemirror/language@npm:^6.12.1, @codemirror/language@npm:^6.3.0, @codemirror/language@npm:^6.4.0, @codemirror/language@npm:^6.6.0, @codemirror/language@npm:^6.8.0": - version: 6.12.3 - resolution: "@codemirror/language@npm:6.12.3" + version: 6.12.4 + resolution: "@codemirror/language@npm:6.12.4" dependencies: "@codemirror/state": ^6.0.0 "@codemirror/view": ^6.23.0 @@ -1597,59 +1597,59 @@ __metadata: "@lezer/highlight": ^1.0.0 "@lezer/lr": ^1.0.0 style-mod: ^4.0.0 - checksum: 338a063b2362d15aa55b7140072ff0e6a4adb5ece2e224f9b67744b140c2443b0282c79e546a484cf9e3c3f50e85d856fbac090f435952c64b606a2123d7a0dd + checksum: 04012a1577080bca69907562ecf36bcc40afb08183a82c5da0f7be6bac7d96a705ee2a8025fc3cc27f46833c2363f0cddf64ad703314c937aa8a1f6cb846e4c4 languageName: node linkType: hard "@codemirror/legacy-modes@npm:^6.5.2": - version: 6.5.2 - resolution: "@codemirror/legacy-modes@npm:6.5.2" + version: 6.5.3 + resolution: "@codemirror/legacy-modes@npm:6.5.3" dependencies: "@codemirror/language": ^6.0.0 - checksum: 2ae75e40d4357e65d0b3b1ebcb28a85a7700f8a39e5ae2dcc8dece00a4070a800d797c9297e7a4beb398d63e4c69c3e69992b4fb20ab84f748625c7590a82636 + checksum: d3666c1cf45d63046363ce62588a911d81c5e0e3fe107eb0bad77243edbadccc156e5847fc0b184d485f973f4f4819f507d626c3c4ae8960f4609813df0b5dd6 languageName: node linkType: hard "@codemirror/lint@npm:^6.0.0": - version: 6.9.6 - resolution: "@codemirror/lint@npm:6.9.6" + version: 6.9.7 + resolution: "@codemirror/lint@npm:6.9.7" dependencies: "@codemirror/state": ^6.0.0 "@codemirror/view": ^6.42.0 crelt: ^1.0.5 - checksum: 52510d190fc2e0a7244a5b2e4a83abc71943822690bb808c56505c996321ec33efa5f30a140ef42c9cee9877c67ff782ee78ebb1efb522e9fea714bb693acb4e + checksum: a48311c92439f34d2f7af122930690abe72ad9c7cbf185eadf7daf17f5e6f2898739292a78057012079600933211ac675f48686df137b1aa3731c7e9d0b87b14 languageName: node linkType: hard "@codemirror/search@npm:^6.6.0": - version: 6.7.0 - resolution: "@codemirror/search@npm:6.7.0" + version: 6.7.1 + resolution: "@codemirror/search@npm:6.7.1" dependencies: "@codemirror/state": ^6.0.0 "@codemirror/view": ^6.37.0 crelt: ^1.0.5 - checksum: 2abe3424738c02046f8720d02043c855c860d1a9a8210790cbe8e60ce87e1e461b64695ad5736bba78fc53a190c22d82a609dcbe02396d2089fce047e9a37d74 + checksum: 47133260cc0f5f91785174608dec89717d44d5e81a9fa5000032bc4f6566f693c4f080f922c6db52a15fdb7da73e185093d3615ae934c0b5cfb56278f11a9148 languageName: node linkType: hard -"@codemirror/state@npm:^6.0.0, @codemirror/state@npm:^6.5.4, @codemirror/state@npm:^6.6.0": - version: 6.6.0 - resolution: "@codemirror/state@npm:6.6.0" +"@codemirror/state@npm:^6.0.0, @codemirror/state@npm:^6.5.4, @codemirror/state@npm:^6.7.0": + version: 6.7.1 + resolution: "@codemirror/state@npm:6.7.1" dependencies: "@marijn/find-cluster-break": ^1.0.0 - checksum: 9400f356ebff7089f552012b95c8d46cdecc952cc9561537b7ebd7ea44fe34da7e02cfdcf17efc28fb6354bd54ecd9db7ca25b4756595acfe56c547c63cedee8 + checksum: 9e14da291d0af8db1fdebdb6a121e6a16e60430394b2958f26f41b3c529a9fc75a9efa75549368304a43f1bbcd332b8dec65755f939753ba6ed9a644f38aebd1 languageName: node linkType: hard "@codemirror/view@npm:^6.0.0, @codemirror/view@npm:^6.17.0, @codemirror/view@npm:^6.23.0, @codemirror/view@npm:^6.27.0, @codemirror/view@npm:^6.37.0, @codemirror/view@npm:^6.39.14, @codemirror/view@npm:^6.42.0": - version: 6.42.1 - resolution: "@codemirror/view@npm:6.42.1" + version: 6.43.8 + resolution: "@codemirror/view@npm:6.43.8" dependencies: - "@codemirror/state": ^6.6.0 + "@codemirror/state": ^6.7.0 crelt: ^1.0.6 style-mod: ^4.1.0 w3c-keyname: ^2.2.4 - checksum: 765dfe130a3ca29de06797b31ddf897c841ce19d6027deefaa0e098710a0350e5e1a12dbf04b3559f8fdfb44f1388f6aa8bf571a36b1c66d579653dc76b050e3 + checksum: fa91ae8e0f9bc8fae70b53052942e0c382fa3e950ec8db9dbb112d66d17a3b5a47a465d604cfcf4792d2c3ad31af3a07da49d64dd8ca3d715d1e1c60c9c303c7 languageName: node linkType: hard @@ -1663,14 +1663,14 @@ __metadata: linkType: hard "@csstools/css-syntax-patches-for-csstree@npm:^1.0.19": - version: 1.1.3 - resolution: "@csstools/css-syntax-patches-for-csstree@npm:1.1.3" + version: 1.1.7 + resolution: "@csstools/css-syntax-patches-for-csstree@npm:1.1.7" peerDependencies: css-tree: ^3.2.1 peerDependenciesMeta: css-tree: optional: true - checksum: c5a41b450de3dd8a8baf4c33d6a124db702773d23122cd940fc9b925ce0559d6a7b08b783940765bf47cfab80eaa238f8876e9dc3512575075b02d5674c59f0c + checksum: 66ca9437a8d743a4312be68c689206db9d425c2b5e4263abd7279580a408fd0d1a5f3f95f564cc5d385cbf960a72c2f115765b130b3ae68329db67e53f91394d languageName: node linkType: hard @@ -1750,13 +1750,13 @@ __metadata: linkType: hard "@eslint-community/eslint-utils@npm:^4.8.0, @eslint-community/eslint-utils@npm:^4.9.1": - version: 4.9.1 - resolution: "@eslint-community/eslint-utils@npm:4.9.1" + version: 4.10.1 + resolution: "@eslint-community/eslint-utils@npm:4.10.1" dependencies: eslint-visitor-keys: ^3.4.3 peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - checksum: 0a27c2d676c4be6b329ebb5dd8f6c5ef5fae9a019ff575655306d72874bb26f3ab20e0b241a5f086464bb1f2511ca26a29ff6f80c1e2b0b02eca4686b4dfe1b5 + checksum: ac9da8475207591237f79462fef7f201611b22481df1972e6b81bd2a05dc546e0b69b0094771d23b7a3075d7d69d413c955989473abc0e227f9473108124ded4 languageName: node linkType: hard @@ -1856,7 +1856,7 @@ __metadata: languageName: node linkType: hard -"@floating-ui/react-dom@npm:^2.0.0, @floating-ui/react-dom@npm:^2.1.8": +"@floating-ui/react-dom@npm:^2.0.0, @floating-ui/react-dom@npm:^2.1.9": version: 2.1.9 resolution: "@floating-ui/react-dom@npm:2.1.9" dependencies: @@ -1868,7 +1868,7 @@ __metadata: languageName: node linkType: hard -"@floating-ui/utils@npm:^0.2.11, @floating-ui/utils@npm:^0.2.12": +"@floating-ui/utils@npm:^0.2.12": version: 0.2.12 resolution: "@floating-ui/utils@npm:0.2.12" checksum: c2cf16da4f755c025d12802a923a80aefe076e5686afb60a431970c7a4402cc9fb6723d20f6da0d431d6b01395d1a8cdd4e16da920cca18a1e07c06ad98c0593 @@ -1931,13 +1931,13 @@ __metadata: linkType: hard "@iconify/utils@npm:^3.0.2": - version: 3.1.3 - resolution: "@iconify/utils@npm:3.1.3" + version: 3.1.4 + resolution: "@iconify/utils@npm:3.1.4" dependencies: "@antfu/install-pkg": ^1.1.0 "@iconify/types": ^2.0.0 import-meta-resolve: ^4.2.0 - checksum: 63f43869a679185604ea1f65f8107532afe2e0e6aa4e1666d97885589ea95311b9bff0501ddbda4d239757b383f70b5291092fa2600a39a6b61771c525d4fa22 + checksum: f2e3682a80c7c2fff89eb725dbbdf7a06c6f6a795167164551f75c8a0d99f683e18a85b87b11c8f71d0038ee656e2651a26029a78793350fe3ae8026071c74fe languageName: node linkType: hard @@ -2276,9 +2276,9 @@ __metadata: languageName: node linkType: hard -"@jupyter/ydoc@npm:^4.0.0": - version: 4.1.1 - resolution: "@jupyter/ydoc@npm:4.1.1" +"@jupyter/ydoc@npm:^3.1.0": + version: 3.5.0 + resolution: "@jupyter/ydoc@npm:3.5.0" dependencies: "@jupyterlab/nbformat": ^3.0.0 || ^4.0.0-alpha.21 || ^4.0.0 "@lumino/coreutils": ^1.11.0 || ^2.0.0 @@ -2286,26 +2286,26 @@ __metadata: "@lumino/signaling": ^1.10.0 || ^2.0.0 y-protocols: ^1.0.5 yjs: ^13.5.40 - checksum: 46ee6f70d2a971b352f5c89ab3bd36cf6e58317b3bdbb41b0d0e98f7fe7a96fe31eb733c3da0363a08d48cdaf0ecb596116e2fdbebd307e3b4c768da5b4d7e65 + checksum: 7cf5459bb801a68097dcbe271ed9f620d6749943b9351bb04e13e82041aaf24c903af3492a367a3ed7bcae9ab6857cd78e61f47905521c1fb4c5bb048ebabbe5 languageName: node linkType: hard -"@jupyterlab/application@npm:^4.5.1, @jupyterlab/application@npm:^4.6.2": - version: 4.6.2 - resolution: "@jupyterlab/application@npm:4.6.2" +"@jupyterlab/application@npm:^4.5.1, @jupyterlab/application@npm:^4.5.10": + version: 4.5.10 + resolution: "@jupyterlab/application@npm:4.5.10" dependencies: "@fortawesome/fontawesome-free": ^5.12.0 - "@jupyterlab/apputils": ^4.7.2 - "@jupyterlab/coreutils": ^6.6.2 - "@jupyterlab/docregistry": ^4.6.2 - "@jupyterlab/rendermime": ^4.6.2 - "@jupyterlab/rendermime-interfaces": ^3.14.2 - "@jupyterlab/services": ^7.6.2 - "@jupyterlab/statedb": ^4.6.2 - "@jupyterlab/translation": ^4.6.2 - "@jupyterlab/ui-components": ^4.6.2 + "@jupyterlab/apputils": ^4.6.10 + "@jupyterlab/coreutils": ^6.5.10 + "@jupyterlab/docregistry": ^4.5.10 + "@jupyterlab/rendermime": ^4.5.10 + "@jupyterlab/rendermime-interfaces": ^3.13.10 + "@jupyterlab/services": ^7.5.10 + "@jupyterlab/statedb": ^4.5.10 + "@jupyterlab/translation": ^4.5.10 + "@jupyterlab/ui-components": ^4.5.10 "@lumino/algorithm": ^2.0.4 - "@lumino/application": ^2.4.9 + "@lumino/application": ^2.4.8 "@lumino/commands": ^2.3.3 "@lumino/coreutils": ^2.2.2 "@lumino/disposable": ^2.1.5 @@ -2313,24 +2313,24 @@ __metadata: "@lumino/polling": ^2.1.5 "@lumino/properties": ^2.0.4 "@lumino/signaling": ^2.1.5 - "@lumino/widgets": ^2.8.0 - checksum: 2de353f97c730371d27686b70516ca9dc76ef293a8ab67e5ea9a212f6e1e8c91b176fc65d04929746c71d0c4a46aef565eccc02379cb71cc9fbc42a2ce1096a7 + "@lumino/widgets": ^2.7.5 + checksum: 341eef1d6ad7690789d3e790f5c0c9fb2b50f039a772bea4aa9bc051ce55452ff75775dc53fcbb7a2bc685e6ceed48094fadea87f247fd96941da60847095605 languageName: node linkType: hard -"@jupyterlab/apputils@npm:^4.7.2": - version: 4.7.2 - resolution: "@jupyterlab/apputils@npm:4.7.2" +"@jupyterlab/apputils@npm:^4.6.10": + version: 4.6.10 + resolution: "@jupyterlab/apputils@npm:4.6.10" dependencies: - "@jupyterlab/coreutils": ^6.6.2 - "@jupyterlab/observables": ^5.6.2 - "@jupyterlab/rendermime-interfaces": ^3.14.2 - "@jupyterlab/services": ^7.6.2 - "@jupyterlab/settingregistry": ^4.6.2 - "@jupyterlab/statedb": ^4.6.2 - "@jupyterlab/statusbar": ^4.6.2 - "@jupyterlab/translation": ^4.6.2 - "@jupyterlab/ui-components": ^4.6.2 + "@jupyterlab/coreutils": ^6.5.10 + "@jupyterlab/observables": ^5.5.10 + "@jupyterlab/rendermime-interfaces": ^3.13.10 + "@jupyterlab/services": ^7.5.10 + "@jupyterlab/settingregistry": ^4.5.10 + "@jupyterlab/statedb": ^4.5.10 + "@jupyterlab/statusbar": ^4.5.10 + "@jupyterlab/translation": ^4.5.10 + "@jupyterlab/ui-components": ^4.5.10 "@lumino/algorithm": ^2.0.4 "@lumino/commands": ^2.3.3 "@lumino/coreutils": ^2.2.2 @@ -2339,25 +2339,25 @@ __metadata: "@lumino/messaging": ^2.0.4 "@lumino/signaling": ^2.1.5 "@lumino/virtualdom": ^2.0.4 - "@lumino/widgets": ^2.8.0 + "@lumino/widgets": ^2.7.5 "@types/react": ^18.0.26 react: ^18.2.0 sanitize-html: ~2.12.1 - checksum: fe4c94ccc8c1d7cdbb4f71175ebe6bc759ecf877fbdc385368fcfe35f1d3dee2c9be68f309991d7da06db33164ae206655021ca4a11f0bddc9b6fe400d969c41 + checksum: 999c1774db8aaff56444c64fadccc102e2997c7ec1a04f8ccee8cfc7d9abd66f281885f423963d4d4d1ed0258d88dfcb6e8c182cffc4d0253b21b2b574e57b28 languageName: node linkType: hard -"@jupyterlab/attachments@npm:^4.6.2": - version: 4.6.2 - resolution: "@jupyterlab/attachments@npm:4.6.2" +"@jupyterlab/attachments@npm:^4.5.10": + version: 4.5.10 + resolution: "@jupyterlab/attachments@npm:4.5.10" dependencies: - "@jupyterlab/nbformat": ^4.6.2 - "@jupyterlab/observables": ^5.6.2 - "@jupyterlab/rendermime": ^4.6.2 - "@jupyterlab/rendermime-interfaces": ^3.14.2 + "@jupyterlab/nbformat": ^4.5.10 + "@jupyterlab/observables": ^5.5.10 + "@jupyterlab/rendermime": ^4.5.10 + "@jupyterlab/rendermime-interfaces": ^3.13.10 "@lumino/disposable": ^2.1.5 "@lumino/signaling": ^2.1.5 - checksum: 1ea5fe1ceeb9471de12735126fd3a0da0bd32b9377640638eb776375370befc4ed1e0335469c5444a28e29d421949e161db37318cfaa76d32a3c2f1fd76ef7cc + checksum: 52ba0bc661305b8591db4d2131b90986660528c62b62e53bd27497c406e7ec36511d8e5e3993b4b8a6bb2068c5f72ad8c5caa7c229fdf72e6b619d73291ffdc5 languageName: node linkType: hard @@ -2403,28 +2403,28 @@ __metadata: languageName: node linkType: hard -"@jupyterlab/cells@npm:^4.6.2": - version: 4.6.2 - resolution: "@jupyterlab/cells@npm:4.6.2" +"@jupyterlab/cells@npm:^4.5.10": + version: 4.5.10 + resolution: "@jupyterlab/cells@npm:4.5.10" dependencies: "@codemirror/state": ^6.5.4 "@codemirror/view": ^6.39.14 - "@jupyter/ydoc": ^4.0.0 - "@jupyterlab/apputils": ^4.7.2 - "@jupyterlab/attachments": ^4.6.2 - "@jupyterlab/codeeditor": ^4.6.2 - "@jupyterlab/codemirror": ^4.6.2 - "@jupyterlab/coreutils": ^6.6.2 - "@jupyterlab/documentsearch": ^4.6.2 - "@jupyterlab/filebrowser": ^4.6.2 - "@jupyterlab/nbformat": ^4.6.2 - "@jupyterlab/observables": ^5.6.2 - "@jupyterlab/outputarea": ^4.6.2 - "@jupyterlab/rendermime": ^4.6.2 - "@jupyterlab/services": ^7.6.2 - "@jupyterlab/toc": ^6.6.2 - "@jupyterlab/translation": ^4.6.2 - "@jupyterlab/ui-components": ^4.6.2 + "@jupyter/ydoc": ^3.1.0 + "@jupyterlab/apputils": ^4.6.10 + "@jupyterlab/attachments": ^4.5.10 + "@jupyterlab/codeeditor": ^4.5.10 + "@jupyterlab/codemirror": ^4.5.10 + "@jupyterlab/coreutils": ^6.5.10 + "@jupyterlab/documentsearch": ^4.5.10 + "@jupyterlab/filebrowser": ^4.5.10 + "@jupyterlab/nbformat": ^4.5.10 + "@jupyterlab/observables": ^5.5.10 + "@jupyterlab/outputarea": ^4.5.10 + "@jupyterlab/rendermime": ^4.5.10 + "@jupyterlab/services": ^7.5.10 + "@jupyterlab/toc": ^6.5.10 + "@jupyterlab/translation": ^4.5.10 + "@jupyterlab/ui-components": ^4.5.10 "@lumino/algorithm": ^2.0.4 "@lumino/coreutils": ^2.2.2 "@lumino/domutils": ^2.0.4 @@ -2433,39 +2433,39 @@ __metadata: "@lumino/polling": ^2.1.5 "@lumino/signaling": ^2.1.5 "@lumino/virtualdom": ^2.0.4 - "@lumino/widgets": ^2.8.0 + "@lumino/widgets": ^2.7.5 react: ^18.2.0 - checksum: 60d1ae91e86a67128eaae8174ac924d3e6d95a676f0f753680452681852c2c5e1f2b5882dbb5be136c01c289c84c223959bd94914ff3c3f6c7c1c38bac199f45 + checksum: 990d2539f15ab1d3e5c77860b9e007e4dd749bdc6cddbd638aee132ded29ca2f87e82c095235aa5ecdc19b54a6723d3ac4aa5f182881b7a1a9c8a29959f124a8 languageName: node linkType: hard -"@jupyterlab/codeeditor@npm:^4.6.2": - version: 4.6.2 - resolution: "@jupyterlab/codeeditor@npm:4.6.2" +"@jupyterlab/codeeditor@npm:^4.5.10": + version: 4.5.10 + resolution: "@jupyterlab/codeeditor@npm:4.5.10" dependencies: "@codemirror/state": ^6.5.4 - "@jupyter/ydoc": ^4.0.0 - "@jupyterlab/apputils": ^4.7.2 - "@jupyterlab/coreutils": ^6.6.2 - "@jupyterlab/nbformat": ^4.6.2 - "@jupyterlab/observables": ^5.6.2 - "@jupyterlab/statusbar": ^4.6.2 - "@jupyterlab/translation": ^4.6.2 - "@jupyterlab/ui-components": ^4.6.2 + "@jupyter/ydoc": ^3.1.0 + "@jupyterlab/apputils": ^4.6.10 + "@jupyterlab/coreutils": ^6.5.10 + "@jupyterlab/nbformat": ^4.5.10 + "@jupyterlab/observables": ^5.5.10 + "@jupyterlab/statusbar": ^4.5.10 + "@jupyterlab/translation": ^4.5.10 + "@jupyterlab/ui-components": ^4.5.10 "@lumino/coreutils": ^2.2.2 "@lumino/disposable": ^2.1.5 "@lumino/dragdrop": ^2.1.8 "@lumino/messaging": ^2.0.4 "@lumino/signaling": ^2.1.5 - "@lumino/widgets": ^2.8.0 + "@lumino/widgets": ^2.7.5 react: ^18.2.0 - checksum: 99cf66b378539670317f1095b935acc2fd5c568c5ee350afdfdc9622c79242c5cb6995db72535199dd1de3ffda70906759e801dea3979761e671f0422ca9633c + checksum: fd94d034ed8cdf7eb7932166fe8fd6d209594225cba39a607bd0cd6414ec4376b7b55328235a949b3a2b1314a147a2ef6b09152f5f2fd5dcc4b8d05517e95c75 languageName: node linkType: hard -"@jupyterlab/codemirror@npm:^4.6.2": - version: 4.6.2 - resolution: "@jupyterlab/codemirror@npm:4.6.2" +"@jupyterlab/codemirror@npm:^4.5.10": + version: 4.5.10 + resolution: "@jupyterlab/codemirror@npm:4.5.10" dependencies: "@codemirror/autocomplete": ^6.20.0 "@codemirror/commands": ^6.10.2 @@ -2487,12 +2487,12 @@ __metadata: "@codemirror/search": ^6.6.0 "@codemirror/state": ^6.5.4 "@codemirror/view": ^6.39.14 - "@jupyter/ydoc": ^4.0.0 - "@jupyterlab/codeeditor": ^4.6.2 - "@jupyterlab/coreutils": ^6.6.2 - "@jupyterlab/documentsearch": ^4.6.2 - "@jupyterlab/nbformat": ^4.6.2 - "@jupyterlab/translation": ^4.6.2 + "@jupyter/ydoc": ^3.1.0 + "@jupyterlab/codeeditor": ^4.5.10 + "@jupyterlab/coreutils": ^6.5.10 + "@jupyterlab/documentsearch": ^4.5.10 + "@jupyterlab/nbformat": ^4.5.10 + "@jupyterlab/translation": ^4.5.10 "@lezer/common": ^1.2.1 "@lezer/generator": ^1.7.0 "@lezer/highlight": ^1.2.0 @@ -2501,13 +2501,13 @@ __metadata: "@lumino/disposable": ^2.1.5 "@lumino/signaling": ^2.1.5 yjs: ^13.5.40 - checksum: 69e662259883add3cb096a1857ec6839bd972cf7058894df0cd3058ca6af5bcacb32df9ea14e996d2dc4c716d27d2c9187539c21060b89b30b49309804f49b13 + checksum: aac2da8490b36ae4b8360ccd3bd84ad6c450ec110e663ae0e07355b47699161988089e3357d39ffa3486e2ef6919ef0ec19287657e55013335bba5eacccd429c languageName: node linkType: hard -"@jupyterlab/coreutils@npm:^6.5.1, @jupyterlab/coreutils@npm:^6.6.2": - version: 6.6.2 - resolution: "@jupyterlab/coreutils@npm:6.6.2" +"@jupyterlab/coreutils@npm:^6.5.1, @jupyterlab/coreutils@npm:^6.5.10": + version: 6.5.10 + resolution: "@jupyterlab/coreutils@npm:6.5.10" dependencies: "@lumino/coreutils": ^2.2.2 "@lumino/disposable": ^2.1.5 @@ -2515,23 +2515,23 @@ __metadata: minimist: ~1.2.0 path-browserify: ^1.0.0 url-parse: ~1.5.4 - checksum: c78833b10f4ed5efe096d0e340f62967395ce7f85603fb54ecae544068e37c4d899aa9fd7f7872c3fe980e780ff27c1fcf8b70319d07b348437a95da67439e40 + checksum: cdb1219ed6c7426f6e0443e72dea66d1d393e458ed4d3071909041ba4fd4ed090c369a4e7c55286ef54e8a5356a3183dd78077740dfd9b49ef0c21aee6694c79 languageName: node linkType: hard -"@jupyterlab/docmanager@npm:^4.6.2": - version: 4.6.2 - resolution: "@jupyterlab/docmanager@npm:4.6.2" - dependencies: - "@jupyterlab/apputils": ^4.7.2 - "@jupyterlab/coreutils": ^6.6.2 - "@jupyterlab/docregistry": ^4.6.2 - "@jupyterlab/rendermime": ^4.6.2 - "@jupyterlab/services": ^7.6.2 - "@jupyterlab/statedb": ^4.6.2 - "@jupyterlab/statusbar": ^4.6.2 - "@jupyterlab/translation": ^4.6.2 - "@jupyterlab/ui-components": ^4.6.2 +"@jupyterlab/docmanager@npm:^4.5.10": + version: 4.5.10 + resolution: "@jupyterlab/docmanager@npm:4.5.10" + dependencies: + "@jupyterlab/apputils": ^4.6.10 + "@jupyterlab/coreutils": ^6.5.10 + "@jupyterlab/docregistry": ^4.5.10 + "@jupyterlab/rendermime": ^4.5.10 + "@jupyterlab/services": ^7.5.10 + "@jupyterlab/statedb": ^4.5.10 + "@jupyterlab/statusbar": ^4.5.10 + "@jupyterlab/translation": ^4.5.10 + "@jupyterlab/ui-components": ^4.5.10 "@lumino/algorithm": ^2.0.4 "@lumino/coreutils": ^2.2.2 "@lumino/disposable": ^2.1.5 @@ -2539,70 +2539,70 @@ __metadata: "@lumino/polling": ^2.1.5 "@lumino/properties": ^2.0.4 "@lumino/signaling": ^2.1.5 - "@lumino/widgets": ^2.8.0 + "@lumino/widgets": ^2.7.5 react: ^18.2.0 - checksum: 4f0b930602191d656c0962232653c71a7a457d7e335a4d6826d53093052041f88fe6348719595fbd6ebb0fbe2de7175d1bfa5bb8371f7b773f0b87d55787b7d9 + checksum: a61aa826941f07349faa9ef471cfea30396052b977c7a30ef6be7eedeaf80c84286b12bda791b760497e4f946936f842c54f1a6fa23010440d8f684a075f7995 languageName: node linkType: hard -"@jupyterlab/docregistry@npm:^4.6.2": - version: 4.6.2 - resolution: "@jupyterlab/docregistry@npm:4.6.2" - dependencies: - "@jupyter/ydoc": ^4.0.0 - "@jupyterlab/apputils": ^4.7.2 - "@jupyterlab/codeeditor": ^4.6.2 - "@jupyterlab/coreutils": ^6.6.2 - "@jupyterlab/observables": ^5.6.2 - "@jupyterlab/rendermime": ^4.6.2 - "@jupyterlab/rendermime-interfaces": ^3.14.2 - "@jupyterlab/services": ^7.6.2 - "@jupyterlab/translation": ^4.6.2 - "@jupyterlab/ui-components": ^4.6.2 +"@jupyterlab/docregistry@npm:^4.5.10": + version: 4.5.10 + resolution: "@jupyterlab/docregistry@npm:4.5.10" + dependencies: + "@jupyter/ydoc": ^3.1.0 + "@jupyterlab/apputils": ^4.6.10 + "@jupyterlab/codeeditor": ^4.5.10 + "@jupyterlab/coreutils": ^6.5.10 + "@jupyterlab/observables": ^5.5.10 + "@jupyterlab/rendermime": ^4.5.10 + "@jupyterlab/rendermime-interfaces": ^3.13.10 + "@jupyterlab/services": ^7.5.10 + "@jupyterlab/translation": ^4.5.10 + "@jupyterlab/ui-components": ^4.5.10 "@lumino/algorithm": ^2.0.4 "@lumino/coreutils": ^2.2.2 "@lumino/disposable": ^2.1.5 "@lumino/messaging": ^2.0.4 "@lumino/properties": ^2.0.4 "@lumino/signaling": ^2.1.5 - "@lumino/widgets": ^2.8.0 + "@lumino/widgets": ^2.7.5 react: ^18.2.0 - checksum: 66743ca91e7dcba8ab5f5707c4056baa981a5aace636d973b5f88b92a5137a7ec5707abc5ca073c9d6fa952a5377e4fe30e989c47a34472bd8b160564ca498e3 + checksum: efe383d85c930afed98ba35e4ab230b4f4b1a745a6e049a7adec43e2550b5bcb62ed253a68163c8f2e46039b3caaa6d05f82e89fc2457df915ab7ed91c3c1b03 languageName: node linkType: hard -"@jupyterlab/documentsearch@npm:^4.6.2": - version: 4.6.2 - resolution: "@jupyterlab/documentsearch@npm:4.6.2" +"@jupyterlab/documentsearch@npm:^4.5.10": + version: 4.5.10 + resolution: "@jupyterlab/documentsearch@npm:4.5.10" dependencies: - "@jupyterlab/apputils": ^4.7.2 - "@jupyterlab/translation": ^4.6.2 - "@jupyterlab/ui-components": ^4.6.2 + "@jupyterlab/apputils": ^4.6.10 + "@jupyterlab/translation": ^4.5.10 + "@jupyterlab/ui-components": ^4.5.10 "@lumino/commands": ^2.3.3 "@lumino/coreutils": ^2.2.2 "@lumino/disposable": ^2.1.5 "@lumino/messaging": ^2.0.4 "@lumino/polling": ^2.1.5 "@lumino/signaling": ^2.1.5 - "@lumino/widgets": ^2.8.0 + "@lumino/widgets": ^2.7.5 react: ^18.2.0 - checksum: c9ccabb84b383892d8839cd8dd4ecd03f27b80258041fffefd0cc9bbe76da40076aec479159c24debef2335db3c1d71fc3e257107504ae09f10201d2e9d435ce + checksum: 38d20d06c79f2c0cb3fc77acf09ac00cca8d8ebf7cd23446525b5dbb5a472ff214ebc4b8ccc828a2bb30c266bf9edf21bd76b3c2330174aafa94e4bfc349e440 languageName: node linkType: hard -"@jupyterlab/filebrowser@npm:^4.5.1, @jupyterlab/filebrowser@npm:^4.6.2": - version: 4.6.2 - resolution: "@jupyterlab/filebrowser@npm:4.6.2" - dependencies: - "@jupyterlab/apputils": ^4.7.2 - "@jupyterlab/coreutils": ^6.6.2 - "@jupyterlab/docmanager": ^4.6.2 - "@jupyterlab/docregistry": ^4.6.2 - "@jupyterlab/services": ^7.6.2 - "@jupyterlab/statedb": ^4.6.2 - "@jupyterlab/statusbar": ^4.6.2 - "@jupyterlab/translation": ^4.6.2 - "@jupyterlab/ui-components": ^4.6.2 +"@jupyterlab/filebrowser@npm:^4.5.1, @jupyterlab/filebrowser@npm:^4.5.10": + version: 4.5.10 + resolution: "@jupyterlab/filebrowser@npm:4.5.10" + dependencies: + "@jupyterlab/apputils": ^4.6.10 + "@jupyterlab/coreutils": ^6.5.10 + "@jupyterlab/docmanager": ^4.5.10 + "@jupyterlab/docregistry": ^4.5.10 + "@jupyterlab/services": ^7.5.10 + "@jupyterlab/statedb": ^4.5.10 + "@jupyterlab/statusbar": ^4.5.10 + "@jupyterlab/translation": ^4.5.10 + "@jupyterlab/ui-components": ^4.5.10 "@lumino/algorithm": ^2.0.4 "@lumino/coreutils": ^2.2.2 "@lumino/disposable": ^2.1.5 @@ -2612,143 +2612,134 @@ __metadata: "@lumino/polling": ^2.1.5 "@lumino/signaling": ^2.1.5 "@lumino/virtualdom": ^2.0.4 - "@lumino/widgets": ^2.8.0 + "@lumino/widgets": ^2.7.5 + jest-environment-jsdom: ^29.3.0 react: ^18.2.0 - checksum: 79c3423cfb2ba9eb06aa77f4c40d81ae93ea80035bc965a5099bd00bcd6a640508a70d6e0e3335dc9fec9f669a299df9abb52029a475bf22af74baaa3b43728d + checksum: b988ce670fbdb6baff1666c3172341e9719197d4418a411476c3d65c805fed51b7d55b73ac365718efc4c64ae7656c3194b65bc133e227f0d8ca0fd932dccf94 languageName: node linkType: hard "@jupyterlab/launcher@npm:^4.5.1": - version: 4.6.2 - resolution: "@jupyterlab/launcher@npm:4.6.2" + version: 4.5.10 + resolution: "@jupyterlab/launcher@npm:4.5.10" dependencies: - "@jupyterlab/apputils": ^4.7.2 - "@jupyterlab/translation": ^4.6.2 - "@jupyterlab/ui-components": ^4.6.2 + "@jupyterlab/apputils": ^4.6.10 + "@jupyterlab/translation": ^4.5.10 + "@jupyterlab/ui-components": ^4.5.10 "@lumino/algorithm": ^2.0.4 "@lumino/commands": ^2.3.3 "@lumino/coreutils": ^2.2.2 "@lumino/disposable": ^2.1.5 "@lumino/properties": ^2.0.4 - "@lumino/widgets": ^2.8.0 + "@lumino/widgets": ^2.7.5 react: ^18.2.0 - checksum: 48ec55fb188dcbeafdced2f79f4cd75c8eb42f9b81c3aaf98230cbbe3e36cd14551ee15fa0b7882ec734313e10346b23223050d8a45601dc0e06ffc8f5978abd + checksum: cf229fa198962fb0572732d52c923acfe2a33567f5c260c768b0775c45b510f821f183ebbec32ec926b4f3609cc1e809ba3d80c6e11b224cd27aadb1c53397f8 languageName: node linkType: hard -"@jupyterlab/lsp@npm:^4.6.2": - version: 4.6.2 - resolution: "@jupyterlab/lsp@npm:4.6.2" - dependencies: - "@jupyterlab/apputils": ^4.7.2 - "@jupyterlab/codeeditor": ^4.6.2 - "@jupyterlab/codemirror": ^4.6.2 - "@jupyterlab/coreutils": ^6.6.2 - "@jupyterlab/docregistry": ^4.6.2 - "@jupyterlab/services": ^7.6.2 - "@jupyterlab/translation": ^4.6.2 +"@jupyterlab/lsp@npm:^4.5.10": + version: 4.5.10 + resolution: "@jupyterlab/lsp@npm:4.5.10" + dependencies: + "@jupyterlab/apputils": ^4.6.10 + "@jupyterlab/codeeditor": ^4.5.10 + "@jupyterlab/codemirror": ^4.5.10 + "@jupyterlab/coreutils": ^6.5.10 + "@jupyterlab/docregistry": ^4.5.10 + "@jupyterlab/services": ^7.5.10 + "@jupyterlab/translation": ^4.5.10 "@lumino/coreutils": ^2.2.2 "@lumino/disposable": ^2.1.5 "@lumino/signaling": ^2.1.5 - "@lumino/widgets": ^2.8.0 + "@lumino/widgets": ^2.7.5 lodash.mergewith: ^4.6.1 - vscode-jsonrpc: ^8.2.0 + vscode-jsonrpc: ^6.0.0 vscode-languageserver-protocol: ^3.17.0 vscode-ws-jsonrpc: ~1.0.2 - checksum: a8d45b37cde123d04e2b6f8a7bb40320a490d0fa507913a3dc82a32a4dd691d2f584340eff0f77faf4a2c00840cc9106ae0f03f3ed1e6ed4b0830fb27bc980da + checksum: a596011f1e6bc4d9312189c2b9337d8e1262514802b83bd5d2be35192455ec43e5635893cc54f7a5aeb07388be3558327a0815e496d1a34a8fc5367d456b57df languageName: node linkType: hard "@jupyterlab/mainmenu@npm:^4.5.1": - version: 4.6.2 - resolution: "@jupyterlab/mainmenu@npm:4.6.2" + version: 4.5.10 + resolution: "@jupyterlab/mainmenu@npm:4.5.10" dependencies: - "@jupyterlab/apputils": ^4.7.2 - "@jupyterlab/translation": ^4.6.2 - "@jupyterlab/ui-components": ^4.6.2 + "@jupyterlab/apputils": ^4.6.10 + "@jupyterlab/translation": ^4.5.10 + "@jupyterlab/ui-components": ^4.5.10 "@lumino/algorithm": ^2.0.4 "@lumino/commands": ^2.3.3 "@lumino/coreutils": ^2.2.2 - "@lumino/widgets": ^2.8.0 - checksum: 1b60312b13da86c8899e18d0e89be91a565cd1335443a0f38f5371e90ab46aada165bfb72090b3e955507d269a6d50643cbb0fc821961f682f75111e39d9adec - languageName: node - linkType: hard - -"@jupyterlab/markedparser-extension@npm:^4.6.2": - version: 4.6.2 - resolution: "@jupyterlab/markedparser-extension@npm:4.6.2" - dependencies: - "@jupyterlab/application": ^4.6.2 - "@jupyterlab/codemirror": ^4.6.2 - "@jupyterlab/coreutils": ^6.6.2 - "@jupyterlab/mermaid": ^4.6.2 - "@jupyterlab/rendermime": ^4.6.2 - "@lumino/coreutils": ^2.2.2 - marked: ^17.0.6 - marked-gfm-heading-id: ^4.1.4 - marked-mangle: ^1.1.13 - checksum: d6d4b9d252b8353623ac60205a12440a691358cc3c9dfba944d9bfa11483ebf52d37ae79f37210f49ca32b8588874409d99e57ffc8300c62aa4eaf611c301cf0 + "@lumino/widgets": ^2.7.5 + checksum: f4f1a151b5a0fa46816649be122d9bcdb8da6aeaaf9dda3fd7eb8c4f3d70ef8acdbf7f5a76024b3acb859a5020bc9894f149cc2ae05fcaaffe0c3798175d238d languageName: node linkType: hard -"@jupyterlab/mermaid@npm:^4.6.2": - version: 4.6.2 - resolution: "@jupyterlab/mermaid@npm:4.6.2" +"@jupyterlab/markedparser-extension@npm:^4.5.10": + version: 4.5.10 + resolution: "@jupyterlab/markedparser-extension@npm:4.5.10" dependencies: - "@jupyterlab/apputils": ^4.7.2 - "@jupyterlab/coreutils": ^6.6.2 - "@jupyterlab/rendermime-interfaces": ^3.14.2 + "@jupyterlab/application": ^4.5.10 + "@jupyterlab/codemirror": ^4.5.10 + "@jupyterlab/coreutils": ^6.5.10 + "@jupyterlab/mermaid": ^4.5.10 + "@jupyterlab/rendermime": ^4.5.10 "@lumino/coreutils": ^2.2.2 - "@lumino/widgets": ^2.8.0 - "@mermaid-js/layout-elk": ^0.2.1 - mermaid: ^11.15.0 - checksum: 15dcd1e0d4a78b923d0cb01d613d8c53f3dd17037758630640c098b525915be21ab2dcc187cd2011593c08dc0814ae40797c63c3ac477d1b1b639f2130649f76 + marked: ^17.0.2 + marked-gfm-heading-id: ^4.1.3 + marked-mangle: ^1.1.12 + checksum: a4ea32dace01d5208baa510acc576a3bf1f96877aa04e824c6f96d90d2e211ecceecc3542ba948807796e361ca64efe3c797c9b7173dcfcf536b481073d191b7 languageName: node linkType: hard -"@jupyterlab/nbformat@npm:^3.0.0 || ^4.0.0-alpha.21 || ^4.0.0": - version: 4.5.7 - resolution: "@jupyterlab/nbformat@npm:4.5.7" +"@jupyterlab/mermaid@npm:^4.5.10": + version: 4.5.10 + resolution: "@jupyterlab/mermaid@npm:4.5.10" dependencies: + "@jupyterlab/apputils": ^4.6.10 + "@jupyterlab/coreutils": ^6.5.10 + "@jupyterlab/rendermime-interfaces": ^3.13.10 "@lumino/coreutils": ^2.2.2 - checksum: 7b75969953654c490b19b7ca5b2218169f39012e1136f9ee943defe8e8b11202cb00fc65e5e3ba3fceee8781b8fec4bda978f8f39d31ced75cf9d954b2060048 + "@lumino/widgets": ^2.7.5 + "@mermaid-js/layout-elk": ^0.2.0 + mermaid: ^11.12.3 + checksum: 93270884a714739a3a791c687690d794a84af10fa6d88e52ebda467e7ad5c1069b435e177690284ffa30d3234ddc2699631f4cf1321856d5ff5ae808f5bcc6ff languageName: node linkType: hard -"@jupyterlab/nbformat@npm:^4.6.2": - version: 4.6.2 - resolution: "@jupyterlab/nbformat@npm:4.6.2" +"@jupyterlab/nbformat@npm:^3.0.0 || ^4.0.0-alpha.21 || ^4.0.0, @jupyterlab/nbformat@npm:^4.5.10": + version: 4.5.10 + resolution: "@jupyterlab/nbformat@npm:4.5.10" dependencies: "@lumino/coreutils": ^2.2.2 - checksum: 83c4d27dfdb6fef695f10ec05e2adb5d79d659090227368b704ce795de31a5ed9daa313374afb7fd96f627caeeb6f2895171238ecfb58c996bf10b7319351b26 + checksum: 6a8c9e4cf1b1e7249f8cf0dda9d374415a3543e05dcd9b175ba253780b14414225d457dcb892aa7e425b2e2998cf41ae3c034cb1a07ee77b7a12e67b45cdd840 languageName: node linkType: hard -"@jupyterlab/notebook@npm:^4.5.1, @jupyterlab/notebook@npm:^4.6.2": - version: 4.6.2 - resolution: "@jupyterlab/notebook@npm:4.6.2" - dependencies: - "@jupyter/ydoc": ^4.0.0 - "@jupyterlab/apputils": ^4.7.2 - "@jupyterlab/cells": ^4.6.2 - "@jupyterlab/codeeditor": ^4.6.2 - "@jupyterlab/codemirror": ^4.6.2 - "@jupyterlab/coreutils": ^6.6.2 - "@jupyterlab/docregistry": ^4.6.2 - "@jupyterlab/documentsearch": ^4.6.2 - "@jupyterlab/lsp": ^4.6.2 - "@jupyterlab/markedparser-extension": ^4.6.2 - "@jupyterlab/nbformat": ^4.6.2 - "@jupyterlab/observables": ^5.6.2 - "@jupyterlab/rendermime": ^4.6.2 - "@jupyterlab/services": ^7.6.2 - "@jupyterlab/settingregistry": ^4.6.2 - "@jupyterlab/statusbar": ^4.6.2 - "@jupyterlab/toc": ^6.6.2 - "@jupyterlab/translation": ^4.6.2 - "@jupyterlab/ui-components": ^4.6.2 +"@jupyterlab/notebook@npm:^4.5.1, @jupyterlab/notebook@npm:^4.5.10": + version: 4.5.10 + resolution: "@jupyterlab/notebook@npm:4.5.10" + dependencies: + "@jupyter/ydoc": ^3.1.0 + "@jupyterlab/apputils": ^4.6.10 + "@jupyterlab/cells": ^4.5.10 + "@jupyterlab/codeeditor": ^4.5.10 + "@jupyterlab/codemirror": ^4.5.10 + "@jupyterlab/coreutils": ^6.5.10 + "@jupyterlab/docregistry": ^4.5.10 + "@jupyterlab/documentsearch": ^4.5.10 + "@jupyterlab/lsp": ^4.5.10 + "@jupyterlab/markedparser-extension": ^4.5.10 + "@jupyterlab/nbformat": ^4.5.10 + "@jupyterlab/observables": ^5.5.10 + "@jupyterlab/rendermime": ^4.5.10 + "@jupyterlab/services": ^7.5.10 + "@jupyterlab/settingregistry": ^4.5.10 + "@jupyterlab/statusbar": ^4.5.10 + "@jupyterlab/toc": ^6.5.10 + "@jupyterlab/translation": ^4.5.10 + "@jupyterlab/ui-components": ^4.5.10 "@lumino/algorithm": ^2.0.4 - "@lumino/commands": ^2.3.3 "@lumino/coreutils": ^2.2.2 "@lumino/disposable": ^2.1.5 "@lumino/domutils": ^2.0.4 @@ -2758,102 +2749,102 @@ __metadata: "@lumino/properties": ^2.0.4 "@lumino/signaling": ^2.1.5 "@lumino/virtualdom": ^2.0.4 - "@lumino/widgets": ^2.8.0 + "@lumino/widgets": ^2.7.5 react: ^18.2.0 - checksum: e97a6e4770289969375f3781afb992fe71cb775dc8ba00784fe5676ab63020c7c4efd5436e3b352e4da5c429f9f0ec47b0592b7ef9e7a8a46b9d24fa3c57d76c + checksum: 80ec1b6433f90c8be85eae75d9a89996d34be71c651fd8ed89760a5b0c871d7c4d166fe56c6b9271ae5ff4422795cf89bf16cdfec94bd8c06e9dff96aa0b4b14 languageName: node linkType: hard -"@jupyterlab/observables@npm:^5.6.2": - version: 5.6.2 - resolution: "@jupyterlab/observables@npm:5.6.2" +"@jupyterlab/observables@npm:^5.5.10": + version: 5.5.10 + resolution: "@jupyterlab/observables@npm:5.5.10" dependencies: "@lumino/algorithm": ^2.0.4 "@lumino/coreutils": ^2.2.2 "@lumino/disposable": ^2.1.5 "@lumino/messaging": ^2.0.4 "@lumino/signaling": ^2.1.5 - checksum: e9d88eb7e798722294646d353855e758c6d050be12d2dd133a767c4ab5498d98609948a5f0230eb87ed7068f43124d32225383b9f481bd1c9d69e9d6437b2dfa + checksum: 2e1558d810ff0cd1b5f032018d81d63cd1bb704bd7465d7eb840d315841fd620481659c97211a7011d008f23e18ff17b56a285ebb372372ba20c9688e1737ca1 languageName: node linkType: hard -"@jupyterlab/outputarea@npm:^4.6.2": - version: 4.6.2 - resolution: "@jupyterlab/outputarea@npm:4.6.2" - dependencies: - "@jupyterlab/apputils": ^4.7.2 - "@jupyterlab/nbformat": ^4.6.2 - "@jupyterlab/observables": ^5.6.2 - "@jupyterlab/rendermime": ^4.6.2 - "@jupyterlab/rendermime-interfaces": ^3.14.2 - "@jupyterlab/services": ^7.6.2 - "@jupyterlab/translation": ^4.6.2 +"@jupyterlab/outputarea@npm:^4.5.10": + version: 4.5.10 + resolution: "@jupyterlab/outputarea@npm:4.5.10" + dependencies: + "@jupyterlab/apputils": ^4.6.10 + "@jupyterlab/nbformat": ^4.5.10 + "@jupyterlab/observables": ^5.5.10 + "@jupyterlab/rendermime": ^4.5.10 + "@jupyterlab/rendermime-interfaces": ^3.13.10 + "@jupyterlab/services": ^7.5.10 + "@jupyterlab/translation": ^4.5.10 "@lumino/algorithm": ^2.0.4 "@lumino/coreutils": ^2.2.2 "@lumino/disposable": ^2.1.5 "@lumino/messaging": ^2.0.4 "@lumino/properties": ^2.0.4 "@lumino/signaling": ^2.1.5 - "@lumino/widgets": ^2.8.0 - checksum: 86fc9531f2bf07c91c7992dc3d1cd76088f5f6ac071e3e06b6034b890b71462eddac3605d857583977df7c91fa4c4deb47d5ad17d4f360229604d0054e010b9b + "@lumino/widgets": ^2.7.5 + checksum: 97b98af3b6ec984237532b1d50302e7e1785cdae27aa1a9106bcd065158e52a879b3d22a12daa06bb8a4a9dc51c434a5fa1c133f94e13364d686e8ab16fb30db languageName: node linkType: hard -"@jupyterlab/rendermime-interfaces@npm:^3.14.2": - version: 3.14.2 - resolution: "@jupyterlab/rendermime-interfaces@npm:3.14.2" +"@jupyterlab/rendermime-interfaces@npm:^3.13.10": + version: 3.13.10 + resolution: "@jupyterlab/rendermime-interfaces@npm:3.13.10" dependencies: "@lumino/coreutils": ^1.11.0 || ^2.2.2 - "@lumino/widgets": ^1.37.2 || ^2.8.0 - checksum: a140dcb97aab1e50786c78ad3288a40a5da5e5c101af5b5941ff619643527a7f3f4b5f70183b4f23dd31f2a0ba7fe9e33ab620ae32beea6cd2fc184b9bcfd6b3 + "@lumino/widgets": ^1.37.2 || ^2.7.5 + checksum: 02843f27e179948249a6c47caa5a3a76c97ef0deb1ed920da55c175ceacbd2c25642e1a870484f1c2d133e61439b81de4e9cd92a5c5eac44ea914933c5339a06 languageName: node linkType: hard -"@jupyterlab/rendermime@npm:^4.6.2": - version: 4.6.2 - resolution: "@jupyterlab/rendermime@npm:4.6.2" - dependencies: - "@jupyterlab/apputils": ^4.7.2 - "@jupyterlab/coreutils": ^6.6.2 - "@jupyterlab/nbformat": ^4.6.2 - "@jupyterlab/observables": ^5.6.2 - "@jupyterlab/rendermime-interfaces": ^3.14.2 - "@jupyterlab/services": ^7.6.2 - "@jupyterlab/translation": ^4.6.2 +"@jupyterlab/rendermime@npm:^4.5.10": + version: 4.5.10 + resolution: "@jupyterlab/rendermime@npm:4.5.10" + dependencies: + "@jupyterlab/apputils": ^4.6.10 + "@jupyterlab/coreutils": ^6.5.10 + "@jupyterlab/nbformat": ^4.5.10 + "@jupyterlab/observables": ^5.5.10 + "@jupyterlab/rendermime-interfaces": ^3.13.10 + "@jupyterlab/services": ^7.5.10 + "@jupyterlab/translation": ^4.5.10 "@lumino/coreutils": ^2.2.2 "@lumino/messaging": ^2.0.4 "@lumino/signaling": ^2.1.5 - "@lumino/widgets": ^2.8.0 + "@lumino/widgets": ^2.7.5 lodash.escape: ^4.0.1 - checksum: 31cf844b397adf38ba32eef03ceae00eb18dca78f459a79db22db5c11b8ef37059bdf1d597f4302e64f1f4b085bab68978e85bf6d51007d8d3dc32a2d95e68b7 + checksum: 824a1f43334facf432881963475ab5becc5272263c3423a1e3c667e88f8d3460e56532a5439ccedee566ccdf2fbdfc41cced60c2eb3d3e5e6916af6562d1ea53 languageName: node linkType: hard -"@jupyterlab/services@npm:^7.5.1, @jupyterlab/services@npm:^7.6.2": - version: 7.6.2 - resolution: "@jupyterlab/services@npm:7.6.2" +"@jupyterlab/services@npm:^7.5.1, @jupyterlab/services@npm:^7.5.10": + version: 7.5.10 + resolution: "@jupyterlab/services@npm:7.5.10" dependencies: - "@jupyter/ydoc": ^4.0.0 - "@jupyterlab/coreutils": ^6.6.2 - "@jupyterlab/nbformat": ^4.6.2 - "@jupyterlab/settingregistry": ^4.6.2 - "@jupyterlab/statedb": ^4.6.2 + "@jupyter/ydoc": ^3.1.0 + "@jupyterlab/coreutils": ^6.5.10 + "@jupyterlab/nbformat": ^4.5.10 + "@jupyterlab/settingregistry": ^4.5.10 + "@jupyterlab/statedb": ^4.5.10 "@lumino/coreutils": ^2.2.2 "@lumino/disposable": ^2.1.5 "@lumino/polling": ^2.1.5 "@lumino/properties": ^2.0.4 "@lumino/signaling": ^2.1.5 ws: ^8.11.0 - checksum: a5ed23b8ae004fa6facec1f0902fb20643f7190b21103f656ab304eefc5c83fe3706bc2ec5f6343e9f2495b34a8b41c3c5dde7784469218d801b093aa3754a88 + checksum: 8d8293d19a23bb4e99de85c2e601c31a6097e187d540ddaf905b172da9397211ff49feba8105859b4ecc38c284b93f0db0cbac41e145542bae99e869ad6498ad languageName: node linkType: hard -"@jupyterlab/settingregistry@npm:^4.5.1, @jupyterlab/settingregistry@npm:^4.6.2": - version: 4.6.2 - resolution: "@jupyterlab/settingregistry@npm:4.6.2" +"@jupyterlab/settingregistry@npm:^4.5.1, @jupyterlab/settingregistry@npm:^4.5.10": + version: 4.5.10 + resolution: "@jupyterlab/settingregistry@npm:4.5.10" dependencies: - "@jupyterlab/nbformat": ^4.6.2 - "@jupyterlab/statedb": ^4.6.2 + "@jupyterlab/nbformat": ^4.5.10 + "@jupyterlab/statedb": ^4.5.10 "@lumino/commands": ^2.3.3 "@lumino/coreutils": ^2.2.2 "@lumino/disposable": ^2.1.5 @@ -2863,46 +2854,46 @@ __metadata: json5: ^2.2.3 peerDependencies: react: ">=16" - checksum: b01ac9c57e3a2baedf04952c695cb5526702d36cb63512c1bc4954f4dce199856a0fba0781d23a963e81259ce13c7ebdf291ac55e779199bb85b467b81358d05 + checksum: 89bcf2315b26f55e499c6fd0f90fab5be8177f977c6fc0084db08424ef654546433e41857fc30930a355fd8cfc056faae9356e6b38411615a0eea928c7a9a430 languageName: node linkType: hard -"@jupyterlab/statedb@npm:^4.6.2": - version: 4.6.2 - resolution: "@jupyterlab/statedb@npm:4.6.2" +"@jupyterlab/statedb@npm:^4.5.10": + version: 4.5.10 + resolution: "@jupyterlab/statedb@npm:4.5.10" dependencies: "@lumino/commands": ^2.3.3 "@lumino/coreutils": ^2.2.2 "@lumino/disposable": ^2.1.5 "@lumino/properties": ^2.0.4 "@lumino/signaling": ^2.1.5 - checksum: 8df7129396cae61711d759f06f6621a252995671f9593fb8f5ea13e88b42823290c0dd43e8fb4f18507c2b1ebc705a5533313d16628f3ec37766e75b7bc3e211 + checksum: 6aac81d2b4fe45a23d6945e6ada398d329d47381d1745a91f094c9e7856f8d115b498fa2ada2b1a73f8f5d7d0eaf061151222158485b377a8a4d0da779764ac3 languageName: node linkType: hard -"@jupyterlab/statusbar@npm:^4.6.2": - version: 4.6.2 - resolution: "@jupyterlab/statusbar@npm:4.6.2" +"@jupyterlab/statusbar@npm:^4.5.10": + version: 4.5.10 + resolution: "@jupyterlab/statusbar@npm:4.5.10" dependencies: - "@jupyterlab/ui-components": ^4.6.2 + "@jupyterlab/ui-components": ^4.5.10 "@lumino/algorithm": ^2.0.4 "@lumino/coreutils": ^2.2.2 "@lumino/disposable": ^2.1.5 "@lumino/messaging": ^2.0.4 "@lumino/signaling": ^2.1.5 - "@lumino/widgets": ^2.8.0 + "@lumino/widgets": ^2.7.5 react: ^18.2.0 - checksum: 0ed3961cc6016dc0dabdbfc241547a1660e64b6fa6d93ff253119c24f0955bc6412a6eada64a643ac618a7879802913a8f944336307ece2c3ea4d6196a8583c4 + checksum: 9a6150a697066fa6dc685b06293ebab71b962df2f4a91493c52df2c76c6b9d6c647456cad1e6975613ad78748073a0756a72a2b15ca3227d91ba4c60fd4bac15 languageName: node linkType: hard -"@jupyterlab/testing@npm:^4.6.2": - version: 4.6.2 - resolution: "@jupyterlab/testing@npm:4.6.2" +"@jupyterlab/testing@npm:^4.5.10": + version: 4.5.10 + resolution: "@jupyterlab/testing@npm:4.5.10" dependencies: "@babel/core": ^7.10.2 "@babel/preset-env": ^7.10.2 - "@jupyterlab/coreutils": ^6.6.2 + "@jupyterlab/coreutils": ^6.5.10 "@lumino/coreutils": ^2.2.2 "@lumino/signaling": ^2.1.5 deepmerge: ^4.2.2 @@ -2915,69 +2906,69 @@ __metadata: ts-jest: ^29.1.0 peerDependencies: typescript: ">=4.3" - checksum: d3553029a57f2fe992e3b5308ff7a16b00d66babcb9c96fb2c433ef7b9cad9abbf4760bc316b7a5bb0f0c6bcbf2ce03052a5faf63bf9c1b516d3b73de11c9c04 + checksum: 5c629e58c519af680e9b63f090646c3121b80211720be7a419ae20f6620657008f893e194b9779ba036f00e152b825ecdc3e985aa916c5900c580d6e9d5f81a3 languageName: node linkType: hard "@jupyterlab/testutils@npm:^4.5.6": - version: 4.6.2 - resolution: "@jupyterlab/testutils@npm:4.6.2" + version: 4.5.10 + resolution: "@jupyterlab/testutils@npm:4.5.10" dependencies: - "@jupyterlab/application": ^4.6.2 - "@jupyterlab/apputils": ^4.7.2 - "@jupyterlab/notebook": ^4.6.2 - "@jupyterlab/rendermime": ^4.6.2 - "@jupyterlab/testing": ^4.6.2 - checksum: a9afda89001208ddf3df6fe535b9d2aa2a31b96018735e8979697d7a8ebf941f3b51f9bb1903c010297da9c675efd046d72e7003bc4866ee5992b6fac48355ab + "@jupyterlab/application": ^4.5.10 + "@jupyterlab/apputils": ^4.6.10 + "@jupyterlab/notebook": ^4.5.10 + "@jupyterlab/rendermime": ^4.5.10 + "@jupyterlab/testing": ^4.5.10 + checksum: 70ed39ba75d84aa63f1578aaa9199f5b477387cedd9c6134f4a66fcd154b05a8c60fe7f9adf0e7266a572ed23a0c5a050e559a4cf2000caea5f534ff68ba30d0 languageName: node linkType: hard -"@jupyterlab/toc@npm:^6.6.2": - version: 6.6.2 - resolution: "@jupyterlab/toc@npm:6.6.2" +"@jupyterlab/toc@npm:^6.5.10": + version: 6.5.10 + resolution: "@jupyterlab/toc@npm:6.5.10" dependencies: "@jupyter/react-components": ^0.16.6 - "@jupyterlab/apputils": ^4.7.2 - "@jupyterlab/coreutils": ^6.6.2 - "@jupyterlab/docregistry": ^4.6.2 - "@jupyterlab/observables": ^5.6.2 - "@jupyterlab/rendermime": ^4.6.2 - "@jupyterlab/rendermime-interfaces": ^3.14.2 - "@jupyterlab/translation": ^4.6.2 - "@jupyterlab/ui-components": ^4.6.2 + "@jupyterlab/apputils": ^4.6.10 + "@jupyterlab/coreutils": ^6.5.10 + "@jupyterlab/docregistry": ^4.5.10 + "@jupyterlab/observables": ^5.5.10 + "@jupyterlab/rendermime": ^4.5.10 + "@jupyterlab/rendermime-interfaces": ^3.13.10 + "@jupyterlab/translation": ^4.5.10 + "@jupyterlab/ui-components": ^4.5.10 "@lumino/coreutils": ^2.2.2 "@lumino/disposable": ^2.1.5 "@lumino/messaging": ^2.0.4 "@lumino/signaling": ^2.1.5 - "@lumino/widgets": ^2.8.0 + "@lumino/widgets": ^2.7.5 react: ^18.2.0 - checksum: 5b2ae1723ab16079fb391db1590bc2c0c572cb03decc18c659e733cf83a63d7a2d70d1b8fc3b0d01059c2e3317ea04510613dc6d877a0ae2e03efb7fbebc810c + checksum: 25ebd1b65b1cc3a085c9193b4eb3c77e3a39b662b9a4aa559e73ce77b5a679d30b7e7ad9566c1698337d09558f0d1445c36030a381365467653e3745a78cfc99 languageName: node linkType: hard -"@jupyterlab/translation@npm:^4.6.2": - version: 4.6.2 - resolution: "@jupyterlab/translation@npm:4.6.2" +"@jupyterlab/translation@npm:^4.5.10": + version: 4.5.10 + resolution: "@jupyterlab/translation@npm:4.5.10" dependencies: - "@jupyterlab/coreutils": ^6.6.2 - "@jupyterlab/rendermime-interfaces": ^3.14.2 - "@jupyterlab/services": ^7.6.2 - "@jupyterlab/statedb": ^4.6.2 + "@jupyterlab/coreutils": ^6.5.10 + "@jupyterlab/rendermime-interfaces": ^3.13.10 + "@jupyterlab/services": ^7.5.10 + "@jupyterlab/statedb": ^4.5.10 "@lumino/coreutils": ^2.2.2 - checksum: 9bea7cc6742a58707efc1450d840ef88da0640d53a5ec5d0609dc4807fcb5aa1b653aa02a2f025795b9e2a8bde602ffff47546354715ea5ba0d47f2fc38fcbc4 + checksum: c33a54ef5fe932d051884a7b60cdc8c9fc01750399b414afe828bd246b04b2b80f3033bd272e7734083c3e58647557b5c36322cd045c86ed8e46059b2d3e85e1 languageName: node linkType: hard -"@jupyterlab/ui-components@npm:^4.5.5, @jupyterlab/ui-components@npm:^4.6.2": - version: 4.6.2 - resolution: "@jupyterlab/ui-components@npm:4.6.2" +"@jupyterlab/ui-components@npm:^4.5.10, @jupyterlab/ui-components@npm:^4.5.5": + version: 4.5.10 + resolution: "@jupyterlab/ui-components@npm:4.5.10" dependencies: "@jupyter/react-components": ^0.16.6 "@jupyter/web-components": ^0.16.6 - "@jupyterlab/coreutils": ^6.6.2 - "@jupyterlab/observables": ^5.6.2 - "@jupyterlab/rendermime-interfaces": ^3.14.2 - "@jupyterlab/translation": ^4.6.2 + "@jupyterlab/coreutils": ^6.5.10 + "@jupyterlab/observables": ^5.5.10 + "@jupyterlab/rendermime-interfaces": ^3.13.10 + "@jupyterlab/translation": ^4.5.10 "@lumino/algorithm": ^2.0.4 "@lumino/commands": ^2.3.3 "@lumino/coreutils": ^2.2.2 @@ -2987,7 +2978,7 @@ __metadata: "@lumino/properties": ^2.0.4 "@lumino/signaling": ^2.1.5 "@lumino/virtualdom": ^2.0.4 - "@lumino/widgets": ^2.8.0 + "@lumino/widgets": ^2.7.5 "@rjsf/core": ^5.13.4 "@rjsf/utils": ^5.13.4 react: ^18.2.0 @@ -2995,7 +2986,7 @@ __metadata: typestyle: ^2.0.4 peerDependencies: react: ^18.2.0 - checksum: 6bb6365db3a5916337ac44fff07b059405b742c8f16467dc7a81c08dbb52514e489729f5c6fecfa4ab06ad0ea601899187d9b78d155a786f0a253c297fb358fb + checksum: 55697035a16cd45aae39e04ebd3901ba1b7662ab51b17150f25112812c216cbd8c28aa222b39d539519667c25f3a96b02ffd58c5e05db09eaf9dbf25661c2129 languageName: node linkType: hard @@ -3026,24 +3017,24 @@ __metadata: linkType: hard "@lezer/cpp@npm:^1.0.0": - version: 1.1.5 - resolution: "@lezer/cpp@npm:1.1.5" + version: 1.1.6 + resolution: "@lezer/cpp@npm:1.1.6" dependencies: "@lezer/common": ^1.2.0 "@lezer/highlight": ^1.0.0 "@lezer/lr": ^1.0.0 - checksum: e077f19d29f55794d05307262f1852c27003a63b1bddf5cbb4d211d3d58d982f327d9073f81302c5974040de4cf9b9c17aa1d828fe2f020b0891c3aeca3f5174 + checksum: 13df2bd49c47e4ad93146dabb27219c81d91f1a1cf49bd410f966c50d8bc4a4da20f1dcf0269b1fdbdc7318dd33b67a2e37b449b01abcbe29ea4c82abcb80de0 languageName: node linkType: hard "@lezer/css@npm:^1.1.0, @lezer/css@npm:^1.1.7": - version: 1.3.3 - resolution: "@lezer/css@npm:1.3.3" + version: 1.3.6 + resolution: "@lezer/css@npm:1.3.6" dependencies: "@lezer/common": ^1.2.0 "@lezer/highlight": ^1.0.0 "@lezer/lr": ^1.3.0 - checksum: a4bd7552d703be8cc08bf6092cc7c5870e00db78bbb8bcfc4c8aa1b54b919fb013924b332b3bf72c2263296a2df3af17e4dac7378000bf07ddc508d3ee7c311a + checksum: 784650626081f3e1e290a22408a2c26d37521d9c15dd51e7d5548e1d46f39ba3a9e1c5bbc2d617b735f827a2e40b6cd1dc742e2aa39dd5aec50df8c12a0a6aac languageName: node linkType: hard @@ -3122,12 +3113,12 @@ __metadata: linkType: hard "@lezer/markdown@npm:^1.0.0, @lezer/markdown@npm:^1.3.0": - version: 1.6.3 - resolution: "@lezer/markdown@npm:1.6.3" + version: 1.7.2 + resolution: "@lezer/markdown@npm:1.7.2" dependencies: "@lezer/common": ^1.5.0 "@lezer/highlight": ^1.0.0 - checksum: c4e692a12e2116c31b173fa277a8cf680f6c59535f66a4bac1ac802ddc98ae0cd4beb87edcb77705d10c7de96520318a45b5a833ed1eae5660109f97604ac618 + checksum: b706ea807aefceb9df262ce601ee514f3f2f58c0beae32894977497178c25a6e77e8ba690e0413ca12255b33e2b144bdf27723a9707cdd7e6acacbd110ea50c2 languageName: node linkType: hard @@ -3143,13 +3134,13 @@ __metadata: linkType: hard "@lezer/python@npm:^1.1.4": - version: 1.1.18 - resolution: "@lezer/python@npm:1.1.18" + version: 1.1.19 + resolution: "@lezer/python@npm:1.1.19" dependencies: "@lezer/common": ^1.2.0 "@lezer/highlight": ^1.0.0 "@lezer/lr": ^1.0.0 - checksum: 774d5bee83106b586159e3330452e9a3a72706d98d77929c44480a653ed560a80db2aa8f2f270858d176ac8e7187f0c585109fdac579deca115173dcaee13f9f + checksum: b0f378b9e87c6683e7cb8945bad4983d4f787ce475816d2e09cccb4af152c91a43040afa02d4724e95a1d8146e9db9c9e36e2caf91d660814b5fccf5062bbd3b languageName: node linkType: hard @@ -3175,21 +3166,14 @@ __metadata: languageName: node linkType: hard -"@lumino/algorithm@npm:^2.0.4": - version: 2.0.4 - resolution: "@lumino/algorithm@npm:2.0.4" - checksum: ec1532fc294666fb483dd35082ec50ad979d0e9e1daf7a951ca045fd36a1ae88c7c73bf09c1aafed1ea826319f038ec2ed7058f58d214d5ed9f6a4cf61f232e8 - languageName: node - linkType: hard - -"@lumino/algorithm@npm:^2.0.5": +"@lumino/algorithm@npm:^2.0.4, @lumino/algorithm@npm:^2.0.5": version: 2.0.5 resolution: "@lumino/algorithm@npm:2.0.5" checksum: 16e54e15048a00f2b546d7a397a77b3a7fad1d6984dc8fcbddc78a678696544b6c2ddaa5e2c90a0400bcda0dc8064a68980336a68e73dc3aeeccc01a41dec8bf languageName: node linkType: hard -"@lumino/application@npm:^2.4.8, @lumino/application@npm:^2.4.9": +"@lumino/application@npm:^2.4.8": version: 2.4.10 resolution: "@lumino/application@npm:2.4.10" dependencies: @@ -3200,15 +3184,6 @@ __metadata: languageName: node linkType: hard -"@lumino/collections@npm:^2.0.4": - version: 2.0.4 - resolution: "@lumino/collections@npm:2.0.4" - dependencies: - "@lumino/algorithm": ^2.0.4 - checksum: ee8dfdcde3815ddb72d977705e8295ee9500a44697717a86fed644dd810bce8d8ad448659eec02dafeee1b1b3a74fc851224481933c385a812055793d34224f1 - languageName: node - linkType: hard - "@lumino/collections@npm:^2.0.5": version: 2.0.5 resolution: "@lumino/collections@npm:2.0.5" @@ -3242,16 +3217,7 @@ __metadata: languageName: node linkType: hard -"@lumino/disposable@npm:^1.10.0 || ^2.0.0, @lumino/disposable@npm:^2.1.5": - version: 2.1.5 - resolution: "@lumino/disposable@npm:2.1.5" - dependencies: - "@lumino/signaling": ^2.1.5 - checksum: 31b3edd0643dd8d64131379a379c6364ff7a7e1884186d56a6e7b812cc8ee52f38cb43c20e8d45a8a5343a80af4a8180acf62c51f59c9a522349f35c65fe4d29 - languageName: node - linkType: hard - -"@lumino/disposable@npm:^2.1.6": +"@lumino/disposable@npm:^1.10.0 || ^2.0.0, @lumino/disposable@npm:^2.1.5, @lumino/disposable@npm:^2.1.6": version: 2.1.6 resolution: "@lumino/disposable@npm:2.1.6" dependencies: @@ -3260,31 +3226,14 @@ __metadata: languageName: node linkType: hard -"@lumino/domutils@npm:^2.0.4": - version: 2.0.4 - resolution: "@lumino/domutils@npm:2.0.4" - checksum: 5aacb1e3f597c8dd24fc09c7dabc97c630c293e43afaf7100e59d630bb9379b96b88536a37559cf92102a82364ab80734ccb21eb12811df8ed6ca2662e5cf9f1 - languageName: node - linkType: hard - -"@lumino/domutils@npm:^2.0.5": +"@lumino/domutils@npm:^2.0.4, @lumino/domutils@npm:^2.0.5": version: 2.0.5 resolution: "@lumino/domutils@npm:2.0.5" checksum: 6e7908301341654678ae038b1d2f743ff29de7f229f3127f5b19e6c8164660343cde81c715cd42207563ad4d10d979f924c34886e39bd8ede1af979b38673396 languageName: node linkType: hard -"@lumino/dragdrop@npm:^2.1.8": - version: 2.1.8 - resolution: "@lumino/dragdrop@npm:2.1.8" - dependencies: - "@lumino/coreutils": ^2.2.2 - "@lumino/disposable": ^2.1.5 - checksum: 2e772456ce911c6c4941df4213eebeb64265f7ee36f83332ac1abb01bbc1b88b84978616dbc58cf7e8cb053db2018090ad68221bc343acaf1b6dcbbe355e25ab - languageName: node - linkType: hard - -"@lumino/dragdrop@npm:^2.1.9": +"@lumino/dragdrop@npm:^2.1.8, @lumino/dragdrop@npm:^2.1.9": version: 2.1.9 resolution: "@lumino/dragdrop@npm:2.1.9" dependencies: @@ -3301,17 +3250,7 @@ __metadata: languageName: node linkType: hard -"@lumino/messaging@npm:^2.0.4": - version: 2.0.4 - resolution: "@lumino/messaging@npm:2.0.4" - dependencies: - "@lumino/algorithm": ^2.0.4 - "@lumino/collections": ^2.0.4 - checksum: 08b8ec0fcb21f61a2fa7050d22f94c9c54bf3d310c014a16bea5966320ba760a39bfecc9cd21e1d09ec367805ac0ad8be2466fff15ca1be7536a1077297eb6c7 - languageName: node - linkType: hard - -"@lumino/messaging@npm:^2.0.5": +"@lumino/messaging@npm:^2.0.4, @lumino/messaging@npm:^2.0.5": version: 2.0.5 resolution: "@lumino/messaging@npm:2.0.5" dependencies: @@ -3322,41 +3261,24 @@ __metadata: linkType: hard "@lumino/polling@npm:^2.1.5": - version: 2.1.5 - resolution: "@lumino/polling@npm:2.1.5" + version: 2.1.6 + resolution: "@lumino/polling@npm:2.1.6" dependencies: - "@lumino/coreutils": ^2.2.2 - "@lumino/disposable": ^2.1.5 - "@lumino/signaling": ^2.1.5 - checksum: 2b510ef4a5ac05470f01281112d1c467ea95f9f783f702d61fe512d8efecda93f360c907eb3e9fd180f507afe79face1d0ca7878a9d844a3e1f588aba7c5a28e - languageName: node - linkType: hard - -"@lumino/properties@npm:^2.0.4": - version: 2.0.4 - resolution: "@lumino/properties@npm:2.0.4" - checksum: f76d03ba0db12d3c83517484e1cd427b49006bf71e5e1bda00ddb1f02ab85a0079e47c715572a809d4102b348422cab15d587285a0fa17e7e91bbd288d9b6112 + "@lumino/coreutils": ^2.2.3 + "@lumino/disposable": ^2.1.6 + "@lumino/signaling": ^2.1.6 + checksum: 39118247329a63b7a6abdb511d6e5442c5517cec138477ebb3623ede60748495fee41308c1745fe57ddd8631ba281163c7541088ef91eb41f0403d18d4a9fdc7 languageName: node linkType: hard -"@lumino/properties@npm:^2.0.5": +"@lumino/properties@npm:^2.0.4, @lumino/properties@npm:^2.0.5": version: 2.0.5 resolution: "@lumino/properties@npm:2.0.5" checksum: db449230da197c9ac0a3f215cda6906549ae7b78c2566865a3335d57417478601571dd49e87c92593cb946c6ca510fd081a5d70776d7d3b3009ddd55caff694c languageName: node linkType: hard -"@lumino/signaling@npm:^1.10.0 || ^2.0.0, @lumino/signaling@npm:^2.1.5": - version: 2.1.5 - resolution: "@lumino/signaling@npm:2.1.5" - dependencies: - "@lumino/algorithm": ^2.0.4 - "@lumino/coreutils": ^2.2.2 - checksum: ca8fa6f55a28e1dc05ae2a9ab89f34dbbbc4678e891689bfc84ef3a4f85bfdd4abfcff05ff08d6733872bd6808d71138de5fe35692cced6f008d2893b8506d47 - languageName: node - linkType: hard - -"@lumino/signaling@npm:^2.1.6": +"@lumino/signaling@npm:^1.10.0 || ^2.0.0, @lumino/signaling@npm:^2.1.5, @lumino/signaling@npm:^2.1.6": version: 2.1.6 resolution: "@lumino/signaling@npm:2.1.6" dependencies: @@ -3366,16 +3288,7 @@ __metadata: languageName: node linkType: hard -"@lumino/virtualdom@npm:^2.0.4": - version: 2.0.4 - resolution: "@lumino/virtualdom@npm:2.0.4" - dependencies: - "@lumino/algorithm": ^2.0.4 - checksum: 2153f31703088a2dc7dc9cd2353f2876ae626839d267be50c0b191c187649b04b8d1596810f6294afc041e183baff5e5e8e9e4958ce8006df2c5c6ced7bbea42 - languageName: node - linkType: hard - -"@lumino/virtualdom@npm:^2.0.5": +"@lumino/virtualdom@npm:^2.0.4, @lumino/virtualdom@npm:^2.0.5": version: 2.0.5 resolution: "@lumino/virtualdom@npm:2.0.5" dependencies: @@ -3404,13 +3317,13 @@ __metadata: linkType: hard "@marijn/find-cluster-break@npm:^1.0.0": - version: 1.0.2 - resolution: "@marijn/find-cluster-break@npm:1.0.2" - checksum: 0d836de25e04d58325813401ef3c2d34caf040da985a5935fcbc9d84e7b47a21bdb15f57d70c2bf0960bd29ed3dbbb1afd00cdd0fc4fafbee7fd0ffe7d508ae1 + version: 1.0.3 + resolution: "@marijn/find-cluster-break@npm:1.0.3" + checksum: 42a66bfbe8eb7b4c9dcf4bf1432e8847409f958f25e103ba313fe74b7371a2adab4b178d5495ea2a9f29f6160135a58fe1da0cf93120370b6fc8efebb93125c1 languageName: node linkType: hard -"@mermaid-js/layout-elk@npm:^0.2.1": +"@mermaid-js/layout-elk@npm:^0.2.0": version: 0.2.2 resolution: "@mermaid-js/layout-elk@npm:0.2.2" dependencies: @@ -3467,14 +3380,14 @@ __metadata: linkType: hard "@napi-rs/wasm-runtime@npm:^1.1.4": - version: 1.2.0 - resolution: "@napi-rs/wasm-runtime@npm:1.2.0" + version: 1.2.2 + resolution: "@napi-rs/wasm-runtime@npm:1.2.2" dependencies: "@tybys/wasm-util": ^0.10.3 peerDependencies: - "@emnapi/core": ^2.0.0-alpha.3 - "@emnapi/runtime": ^2.0.0-alpha.3 - checksum: 424f54737cac046bae936052c53a426866fa9ca87da83898a338e2d0d0ce4a2fec5fa673a1484389e08147a281df0455a5ac89d710cacc2b5a845161f6a0a814 + "@emnapi/core": ^1.7.1 || ^2.0.0-alpha.3 + "@emnapi/runtime": ^1.7.1 || ^2.0.0-alpha.3 + checksum: f560c2f8552de395f0b1232a89add2574cf0b0bb1919b9e8d14aaa8c5ebd918a42480a86c112bc811fe082c2007058cd1326d573f2e885c92558b0b03c7fca3d languageName: node linkType: hard @@ -5031,9 +4944,9 @@ __metadata: linkType: hard "@sinclair/typebox@npm:^0.27.8": - version: 0.27.10 - resolution: "@sinclair/typebox@npm:0.27.10" - checksum: a5a2265c752c82a8fb3f69a71c18f9673c47605086b0f2c9ce01f49fa819e7c5d7171b38d4a019037ca411417d57e43413ebd46f25a6181a182f89f7f3e42999 + version: 0.27.12 + resolution: "@sinclair/typebox@npm:0.27.12" + checksum: f670bb7aeea4873ea3f0fef2004f81a22026e0e2b17634365c2a22bb61499e42bf5cf84562093819a342652f46241cbc8733c2de9d6477e387b0a4848e1de760 languageName: node linkType: hard @@ -5248,14 +5161,14 @@ __metadata: languageName: node linkType: hard -"@tanstack/form-core@npm:1.33.2": - version: 1.33.2 - resolution: "@tanstack/form-core@npm:1.33.2" +"@tanstack/form-core@npm:1.33.3": + version: 1.33.3 + resolution: "@tanstack/form-core@npm:1.33.3" dependencies: "@tanstack/devtools-event-client": ^0.4.1 "@tanstack/pacer-lite": ^0.1.1 "@tanstack/store": ^0.11.0 - checksum: 4ab5bd4d1c65b490235dadc9cabc727e4e63e24f19d3d4e8a48597dc2831ffb7677de4ea813e68369da43687807759c8733c7dff461288b94efd446230ca839f + checksum: ff732aa23a4af44cde8d9f74a5f23f10d034711e9aa4e53cb77d549ed5b06036b605be2a9ad43a778d7261d9d4cbf66966d035700b64780280ad8fd197da1712 languageName: node linkType: hard @@ -5274,17 +5187,17 @@ __metadata: linkType: hard "@tanstack/react-form@npm:^1.32.0": - version: 1.33.2 - resolution: "@tanstack/react-form@npm:1.33.2" + version: 1.33.3 + resolution: "@tanstack/react-form@npm:1.33.3" dependencies: - "@tanstack/form-core": 1.33.2 + "@tanstack/form-core": 1.33.3 "@tanstack/react-store": ^0.11.0 peerDependencies: react: ^17.0.0 || ^18.0.0 || ^19.0.0 peerDependenciesMeta: "@tanstack/react-start": optional: true - checksum: b2898c5d2b86f25056cc59d05b765ae4fd9645862601e5badb9106fcfdf5ede4f53cced2254fd550003d733a1aef28e22b187df9f53b90ef2ea8a8531620c02f + checksum: c982c82420b5162bd35aad3081907f07e49741f3d2ffb832fa5e2c2cc0e71586326d288e921e6dd0c3414fac1b1799a4328d9d38436cda99717c715a5a2ac769 languageName: node linkType: hard @@ -5495,11 +5408,11 @@ __metadata: linkType: hard "@types/d3-geo@npm:*": - version: 3.1.0 - resolution: "@types/d3-geo@npm:3.1.0" + version: 3.1.1 + resolution: "@types/d3-geo@npm:3.1.1" dependencies: "@types/geojson": "*" - checksum: a4b2daa8a64012912ce7186891e8554af123925dca344c111b771e168a37477e02d504c6c94ee698440380e8c4f3f373d6755be97935da30eae0904f6745ce40 + checksum: 34da3f6210fe24e2816a054e68fae235e0d86a542d0658cc1fad3ec49fa377b0ea7d174d9f680036ab0c05357b1e906cb180db43fce8ff88a683e24c9beddf4d languageName: node linkType: hard @@ -5541,9 +5454,9 @@ __metadata: linkType: hard "@types/d3-random@npm:*": - version: 3.0.3 - resolution: "@types/d3-random@npm:3.0.3" - checksum: 33285b57768a724d2466ac1deec002432805c9df3e475ffb7f7fec66681cfe3e18d2f68b7f8ba45f400b274907bbebfe8adff14c9a97ef1987e476135e784925 + version: 3.0.4 + resolution: "@types/d3-random@npm:3.0.4" + checksum: 4434153a918c8c6478a83ad9f239762dd5e8f44652c8f41686490aec195bc359aecea210db80405b2ba85ce973d2b426e5fe8bb35bc9ae3062eda590160a477a languageName: node linkType: hard @@ -5734,11 +5647,11 @@ __metadata: linkType: hard "@types/node@npm:*": - version: 25.7.0 - resolution: "@types/node@npm:25.7.0" + version: 26.1.2 + resolution: "@types/node@npm:26.1.2" dependencies: - undici-types: ~7.21.0 - checksum: d7cbd8ed9272e1baa9d90be7b4b3cdd0fb94c961ccbf4f5819863f24a6bd2d69cb839451c1d8e6043ed8d109a4281f0571c5fecb13407780d3cfd0cba1347807 + undici-types: ~8.3.0 + checksum: c77629c1e656808481bc9853cf0065d53e31dd9630d8c85b922583ada4d05e57db51c0098fd6c9056e21c8a1709294ad30f65a350028181e95220eb4e76405c8 languageName: node linkType: hard @@ -5760,15 +5673,15 @@ __metadata: linkType: hard "@types/react@npm:*": - version: 19.2.14 - resolution: "@types/react@npm:19.2.14" + version: 19.2.18 + resolution: "@types/react@npm:19.2.18" dependencies: csstype: ^3.2.2 - checksum: ddd330292abf2dc2cfa65188e1c5f67cc6e90f8d8ffb088f753a38db9d123f942c23d324a6b7e8027ff04f22b395492150f54b9b520b6cbec1e8841e669f2c19 + checksum: 01e42509fd2dbe05652bbe50f69883c79f6c5b24e5f306307e1f95eaf7eddf1cdd2646a1e056c6088d2c4403d5e2ab72226e31001c6564630529901514872fb1 languageName: node linkType: hard -"@types/react@npm:^18": +"@types/react@npm:^18, @types/react@npm:^18.0.26": version: 18.3.31 resolution: "@types/react@npm:18.3.31" dependencies: @@ -5778,16 +5691,6 @@ __metadata: languageName: node linkType: hard -"@types/react@npm:^18.0.26": - version: 18.3.28 - resolution: "@types/react@npm:18.3.28" - dependencies: - "@types/prop-types": "*" - csstype: ^3.2.2 - checksum: 9d59fb3def4e712d4f8fa15998791a07f9799462f8d581d17039a9503017bfce3463d57fc737ce1d28d6aa3f482f4a3a5bae5a662d97560a9359aab111556c97 - languageName: node - linkType: hard - "@types/stack-utils@npm:^2.0.0": version: 2.0.3 resolution: "@types/stack-utils@npm:2.0.3" @@ -5826,104 +5729,104 @@ __metadata: linkType: hard "@typescript-eslint/eslint-plugin@npm:^8.51.0": - version: 8.65.0 - resolution: "@typescript-eslint/eslint-plugin@npm:8.65.0" + version: 8.66.0 + resolution: "@typescript-eslint/eslint-plugin@npm:8.66.0" dependencies: "@eslint-community/regexpp": ^4.12.2 - "@typescript-eslint/scope-manager": 8.65.0 - "@typescript-eslint/type-utils": 8.65.0 - "@typescript-eslint/utils": 8.65.0 - "@typescript-eslint/visitor-keys": 8.65.0 + "@typescript-eslint/scope-manager": 8.66.0 + "@typescript-eslint/type-utils": 8.66.0 + "@typescript-eslint/utils": 8.66.0 + "@typescript-eslint/visitor-keys": 8.66.0 ignore: ^7.0.5 natural-compare: ^1.4.0 ts-api-utils: ^2.5.0 peerDependencies: - "@typescript-eslint/parser": ^8.65.0 + "@typescript-eslint/parser": ^8.66.0 eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: ">=4.8.4 <6.1.0" - checksum: 993643021fdeafc78c70068f51826953557f61a718b7d83eb30e5520056a49b81203794a67c075057888716e84015e4e9ead4ab4b959233232140700008fcb51 + checksum: a23697818897907bc8e8bf7cffbd7f3a71bf3cd840864b9e9e590c3925d38d5b69ef960705be43345e5c5fcc49a0cade4c55f8c03ad45cae5d549fd06e306c3f languageName: node linkType: hard "@typescript-eslint/parser@npm:^8.51.0": - version: 8.65.0 - resolution: "@typescript-eslint/parser@npm:8.65.0" + version: 8.66.0 + resolution: "@typescript-eslint/parser@npm:8.66.0" dependencies: - "@typescript-eslint/scope-manager": 8.65.0 - "@typescript-eslint/types": 8.65.0 - "@typescript-eslint/typescript-estree": 8.65.0 - "@typescript-eslint/visitor-keys": 8.65.0 + "@typescript-eslint/scope-manager": 8.66.0 + "@typescript-eslint/types": 8.66.0 + "@typescript-eslint/typescript-estree": 8.66.0 + "@typescript-eslint/visitor-keys": 8.66.0 debug: ^4.4.3 peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: ">=4.8.4 <6.1.0" - checksum: dee3028799e6c78f9ae5d3bfe2c686ffad189f1ee349c4d68429e6b09ef3658910782d4078a465a7bcda97fd8a40250e2825e7648adaaf68e6c7188007ebefdc + checksum: f437b258272a5e9a02e1fa1d9265dc1c9b585463563c75e792ea375f8cb2d89b93bf2f00e612f59e66febdd93480542a67455735a988baf1e6386a468904c574 languageName: node linkType: hard -"@typescript-eslint/project-service@npm:8.65.0": - version: 8.65.0 - resolution: "@typescript-eslint/project-service@npm:8.65.0" +"@typescript-eslint/project-service@npm:8.66.0": + version: 8.66.0 + resolution: "@typescript-eslint/project-service@npm:8.66.0" dependencies: - "@typescript-eslint/tsconfig-utils": ^8.65.0 - "@typescript-eslint/types": ^8.65.0 + "@typescript-eslint/tsconfig-utils": ^8.66.0 + "@typescript-eslint/types": ^8.66.0 debug: ^4.4.3 peerDependencies: typescript: ">=4.8.4 <6.1.0" - checksum: ee847273f3976b13801be5658ecc6ff636fe69b09e24a6a236a818d7deaf74371a93148f9714ba2f92b3341043171bd02987683d79be9a054b72b1433f752520 + checksum: 469923c0e8857ae94a2fb83f38fe8c770e5d43e1bdbcab31a4fd5fe4b7d59c96403647f2de0b44806f6cb729a1b91abaf4fc31b8fc8132f467cc8679e58ab6da languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:8.65.0": - version: 8.65.0 - resolution: "@typescript-eslint/scope-manager@npm:8.65.0" +"@typescript-eslint/scope-manager@npm:8.66.0": + version: 8.66.0 + resolution: "@typescript-eslint/scope-manager@npm:8.66.0" dependencies: - "@typescript-eslint/types": 8.65.0 - "@typescript-eslint/visitor-keys": 8.65.0 - checksum: 322079f75ed6c05e0570eb5216d1875f2649506901f2b7e4d2d79d1001829b4e52e085e3a7642978b66fe1872a8528dca35cc1767bc7d8888ba9333152833158 + "@typescript-eslint/types": 8.66.0 + "@typescript-eslint/visitor-keys": 8.66.0 + checksum: 9c828c8bd58b278d3934e4ee97975afc0f1401299761e3d8c9a800c436efcda7400d8dda484c64a1a1d94d8476e21ce1928e8d511d7a29c86082bcc96dfde187 languageName: node linkType: hard -"@typescript-eslint/tsconfig-utils@npm:8.65.0, @typescript-eslint/tsconfig-utils@npm:^8.65.0": - version: 8.65.0 - resolution: "@typescript-eslint/tsconfig-utils@npm:8.65.0" +"@typescript-eslint/tsconfig-utils@npm:8.66.0, @typescript-eslint/tsconfig-utils@npm:^8.66.0": + version: 8.66.0 + resolution: "@typescript-eslint/tsconfig-utils@npm:8.66.0" peerDependencies: typescript: ">=4.8.4 <6.1.0" - checksum: 72f70f24414da1afd4edc671117928d39d55d44244a2049ec30bdffcf8e3637239833e4a03deddbc66114b33778b25d343a6ed861d684af0cfaf14268b790ed7 + checksum: e8c72831f4d68581e1f22a76cd99c993532257a4fc20b33e5a8baf612afe774bad5b21f74263527a22420249f0eee1915697e5d8dbaaffdfe58ab62fd7cb1aa0 languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:8.65.0": - version: 8.65.0 - resolution: "@typescript-eslint/type-utils@npm:8.65.0" +"@typescript-eslint/type-utils@npm:8.66.0": + version: 8.66.0 + resolution: "@typescript-eslint/type-utils@npm:8.66.0" dependencies: - "@typescript-eslint/types": 8.65.0 - "@typescript-eslint/typescript-estree": 8.65.0 - "@typescript-eslint/utils": 8.65.0 + "@typescript-eslint/types": 8.66.0 + "@typescript-eslint/typescript-estree": 8.66.0 + "@typescript-eslint/utils": 8.66.0 debug: ^4.4.3 ts-api-utils: ^2.5.0 peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: ">=4.8.4 <6.1.0" - checksum: 6e22156402fa61f7441db772ad72ccc951dd5ecce9af2f5005543b93bde23c6924d556fa4035b7828aba9a34948b8584c6774c94e407d8d30f8d4334b1ee5924 + checksum: ecda402accbcc6474b26bc1d106ddc64e2bfe28ab737b3a2201993266cee5806200546ca90abff989c487fd2312a69e584ffb541075b401b00b442763bbc8676 languageName: node linkType: hard -"@typescript-eslint/types@npm:8.65.0, @typescript-eslint/types@npm:^8.65.0": - version: 8.65.0 - resolution: "@typescript-eslint/types@npm:8.65.0" - checksum: 61ecc6fb57a2806a69a9e1ed514bd7b7b2b81049ea6976d3ef70dacc8907d8800f21b5b270b0765e323a299e7d597add3334105e0f3ff395c3912bee2e8c24af +"@typescript-eslint/types@npm:8.66.0, @typescript-eslint/types@npm:^8.66.0": + version: 8.66.0 + resolution: "@typescript-eslint/types@npm:8.66.0" + checksum: aec75e00f4dc242fd2ef23c93fef483d1ace87c40ccc22fc79a46964b2011e707b8aef352fd5d008838e9ecacd832e2104e4015ca09d2dcab7ac77f62eba8f75 languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:8.65.0": - version: 8.65.0 - resolution: "@typescript-eslint/typescript-estree@npm:8.65.0" +"@typescript-eslint/typescript-estree@npm:8.66.0": + version: 8.66.0 + resolution: "@typescript-eslint/typescript-estree@npm:8.66.0" dependencies: - "@typescript-eslint/project-service": 8.65.0 - "@typescript-eslint/tsconfig-utils": 8.65.0 - "@typescript-eslint/types": 8.65.0 - "@typescript-eslint/visitor-keys": 8.65.0 + "@typescript-eslint/project-service": 8.66.0 + "@typescript-eslint/tsconfig-utils": 8.66.0 + "@typescript-eslint/types": 8.66.0 + "@typescript-eslint/visitor-keys": 8.66.0 debug: ^4.4.3 minimatch: ^10.2.2 semver: ^7.7.3 @@ -5931,32 +5834,32 @@ __metadata: ts-api-utils: ^2.5.0 peerDependencies: typescript: ">=4.8.4 <6.1.0" - checksum: 0a0a29c90b7b510f84246c2b112a608fee83bd8ff4564a490168d0727376b387f090791397a6c4e794cdaa763a011f0477b36544a8e339926f69b83c570b3160 + checksum: 7656ee4593ecb4e9534732cab01473ece050b86963cc7d85fe9d33535ef2d9be2223d2f83a2ec5be0031fd95f2f5460ac9eb5fac706f402f78dd60455f063f0b languageName: node linkType: hard -"@typescript-eslint/utils@npm:8.65.0": - version: 8.65.0 - resolution: "@typescript-eslint/utils@npm:8.65.0" +"@typescript-eslint/utils@npm:8.66.0": + version: 8.66.0 + resolution: "@typescript-eslint/utils@npm:8.66.0" dependencies: "@eslint-community/eslint-utils": ^4.9.1 - "@typescript-eslint/scope-manager": 8.65.0 - "@typescript-eslint/types": 8.65.0 - "@typescript-eslint/typescript-estree": 8.65.0 + "@typescript-eslint/scope-manager": 8.66.0 + "@typescript-eslint/types": 8.66.0 + "@typescript-eslint/typescript-estree": 8.66.0 peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: ">=4.8.4 <6.1.0" - checksum: c24b9ac2c60c416d8447e6b57c00a02c602e1bdeb0a62f767e3e9e62a20df12e171a7f6e13cb0179e1e41a73be37c77b08bfe27e115e6fc4463b601737909202 + checksum: 3dfa5ddbaeceec60e8cb6e2c4e986341e481ee09700316183725ac2716eaf2893048da669c26a8a28553ff5d5fd476777f6ed837aca0f0658263f0ff5dbe267e languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:8.65.0": - version: 8.65.0 - resolution: "@typescript-eslint/visitor-keys@npm:8.65.0" +"@typescript-eslint/visitor-keys@npm:8.66.0": + version: 8.66.0 + resolution: "@typescript-eslint/visitor-keys@npm:8.66.0" dependencies: - "@typescript-eslint/types": 8.65.0 + "@typescript-eslint/types": 8.66.0 eslint-visitor-keys: ^5.0.0 - checksum: 34052098a3448cb337a33308763d57f5bcbbeb750d14241a91394d5242cd0bb90777626c16fe62b18ef990b57bee9a14a9a63f28bf466ee70533d6d86e1ee1f1 + checksum: e96c3535de85f8c4db2c502a3863dfce697c0fec46569b3a6a948457ff83f126886ea6b80952566f5be6f4f96c617fdb7c7dd7c3d86ab4e4db918bfa31bebd93 languageName: node linkType: hard @@ -6180,10 +6083,10 @@ __metadata: languageName: node linkType: hard -"abbrev@npm:^4.0.0": - version: 4.0.0 - resolution: "abbrev@npm:4.0.0" - checksum: d0344b63d28e763f259b4898c41bdc92c08e9d06d0da5617d0bbe4d78244e46daea88c510a2f9472af59b031d9060ec1a999653144e793fd029a59dae2f56dc8 +"abbrev@npm:^5.0.0": + version: 5.0.0 + resolution: "abbrev@npm:5.0.0" + checksum: 40526a57545197f1ee0a5cb369508acbd33dbb8a19967850d6d60d9bb392d4034fc56d2572ad863b6a8da810f32eb5553cd05d5af265ea829e168697d9963cde languageName: node linkType: hard @@ -6215,16 +6118,7 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^8.1.0, acorn@npm:^8.11.0, acorn@npm:^8.15.0, acorn@npm:^8.8.1": - version: 8.16.0 - resolution: "acorn@npm:8.16.0" - bin: - acorn: bin/acorn - checksum: bbfa466cd0dbd18b4460a85e9d0fc2f35db999380892403c573261beda91f23836db2aa71fd3ae65e94424ad14ff8e2b7bd37c7a2624278fd89137cd6e448c41 - languageName: node - linkType: hard - -"acorn@npm:^8.16.0": +"acorn@npm:^8.1.0, acorn@npm:^8.11.0, acorn@npm:^8.15.0, acorn@npm:^8.16.0, acorn@npm:^8.8.1": version: 8.18.0 resolution: "acorn@npm:8.18.0" bin: @@ -6397,20 +6291,6 @@ __metadata: languageName: node linkType: hard -"async-function@npm:^1.0.0": - version: 1.0.0 - resolution: "async-function@npm:1.0.0" - checksum: 9102e246d1ed9b37ac36f57f0a6ca55226876553251a31fc80677e71471f463a54c872dc78d5d7f80740c8ba624395cccbe8b60f7b690c4418f487d8e9fd1106 - languageName: node - linkType: hard - -"async-generator-function@npm:^1.0.0": - version: 1.0.0 - resolution: "async-generator-function@npm:1.0.0" - checksum: 74a71a4a2dd7afd06ebb612f6d612c7f4766a351bedffde466023bf6dae629e46b0d2cd38786239e0fbf245de0c7df76035465e16d1213774a0efb22fec0d713 - languageName: node - linkType: hard - "asynckit@npm:^0.4.0": version: 0.4.0 resolution: "asynckit@npm:0.4.0" @@ -6554,12 +6434,12 @@ __metadata: languageName: node linkType: hard -"baseline-browser-mapping@npm:^2.10.12": - version: 2.10.29 - resolution: "baseline-browser-mapping@npm:2.10.29" +"baseline-browser-mapping@npm:^2.10.44": + version: 2.11.12 + resolution: "baseline-browser-mapping@npm:2.11.12" bin: baseline-browser-mapping: dist/cli.cjs - checksum: 632f19359cda715beed0af93118aa6463506f897c680c5092523c7105dd9f5e08a95552078f6bab0c261a16b1221842a8f9d5b0da02921d3329a5894d2a38688 + checksum: e154d9b239a282018e47a059626841052ed1dd89af2d57409169cb45bffce5a3f22bba84b56a630004d59d0e71cc7460980c40ed537662415fe13b8b87bcf0cd languageName: node linkType: hard @@ -6571,21 +6451,21 @@ __metadata: linkType: hard "brace-expansion@npm:^1.1.7": - version: 1.1.14 - resolution: "brace-expansion@npm:1.1.14" + version: 1.1.18 + resolution: "brace-expansion@npm:1.1.18" dependencies: balanced-match: ^1.0.0 concat-map: 0.0.1 - checksum: 2de747a5891ea0d3a1946ea1ae26e056a47f7ea8d42a3009e1736ec3a31a5aa69a3c5da59d998426773553afe4c258e5b12d7953b534fa7f2cf12ce92eed4931 + checksum: aa84023a4118f9185b6f8c71ca3467c945878b141ba340261de209676442f81b08db5b7c7c119707cdecb7322fcfcdb71d8ffea55db9d1aad673d7c65469211f languageName: node linkType: hard -"brace-expansion@npm:^5.0.5": - version: 5.0.6 - resolution: "brace-expansion@npm:5.0.6" +"brace-expansion@npm:^5.0.8": + version: 5.0.9 + resolution: "brace-expansion@npm:5.0.9" dependencies: balanced-match: ^4.0.2 - checksum: b5a0e54a5d5f66d0acb88f297e1f3e74732f9c8a35ab6c87b96bd60f6e390697f099b747dd053b9017bd1a38225ff3f60632de09a723a99f2144740b7fbda66b + checksum: 81d14bf63c4683fa03163320a0686ee34e67c4fba8525c26949cae42aae6020369a3263f01345ec456a8bc572ab762f85216d6700997ae9ef3eeecb7f3d8b28a languageName: node linkType: hard @@ -6598,18 +6478,18 @@ __metadata: languageName: node linkType: hard -"browserslist@npm:^4.24.0, browserslist@npm:^4.28.1": - version: 4.28.2 - resolution: "browserslist@npm:4.28.2" +"browserslist@npm:^4.24.0, browserslist@npm:^4.28.1, browserslist@npm:^4.28.7": + version: 4.28.7 + resolution: "browserslist@npm:4.28.7" dependencies: - baseline-browser-mapping: ^2.10.12 - caniuse-lite: ^1.0.30001782 - electron-to-chromium: ^1.5.328 - node-releases: ^2.0.36 + baseline-browser-mapping: ^2.10.44 + caniuse-lite: ^1.0.30001806 + electron-to-chromium: ^1.5.393 + node-releases: ^2.0.51 update-browserslist-db: ^1.2.3 bin: browserslist: cli.js - checksum: 702cdd3462b5eb6f8a9bb3bf7bdc6d6a4141ced6935bb44edb7f3d40edd66198775f2b4a9178682535391293e04e625ba2b5943546d692f42ea080323cecb25e + checksum: 81093d27f0b0c9207e42af04655607ea870d6eb9c04b38106ffcf36e05f436747caf250604abd5471eab55b16eb2be305d8e5a7c61a5636df34a7b9397737756 languageName: node linkType: hard @@ -6638,16 +6518,16 @@ __metadata: languageName: node linkType: hard -"cacheable@npm:^2.3.4": - version: 2.3.5 - resolution: "cacheable@npm:2.3.5" +"cacheable@npm:^2.5.0": + version: 2.5.0 + resolution: "cacheable@npm:2.5.0" dependencies: - "@cacheable/memory": ^2.0.8 - "@cacheable/utils": ^2.4.1 + "@cacheable/memory": ^2.2.0 + "@cacheable/utils": ^2.5.0 hookified: ^1.15.0 keyv: ^5.6.0 qified: ^0.10.1 - checksum: ba44b09a1ef00a80dd19995c2cead0850fc61073332b5d51a09fc847f5812258b0e0c8e19ca7713e7c6cd4573301b7958477e06f6f56db244b54382da0f93b09 + checksum: 3f82208f0149d920ffdc709ec5b64464928ae5f34c65f235f99d674e37cbbb4bea2cad7ea71448b2d5c6a149f574f482e68430e487b1c0ffd1c415c7bdb16b4b languageName: node linkType: hard @@ -6682,10 +6562,10 @@ __metadata: languageName: node linkType: hard -"caniuse-lite@npm:^1.0.30001782": - version: 1.0.30001792 - resolution: "caniuse-lite@npm:1.0.30001792" - checksum: 25e2ba0feb792fbc99e98b236653dccec6387bf9351510b5401ffcb0c25193e47a2ba37e5ce44f92e0fb023670fe077b938ab8e1bad53bc03e95673e5bd5d439 +"caniuse-lite@npm:^1.0.30001806": + version: 1.0.30001806 + resolution: "caniuse-lite@npm:1.0.30001806" + checksum: 4b4a970fbd7cb7b8ee6b5068336f7afa7d9cc65ff444080630ab363dcb44205994f68897c7685dc3de4f04dd1f65ec395e50790a594d0470db4894bedf5cb379 languageName: node linkType: hard @@ -6975,11 +6855,11 @@ __metadata: linkType: hard "core-js-compat@npm:^3.48.0": - version: 3.49.0 - resolution: "core-js-compat@npm:3.49.0" + version: 3.50.0 + resolution: "core-js-compat@npm:3.50.0" dependencies: - browserslist: ^4.28.1 - checksum: 21afa75a64b30810f4cc61e90758346e8df6bd20dd8da5afe08fc041b5fb766cf7c41c9cbc63f8fb96bef4e4a2a90eb6f2d7bbd20ac53b8ff23a58bc87e40231 + browserslist: ^4.28.7 + checksum: dc74d7cb879da8b1a10de54804f2d4b7bc143caa330c843aa2f42e5ca6e302dc968518182ed25724a864127b158bee245abd1a146632f872011ac24f5fd82be5 languageName: node linkType: hard @@ -7009,8 +6889,8 @@ __metadata: linkType: hard "cosmiconfig@npm:^9.0.0": - version: 9.0.1 - resolution: "cosmiconfig@npm:9.0.1" + version: 9.0.2 + resolution: "cosmiconfig@npm:9.0.2" dependencies: env-paths: ^2.2.1 import-fresh: ^3.3.0 @@ -7021,7 +6901,7 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 7cc04fcbb04f72db1074ee754952a6a0a228d07932d076b0e4fc82c75bc14aa0b0cb7989c161710e038ea42539d919d643a2b268c580ac7da7b3dedd52d8bb7b + checksum: 52238a94de80e870610532402f46aa2e690f86b103255557257afa9651f11182e78b1dac6e38f7eff31f1b323ab029c3af4694fdf7e6d8e51698f5533f19ac94 languageName: node linkType: hard @@ -7043,9 +6923,9 @@ __metadata: linkType: hard "crelt@npm:^1.0.5, crelt@npm:^1.0.6": - version: 1.0.6 - resolution: "crelt@npm:1.0.6" - checksum: dad842093371ad702afbc0531bfca2b0a8dd920b23a42f26e66dabbed9aad9acd5b9030496359545ef3937c3aced0fd4ac39f7a2d280a23ddf9eb7fdcb94a69f + version: 1.0.7 + resolution: "crelt@npm:1.0.7" + checksum: 29b8edc11ea78b3c42846f956e9dfbd863f52abdde085bef30c4204278b0b7f49b68e14785f0cc807c68936ccb8d23cb07144dd9489e0aea9257d2490738b48e languageName: node linkType: hard @@ -7593,9 +7473,9 @@ __metadata: linkType: hard "date-fns@npm:^4.1.0": - version: 4.1.0 - resolution: "date-fns@npm:4.1.0" - checksum: fb681b242cccabed45494468f64282a7d375ea970e0adbcc5dcc92dcb7aba49b2081c2c9739d41bf71ce89ed68dd73bebfe06ca35129490704775d091895710b + version: 4.4.0 + resolution: "date-fns@npm:4.4.0" + checksum: 9a25020573f1aeaddfa0a41bb32411e8e1e8c81ddb870865a005c37f741778c737833baee350a90f275ae806dcd227e41bc4f26337dda189ebca796ce760ba11 languageName: node linkType: hard @@ -7761,14 +7641,14 @@ __metadata: linkType: hard "dompurify@npm:^3.3.3": - version: 3.4.12 - resolution: "dompurify@npm:3.4.12" + version: 3.4.13 + resolution: "dompurify@npm:3.4.13" dependencies: "@types/trusted-types": ^2.0.7 dependenciesMeta: "@types/trusted-types": optional: true - checksum: 477e944e669bac9247c9ebfa55c7ea5c73f3cc6cd6b21ee72e306000e3e53d308e7bdaac89e655a0e2661de2ffbdd877e6a92537d07ba1d70c6c441fcef8c65c + checksum: e4d3c08e453521098557118ffaaa6e2ab42f9222edd57ab592b69946d76127973640df13a9c260da3cf89b6c525ccaa58bf398d0b3aff01c3b7bc3fa589b7260 languageName: node linkType: hard @@ -7806,10 +7686,10 @@ __metadata: languageName: node linkType: hard -"electron-to-chromium@npm:^1.5.328": - version: 1.5.354 - resolution: "electron-to-chromium@npm:1.5.354" - checksum: 4e5c0cf0ee9ce4d6f9c1de36af172cf914f7ec2b73ab6f1b80330f9a1893fff6df40821cf6b74005fc9fcad4cb15253d676bae5ccbc5af4c42123739e53954cb +"electron-to-chromium@npm:^1.5.393": + version: 1.5.401 + resolution: "electron-to-chromium@npm:1.5.401" + checksum: 1c0b093d491a3e52fff8440a07130f3840d6448eb830ed5b6e99a59fa8a058d087a4ca200b4c1053a86ed6ddd4ab1b0b2a942b7b10b325eeade9bbcea34400e3 languageName: node linkType: hard @@ -7842,12 +7722,12 @@ __metadata: linkType: hard "enhanced-resolve@npm:^5.24.1, enhanced-resolve@npm:^5.24.4": - version: 5.24.4 - resolution: "enhanced-resolve@npm:5.24.4" + version: 5.24.5 + resolution: "enhanced-resolve@npm:5.24.5" dependencies: graceful-fs: ^4.2.4 tapable: ^2.3.3 - checksum: 4ab88a30e9e42b9ff42b6f4fcbd80b3c8e2ef9c5e07b09c14f42ae73b583d942b5cf688fe883633fa32c1102ff01257bb2dfeca414f4c0fdd8861436ee53db1c + checksum: dc2da64244f529335c603870ca485281f92cd92c4579b1baf613d5f86cfc71f901ea3c29066e242c115340be8164e9d9c917bd05720b3be8bed649745004dc24 languageName: node linkType: hard @@ -7912,11 +7792,11 @@ __metadata: linkType: hard "es-object-atoms@npm:^1.0.0, es-object-atoms@npm:^1.1.1": - version: 1.1.1 - resolution: "es-object-atoms@npm:1.1.1" + version: 1.1.2 + resolution: "es-object-atoms@npm:1.1.2" dependencies: es-errors: ^1.3.0 - checksum: 214d3767287b12f36d3d7267ef342bbbe1e89f899cfd67040309fc65032372a8e60201410a99a1645f2f90c1912c8c49c8668066f6bdd954bcd614dda2e3da97 + checksum: b821f39e4f48bd85b13fee80aea9068a674bcb78b95ff01267aa4da1111f83e6944049b3329b2ffdb3acaa266fb5b8b885476fe8cada05034dc7c87c8016c86d languageName: node linkType: hard @@ -7933,14 +7813,16 @@ __metadata: linkType: hard "es-toolkit@npm:^1.45.1": - version: 1.46.1 - resolution: "es-toolkit@npm:1.46.1" + version: 1.50.0 + resolution: "es-toolkit@npm:1.50.0" dependenciesMeta: "@trivago/prettier-plugin-sort-imports@4.3.0": unplugged: true prettier-plugin-sort-re-exports@0.0.1: unplugged: true - checksum: 24b0a6b84a19f30bb97b65b1fe4c6d9a87258418f84edfa8f49bbe346edae31ff156c5d8af42fd27a4106916a03500722986633aaa0c286155892e5867bb5483 + vitepress-plugin-sandpack@1.1.4: + unplugged: true + checksum: f75c8ee986190b84a07eb3c96c28285e357a95baca123762675f717a542aa56ecbfedaf0d722bd2e2d88475da8e194c36fa9ee21ebb91e4c7b482bfdf1e13275 languageName: node linkType: hard @@ -8271,9 +8153,9 @@ __metadata: linkType: hard "fast-uri@npm:^3.0.1": - version: 3.1.2 - resolution: "fast-uri@npm:3.1.2" - checksum: 73a6e1b04e6fcf7a09ed93316e72d643ef177d26969973784690708612141f2c2f74657120bab75bf5bbc26bfd535a32c90a8c3bc50aca50584cf01f98815afe + version: 3.1.5 + resolution: "fast-uri@npm:3.1.5" + checksum: 8a95af13e0730ac5c3abeb7f3939dee9fa95f2652e0ebac7a072b5597f836200084340c9bc2030f392318cdb49ec04e3fd6f558fa24c58d6d373557b9c01d7fb languageName: node linkType: hard @@ -8315,11 +8197,11 @@ __metadata: linkType: hard "file-entry-cache@npm:^11.1.1": - version: 11.1.3 - resolution: "file-entry-cache@npm:11.1.3" + version: 11.1.5 + resolution: "file-entry-cache@npm:11.1.5" dependencies: - flat-cache: ^6.1.22 - checksum: 5f16c9d575b68fc13aa85a848c843b7657a7188a023ab927c7392c5e61d54772cbc31815187754fccb979e4bdc2fd9eebfaaad13c08c5d54051f51990750f7aa + flat-cache: ^6.1.23 + checksum: 2bd0c1e63ccacbe8a8daba17cba0fdf65bc26e28846666a6e0711895428f42aa3984d07dfe7fe843a05e7107704391aa5efcad8cbfe46f672b7a2ab9344e5751 languageName: node linkType: hard @@ -8378,14 +8260,14 @@ __metadata: languageName: node linkType: hard -"flat-cache@npm:^6.1.22": - version: 6.1.22 - resolution: "flat-cache@npm:6.1.22" +"flat-cache@npm:^6.1.23": + version: 6.1.23 + resolution: "flat-cache@npm:6.1.23" dependencies: - cacheable: ^2.3.4 + cacheable: ^2.5.0 flatted: ^3.4.2 hookified: ^1.15.0 - checksum: 84adf45ddcc0e6d2ed3f0fd6b2d17b6a8995f534b3e0643c154e3daf1c95134c8c937adc280a107ebb3d418f208dc1fcd553847c04f110657238eab393a6bac0 + checksum: ddce5003f38cc406100c40e0a73aea8cbdeda404bfce4526951b4faa532211eccb17eea9b15316135777d9527dcfbe5640083136ddfcb32332d86725ae389c0c languageName: node linkType: hard @@ -8399,22 +8281,22 @@ __metadata: linkType: hard "flatted@npm:^3.2.9, flatted@npm:^3.4.2": - version: 3.4.2 - resolution: "flatted@npm:3.4.2" - checksum: 1b2536fccbbf75d67a823dea67819f764c19266ad5e4aca6b47f6bf84d3b5e1c15eb5862f7dec1fb87129b60741524933192051286de52baddbc97129896380d + version: 3.4.4 + resolution: "flatted@npm:3.4.4" + checksum: f13e7db38118fdc8deb497b27c8ce6877ea97f8afc96af2d633817d46d368a2fac9ed16c0df422722f876e9252b6fce92a628943b5bf1ce0681d07b949939fcc languageName: node linkType: hard "form-data@npm:^4.0.0": - version: 4.0.5 - resolution: "form-data@npm:4.0.5" + version: 4.0.6 + resolution: "form-data@npm:4.0.6" dependencies: asynckit: ^0.4.0 combined-stream: ^1.0.8 es-set-tostringtag: ^2.1.0 - hasown: ^2.0.2 - mime-types: ^2.1.12 - checksum: af8328413c16d0cded5fccc975a44d227c5120fd46a9e81de8acf619d43ed838414cc6d7792195b30b248f76a65246949a129a4dadd148721948f90cd6d4fb69 + hasown: ^2.0.4 + mime-types: ^2.1.35 + checksum: e51b9e97678c250c872cd4ec3e5eaa8fa43bee4b1acf8274c337308aebc6aebb0553091ce0810612826601ffafed9dace12504a63c6ef16c57fffcd7dcfec457 languageName: node linkType: hard @@ -8469,13 +8351,6 @@ __metadata: languageName: node linkType: hard -"generator-function@npm:^2.0.0": - version: 2.0.1 - resolution: "generator-function@npm:2.0.1" - checksum: 3bf87f7b0230de5d74529677e6c3ceb3b7b5d9618b5a22d92b45ce3876defbaf5a77791b25a61b0fa7d13f95675b5ff67a7769f3b9af33f096e34653519e873d - languageName: node - linkType: hard - "gensync@npm:^1.0.0-beta.2": version: 1.0.0-beta.2 resolution: "gensync@npm:1.0.0-beta.2" @@ -8491,23 +8366,20 @@ __metadata: linkType: hard "get-intrinsic@npm:^1.2.6": - version: 1.3.1 - resolution: "get-intrinsic@npm:1.3.1" + version: 1.3.0 + resolution: "get-intrinsic@npm:1.3.0" dependencies: - async-function: ^1.0.0 - async-generator-function: ^1.0.0 call-bind-apply-helpers: ^1.0.2 es-define-property: ^1.0.1 es-errors: ^1.3.0 es-object-atoms: ^1.1.1 function-bind: ^1.1.2 - generator-function: ^2.0.0 get-proto: ^1.0.1 gopd: ^1.2.0 has-symbols: ^1.1.0 hasown: ^2.0.2 math-intrinsics: ^1.1.0 - checksum: c02b3b6a445f9cd53e14896303794ac60f9751f58a69099127248abdb0251957174c6524245fc68579dc8e6a35161d3d94c93e665f808274716f4248b269436a + checksum: 301008e4482bb9a9cb49e132b88fee093bff373b4e6def8ba219b1e96b60158a6084f273ef5cafe832e42cd93462f4accb46a618d35fe59a2b507f2388c5b79d languageName: node linkType: hard @@ -8820,12 +8692,12 @@ __metadata: languageName: node linkType: hard -"hasown@npm:^2.0.2, hasown@npm:^2.0.3": - version: 2.0.3 - resolution: "hasown@npm:2.0.3" +"hasown@npm:^2.0.2, hasown@npm:^2.0.3, hasown@npm:^2.0.4": + version: 2.0.4 + resolution: "hasown@npm:2.0.4" dependencies: function-bind: ^1.1.2 - checksum: bb06756a13dc4e6d1f45993c86c23f12d167c6c30a7dcc907aec5042300b4eb255615a0e5ed2c65014b93bf8bfcff111d991032c5c01ddefb340aa64b329bd55 + checksum: 4bd8f916b629e06324853593ffbdd45e200022952a85ad0c967f3bd4c2e4c7e1f9a9766fbe6186f60bd394e0afc73e719730caa1da15cd9bd832b7cdf53fd26c languageName: node linkType: hard @@ -8950,9 +8822,9 @@ __metadata: linkType: hard "ignore@npm:^7.0.5": - version: 7.0.5 - resolution: "ignore@npm:7.0.5" - checksum: d0862bf64d3d58bf34d5fb0a9f725bec9ca5ce8cd1aecc8f28034269e8f69b8009ffd79ca3eda96962a6a444687781cd5efdb8c7c8ddc0a6996e36d31c217f14 + version: 7.0.6 + resolution: "ignore@npm:7.0.6" + checksum: ed00cd496f32cb0a074619e6772012583515f78496719959e0b0fe7f6c7333c97f19c8ec7fa78cfb90ab0d4f9041389dfddcef5c124de5dd793436c702e2c451 languageName: node linkType: hard @@ -9734,36 +9606,25 @@ __metadata: linkType: hard "js-yaml@npm:^3.13.1": - version: 3.14.2 - resolution: "js-yaml@npm:3.14.2" + version: 3.15.1 + resolution: "js-yaml@npm:3.15.1" dependencies: argparse: ^1.0.7 esprima: ^4.0.0 bin: js-yaml: bin/js-yaml.js - checksum: 626fc207734a3452d6ba84e1c8c226240e6d431426ed94d0ab043c50926d97c509629c08b1d636f5d27815833b7cfd225865631da9fb33cb957374490bf3e90b - languageName: node - linkType: hard - -"js-yaml@npm:^4.1.0": - version: 4.1.1 - resolution: "js-yaml@npm:4.1.1" - dependencies: - argparse: ^2.0.1 - bin: - js-yaml: bin/js-yaml.js - checksum: ea2339c6930fe048ec31b007b3c90be2714ab3e7defcc2c27ebf30c74fd940358f29070b4345af0019ef151875bf3bc3f8644bea1bab0372652b5044813ac02d + checksum: 536cfb984b61d1544dbdbe394254dd13481a94171cb3a61608572d9112a63cbace9dd900cb83a4e530ac36427fff77d9e1cb6734917c6fea951d00b4f7bbb163 languageName: node linkType: hard -"js-yaml@npm:^4.3.0": - version: 4.3.0 - resolution: "js-yaml@npm:4.3.0" +"js-yaml@npm:^4.1.0, js-yaml@npm:^4.3.0": + version: 4.3.1 + resolution: "js-yaml@npm:4.3.1" dependencies: argparse: ^2.0.1 bin: js-yaml: bin/js-yaml.js - checksum: 1268fb22ae8504646cedc0823c18816d4af056029578e855b9a4d3e19bcafc3e9ba9e391f70dea4a29b023bb09f23639766071199cb89e853266b90a6ec25f9a + checksum: 482740e69a1769b355d7182234c0fa197237f02e6a5c8c0b70a763af6a712c9741de350d784a5659e00cf03cedd6ebfa506d59ca45967e3ee50dd4f4df18f2e7 languageName: node linkType: hard @@ -10259,9 +10120,9 @@ __metadata: linkType: hard "lru-cache@npm:^11.0.0": - version: 11.3.6 - resolution: "lru-cache@npm:11.3.6" - checksum: 0bc3ad1cb4c91c8baa532f3bede807a63d36156cc066a6f0e0a44d2dc317f94aa19a92bc11ce0f9933d00ea90995e2e61a0b12a21e1c5f3cc38d4b28956870d4 + version: 11.5.2 + resolution: "lru-cache@npm:11.5.2" + checksum: ea040bdd8255384d1965c09983e1357ef6eca044747917c2f9db610f3fc773a518ea86bbcffb3b376f793ed61729f240c69cc5593ec89062d64e31c50973f3c0 languageName: node linkType: hard @@ -10275,11 +10136,11 @@ __metadata: linkType: hard "lucide-react@npm:^1.17.0": - version: 1.27.0 - resolution: "lucide-react@npm:1.27.0" + version: 1.28.0 + resolution: "lucide-react@npm:1.28.0" peerDependencies: react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0 - checksum: 0e5bc1bc32fc268d55c344fcc478592f4b1a347a712739bbb9f4efa853020e1fe92752ea37f60403134a8b9ec663f1e3fcbab517e42f9ed744588e064a131e60 + checksum: 6ed962943baa889cdd2e2023ceca0fee82ad63554730cd60531540081d629cb874e8cc362d2efb465252935988ba30da0780430db569c86b9205de353c20e606 languageName: node linkType: hard @@ -10329,7 +10190,7 @@ __metadata: languageName: node linkType: hard -"marked-gfm-heading-id@npm:^4.1.4": +"marked-gfm-heading-id@npm:^4.1.3": version: 4.1.4 resolution: "marked-gfm-heading-id@npm:4.1.4" dependencies: @@ -10340,7 +10201,7 @@ __metadata: languageName: node linkType: hard -"marked-mangle@npm:^1.1.13": +"marked-mangle@npm:^1.1.12": version: 1.1.13 resolution: "marked-mangle@npm:1.1.13" peerDependencies: @@ -10358,7 +10219,7 @@ __metadata: languageName: node linkType: hard -"marked@npm:^17.0.6": +"marked@npm:^17.0.2": version: 17.0.6 resolution: "marked@npm:17.0.6" bin: @@ -10416,9 +10277,9 @@ __metadata: languageName: node linkType: hard -"mermaid@npm:^11.15.0": - version: 11.16.0 - resolution: "mermaid@npm:11.16.0" +"mermaid@npm:^11.12.3": + version: 11.16.1 + resolution: "mermaid@npm:11.16.1" dependencies: "@braintree/sanitize-url": ^7.1.2 "@iconify/utils": ^3.0.2 @@ -10441,7 +10302,7 @@ __metadata: stylis: ^4.3.6 ts-dedent: ^2.2.0 uuid: ^11.1.0 || ^12 || ^13 || ^14.0.0 - checksum: 35b825cce4b0e259e5869cf50336701517819e18852953f1b4a6ab9b1fe4c1ab8f14ff34ebfd3f95384ce2b2921969eb00d5ccaed6b524c3b99f6a82b6f1bd88 + checksum: 679d6f459c2c34e8f6e686cd69423355e8b3637fad06d936846d709de71b70655cc7a7d85039f96432baacbc52ab84c580077576d9d864bee3b544a8b6d71358 languageName: node linkType: hard @@ -10469,7 +10330,7 @@ __metadata: languageName: node linkType: hard -"mime-types@npm:^2.1.12": +"mime-types@npm:^2.1.35": version: 2.1.35 resolution: "mime-types@npm:2.1.35" dependencies: @@ -10507,11 +10368,11 @@ __metadata: linkType: hard "minimatch@npm:^10.2.2": - version: 10.2.5 - resolution: "minimatch@npm:10.2.5" + version: 10.2.6 + resolution: "minimatch@npm:10.2.6" dependencies: - brace-expansion: ^5.0.5 - checksum: 000423875fecbc7da1d74bf63c9081363a71291ef2588c376c45647ac004582cb5bc8cc09ef84420b26bfb490f4d0818d328e78569c6228e20d90271283f73ba + brace-expansion: ^5.0.8 + checksum: 6f3d0ba7654a6d667dc1787a3684192d65e130cbcf02c1b0cf0d0b2f7f69ab41703d4d255dc171632dc25994527a35fb6ea7d44cc6132e4d93de5a2efb210bd1 languageName: node linkType: hard @@ -10625,21 +10486,12 @@ __metadata: languageName: node linkType: hard -"nanoid@npm:^3.3.11": - version: 3.3.12 - resolution: "nanoid@npm:3.3.12" - bin: - nanoid: bin/nanoid.cjs - checksum: 38699257447dc59e21e73e0510d0dfb16b7a610d9ca80633d5c3a68f9b4298c990513d30404ca8f163c2d03225ee01695ff8898bea6179183f38f0477b7635ac - languageName: node - linkType: hard - "nanoid@npm:^3.3.16": - version: 3.3.16 - resolution: "nanoid@npm:3.3.16" + version: 3.3.17 + resolution: "nanoid@npm:3.3.17" bin: nanoid: bin/nanoid.cjs - checksum: 2489d8f87f02178a15b901d7d06e490838383a2acdf01ec2b4e4343c02325ab648965a539eba8bdb821560a33e4c34be506b9e1c7c1bb5cb750e894f500fce92 + checksum: dbbfd5ccc15a9bce602797ee75b98ee5ad377bd217782b8d2e7438e6e0ba0c54529a9f60437910aa00e263224b3c074b51a1aa3e21084a3cb56347a6cbacc275 languageName: node linkType: hard @@ -10667,22 +10519,22 @@ __metadata: linkType: hard "node-gyp@npm:latest": - version: 12.3.0 - resolution: "node-gyp@npm:12.3.0" + version: 13.0.1 + resolution: "node-gyp@npm:13.0.1" dependencies: env-paths: ^2.2.0 exponential-backoff: ^3.1.1 graceful-fs: ^4.2.6 - nopt: ^9.0.0 - proc-log: ^6.0.0 + nopt: ^10.0.0 + proc-log: ^7.0.0 semver: ^7.3.5 tar: ^7.5.4 tinyglobby: ^0.2.12 - undici: ^6.25.0 - which: ^6.0.0 + undici: ^8.4.1 + which: ^7.0.0 bin: node-gyp: bin/node-gyp.js - checksum: b02e8776908a83f25b8df88f0b79c46b425f9b7f442ebe3c4a50b9820128c1b44df6b386214c73d509964995d820edbda94bb0c811b6b60a686231afb699acf7 + checksum: 9d4e0eeaa415ca33a85278ecf2bdb61a7c32649e9423ec7743912b97e58169606ef44504f7d3a746cd9179f50c8d37d5bb70ae76fbc4803122f7747e819453f6 languageName: node linkType: hard @@ -10693,10 +10545,10 @@ __metadata: languageName: node linkType: hard -"node-releases@npm:^2.0.36": - version: 2.0.44 - resolution: "node-releases@npm:2.0.44" - checksum: a96278a9ec8f3d67b796693047499fc64724f97cb7fb8aa50e8e5a9408f4f2c1e2eb8f3ee44c43bfd34b0331514d9a8ad5efc7a98e7b720a4b9cd9b4d0f0c2da +"node-releases@npm:^2.0.51": + version: 2.0.52 + resolution: "node-releases@npm:2.0.52" + checksum: fb2bf438752078c9caf4a0d5e421320b3441f07d966028f3be4a1d8605399394a810036e225175261389210720c9ed7944c3a0df2c7e22aa80e7530f2951b2ed languageName: node linkType: hard @@ -10710,14 +10562,14 @@ __metadata: languageName: node linkType: hard -"nopt@npm:^9.0.0": - version: 9.0.0 - resolution: "nopt@npm:9.0.0" +"nopt@npm:^10.0.0": + version: 10.0.1 + resolution: "nopt@npm:10.0.1" dependencies: - abbrev: ^4.0.0 + abbrev: ^5.0.0 bin: nopt: bin/nopt.js - checksum: 7a5d9ab0629eaec1944a95438cc4efa6418ed2834aa8eb21a1bea579a7d8ac3e30120131855376a96ef59ab0e23ad8e0bc94d3349770a95e5cb7119339f7c7fb + checksum: c2903b9171a3293b731189ace4eaeacc2ed8191bb8f8f74ebfb61babc0de2ff158d97a215fd561070ed0dac567f3b8741955f81a534009e57eb37fdc419d5d4e languageName: node linkType: hard @@ -10779,9 +10631,9 @@ __metadata: linkType: hard "nwsapi@npm:^2.2.2": - version: 2.2.23 - resolution: "nwsapi@npm:2.2.23" - checksum: 7af519de08381df9dc0c913d817255cb21e33671641603f6cdabe8cb04b18b32aca1477fdc5dfe08b2039125afa3216d3ef01a3c2603a97d114e842d9414e0c3 + version: 2.2.24 + resolution: "nwsapi@npm:2.2.24" + checksum: c0c4016cc6117748d35a97ca12076b472de0626fa55d1e2d1e54401d24e38f1b9cef743955cbcdb9eb0fcc37ec16924a8a8b66bada52d295dbdf6da3f5108c58 languageName: node linkType: hard @@ -10875,9 +10727,9 @@ __metadata: linkType: hard "package-manager-detector@npm:^1.3.0": - version: 1.6.0 - resolution: "package-manager-detector@npm:1.6.0" - checksum: 154d55225e70e32582f59b5d4a46d25716f0730a14d7e4b6f0fd76c870c720cc6f448d2becca06a15f2042492f0293cf26e5ad8fcd85d0eab0af3b9b46c0b43a + version: 1.8.0 + resolution: "package-manager-detector@npm:1.8.0" + checksum: 13ce55aaa3963264d378eec73a562695ba146cbc2c3dae92d3eab63610b0749581a8b4d47e3320650b68582c045a2c891ce6e56bf0e5c62e7729bc3c7e784034 languageName: node linkType: hard @@ -10998,26 +10850,19 @@ __metadata: languageName: node linkType: hard -"picomatch@npm:^4.0.2": +"picomatch@npm:^4.0.2, picomatch@npm:^4.0.4": version: 4.0.5 resolution: "picomatch@npm:4.0.5" checksum: 44f305aa44f33c15d304f2e887409961d1c14eebd465b5553d8aefddcfe7b5e40d208148adef8c21a21183dda2fdba1e83c8a56918e3b5e5d3db6bcaba5b7e12 languageName: node linkType: hard -"picomatch@npm:^4.0.4": - version: 4.0.4 - resolution: "picomatch@npm:4.0.4" - checksum: 76b387b5157951422fa6049a96bdd1695e39dd126cd99df34d343638dc5cdb8bcdc83fff288c23eddcf7c26657c35e3173d4d5f488c4f28b889b314472e0a662 - languageName: node - linkType: hard - "pidtree@npm:^0.6.0": - version: 0.6.0 - resolution: "pidtree@npm:0.6.0" + version: 0.6.1 + resolution: "pidtree@npm:0.6.1" bin: pidtree: bin/pidtree.js - checksum: 8fbc073ede9209dd15e80d616e65eb674986c93be49f42d9ddde8dbbd141bb53d628a7ca4e58ab5c370bb00383f67d75df59a9a226dede8fa801267a7030c27a + checksum: 1c1f93b1d69846942294dbcd7d3f90decf6965555c28ea37ee18c778272cc860d9be6c14c2e74290829abf0b35e2729e6706402e62e209fe62671949e206b961 languageName: node linkType: hard @@ -11115,12 +10960,12 @@ __metadata: linkType: hard "postcss-selector-parser@npm:^7.0.0, postcss-selector-parser@npm:^7.1.0": - version: 7.1.1 - resolution: "postcss-selector-parser@npm:7.1.1" + version: 7.1.4 + resolution: "postcss-selector-parser@npm:7.1.4" dependencies: cssesc: ^3.0.0 util-deprecate: ^1.0.2 - checksum: 36d71bd8e1c9db9c3d4ecefd3f8c30aace141a3a1a266473bc9a1b7a0c1c2dfbaef2ac20cc8ea287b17131cbb3690c1c0fe7a4d9272db9f09b136da2413bc3ea + checksum: 66fa9908f4239e8042e47a67272556404f71d5ef9ef4a271ae519b1a3775f999c7ae6cc9e504f7d6c2715c12ed89ca73f77b8ee23f93ea127d06a2a720854b50 languageName: node linkType: hard @@ -11131,25 +10976,14 @@ __metadata: languageName: node linkType: hard -"postcss@npm:^8.3.11, postcss@npm:^8.4.40, postcss@npm:^8.5.6": - version: 8.5.14 - resolution: "postcss@npm:8.5.14" - dependencies: - nanoid: ^3.3.11 - picocolors: ^1.1.1 - source-map-js: ^1.2.1 - checksum: ec17d1519cd997b43aceb82bfa959f380085591269e286c53d5ba76eb1989525e7cde106a44f1565516fcbb50f206eb1858cc2cd5e5aaea3a8ee793886c8232c - languageName: node - linkType: hard - -"postcss@npm:^8.4.33": - version: 8.5.24 - resolution: "postcss@npm:8.5.24" +"postcss@npm:^8.3.11, postcss@npm:^8.4.33, postcss@npm:^8.4.40, postcss@npm:^8.5.6": + version: 8.5.25 + resolution: "postcss@npm:8.5.25" dependencies: nanoid: ^3.3.16 picocolors: ^1.1.1 source-map-js: ^1.2.1 - checksum: bd8ea2dfc9343a59675bad40d956508f4f5162117aa85eaaa44ce582415b40eac175e57de0fc80c5141418c9f092c0cc50f184be79115666b694673d8deb75b8 + checksum: 51e1fa610322a93220a461dc56a952b398d9bdb137e1f2530fed0ddebd37bf07f2729dfce31864b67b742636f30102833924ea600fa11a0f666130a66fae2a53 languageName: node linkType: hard @@ -11189,10 +11023,10 @@ __metadata: languageName: node linkType: hard -"proc-log@npm:^6.0.0": - version: 6.1.0 - resolution: "proc-log@npm:6.1.0" - checksum: ac450ff8244e95b0c9935b52d629fef92ae69b7e39aea19972a8234259614d644402dd62ce9cb094f4a637d8a4514cba90c1456ad785a40ad5b64d502875a817 +"proc-log@npm:^7.0.0": + version: 7.0.0 + resolution: "proc-log@npm:7.0.0" + checksum: ded2e976dbfa428777496158db93efdd27523ce17cf7eae0e87c6dbba0f30bb46bbe6409ccdcf5ecea7bdea864ed409afc3b5c60b79f008d42dff79fdd481c27 languageName: node linkType: hard @@ -11618,13 +11452,13 @@ __metadata: linkType: hard "regjsparser@npm:^0.13.0": - version: 0.13.1 - resolution: "regjsparser@npm:0.13.1" + version: 0.13.2 + resolution: "regjsparser@npm:0.13.2" dependencies: jsesc: ~3.1.0 bin: regjsparser: bin/parser - checksum: 7a4e60e1487b6a0702e35540f882c0c6e0151f7f567c6a4c480c5397a3cab05f6d2bf5f64cdbcdf341e41caf232cae801a4db9b531c26eed3ca946b3c50ccb34 + checksum: 20ece45a3e9f63c8a3fa50fbcde7a3cc35d97c244ca9bc1c94d0907d4f6eb3f50bb7326e60f848649024d7cd6ff89c9a75a36d6faded0cf225677a3d13914a31 languageName: node linkType: hard @@ -11866,12 +11700,12 @@ __metadata: languageName: node linkType: hard -"semver@npm:^7.3.5, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.3, semver@npm:^7.7.3, semver@npm:^7.7.4": - version: 7.8.0 - resolution: "semver@npm:7.8.0" +"semver@npm:^7.3.5, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.3, semver@npm:^7.7.3, semver@npm:^7.8.5": + version: 7.8.5 + resolution: "semver@npm:7.8.5" bin: semver: bin/semver.js - checksum: 68e38bc26ed1191d7c78d2b711bdffc2f8b1d05a1caadda41a1d7e1a9d32e1da5ae5b645de5c5f2b27bde830d7e9c1cbeeafcb8fda091830411df7d40be405b1 + checksum: 0c580f17e88e2b45806dc5cf3d824f719c946999d3554bf30307c2b68b3300ab3c8bfcd84d8f489b93b4cbb5362f5fc8de4d2858954f18d834253c4450fc9f6b languageName: node linkType: hard @@ -11908,9 +11742,9 @@ __metadata: linkType: hard "shell-quote@npm:^1.7.3": - version: 1.8.3 - resolution: "shell-quote@npm:1.8.3" - checksum: 550dd84e677f8915eb013d43689c80bb114860649ec5298eb978f40b8f3d4bc4ccb072b82c094eb3548dc587144bb3965a8676f0d685c1cf4c40b5dc27166242 + version: 1.10.0 + resolution: "shell-quote@npm:1.10.0" + checksum: d4bc0757ae0e493d0f6e3327c93be7d5af1d39e9969eb4332ed4e40bb2c3f9112ec31e979d713d302605f7e3431d9f5f061719e0e177077ffd9c03c0b9cc5f73 languageName: node linkType: hard @@ -12339,15 +12173,15 @@ __metadata: linkType: hard "tar@npm:^7.5.4": - version: 7.5.15 - resolution: "tar@npm:7.5.15" + version: 7.5.22 + resolution: "tar@npm:7.5.22" dependencies: "@isaacs/fs-minipass": ^4.0.0 chownr: ^3.0.0 minipass: ^7.1.2 minizlib: ^3.1.0 yallist: ^5.0.0 - checksum: b00ede0737f262691b18bd60aebdd15663c7cdabd40adce64dde0b69f65b7afb91cf31a4cae3bc184e2358aa14371fb0b56d6f7c0c0cc8b0238df1242c0e07ca + checksum: e1434f40954410d191ab6d89017bfd40c24869cfd319d19dd74f84db13cbea15370a22bc9b8ecd699d05c2777ec6297f35dac318ed4829b6e776a7cb4f1f7c68 languageName: node linkType: hard @@ -12391,8 +12225,8 @@ __metadata: linkType: hard "terser@npm:^5.31.1": - version: 5.49.0 - resolution: "terser@npm:5.49.0" + version: 5.49.1 + resolution: "terser@npm:5.49.1" dependencies: "@jridgewell/source-map": ^0.3.3 acorn: ^8.15.0 @@ -12400,7 +12234,7 @@ __metadata: source-map-support: ~0.5.20 bin: terser: bin/terser - checksum: 79ca6826cc68df0be61d0eef0124ce3a59660f453db57b2488aa2d8cbeedbc2b70cd5d8bce47a3d6f33f28a427d40ef85c9b72ca5dafafa0ded26246f27421bb + checksum: 2774d2275099a3cf7642e6f06b78507918e442f56b0a10d15201ca0451a12b9e89f9dec871a97029420c5e06f588432b8d2a8abc23a9398549fd3d9e13649d0c languageName: node linkType: hard @@ -12426,19 +12260,19 @@ __metadata: linkType: hard "tinyexec@npm:^1.0.1": - version: 1.1.2 - resolution: "tinyexec@npm:1.1.2" - checksum: be2cb2b60c415bf9ef2006f86b566774445ea59249b62edc293996299d0b235a14b3ec41bc11e942914287306e5d2c390a1f47cbf781cf3e96833312f0dca6bf + version: 1.3.0 + resolution: "tinyexec@npm:1.3.0" + checksum: de21f85d48a838104b13a8c45410a5ad46c7ec75b5943d0df287a014d80cc530b825f9b0fbe63cfc0e78623b96467e19b7a9b87469bbd595e48607dce88c0958 languageName: node linkType: hard "tinyglobby@npm:^0.2.12, tinyglobby@npm:^0.2.15": - version: 0.2.16 - resolution: "tinyglobby@npm:0.2.16" + version: 0.2.17 + resolution: "tinyglobby@npm:0.2.17" dependencies: fdir: ^6.5.0 picomatch: ^4.0.4 - checksum: db9d22ce1deb1095720a683c492cd5e80da0f71fed21ed697e2752f6f298edd8a1249dab197c86a26f001c180594a81bf532400fe519791ed2a2cb57b03bc337 + checksum: 041e73eae568152c376551b21b8a27909d474166a8f405cdb0345991c50cf6afd0f878d7a387645d9c05d8ea2c9a55cc2fd2cfe6c5d5a5264770972b1adcad86 languageName: node linkType: hard @@ -12498,15 +12332,15 @@ __metadata: linkType: hard "ts-dedent@npm:^2.2.0": - version: 2.2.0 - resolution: "ts-dedent@npm:2.2.0" - checksum: 93ed8f7878b6d5ed3c08d99b740010eede6bccfe64bce61c5a4da06a2c17d6ddbb80a8c49c2d15251de7594a4f93ffa21dd10e7be75ef66a4dc9951b4a94e2af + version: 2.3.0 + resolution: "ts-dedent@npm:2.3.0" + checksum: fc56bfac5daf2a3d2197eda2c804125756ecfbbc830ad3ce28cf775cca0027fe848abf827a913be67d33fb0f57dfbdd536f9c908e9979fa65968443b514561b2 languageName: node linkType: hard "ts-jest@npm:^29.1.0": - version: 29.4.9 - resolution: "ts-jest@npm:29.4.9" + version: 29.4.12 + resolution: "ts-jest@npm:29.4.12" dependencies: bs-logger: ^0.2.6 fast-json-stable-stringify: ^2.1.0 @@ -12514,7 +12348,7 @@ __metadata: json5: ^2.2.3 lodash.memoize: ^4.1.2 make-error: ^1.3.6 - semver: ^7.7.4 + semver: ^7.8.5 type-fest: ^4.41.0 yargs-parser: ^21.1.1 peerDependencies: @@ -12540,7 +12374,7 @@ __metadata: optional: true bin: ts-jest: cli.js - checksum: 194a2eb2e14afe8533ffeb69e69aa41ebc95322da260f4cd92aae5d32856893c5c4972feb63c0cf3760cb397c48e9faddd9c2d80d268a78b53dc24733453aa8b + checksum: 8efdb268e12c193f2d4e9661d886dbc82ed128b2820ada95e8416b092c7073edb09a414e5bd6f8e495989bbda8b933fe34c89b040efc2f70d75f7aa285546f3a languageName: node linkType: hard @@ -12634,17 +12468,17 @@ __metadata: languageName: node linkType: hard -"undici-types@npm:~7.21.0": - version: 7.21.0 - resolution: "undici-types@npm:7.21.0" - checksum: 9a178d1f5fa36767bb9f9b3e0f235bee2d6c679055a2c5192e906791da3696b49a90aa21228a7465d4aa49ba76c4a0a1b781912474d7f7c843a871a10dc1fc74 +"undici-types@npm:~8.3.0": + version: 8.3.0 + resolution: "undici-types@npm:8.3.0" + checksum: bdc1d54d8b48f3f2a801f7707a2ad53b76711039dd9a276382d4bdbbded79355574309425096127a42313731bde7a76cc299855fc06872797edd0acbfcef5bc0 languageName: node linkType: hard -"undici@npm:^6.25.0": - version: 6.25.0 - resolution: "undici@npm:6.25.0" - checksum: aed372e1b0f16045696c878e46b03e97dfd1c6dd650fb2355d48adeecc730c990ab15ab2de5a5855dbfe04c9af403a3d4f702234d3e25e72c475d1fb3a72fcfe +"undici@npm:^8.4.1": + version: 8.10.0 + resolution: "undici@npm:8.10.0" + checksum: 6b7c5442ec67fb4048a07aba719890904be54fbcff83c58b7133011fead67877c970f8b974f5e05aa0c7f5603c726888d8b3648e891af1493e7e362d848d7e9c languageName: node linkType: hard @@ -12781,11 +12615,11 @@ __metadata: linkType: hard "uuid@npm:^11.1.0 || ^12 || ^13 || ^14.0.0": - version: 14.0.0 - resolution: "uuid@npm:14.0.0" + version: 14.0.1 + resolution: "uuid@npm:14.0.1" bin: uuid: dist-node/bin/uuid - checksum: 08608584a79e987cdae000fa8eb724fa51dd8aafc136cd9fa9a8c87d07b246c56eec5fd9027fdb3e49a863eedf758bc19e325909ce281955c7a027fed67dc89e + checksum: 8c79338151976423c5eff1292bc40efd247a666d32b0913430f130d58db76298d28f8a95d6dad7765194dcc72324849fee8866f3ca90e9c1185ac17bb7b5d97d languageName: node linkType: hard @@ -12849,14 +12683,21 @@ __metadata: languageName: node linkType: hard -"vscode-jsonrpc@npm:8.2.0": - version: 8.2.0 - resolution: "vscode-jsonrpc@npm:8.2.0" - checksum: f302a01e59272adc1ae6494581fa31c15499f9278df76366e3b97b2236c7c53ebfc71efbace9041cfd2caa7f91675b9e56f2407871a1b3c7f760a2e2ee61484a +"vscode-jsonrpc@npm:9.0.1": + version: 9.0.1 + resolution: "vscode-jsonrpc@npm:9.0.1" + checksum: 8b069091bbfe0b9bbbe99723bf601df4fc28a060c268371f55099ced91447d4c3f76704a2badc2267e7b8a58bc4dc1637b13aabaf724be7323ea47248088c19c + languageName: node + linkType: hard + +"vscode-jsonrpc@npm:^6.0.0": + version: 6.0.0 + resolution: "vscode-jsonrpc@npm:6.0.0" + checksum: 3a67a56f287e8c449f2d9752eedf91e704dc7b9a326f47fb56ac07667631deb45ca52192e9bccb2ab108764e48409d70fa64b930d46fc3822f75270b111c5f53 languageName: node linkType: hard -"vscode-jsonrpc@npm:^8.0.2, vscode-jsonrpc@npm:^8.2.0": +"vscode-jsonrpc@npm:^8.0.2": version: 8.2.1 resolution: "vscode-jsonrpc@npm:8.2.1" checksum: 2af2c333d73f6587896a7077978b8d4b430e55c674d5dbb90597a84a6647057c1655a3bff398a9b08f1f8ba57dbd2deabf05164315829c297b0debba3b8bc19e @@ -12864,19 +12705,19 @@ __metadata: linkType: hard "vscode-languageserver-protocol@npm:^3.17.0": - version: 3.17.5 - resolution: "vscode-languageserver-protocol@npm:3.17.5" + version: 3.18.2 + resolution: "vscode-languageserver-protocol@npm:3.18.2" dependencies: - vscode-jsonrpc: 8.2.0 - vscode-languageserver-types: 3.17.5 - checksum: dfb42d276df5dfea728267885b99872ecff62f6c20448b8539fae71bb196b420f5351c5aca7c1047bf8fb1f89fa94a961dce2bc5bf7e726198f4be0bb86a1e71 + vscode-jsonrpc: 9.0.1 + vscode-languageserver-types: 3.18.0 + checksum: be57ad97ba1b8c623cc431d1681658c5dee562c743b37131ea6c1f2cfb887f554cb6198f3a63b412e04b5010fada46d62b709fcb37bcaa585121b7859442f467 languageName: node linkType: hard -"vscode-languageserver-types@npm:3.17.5": - version: 3.17.5 - resolution: "vscode-languageserver-types@npm:3.17.5" - checksum: 79b420e7576398d396579ca3a461c9ed70e78db4403cd28bbdf4d3ed2b66a2b4114031172e51fad49f0baa60a2180132d7cb2ea35aa3157d7af3c325528210ac +"vscode-languageserver-types@npm:3.18.0": + version: 3.18.0 + resolution: "vscode-languageserver-types@npm:3.18.0" + checksum: 6887e7725ee948bb20b466ce0decc905e2e31828ec2c1e26f18b136e9102d11440c30ea2cd08652f57221b0b1277f1fc4ab51d7bc14d526c975c8c00d05d927b languageName: node linkType: hard @@ -13097,14 +12938,14 @@ __metadata: languageName: node linkType: hard -"which@npm:^6.0.0": - version: 6.0.1 - resolution: "which@npm:6.0.1" +"which@npm:^7.0.0": + version: 7.0.0 + resolution: "which@npm:7.0.0" dependencies: isexe: ^4.0.0 bin: node-which: bin/which.js - checksum: dbea77c7d3058bf6c78bf9659d2dce4d2b57d39a15b826b2af6ac2e5a219b99dc8a831b79fdbc453c0598adb4f3f84cf9c2491fd52beb9f5d2dececcad117f68 + checksum: 913a43ac10df37602ba9795a004dd7ab12ba7dd592aca1f08ec333be1fdd6a49bbf119a88c3f8d0ea70eeb6251726e77069251424d73000299a0a840ed000732 languageName: node linkType: hard @@ -13180,8 +13021,8 @@ __metadata: linkType: hard "ws@npm:^8.11.0": - version: 8.20.1 - resolution: "ws@npm:8.20.1" + version: 8.21.2 + resolution: "ws@npm:8.21.2" peerDependencies: bufferutil: ^4.0.1 utf-8-validate: ">=5.0.2" @@ -13190,7 +13031,7 @@ __metadata: optional: true utf-8-validate: optional: true - checksum: e639c83de2f58430a8f5d3ffea49711d37a766822e2e7ec8f131e5b890a95314203f1f83ee124de5c0185849907c9ab19db0210a723f2c03a99eaf448589d2f9 + checksum: 1e1ae90a6ac2709b8f53272bb0024ba8ce75e68a90deca72cd60d7dc6ec3031258b1159d5abd276220f2c06e6d5b65e87dc0f470e44f13855c30d4831ca86060 languageName: node linkType: hard @@ -13284,8 +13125,8 @@ __metadata: linkType: hard "yargs@npm:^17.3.1": - version: 17.7.2 - resolution: "yargs@npm:17.7.2" + version: 17.7.3 + resolution: "yargs@npm:17.7.3" dependencies: cliui: ^8.0.1 escalade: ^3.1.1 @@ -13294,25 +13135,16 @@ __metadata: string-width: ^4.2.3 y18n: ^5.0.5 yargs-parser: ^21.1.1 - checksum: 73b572e863aa4a8cbef323dd911d79d193b772defd5a51aab0aca2d446655216f5002c42c5306033968193bdbf892a7a4c110b0d77954a7fdf563e653967b56a - languageName: node - linkType: hard - -"yjs@npm:^13.5.40": - version: 13.6.30 - resolution: "yjs@npm:13.6.30" - dependencies: - lib0: ^0.2.99 - checksum: b8ddb313cd40579da7b9b09bd878f30efe79b3fa6f9bc7ab96c1ca80f305b557919035aaef417a3d65f2b0aad732c79fcfd84ceb82855869605fb6b0f40cdffd + checksum: 16fb2d4866f04aaf74f206d3df843e7a80b58a26fda47af29be51b27564c19966b1674c3acf679a26fdfa8a7e4b1b442a63cdab5db8cd3c57db7912f4473e343 languageName: node linkType: hard -"yjs@npm:^13.6.28": - version: 13.6.31 - resolution: "yjs@npm:13.6.31" +"yjs@npm:^13.5.40, yjs@npm:^13.6.28": + version: 13.6.32 + resolution: "yjs@npm:13.6.32" dependencies: lib0: ^0.2.99 - checksum: 87c665c53344d48a3b85d21fa409d2a51bbdc995292a0c1bdfb1493620d4ba6c7cd1a308155642942fc45fa59e8d4557caab03d559f9408451ee6984ef180425 + checksum: 5b146dcb471ec6ac9aab2b617786f660bc2233c896bfbcc1e65c67efb06f3bfd52acf2519d3519d72b108235da1895b8350b44f2b3a2ecfa80d0f45874805071 languageName: node linkType: hard From 5610e25197b0c83b36095a5a0e46c0a818d06d48 Mon Sep 17 00:00:00 2001 From: Nadja Jovancevic Date: Wed, 5 Aug 2026 14:46:46 +0200 Subject: [PATCH 07/59] build: adjust tsconfig to match JupyterLabs --- packages/labextension/tsconfig.json | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/packages/labextension/tsconfig.json b/packages/labextension/tsconfig.json index 7de4b876..4d24d343 100644 --- a/packages/labextension/tsconfig.json +++ b/packages/labextension/tsconfig.json @@ -6,9 +6,16 @@ "esModuleInterop": true, "incremental": true, "jsx": "react", - "lib": ["DOM", "ES2019", "ES2020.Intl"], - "module": "esnext", - "moduleResolution": "node", + "lib": [ + "DOM", + "DOM.Iterable", + "ES2018", + "ES2020.BigInt", + "ES2020.Intl", + "ES2020.String" + ], + "module": "ESNext", + "moduleResolution": "bundler", "noEmitOnError": true, "noImplicitAny": true, "noUnusedLocals": true, @@ -19,7 +26,7 @@ "strict": true, "strictNullChecks": false, "skipLibCheck": true, - "target": "ES2020", + "target": "ES2022", "types": ["jest", "node"] }, "include": ["src/**/*"] From 063686183990a92e4b03d2b9dddf85bd893364a8 Mon Sep 17 00:00:00 2001 From: Nadja Jovancevic Date: Thu, 6 Aug 2026 11:49:19 +0200 Subject: [PATCH 08/59] fix: show time difference between dates in days, hours and minutes --- .../assignment-create-edit-dialog.tsx | 49 +++++++++++++------ .../grader-service/lectures/lecture-card.tsx | 6 +-- .../src/app/components/utils/utils.tsx | 12 +++-- .../app/pages/instructor-view/dashboard.tsx | 4 +- .../shadcn-components/ui/date-time-picker.tsx | 21 ++++++-- 5 files changed, 65 insertions(+), 27 deletions(-) diff --git a/packages/labextension/src/app/components/grader-service/assignments/assignment-create-edit-dialog.tsx b/packages/labextension/src/app/components/grader-service/assignments/assignment-create-edit-dialog.tsx index 1c7d16fa..cd566018 100644 --- a/packages/labextension/src/app/components/grader-service/assignments/assignment-create-edit-dialog.tsx +++ b/packages/labextension/src/app/components/grader-service/assignments/assignment-create-edit-dialog.tsx @@ -60,11 +60,7 @@ import { LATE_SUBMISSIONS, WHITELIST_FILE_PATTERNS } from './static/assignment-metadata-explainations'; -import { - calculateDaysDifference, - determineDisplayText, - buildPeriod -} from '../../utils/utils'; +import { pluralize, buildPeriod } from '../../utils/utils'; import moment from 'moment'; import { useGroups } from '../../../pages/instructor-view/lecture'; import { Checkbox } from '../../../shadcn-components/ui/checkbox'; @@ -144,6 +140,9 @@ export const AssignmentCreateEditDialog = (props: IAssignmentSettingsForm) => { const [deadlineOpen, setDeadlineOpen] = React.useState(false); const [createAnother, setCreateAnother] = useState(false); const [whitelistPatternsInput, setWhitelistPatternsInput] = useState(''); + const [timeDiff, setTimeDiff] = useState | undefined>( + undefined + ); const handleAddAllowedFilePattern = (field: AnyFieldApi) => { if ( whitelistPatternsInput.trim().length > 0 && @@ -157,6 +156,35 @@ export const AssignmentCreateEditDialog = (props: IAssignmentSettingsForm) => { }; const anchor = useComboboxAnchor(); + const timeDiffText = () => { + if (!timeDiff) { + return ''; + } + const daysDiff = timeDiff.daysDiff; + const hoursDiff = timeDiff.hoursDiff; + const minutesDiff = timeDiff.minutesDiff; + let timeDiffText = ''; + if (daysDiff > 0) { + timeDiffText += `${daysDiff} ${pluralize({ + text: 'day', + data: daysDiff + })}, `; + } + if (hoursDiff > 0) { + timeDiffText += `${hoursDiff} ${pluralize({ + text: 'hour', + data: hoursDiff + })} and `; + } + if (minutesDiff > 0) { + timeDiffText += `${minutesDiff} ${pluralize({ + text: 'minute', + data: minutesDiff + })}`; + } + return timeDiffText; + }; + return ( @@ -309,26 +337,19 @@ export const AssignmentCreateEditDialog = (props: IAssignmentSettingsForm) => { } }} children={field => { - let dayDiff; return (
{field.state.value && field.state.meta.isTouched && field.state.meta.isValid && (

- Deadline is in{' '} - { - (dayDiff = calculateDaysDifference({ - startDate: new Date(field.state.value), - endDate: new Date() - })) - }{' '} - {determineDisplayText({ text: 'day', data: dayDiff })} + Deadline is in {timeDiffText()}.

)} {!field.state.meta.isValid && ( diff --git a/packages/labextension/src/app/components/grader-service/lectures/lecture-card.tsx b/packages/labextension/src/app/components/grader-service/lectures/lecture-card.tsx index bb61d05a..ce12ce42 100644 --- a/packages/labextension/src/app/components/grader-service/lectures/lecture-card.tsx +++ b/packages/labextension/src/app/components/grader-service/lectures/lecture-card.tsx @@ -14,7 +14,7 @@ import { useQuery } from '@tanstack/react-query'; import { getUsers } from '../../../../services/lectures.service'; import { getAllAssignments } from '../../../../services/assignments.service'; import { IconTextInfo } from '../../ui/icon-text-info'; -import { determineDisplayText, highlightText } from '../../utils/utils'; +import { pluralize, highlightText } from '../../utils/utils'; import { User } from '../../../../model/user'; import { EditLectureDialog } from './edit-lecture-dialog'; import { @@ -83,7 +83,7 @@ export const LectureCard = (props: ILectureCard) => { className={'fill-foreground size-5 text-white! self-center'} /> } - text={`${assignments.length.toString()} ${determineDisplayText({ + text={`${assignments.length.toString()} ${pluralize({ text: 'Assignment', data: assignments })}`} @@ -95,7 +95,7 @@ export const LectureCard = (props: ILectureCard) => { className={'fill-foreground text-foreground! size-5 self-center'} /> } - text={`${students.length.toString()} ${determineDisplayText({ + text={`${students.length.toString()} ${pluralize({ text: 'Student', data: students })}`} diff --git a/packages/labextension/src/app/components/utils/utils.tsx b/packages/labextension/src/app/components/utils/utils.tsx index b9cc67ef..cf0dacbd 100644 --- a/packages/labextension/src/app/components/utils/utils.tsx +++ b/packages/labextension/src/app/components/utils/utils.tsx @@ -1,7 +1,7 @@ import moment from 'moment/moment'; import React from 'react'; -export const determineDisplayText = (props: { text: string; data: any }) => { +export const pluralize = (props: { text: string; data: any }) => { return props.data.length === 1 || props.data === 1 ? props.text : `${props.text}s`; @@ -11,10 +11,14 @@ export const calculateDaysDifference = (props: { startDate: Date; endDate: Date; }) => { - const diffTime = Math.abs( - props.endDate.getTime() - props.startDate.getTime() + const diffMs = Math.abs(props.endDate.getTime() - props.startDate.getTime()); + + const daysDiff = Math.floor(diffMs / (1000 * 60 * 60 * 24)); + const hoursDiff = Math.floor( + (diffMs % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60) ); - return Math.ceil(diffTime / (1000 * 60 * 60 * 24)); + const minutesDiff = Math.floor((diffMs % (1000 * 60 * 60)) / (1000 * 60)); + return { daysDiff, hoursDiff, minutesDiff }; }; export const buildPeriod = (days: number, hours: number) => { diff --git a/packages/labextension/src/app/pages/instructor-view/dashboard.tsx b/packages/labextension/src/app/pages/instructor-view/dashboard.tsx index dfa71a40..86447ced 100644 --- a/packages/labextension/src/app/pages/instructor-view/dashboard.tsx +++ b/packages/labextension/src/app/pages/instructor-view/dashboard.tsx @@ -14,7 +14,7 @@ import { } from '../../shadcn-components/ui/table'; import { LectureCard } from '../../components/grader-service/lectures/lecture-card'; import { LectureRow } from '../../components/grader-service/lectures/lecture-row'; -import { determineDisplayText } from '../../components/utils/utils'; +import { pluralize } from '../../components/utils/utils'; import { activeInstructorLecturesQuery } from '../../../services/queries/lectures.queries'; import { Header } from '../../components/ui/header'; import { @@ -186,7 +186,7 @@ export const Dashboard = () => { {searchQuery && (

{filteredLectures.length}{' '} - {determineDisplayText({ + {pluralize({ text: 'result', data: filteredLectures })}{' '} diff --git a/packages/labextension/src/app/shadcn-components/ui/date-time-picker.tsx b/packages/labextension/src/app/shadcn-components/ui/date-time-picker.tsx index 49187a2f..351c9929 100644 --- a/packages/labextension/src/app/shadcn-components/ui/date-time-picker.tsx +++ b/packages/labextension/src/app/shadcn-components/ui/date-time-picker.tsx @@ -10,15 +10,27 @@ import { Field, FieldGroup, FieldLabel } from './field'; import { Popover, PopoverContent, PopoverTrigger } from './popover'; import { AnyFieldApi } from '@tanstack/react-form'; import { InputGroup, InputGroupAddon, InputGroupInput } from './input-group'; +import { calculateDaysDifference } from '../../components/utils/utils'; interface IDatePickerTime { open: boolean; setOpen: React.Dispatch>; field: AnyFieldApi; + setTimeDiff?: + | React.Dispatch>> + | undefined; } export function DatePickerTime(props: IDatePickerTime) { const date = props.field.state.value as Date | undefined; + const setTimeDiff = (selectedDate: Date) => { + props.setTimeDiff( + calculateDaysDifference({ + endDate: new Date(selectedDate), + startDate: new Date() + }) + ); + }; const handleDateSelect = (selected: Date | undefined) => { if (!selected) { @@ -27,13 +39,15 @@ export function DatePickerTime(props: IDatePickerTime) { props.field.handleChange(selected.toISOString()); props.setOpen(false); + setTimeDiff(selected); }; const handleTimeChange = (e: React.ChangeEvent) => { - const [hours, minutes, seconds] = e.target.value.split(':').map(Number); + const [hours, minutes] = e.target.value.split(':').map(Number); const updated = date ? new Date(date) : new Date(); - updated.setHours(hours, minutes, seconds ?? 0); + updated.setHours(hours, minutes ?? 0); props.field.handleChange(updated.toISOString()); + setTimeDiff(updated); }; const deleteDate = () => { @@ -92,8 +106,7 @@ export function DatePickerTime(props: IDatePickerTime) { Date: Thu, 6 Aug 2026 12:45:28 +0200 Subject: [PATCH 09/59] fix: truncate overflowing text --- .../assignments/assignment-create-edit-dialog.tsx | 4 +--- .../src/app/pages/instructor-view/lecture.tsx | 8 +++++--- .../labextension/src/app/shadcn-components/ui/dialog.tsx | 2 +- .../labextension/src/app/shadcn-components/ui/field.tsx | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/packages/labextension/src/app/components/grader-service/assignments/assignment-create-edit-dialog.tsx b/packages/labextension/src/app/components/grader-service/assignments/assignment-create-edit-dialog.tsx index cd566018..646c808a 100644 --- a/packages/labextension/src/app/components/grader-service/assignments/assignment-create-edit-dialog.tsx +++ b/packages/labextension/src/app/components/grader-service/assignments/assignment-create-edit-dialog.tsx @@ -190,9 +190,7 @@ export const AssignmentCreateEditDialog = (props: IAssignmentSettingsForm) => { - {props.assignment - ? `Edit ${props.assignment.name}` - : 'New Assignment'} + {props.assignment ? `Edit assignment` : 'New assignment'} diff --git a/packages/labextension/src/app/pages/instructor-view/lecture.tsx b/packages/labextension/src/app/pages/instructor-view/lecture.tsx index dcb660f5..2b4d55f5 100644 --- a/packages/labextension/src/app/pages/instructor-view/lecture.tsx +++ b/packages/labextension/src/app/pages/instructor-view/lecture.tsx @@ -307,12 +307,14 @@ export const Lecture = () => { >

{!isPendingLecture && ( -
-

{lecture.name}

+
+

+ {lecture.name} +

{lecture.code}

)} diff --git a/packages/labextension/src/app/shadcn-components/ui/dialog.tsx b/packages/labextension/src/app/shadcn-components/ui/dialog.tsx index 74eccfe0..8a21af02 100644 --- a/packages/labextension/src/app/shadcn-components/ui/dialog.tsx +++ b/packages/labextension/src/app/shadcn-components/ui/dialog.tsx @@ -84,7 +84,7 @@ function DialogHeader({ className, ...props }: React.ComponentProps<'div'>) {
) { } const fieldVariants = cva( - 'group/field flex w-full gap-1.5 rounded-xs data-[invalid=true]:text-destructive', + 'group/field flex min-w-0 w-full gap-1.5 rounded-xs data-[invalid=true]:text-destructive', { variants: { orientation: { From 432f3293ec7bcd637414abd27b4260c9ba480b6a Mon Sep 17 00:00:00 2001 From: Nadja Jovancevic Date: Thu, 6 Aug 2026 12:46:18 +0200 Subject: [PATCH 10/59] fix: remove width constraint on tooltip's content container --- packages/labextension/src/app/shadcn-components/ui/tooltip.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/labextension/src/app/shadcn-components/ui/tooltip.tsx b/packages/labextension/src/app/shadcn-components/ui/tooltip.tsx index 4713c0a0..48a14e0c 100644 --- a/packages/labextension/src/app/shadcn-components/ui/tooltip.tsx +++ b/packages/labextension/src/app/shadcn-components/ui/tooltip.tsx @@ -51,7 +51,7 @@ function TooltipContent({ Date: Thu, 6 Aug 2026 13:11:52 +0200 Subject: [PATCH 11/59] fix: center global sidebar buttons when collapsed --- .../labextension/src/app/components/ui/global-sidebar.tsx | 6 +++++- packages/labextension/style/css/output.css | 4 ++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/labextension/src/app/components/ui/global-sidebar.tsx b/packages/labextension/src/app/components/ui/global-sidebar.tsx index 713e30a7..2c17b019 100644 --- a/packages/labextension/src/app/components/ui/global-sidebar.tsx +++ b/packages/labextension/src/app/components/ui/global-sidebar.tsx @@ -94,7 +94,11 @@ export const GlobalSidebar = () => { } diff --git a/packages/labextension/style/css/output.css b/packages/labextension/style/css/output.css index 25424841..001a19b6 100644 --- a/packages/labextension/style/css/output.css +++ b/packages/labextension/style/css/output.css @@ -565,6 +565,10 @@ width: calc(var(--spacing) * 9); height: calc(var(--spacing) * 9); } + .size-15 { + width: calc(var(--spacing) * 15); + height: calc(var(--spacing) * 15); + } .size-20 { width: calc(var(--spacing) * 20); height: calc(var(--spacing) * 20); From 0c19942c6e172cde0b4d9fde0a30a48e4dcb729e Mon Sep 17 00:00:00 2001 From: Nadja Jovancevic Date: Thu, 6 Aug 2026 14:45:20 +0200 Subject: [PATCH 12/59] fix: adjust icons' styling --- .../grader-service/assignments/assignment-card.tsx | 2 +- .../grader-service/lectures/edit-lecture-dialog.tsx | 2 +- .../components/grader-service/lectures/lecture-card.tsx | 4 ++-- packages/labextension/style/css/output.css | 9 +++++++++ 4 files changed, 13 insertions(+), 4 deletions(-) diff --git a/packages/labextension/src/app/components/grader-service/assignments/assignment-card.tsx b/packages/labextension/src/app/components/grader-service/assignments/assignment-card.tsx index 8a1e1ea9..76db2cf8 100644 --- a/packages/labextension/src/app/components/grader-service/assignments/assignment-card.tsx +++ b/packages/labextension/src/app/components/grader-service/assignments/assignment-card.tsx @@ -169,7 +169,7 @@ export const AssignmentCard = (props: IAssignment) => { diff --git a/packages/labextension/src/app/components/grader-service/lectures/edit-lecture-dialog.tsx b/packages/labextension/src/app/components/grader-service/lectures/edit-lecture-dialog.tsx index f8f89697..494d3614 100644 --- a/packages/labextension/src/app/components/grader-service/lectures/edit-lecture-dialog.tsx +++ b/packages/labextension/src/app/components/grader-service/lectures/edit-lecture-dialog.tsx @@ -67,7 +67,7 @@ export const EditLectureDialog = (props: IEditLectureDialog) => { }> - +

Edit course

diff --git a/packages/labextension/src/app/components/grader-service/lectures/lecture-card.tsx b/packages/labextension/src/app/components/grader-service/lectures/lecture-card.tsx index ce12ce42..a16827d3 100644 --- a/packages/labextension/src/app/components/grader-service/lectures/lecture-card.tsx +++ b/packages/labextension/src/app/components/grader-service/lectures/lecture-card.tsx @@ -80,7 +80,7 @@ export const LectureCard = (props: ILectureCard) => { } text={`${assignments.length.toString()} ${pluralize({ @@ -92,7 +92,7 @@ export const LectureCard = (props: ILectureCard) => { } text={`${students.length.toString()} ${pluralize({ diff --git a/packages/labextension/style/css/output.css b/packages/labextension/style/css/output.css index 001a19b6..fed36489 100644 --- a/packages/labextension/style/css/output.css +++ b/packages/labextension/style/css/output.css @@ -1587,6 +1587,12 @@ .text-border { color: var(--border); } + .text-card { + color: var(--card); + } + .text-card\! { + color: var(--card) !important; + } .text-card-foreground { color: var(--card-foreground); } @@ -3640,6 +3646,9 @@ .dark\:border-input:is(.dark *) { border-color: var(--input); } + .dark\:bg-\[\#2B2B2B\]:is(.dark *) { + background-color: #2b2b2b; + } .dark\:bg-\[\#E46E2E\]:is(.dark *) { background-color: #e46e2e; } From 6206047b6f52307749449b34846fae5d0fdc986e Mon Sep 17 00:00:00 2001 From: Nadja Jovancevic Date: Fri, 7 Aug 2026 12:12:06 +0200 Subject: [PATCH 13/59] refactor: separate git and assignment request functions --- .../src/services/assignments.service.ts | 103 +++++------------- .../labextension/src/services/git.service.ts | 52 +++++++++ 2 files changed, 81 insertions(+), 74 deletions(-) create mode 100644 packages/labextension/src/services/git.service.ts diff --git a/packages/labextension/src/services/assignments.service.ts b/packages/labextension/src/services/assignments.service.ts index 24c60c53..d4579bc1 100644 --- a/packages/labextension/src/services/assignments.service.ts +++ b/packages/labextension/src/services/assignments.service.ts @@ -6,27 +6,18 @@ import { Assignment } from '../model/assignment'; import { AssignmentDetail } from '../model/assignmentDetail'; -import { Lecture } from '../model/lecture'; import { HTTPMethod, request } from './request.service'; -import { RepoType } from '../app/components/utils/repo-type'; -export function createAssignment( - lectureId: number, - assignment: Assignment -): Promise { - return request( - HTTPMethod.POST, - `/api/lectures/${lectureId}/assignments`, - assignment - ); -} +export const buildBaseUrl = (lectureId: number) => { + return `/api/lectures/${lectureId}/assignments`; +}; export function getAllAssignments( lectureId: number, reload = false, includeSubmissions = false ): Promise { - let url = `/api/lectures/${lectureId}/assignments`; + let url = buildBaseUrl(lectureId); if (includeSubmissions) { const searchParams = new URLSearchParams({ 'include-submissions': String(includeSubmissions) @@ -43,22 +34,20 @@ export function getAssignment( ): Promise { return request( HTTPMethod.GET, - `/api/lectures/${lectureId}/assignments/${assignmentId}`, + `${buildBaseUrl(lectureId)}/${assignmentId}`, null, reload ); } -export function getAssignmentProperties( +export function createAssignment( lectureId: number, - assignmentId: number, - reload: boolean = false -): Promise { - return request( - HTTPMethod.GET, - `/api/lectures/${lectureId}/assignments/${assignmentId}/properties`, - null, - reload + assignment: Assignment +): Promise { + return request( + HTTPMethod.POST, + buildBaseUrl(lectureId), + assignment ); } @@ -70,19 +59,32 @@ export function updateAssignment( const searchParams = new URLSearchParams({ 'recalc-scores': String(recalcScores) }); - let url = `/api/lectures/${lectureId}/assignments/${assignment.id}`; + let url = `${buildBaseUrl(lectureId)}/${assignment.id}`; url += '?' + searchParams; return request(HTTPMethod.PUT, url, assignment); } +export function getAssignmentProperties( + lectureId: number, + assignmentId: number, + reload: boolean = false +): Promise { + return request( + HTTPMethod.GET, + `${buildBaseUrl(lectureId)}/${assignmentId}/properties`, + null, + reload + ); +} + export function generateAssignment( lectureId: number, assignment: Assignment ): Promise { return request( HTTPMethod.PUT, - `/api/lectures/${lectureId}/assignments/${assignment.id}/generate`, + `${buildBaseUrl(lectureId)}/${assignment.id}/generate`, null ); } @@ -94,7 +96,7 @@ export function fetchAssignment( metadataOnly: boolean = false, reload: boolean = false ): Promise { - let url = `/api/lectures/${lectureId}/assignments/${assignmentId}`; + let url = `${buildBaseUrl(lectureId)}/${assignmentId}`; if (instructor || metadataOnly) { const searchParams = new URLSearchParams({ 'instructor-version': String(instructor), @@ -112,54 +114,7 @@ export function deleteAssignment( ): Promise { return request( HTTPMethod.DELETE, - `/api/lectures/${lectureId}/assignments/${assignmentId}`, - null - ); -} - -export function pushAssignment( - lectureId: number, - assignmentId: number, - repoType: RepoType, - commitMessage?: string, - selectedFiles?: string[] -): Promise { - let url = `/api/lectures/${lectureId}/assignments/${assignmentId}/push/${repoType}`; - if (commitMessage) { - const searchParams = new URLSearchParams({ - 'commit-message': commitMessage - }); - url += '?' + searchParams; - } - - if (selectedFiles && selectedFiles.length > 0) { - selectedFiles.forEach(file => { - url += `&selected-files=${encodeURIComponent(file)}`; - }); - } - - return request(HTTPMethod.PUT, url, null); -} - -export function pullAssignment( - lectureId: number, - assignmentId: number, - repoType: RepoType -): Promise { - return request( - HTTPMethod.GET, - `/api/lectures/${lectureId}/assignments/${assignmentId}/pull/${repoType}`, - null - ); -} - -export function resetAssignment( - lecture: Lecture, - assignment: Assignment -): Promise { - return request( - HTTPMethod.GET, - `/api/lectures/${lecture.id}/assignments/${assignment.id}/reset`, + `${buildBaseUrl(lectureId)}/${assignmentId}`, null ); } diff --git a/packages/labextension/src/services/git.service.ts b/packages/labextension/src/services/git.service.ts new file mode 100644 index 00000000..c930c14a --- /dev/null +++ b/packages/labextension/src/services/git.service.ts @@ -0,0 +1,52 @@ +import { RepoType } from '../app/components/utils/repo-type'; +import { HTTPMethod, request } from './request.service'; +import { Lecture } from '../model/lecture'; +import { Assignment } from '../model/assignment'; +import { buildBaseUrl } from './assignments.service'; + +export function pushAssignment( + lectureId: number, + assignmentId: number, + repoType: RepoType, + commitMessage?: string, + selectedFiles?: string[] +): Promise { + let url = `${buildBaseUrl(lectureId)}/${assignmentId}/push/${repoType}`; + if (commitMessage) { + const searchParams = new URLSearchParams({ + 'commit-message': commitMessage + }); + url += '?' + searchParams; + } + + if (selectedFiles && selectedFiles.length > 0) { + selectedFiles.forEach(file => { + url += `&selected-files=${encodeURIComponent(file)}`; + }); + } + + return request(HTTPMethod.PUT, url, null); +} + +export function pullAssignment( + lectureId: number, + assignmentId: number, + repoType: RepoType +): Promise { + return request( + HTTPMethod.GET, + `${buildBaseUrl(lectureId)}/${assignmentId}/pull/${repoType}`, + null + ); +} + +export function resetAssignment( + lecture: Lecture, + assignment: Assignment +): Promise { + return request( + HTTPMethod.GET, + `${buildBaseUrl(lecture.id)}/${assignment.id}/reset`, + null + ); +} From 89f7d677164867bc9a3cfadb8aec0bdadaa0bb2b Mon Sep 17 00:00:00 2001 From: Nadja Jovancevic Date: Fri, 7 Aug 2026 12:14:40 +0200 Subject: [PATCH 14/59] refactor: remove error handling from functions in file services --- .../assignments/export-grades-dialog.tsx | 11 +++++----- .../src/services/file-browser.service.ts | 11 +++------- .../labextension/src/services/file.service.ts | 21 +++++++------------ .../src/services/submissions.service.ts | 10 +++++++++ 4 files changed, 26 insertions(+), 27 deletions(-) create mode 100644 packages/labextension/src/services/submissions.service.ts diff --git a/packages/labextension/src/app/components/grader-service/assignments/export-grades-dialog.tsx b/packages/labextension/src/app/components/grader-service/assignments/export-grades-dialog.tsx index 97dbb8b3..1ad7713b 100644 --- a/packages/labextension/src/app/components/grader-service/assignments/export-grades-dialog.tsx +++ b/packages/labextension/src/app/components/grader-service/assignments/export-grades-dialog.tsx @@ -15,11 +15,11 @@ import { SelectValue } from '../../../shadcn-components/ui/select'; import { Button } from '../../../shadcn-components/ui/button'; -import { exportGrades } from '../../../../services/lectures.service'; +import { exportGrades } from '../../../../services/submissions.service'; import { lectureBasePath, openFile } from '../../../../services/file.service'; import { Lecture } from '../../../../model/lecture'; -import { enqueueSnackbar } from 'notistack'; import { goToPath } from '../../../../services/file-browser.service'; +import { useMutationStatus } from '../../../../widget'; interface IExportGradesDialogProps { lecture: Lecture; @@ -30,6 +30,7 @@ interface IExportGradesDialogProps { export const ExportGradesDialog = (props: IExportGradesDialogProps) => { const [format, setFormat] = React.useState<'csv' | 'json'>('csv'); const [filter, setFilter] = React.useState<'best' | 'latest'>('best'); + const { setStatus } = useMutationStatus(); const handleExport = async () => { try { @@ -41,9 +42,9 @@ export const ExportGradesDialog = (props: IExportGradesDialogProps) => { // go into correct directory await goToPath(`${lectureBasePath}${props.lecture.code}`); } catch (error: any) { - console.error('Error exporting grades:', error); - enqueueSnackbar(error.message || 'Failed to export grades', { - variant: 'error' + setStatus({ + status: 'error', + message: error?.message || 'Failed to export grades' }); } finally { props.setIsOpen(false); diff --git a/packages/labextension/src/services/file-browser.service.ts b/packages/labextension/src/services/file-browser.service.ts index e7662f6d..6a2b12b5 100644 --- a/packages/labextension/src/services/file-browser.service.ts +++ b/packages/labextension/src/services/file-browser.service.ts @@ -1,12 +1,7 @@ import { GlobalObjects } from '../index'; -import { enqueueSnackbar } from 'notistack'; export const goToPath = async (path: string) => { - GlobalObjects.commands - .execute('filebrowser:go-to-path', { - path: path - }) - .catch(error => { - enqueueSnackbar(error.message, { variant: 'error' }); - }); + await GlobalObjects.commands.execute('filebrowser:go-to-path', { + path: path + }); }; diff --git a/packages/labextension/src/services/file.service.ts b/packages/labextension/src/services/file.service.ts index 6bf7f16d..bc7292b7 100644 --- a/packages/labextension/src/services/file.service.ts +++ b/packages/labextension/src/services/file.service.ts @@ -1,5 +1,4 @@ import { GlobalObjects } from '../index'; -import { enqueueSnackbar } from 'notistack'; import { PageConfig } from '@jupyterlab/coreutils'; const raw = PageConfig.getOption('lectures_base_path').replace( @@ -8,21 +7,15 @@ const raw = PageConfig.getOption('lectures_base_path').replace( ); export const lectureBasePath = raw && `${raw}/`; -export const lectureSubPaths: number = (lectureBasePath as string) +export const lectureSubPaths = (lectureBasePath as string) .split('/') .reduce((acc, v) => (v.length > 0 ? acc + 1 : acc), 0); export const openFile = async (path: string) => { - GlobalObjects.commands - .execute('docmanager:open', { - path: path, - options: { - mode: 'tab-after' // tab-after tab-before split-bottom split-right split-left split-top - } - }) - .catch(error => { - enqueueSnackbar(error.message, { - variant: 'error' - }); - }); + await GlobalObjects.commands.execute('docmanager:open', { + path: path, + options: { + mode: 'tab-after' // tab-after tab-before split-bottom split-right split-left split-top + } + }); }; diff --git a/packages/labextension/src/services/submissions.service.ts b/packages/labextension/src/services/submissions.service.ts new file mode 100644 index 00000000..dde97426 --- /dev/null +++ b/packages/labextension/src/services/submissions.service.ts @@ -0,0 +1,10 @@ +import { HTTPMethod, request } from './request.service'; + +export async function exportGrades( + lectureId: number, + filter: 'latest' | 'best' = 'best', + format: 'json' | 'csv' = 'csv' +): Promise { + const url = `/api/lectures/${lectureId}/submissions?filter=${filter}&format=${format}`; + return request(HTTPMethod.GET, url, null); +} From 9f1a082c86abc1ac4c572172f2fd836655f8fb96 Mon Sep 17 00:00:00 2001 From: Nadja Jovancevic Date: Fri, 7 Aug 2026 12:16:46 +0200 Subject: [PATCH 15/59] refactor: add common `baseUrl` variable --- .../grader-service/lectures/lecture-card.tsx | 4 +- .../grader-service/lectures/lecture-row.tsx | 4 +- .../app/pages/instructor-view/dashboard.tsx | 4 +- .../student-plugin/deadline-wrapper.tsx | 4 +- .../src/services/lectures.service.ts | 39 ++++++++----------- .../src/services/queries/lectures.queries.ts | 8 ++-- 6 files changed, 28 insertions(+), 35 deletions(-) diff --git a/packages/labextension/src/app/components/grader-service/lectures/lecture-card.tsx b/packages/labextension/src/app/components/grader-service/lectures/lecture-card.tsx index a16827d3..c27f30d6 100644 --- a/packages/labextension/src/app/components/grader-service/lectures/lecture-card.tsx +++ b/packages/labextension/src/app/components/grader-service/lectures/lecture-card.tsx @@ -11,7 +11,7 @@ import { Link } from 'react-router'; import React from 'react'; import { Lecture } from '../../../../model/lecture'; import { useQuery } from '@tanstack/react-query'; -import { getUsers } from '../../../../services/lectures.service'; +import { getLectureUsers } from '../../../../services/lectures.service'; import { getAllAssignments } from '../../../../services/assignments.service'; import { IconTextInfo } from '../../ui/icon-text-info'; import { pluralize, highlightText } from '../../utils/utils'; @@ -32,7 +32,7 @@ export const LectureCard = (props: ILectureCard) => { const lecture = props.lecture; const { data: users, isPending: isPendingUsers } = useQuery({ queryKey: ['users', lecture.id], - queryFn: async () => getUsers(lecture.id, false) + queryFn: async () => getLectureUsers(lecture.id, false) }); const { data: assignments, isPending: isPendingAssignments } = useQuery({ diff --git a/packages/labextension/src/app/components/grader-service/lectures/lecture-row.tsx b/packages/labextension/src/app/components/grader-service/lectures/lecture-row.tsx index 3487c0b4..7e930431 100644 --- a/packages/labextension/src/app/components/grader-service/lectures/lecture-row.tsx +++ b/packages/labextension/src/app/components/grader-service/lectures/lecture-row.tsx @@ -5,7 +5,7 @@ import { FileText, UserIcon } from 'lucide-react'; import { Link } from 'react-router'; import React from 'react'; import { useQuery } from '@tanstack/react-query'; -import { getUsers } from '../../../../services/lectures.service'; +import { getLectureUsers } from '../../../../services/lectures.service'; import { getAllAssignments } from '../../../../services/assignments.service'; import { IconTextInfo } from '../../ui/icon-text-info'; import { User } from '../../../../model/user'; @@ -27,7 +27,7 @@ export const LectureRow = (props: ILectureRow) => { const { data: users, isPending: isPendingUsers } = useQuery({ queryKey: ['users', lecture.id], - queryFn: async () => getUsers(lecture.id, false) + queryFn: async () => getLectureUsers(lecture.id, false) }); const { data: assignments, isPending: isPendingAssignments } = useQuery({ diff --git a/packages/labextension/src/app/pages/instructor-view/dashboard.tsx b/packages/labextension/src/app/pages/instructor-view/dashboard.tsx index 86447ced..5f926480 100644 --- a/packages/labextension/src/app/pages/instructor-view/dashboard.tsx +++ b/packages/labextension/src/app/pages/instructor-view/dashboard.tsx @@ -3,7 +3,7 @@ import { FilterLecturesButton } from '../../components/ui/filter-button'; import { SortButton } from '../../components/ui/sort-button'; import React, { useMemo, useState } from 'react'; import { useQuery } from '@tanstack/react-query'; -import { getAllLectures } from '../../../services/lectures.service'; +import { getLectures } from '../../../services/lectures.service'; import { LayoutGrid, List } from 'lucide-react'; import { Table, @@ -66,7 +66,7 @@ export const Dashboard = () => { } = useQuery({ queryKey: ['completedLectures'], queryFn: async () => - getAllLectures({ instructor: true, complete: true }, false), + getLectures({ instructor: true, complete: true }, false), // only fetch completed lectures if the "completed" filter option has been chosen enabled: filterBy === 'completed' }); diff --git a/packages/labextension/src/components/notebook/student-plugin/deadline-wrapper.tsx b/packages/labextension/src/components/notebook/student-plugin/deadline-wrapper.tsx index 13a4619c..41904ab5 100644 --- a/packages/labextension/src/components/notebook/student-plugin/deadline-wrapper.tsx +++ b/packages/labextension/src/components/notebook/student-plugin/deadline-wrapper.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import { DeadlineComponent } from '../../util/deadline'; -import { getAllLectures } from '../../../services/lectures.service'; +import { getLectures } from '../../../services/lectures.service'; import { getAssignment } from '../../../services/assignments.service'; import { lectureSubPaths } from '../../../services/file.service'; import { Assignment } from '../../../model/assignment'; @@ -22,7 +22,7 @@ export const DeadlineWrapper = (props: IDeadlineWrapperProps) => { React.useEffect(() => { if (lecture === null) { - getAllLectures({ complete: false }).then(response => { + getLectures({ complete: false }).then(response => { const l = response.find( l => l.code === props.notebookPaths[lectureSubPaths] ); diff --git a/packages/labextension/src/services/lectures.service.ts b/packages/labextension/src/services/lectures.service.ts index 4e70ed09..dfdeb4ae 100644 --- a/packages/labextension/src/services/lectures.service.ts +++ b/packages/labextension/src/services/lectures.service.ts @@ -8,11 +8,13 @@ import { Lecture } from '../model/lecture'; import { request, HTTPMethod } from './request.service'; import { User } from '../model/user'; -export function getAllLectures( +const baseUrl = '/api/lectures'; + +export function getLectures( filters: { [key: string]: boolean }, reload = false ): Promise { - let url = 'api/lectures'; + let url = baseUrl; const params = new URLSearchParams(); for (const key in filters) { @@ -24,31 +26,31 @@ export function getAllLectures( return request(HTTPMethod.GET, url, null, reload); } -export function updateLecture(lecture: Lecture): Promise { - return request( - HTTPMethod.PUT, - `/api/lectures/${lecture.id}`, - lecture - ); -} - export function getLecture( lectureId: number, reload = false ): Promise { return request( HTTPMethod.GET, - `/api/lectures/${lectureId}`, + `${baseUrl}/${lectureId}`, null, reload ); } +export function updateLecture(lecture: Lecture): Promise { + return request( + HTTPMethod.PUT, + `${baseUrl}/${lecture.id}`, + lecture + ); +} + export function deleteLecture(lectureId: number): Promise { - return request(HTTPMethod.DELETE, `/api/lectures/${lectureId}`, null); + return request(HTTPMethod.DELETE, `${baseUrl}/${lectureId}`, null); } -export function getUsers( +export function getLectureUsers( lectureId: number, reload: boolean = false ): Promise<{ instructors: User[]; tutors: User[]; students: User[] }> { @@ -56,14 +58,5 @@ export function getUsers( instructors: User[]; tutors: User[]; students: User[]; - }>(HTTPMethod.GET, `/api/lectures/${lectureId}/users`, null, reload); -} - -export async function exportGrades( - lectureId: number, - filter: 'latest' | 'best' = 'best', - format: 'json' | 'csv' = 'csv' -): Promise { - const url = `/api/lectures/${lectureId}/submissions?filter=${filter}&format=${format}`; - return request(HTTPMethod.GET, url, null); + }>(HTTPMethod.GET, `${baseUrl}/${lectureId}/users`, null, reload); } diff --git a/packages/labextension/src/services/queries/lectures.queries.ts b/packages/labextension/src/services/queries/lectures.queries.ts index 6a7159cb..1678cd69 100644 --- a/packages/labextension/src/services/queries/lectures.queries.ts +++ b/packages/labextension/src/services/queries/lectures.queries.ts @@ -1,25 +1,25 @@ -import { getAllLectures, getLecture } from '../lectures.service'; +import { getLectures, getLecture } from '../lectures.service'; import { queryOptions } from '@tanstack/react-query'; export const activeInstructorLecturesQuery = () => queryOptions({ queryKey: ['activeLectures'], queryFn: async () => - getAllLectures({ instructor: true, complete: false }, false) + getLectures({ instructor: true, complete: false }, false) }); export const completedLecturesQuery = () => queryOptions({ queryKey: ['completedLectures'], queryFn: async () => - getAllLectures({ instructor: true, complete: true }, false) + getLectures({ instructor: true, complete: true }, false) }); export const activeLecturesQuery = () => queryOptions({ queryKey: ['lectures'], queryFn: async () => - getAllLectures({ instructor: false, complete: false }, false) + getLectures({ instructor: false, complete: false }, false) }); export const lectureQuery = (lectureId: number) => From 6cdeaf5018ebae72e3332d33067993b352e1e64a Mon Sep 17 00:00:00 2001 From: Nadja Jovancevic Date: Fri, 7 Aug 2026 13:38:05 +0200 Subject: [PATCH 16/59] refactor: create separate directory for enums --- .../components/notebook/switch-factory.tsx | 3 ++- .../src/services/assignments.service.ts | 3 ++- .../src/services/enums/http-methods.enum.ts | 6 +++++ .../services/enums/permissions-scope.enum.ts | 6 +++++ .../labextension/src/services/git.service.ts | 3 ++- .../src/services/lectures.service.ts | 3 ++- .../src/services/permission.service.ts | 22 ++++++------------- .../src/services/submissions.service.ts | 3 ++- .../labextension/src/services/user.service.ts | 3 ++- 9 files changed, 31 insertions(+), 21 deletions(-) create mode 100644 packages/labextension/src/services/enums/http-methods.enum.ts create mode 100644 packages/labextension/src/services/enums/permissions-scope.enum.ts diff --git a/packages/labextension/src/components/notebook/switch-factory.tsx b/packages/labextension/src/components/notebook/switch-factory.tsx index cca2d07f..d246322c 100644 --- a/packages/labextension/src/components/notebook/switch-factory.tsx +++ b/packages/labextension/src/components/notebook/switch-factory.tsx @@ -5,10 +5,11 @@ // LICENSE file in the root directory of this source tree. import React from 'react'; -import { Scope, UserPermissions } from '../../services/permission.service'; +import { UserPermissions } from '../../services/permission.service'; import { CreationModeSwitch } from './create-assignment/creation-switch'; import { IModeSwitchProps } from './slider'; import { lectureSubPaths } from '../../services/file.service'; +import { Scope } from '../../services/enums/permissions-scope.enum'; export class SwitchModeFactory { public static getSwitch(props: IModeSwitchProps): JSX.Element { diff --git a/packages/labextension/src/services/assignments.service.ts b/packages/labextension/src/services/assignments.service.ts index d4579bc1..b27052a9 100644 --- a/packages/labextension/src/services/assignments.service.ts +++ b/packages/labextension/src/services/assignments.service.ts @@ -6,7 +6,8 @@ import { Assignment } from '../model/assignment'; import { AssignmentDetail } from '../model/assignmentDetail'; -import { HTTPMethod, request } from './request.service'; +import { request } from './request.service'; +import { HTTPMethod } from './enums/http-methods.enum'; export const buildBaseUrl = (lectureId: number) => { return `/api/lectures/${lectureId}/assignments`; diff --git a/packages/labextension/src/services/enums/http-methods.enum.ts b/packages/labextension/src/services/enums/http-methods.enum.ts new file mode 100644 index 00000000..cbc79961 --- /dev/null +++ b/packages/labextension/src/services/enums/http-methods.enum.ts @@ -0,0 +1,6 @@ +export enum HTTPMethod { + GET = 'GET', + POST = 'POST', + PUT = 'PUT', + DELETE = 'DELETE' +} diff --git a/packages/labextension/src/services/enums/permissions-scope.enum.ts b/packages/labextension/src/services/enums/permissions-scope.enum.ts new file mode 100644 index 00000000..dcb27f18 --- /dev/null +++ b/packages/labextension/src/services/enums/permissions-scope.enum.ts @@ -0,0 +1,6 @@ +export enum Scope { + student = 0, + tutor = 1, + instructor = 2, + admin = 3 +} diff --git a/packages/labextension/src/services/git.service.ts b/packages/labextension/src/services/git.service.ts index c930c14a..f5cbe958 100644 --- a/packages/labextension/src/services/git.service.ts +++ b/packages/labextension/src/services/git.service.ts @@ -1,8 +1,9 @@ import { RepoType } from '../app/components/utils/repo-type'; -import { HTTPMethod, request } from './request.service'; +import { request } from './request.service'; import { Lecture } from '../model/lecture'; import { Assignment } from '../model/assignment'; import { buildBaseUrl } from './assignments.service'; +import { HTTPMethod } from './enums/http-methods.enum'; export function pushAssignment( lectureId: number, diff --git a/packages/labextension/src/services/lectures.service.ts b/packages/labextension/src/services/lectures.service.ts index dfdeb4ae..7fd78bb9 100644 --- a/packages/labextension/src/services/lectures.service.ts +++ b/packages/labextension/src/services/lectures.service.ts @@ -5,8 +5,9 @@ // LICENSE file in the root directory of this source tree. import { Lecture } from '../model/lecture'; -import { request, HTTPMethod } from './request.service'; +import { request } from './request.service'; import { User } from '../model/user'; +import { HTTPMethod } from './enums/http-methods.enum'; const baseUrl = '/api/lectures'; diff --git a/packages/labextension/src/services/permission.service.ts b/packages/labextension/src/services/permission.service.ts index 39a9f736..74a396b2 100644 --- a/packages/labextension/src/services/permission.service.ts +++ b/packages/labextension/src/services/permission.service.ts @@ -7,21 +7,16 @@ // token: 0b79bab50daca910b000d4f1a2b675d604257e42 import { Lecture } from '../model/lecture'; -import { HTTPMethod, request } from './request.service'; +import { HTTPMethod } from './enums/http-methods.enum'; +import { Scope } from './enums/permissions-scope.enum'; +import { request } from './request.service'; -export enum Scope { - student = 0, - tutor = 1, - instructor = 2, - admin = 3 -} - -interface PermissionScopes { +interface IPermissionScopes { [lecture_code: string]: Scope; } export namespace UserPermissions { - let permissions: PermissionScopes; + let permissions: IPermissionScopes; export async function loadPermissions(): Promise { permissions = {}; @@ -35,14 +30,11 @@ export namespace UserPermissions { }); } - export function getPermissions(): PermissionScopes { + export function getPermissions(): IPermissionScopes { return permissions; } export function getScope(lecture: Lecture) { - if (permissions === null) { - return null; - } - return permissions[lecture.code]; + return permissions?.[lecture.code] ?? null; } } diff --git a/packages/labextension/src/services/submissions.service.ts b/packages/labextension/src/services/submissions.service.ts index dde97426..762a4a72 100644 --- a/packages/labextension/src/services/submissions.service.ts +++ b/packages/labextension/src/services/submissions.service.ts @@ -1,4 +1,5 @@ -import { HTTPMethod, request } from './request.service'; +import { HTTPMethod } from './enums/http-methods.enum'; +import { request } from './request.service'; export async function exportGrades( lectureId: number, diff --git a/packages/labextension/src/services/user.service.ts b/packages/labextension/src/services/user.service.ts index 6c807f43..9233d120 100644 --- a/packages/labextension/src/services/user.service.ts +++ b/packages/labextension/src/services/user.service.ts @@ -1,4 +1,5 @@ -import { HTTPMethod, request } from './request.service'; +import { HTTPMethod } from './enums/http-methods.enum'; +import { request } from './request.service'; export function getCurrentUser(): Promise { const url = 'api/user'; From d3e3113c3e3da589cb2b0efd36e65e0bbe05fde8 Mon Sep 17 00:00:00 2001 From: Nadja Jovancevic Date: Fri, 7 Aug 2026 14:00:55 +0200 Subject: [PATCH 17/59] refactor: change HTTP response validation --- .../src/services/request.service.ts | 38 ++++++------------- 1 file changed, 12 insertions(+), 26 deletions(-) diff --git a/packages/labextension/src/services/request.service.ts b/packages/labextension/src/services/request.service.ts index 945d4b2c..0b0747f8 100644 --- a/packages/labextension/src/services/request.service.ts +++ b/packages/labextension/src/services/request.service.ts @@ -6,13 +6,7 @@ import { URLExt } from '@jupyterlab/coreutils'; import { ServerConnection } from '@jupyterlab/services'; - -export enum HTTPMethod { - GET = 'GET', - POST = 'POST', - PUT = 'PUT', - DELETE = 'DELETE' -} +import { HTTPMethod } from './enums/http-methods.enum'; export class HTTPError extends Error { statusCode: number; @@ -23,7 +17,7 @@ export class HTTPError extends Error { } } -export function request( +export async function request( method: HTTPMethod, endPoint: string, body: B, @@ -53,23 +47,19 @@ export function request( return ServerConnection.makeRequest(requestUrl, options, settings).then( async response => { - const method = options.method || 'GET'; // assuming `method` is part of options. - // handle non-OK responses - let responseData: T | string = await response.text(); if (!response.ok) { // default error message let errorMessage = 'Unknown error'; - try { - const errorData = JSON.parse(responseData); + const errorData = await response.json(); errorMessage = errorData['message'] || errorData['reason'] || errorData['error'] || errorMessage; } catch (e) { - errorMessage = responseData; // fallback to raw error text if not JSON + errorMessage = await response.text(); // fallback to raw error text if not JSON } // throw custom HTTPError with status code and message @@ -77,19 +67,15 @@ export function request( } // validate response body - if (responseData.length > 0) { - try { - responseData = JSON.parse(responseData); - } catch (e) { - console.log( - 'Not a JSON response body, handling as plain text.', - response - ); - } + let responseData: T | string = null; + try { + responseData = await response.json(); + } catch (e) { + console.log( + 'Not a JSON response body, handling as plain text.', + responseData + ); } - - console.log(`Request ${method} URL: ${requestUrl}`); - console.log(responseData); return responseData as T; } ); From 8f388cca20d32acbd9201e25bd355dc1014126f7 Mon Sep 17 00:00:00 2001 From: Nadja Jovancevic Date: Fri, 7 Aug 2026 14:18:03 +0200 Subject: [PATCH 18/59] refactor: simplify if-else statements in storage.service.ts --- .../src/services/storage.service.ts | 24 +++++++------------ 1 file changed, 9 insertions(+), 15 deletions(-) diff --git a/packages/labextension/src/services/storage.service.ts b/packages/labextension/src/services/storage.service.ts index f641bc5b..596c1953 100644 --- a/packages/labextension/src/services/storage.service.ts +++ b/packages/labextension/src/services/storage.service.ts @@ -15,9 +15,12 @@ function getKey( return 'grader:' + key; } -export function deleteKey(key: string) { - key = getKey(key); - localStorage.removeItem(key); +export function deleteKey( + key: string, + lecture?: Lecture, + assignment?: Assignment +) { + localStorage.removeItem(getKey(key, lecture, assignment)); } export function storeString( @@ -54,11 +57,7 @@ export function loadBoolean( assignment?: Assignment ): boolean | null { const v = loadString(key, lecture, assignment); - if (v === null) { - return null; - } else { - return v === 'true'; - } + return v === null ? null : v === 'true'; } export function storeNumber( @@ -76,11 +75,7 @@ export function loadNumber( assignment?: Assignment ): number | null { const v = loadString(key, lecture, assignment); - if (v === null) { - return null; - } else { - return +v; - } + return v === null ? null : Number(v); } export function storeObject( @@ -98,6 +93,5 @@ export function loadObject( assignment?: Assignment ): T | null { const jsonString = loadString(key, lecture, assignment); - if (!jsonString) return null; // Return null if there's nothing to parse - return JSON.parse(jsonString); + return !jsonString ? null : JSON.parse(jsonString); } From 9003cb602dbb129797057f40005e7974c1787fdc Mon Sep 17 00:00:00 2001 From: Nadja Jovancevic Date: Mon, 10 Aug 2026 10:11:09 +0200 Subject: [PATCH 19/59] chore: remove theme connector that included styles of non-existent `.css` file --- packages/labextension/src/index.ts | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/packages/labextension/src/index.ts b/packages/labextension/src/index.ts index e6a811a4..d5458320 100644 --- a/packages/labextension/src/index.ts +++ b/packages/labextension/src/index.ts @@ -343,17 +343,6 @@ const extension: JupyterFrontEndPlugin = { GlobalObjects.tracker = tracker; GlobalObjects.themeManager = themeManager; - // this connects the color-scheme CSS of base.css to the Jupyterlab themeManager - // the MUI theme provider is set in the corresponding widgets - // the CSS color-scheme property only applies to native input elements automatically so this does only apply to those (i.e. notebook grading mode and creation mode) - themeManager.themeChanged.connect(() => { - document.documentElement.dataset.theme = themeManager.isLight( - themeManager.theme ?? 'light' - ) - ? 'light' - : 'dark'; - }, this); - const courseManageTracker = new WidgetTracker< MainAreaWidget >({ From 312a5074975a00389d9340d24d2c6947aececaca Mon Sep 17 00:00:00 2001 From: Nadja Jovancevic Date: Mon, 10 Aug 2026 11:08:58 +0200 Subject: [PATCH 20/59] fix: handle non-JSON response bodies correctly --- packages/labextension/src/services/request.service.ts | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/packages/labextension/src/services/request.service.ts b/packages/labextension/src/services/request.service.ts index 0b0747f8..e9144d06 100644 --- a/packages/labextension/src/services/request.service.ts +++ b/packages/labextension/src/services/request.service.ts @@ -47,19 +47,20 @@ export async function request( return ServerConnection.makeRequest(requestUrl, options, settings).then( async response => { + const bodyText = await response.text(); // handle non-OK responses if (!response.ok) { // default error message let errorMessage = 'Unknown error'; try { - const errorData = await response.json(); + const errorData = JSON.parse(bodyText); errorMessage = errorData['message'] || errorData['reason'] || errorData['error'] || errorMessage; } catch (e) { - errorMessage = await response.text(); // fallback to raw error text if not JSON + errorMessage = bodyText || errorMessage; // fallback to raw error text if not JSON } // throw custom HTTPError with status code and message @@ -67,9 +68,9 @@ export async function request( } // validate response body - let responseData: T | string = null; + let responseData: T | string = bodyText; try { - responseData = await response.json(); + responseData = JSON.parse(bodyText); } catch (e) { console.log( 'Not a JSON response body, handling as plain text.', From 4727b070097e0ad3f3f56a3551f6f97dbd30f052 Mon Sep 17 00:00:00 2001 From: Nadja Jovancevic Date: Mon, 10 Aug 2026 13:00:52 +0200 Subject: [PATCH 21/59] refactor: remove dead code and rename components to match new design --- packages/labextension/src/index.ts | 134 ++++++++++++--------------- packages/labextension/src/menu.ts | 51 ++-------- packages/labextension/src/widget.tsx | 22 ++--- 3 files changed, 78 insertions(+), 129 deletions(-) diff --git a/packages/labextension/src/index.ts b/packages/labextension/src/index.ts index d5458320..17553e04 100644 --- a/packages/labextension/src/index.ts +++ b/packages/labextension/src/index.ts @@ -34,7 +34,7 @@ import { import { IMainMenu } from '@jupyterlab/mainmenu'; -import { GraderServiceView } from './widget'; +import { GraderServiceWidget } from './widget'; import { Cell } from '@jupyterlab/cells'; @@ -42,7 +42,7 @@ import { Menu, PanelLayout } from '@lumino/widgets'; import { NotebookModeSwitch } from './components/notebook/slider'; -import { checkIcon, runIcon } from '@jupyterlab/ui-components'; +import { homeIcon, runIcon } from '@jupyterlab/ui-components'; import { CommandRegistry } from '@lumino/commands'; import { DocumentRegistry } from '@jupyterlab/docregistry'; import { Contents, ServiceManager } from '@jupyterlab/services'; @@ -57,20 +57,14 @@ import { import { HintWidget } from './components/notebook/student-plugin/hint-widget'; import { DeadlineWidget } from './components/notebook/student-plugin/deadline-widget'; import { lectureSubPaths } from './services/file.service'; -import IModel = Contents.IModel; import { updateMenus } from './menu'; import { loadString } from './services/storage.service'; +import IModel = Contents.IModel; -export namespace AssignmentsCommandIDs { - export const create = 'assignments:create'; - - export const open = 'assignments:open'; -} - -export namespace CourseManageCommandIDs { - export const create = 'coursemanage:create'; +export namespace GraderServiceCommandIDs { + export const create = 'graderservice:create'; - export const open = 'coursemanage:open'; + export const open = 'graderservice:open'; } namespace NotebookExecuteIDs { @@ -85,6 +79,8 @@ namespace ShowHintIDs { export const show = 'notebookplugin:show-hint'; } +export const hasElevatedPermissions = false; + export class GlobalObjects { static commands: CommandRegistry; static docRegistry: DocumentRegistry; @@ -93,52 +89,66 @@ export class GlobalObjects { static browserFactory: IFileBrowserFactory; static tracker: INotebookTracker; static themeManager: IThemeManager; - static assignmentMenu: Menu; - static courseManageMenu: Menu; + static graderServiceMenu: Menu; } -const createCourseManagementOpenCommand = ( +const createGraderServiceCommands = ( app: JupyterFrontEnd, launcher: ILauncher, - courseManageTracker: WidgetTracker> + courseManageTracker: WidgetTracker> ) => { - const command = CourseManageCommandIDs.open; - app.commands.addCommand(command, { + // add create widget command + app.commands.addCommand(GraderServiceCommandIDs.create, { + execute: () => { + // Create a blank content widget inside of a MainAreaWidget + const graderServiceWidget = new MainAreaWidget({ + content: new GraderServiceWidget() + }); + graderServiceWidget.id = 'grader-service'; + graderServiceWidget.title.label = 'Grader Service'; + graderServiceWidget.title.closable = true; + + courseManageTracker.add(graderServiceWidget); + + return graderServiceWidget; + } + }); + // add open widget command + app.commands.addCommand(GraderServiceCommandIDs.open, { label: args => - args['label'] ? (args['label'] as string) : 'Course Management', + args['label'] ? (args['label'] as string) : 'Grader Service', execute: async args => { - let gradingWidget = courseManageTracker.currentWidget; - if (!gradingWidget) { - gradingWidget = await app.commands.execute( - CourseManageCommandIDs.create + let graderServiceWidget = courseManageTracker.currentWidget; + if (!graderServiceWidget) { + graderServiceWidget = await app.commands.execute( + GraderServiceCommandIDs.create ); } let path = args?.path as string; if (args?.path === undefined) { - const savedPath = loadString('course-manage-react-router-path'); + const savedPath = loadString('grader-service-router-path'); if (savedPath !== null && savedPath !== '') { path = savedPath; } else { path = '/'; } } - await gradingWidget.content.router.navigate(path); + await graderServiceWidget.content.router.navigate(path); - if (!gradingWidget.isAttached) { + if (!graderServiceWidget.isAttached) { // Attach the widget to the main work area if it's not there - app.shell.add(gradingWidget, 'main'); + app.shell.add(graderServiceWidget, 'main'); } // Activate the widget - app.shell.activateById(gradingWidget.id); + app.shell.activateById(graderServiceWidget.id); }, - icon: args => (args['path'] ? undefined : checkIcon) + icon: args => (args['path'] ? undefined : homeIcon) }); // Add the command to the launcher - console.log('Add course management launcher'); launcher.add({ - command: command, - category: 'Assignments', + command: GraderServiceCommandIDs.open, + category: 'Grader Service', rank: 0 }); }; @@ -274,7 +284,9 @@ const createNotebookCommands = ( }, execute: () => { // check if there is an active cell - if (!tracker.activeCell) return; + if (!tracker.activeCell) { + return; + } let hintWidget: HintWidget | undefined; @@ -331,9 +343,6 @@ const extension: JupyterFrontEndPlugin = { mainMenu: IMainMenu ) => { console.log('JupyterLab extension grader-labextension is activated!'); - console.log('JupyterFrontEnd:', app); - console.log('ICommandPalette:', palette); - console.log('Tracker', tracker); GlobalObjects.commands = app.commands; GlobalObjects.docRegistry = app.docRegistry; @@ -342,36 +351,17 @@ const extension: JupyterFrontEndPlugin = { GlobalObjects.browserFactory = browserFactory; GlobalObjects.tracker = tracker; GlobalObjects.themeManager = themeManager; - - const courseManageTracker = new WidgetTracker< - MainAreaWidget + const graderServiceTracker = new WidgetTracker< + MainAreaWidget >({ - namespace: 'grader-coursemanage' + namespace: 'grader-service' }); - restorer.restore(courseManageTracker, { - command: CourseManageCommandIDs.open, - name: () => 'grader-coursemanage' - }); - - /* ##### Course Manage View Widget ##### */ - const command: string = CourseManageCommandIDs.create; - app.commands.addCommand(command, { - execute: () => { - // Create a blank content widget inside of a MainAreaWidget - const gradingView = new GraderServiceView(); - const gradingWidget = new MainAreaWidget({ - content: gradingView - }); - gradingWidget.id = 'coursemanage-jupyterlab'; - gradingWidget.title.label = 'Grader Service'; - gradingWidget.title.closable = true; - - courseManageTracker.add(gradingWidget); - - return gradingWidget; - } + restorer.restore(graderServiceTracker, { + command: GraderServiceCommandIDs.open, + name: () => 'grader-service' }); + /* ##### Grader Service View Widget ##### */ // If the user has no instructor roles in any lecture we do not display the course management UserPermissions.loadPermissions() @@ -384,27 +374,17 @@ const extension: JupyterFrontEndPlugin = { } } - // if tutor or instructor permissions were found add course management menu if (sum !== 0) { - console.log( - 'Non-student permissions found! Adding coursemanage launcher and connecting creation mode' - ); connectTrackerSignals(tracker); - - // add menu to JupyterLab main menu - const cmMenu = new Menu({ commands: app.commands }); - cmMenu.title.label = 'Grader Service'; - mainMenu.addMenu(cmMenu, false, { rank: 210 }); - createCourseManagementOpenCommand(app, launcher, courseManageTracker); - GlobalObjects.courseManageMenu = cmMenu; } + createGraderServiceCommands(app, launcher, graderServiceTracker); // add Menu to JupyterLab main menu - const aMenu = new Menu({ commands: app.commands }); - aMenu.title.label = 'Assignments'; - mainMenu.addMenu(aMenu, false, { rank: 200 }); + const menu = new Menu({ commands: app.commands }); + menu.title.label = 'Grader Service'; + mainMenu.addMenu(menu, false, { rank: 200 }); - GlobalObjects.assignmentMenu = aMenu; + GlobalObjects.graderServiceMenu = menu; updateMenus(); }) diff --git a/packages/labextension/src/menu.ts b/packages/labextension/src/menu.ts index 8cfcceea..591e7777 100644 --- a/packages/labextension/src/menu.ts +++ b/packages/labextension/src/menu.ts @@ -1,15 +1,8 @@ -import { - AssignmentsCommandIDs, - CourseManageCommandIDs, - GlobalObjects -} from './index'; +import { GlobalObjects, GraderServiceCommandIDs } from './index'; import { Lecture } from './model/lecture'; import { AssignmentDetail } from './model/assignmentDetail'; import { Menu } from '@lumino/widgets'; -import { - activeInstructorLecturesQuery, - activeLecturesQuery -} from './services/queries/lectures.queries'; +import { activeLecturesQuery } from './services/queries/lectures.queries'; import { queryClient } from './widget'; export const getLabel = (assignment: AssignmentDetail | null) => { @@ -17,18 +10,16 @@ export const getLabel = (assignment: AssignmentDetail | null) => { }; const getPath = (lecture: Lecture, assignment: AssignmentDetail | null) => { - return `/lecture/${lecture.id}`; + return `lectures/${lecture.id}`; }; export const updateMenus = async (reload: boolean = false) => { - const aMenu = GlobalObjects.assignmentMenu; - const cmMenu = GlobalObjects.courseManageMenu; - const [lectures, instructorLectures] = await Promise.all([ - queryClient.ensureQueryData(activeLecturesQuery()), - queryClient.ensureQueryData(activeInstructorLecturesQuery()) + const menu = GlobalObjects.graderServiceMenu; + const [lectures] = await Promise.all([ + queryClient.ensureQueryData(activeLecturesQuery()) ]); - aMenu.clearItems(); + menu.clearItems(); lectures.forEach(v => { const subMenu = new Menu({ commands: GlobalObjects.commands }); subMenu.title.label = v.name; @@ -37,36 +28,14 @@ export const updateMenus = async (reload: boolean = false) => { const label = getLabel(null); subMenu.addItem({ type: 'command', - command: AssignmentsCommandIDs.open, + command: GraderServiceCommandIDs.open, args: { path, label } }); - aMenu.addItem({ + menu.addItem({ type: 'submenu', submenu: subMenu }); }); - aMenu.update(); - - if (cmMenu) { - cmMenu.clearItems(); - instructorLectures.forEach(v => { - const subMenu = new Menu({ commands: GlobalObjects.commands }); - subMenu.title.label = v.name; - - const path = getPath(v, null); - const label = getLabel(null); - subMenu.addItem({ - type: 'command', - command: CourseManageCommandIDs.open, - args: { path, label } - }); - - cmMenu.addItem({ - type: 'submenu', - submenu: subMenu - }); - }); - cmMenu.update(); - } + menu.update(); }; diff --git a/packages/labextension/src/widget.tsx b/packages/labextension/src/widget.tsx index ef1d5073..01f703f8 100644 --- a/packages/labextension/src/widget.tsx +++ b/packages/labextension/src/widget.tsx @@ -12,7 +12,8 @@ export const queryClient = new QueryClient({ defaultOptions: { queries: { staleTime: 10 * 60 * 1000, - cacheTime: 15 * 60 * 1000 + cacheTime: 15 * 60 * 1000, + refetchOnReconnect: true } as any } }); @@ -27,7 +28,6 @@ type MutationStatusContextType = { setStatus: (status: StatusState) => void; }; -const defaultStatus: StatusState = { status: null, message: null }; const MutationContext = React.createContext( null ); @@ -51,7 +51,10 @@ function GraderServiceViewComponent({ router: DataRouter; parentNode: HTMLElement | null; }) { - const [status, setStatus] = useState(defaultStatus); + const [status, setStatus] = useState({ + status: null, + message: null + }); useEffect(() => { if (status.status !== null) { @@ -75,26 +78,23 @@ function GraderServiceViewComponent({ ); } -export class GraderServiceView extends ReactWidget { +export class GraderServiceWidget extends ReactWidget { theme: 'dark' | 'light'; router: DataRouter; - constructor(options: CourseManageView.IOptions = {}) { + constructor(options: GraderServiceView.IOptions = {}) { super(); - this.id = options.id || 'course-manage-view'; + this.id = options.id || 'grader-service-view'; this.addClass('GradingWidget'); this.router = createMemoryRouter(getRoutes(), { initialEntries: ['/'] }); const themeManager = GlobalObjects.themeManager; - this.theme = themeManager.isLight(themeManager.theme ?? 'light') - ? 'light' - : 'dark'; themeManager.themeChanged.connect(() => { this.theme = themeManager.isLight(themeManager.theme ?? 'light') ? 'light' : 'dark'; - this.update(); // <- tells Lumino to re-invoke render() + this.update(); // tells Lumino to re-invoke render() }, this); } @@ -109,7 +109,7 @@ export class GraderServiceView extends ReactWidget { } } -export namespace CourseManageView { +export namespace GraderServiceView { export interface IOptions { id?: string; } From adb36598cb69c037c848ddc7f0cd80036f9f86dc Mon Sep 17 00:00:00 2001 From: Nadja Jovancevic Date: Mon, 10 Aug 2026 13:29:38 +0200 Subject: [PATCH 22/59] refactor: create a function that checks if current user has elevated permissions --- packages/labextension/src/index.ts | 12 +----------- .../labextension/src/services/permission.service.ts | 4 ++++ 2 files changed, 5 insertions(+), 11 deletions(-) diff --git a/packages/labextension/src/index.ts b/packages/labextension/src/index.ts index 17553e04..dbc3b2ea 100644 --- a/packages/labextension/src/index.ts +++ b/packages/labextension/src/index.ts @@ -79,8 +79,6 @@ namespace ShowHintIDs { export const show = 'notebookplugin:show-hint'; } -export const hasElevatedPermissions = false; - export class GlobalObjects { static commands: CommandRegistry; static docRegistry: DocumentRegistry; @@ -366,15 +364,7 @@ const extension: JupyterFrontEndPlugin = { // If the user has no instructor roles in any lecture we do not display the course management UserPermissions.loadPermissions() .then(() => { - const permissions = UserPermissions.getPermissions(); - let sum = 0; - for (const el in permissions) { - if (permissions.hasOwnProperty(el)) { - sum += permissions[el]; - } - } - - if (sum !== 0) { + if (UserPermissions.hasElevatedPermissions) { connectTrackerSignals(tracker); } createGraderServiceCommands(app, launcher, graderServiceTracker); diff --git a/packages/labextension/src/services/permission.service.ts b/packages/labextension/src/services/permission.service.ts index 74a396b2..576131c7 100644 --- a/packages/labextension/src/services/permission.service.ts +++ b/packages/labextension/src/services/permission.service.ts @@ -37,4 +37,8 @@ export namespace UserPermissions { export function getScope(lecture: Lecture) { return permissions?.[lecture.code] ?? null; } + export function hasElevatedPermissions() { + const sum = Object.values(permissions).reduce((acc, v) => acc + v, 0); + return sum > 0; + } } From 7c70602a696b523403e31eabd749e7d3d37e21e6 Mon Sep 17 00:00:00 2001 From: Nadja Jovancevic Date: Mon, 10 Aug 2026 16:26:24 +0200 Subject: [PATCH 23/59] fix: display student/instructor view toggle button only when user has elevated permissions --- .../src/app/components/ui/global-sidebar.tsx | 45 ++++++++++--------- 1 file changed, 24 insertions(+), 21 deletions(-) diff --git a/packages/labextension/src/app/components/ui/global-sidebar.tsx b/packages/labextension/src/app/components/ui/global-sidebar.tsx index 2c17b019..94e01ea3 100644 --- a/packages/labextension/src/app/components/ui/global-sidebar.tsx +++ b/packages/labextension/src/app/components/ui/global-sidebar.tsx @@ -40,6 +40,7 @@ import { } from '../../shadcn-components/ui/toggle-group'; import { LogoWithText } from '../../../assets/logo-with-text'; import { Logo } from '../../../assets/logo'; +import { UserPermissions } from '../../../services/permission.service'; export const GlobalSidebar = () => { const { data: fetchedLectures } = useQuery(activeInstructorLecturesQuery()); @@ -146,27 +147,29 @@ export const GlobalSidebar = () => { - - {state === 'collapsed' ? ( - <> - - - - - - - - ) : ( - <> - - Instructor View - - - Student View - - - )} - + {UserPermissions.hasElevatedPermissions() && ( + + {state === 'collapsed' ? ( + <> + + + + + + + + ) : ( + <> + + Instructor View + + + Student View + + + )} + + )}