From ae8d8fa900a8bea0a79def5f231d996e26180eda Mon Sep 17 00:00:00 2001 From: jordancj Date: Tue, 13 Jan 2026 15:24:18 +1100 Subject: [PATCH 01/48] Added roles, reporting & remove empty columns Signed-off-by: jordancj --- api/src/index.ts | 61 +++++++++++++-- api/src/middleware/sanitiseInputs.ts | 77 +++++++++++++++++-- frontend/src/Components/checkboxContainer.jsx | 47 +++++++++++ frontend/src/Pages/Admin/reports.jsx | 32 +++++++- frontend/src/Pages/Attendance/Non-op-page.jsx | 21 ++++- frontend/src/Pages/Attendance/Op-page.jsx | 19 ++++- 6 files changed, 235 insertions(+), 22 deletions(-) create mode 100644 frontend/src/Components/checkboxContainer.jsx diff --git a/api/src/index.ts b/api/src/index.ts index 815e536..34a87eb 100644 --- a/api/src/index.ts +++ b/api/src/index.ts @@ -455,10 +455,11 @@ const tokenData = await fetchOrThrow( activity, operational, detailed, - includeZeroAttendance + includeZeroAttendance, + roles } = req.body; try { - const MAX_SPAN = 1095 * 24 * 60 * 60 * 1000; // 1 year ms + const MAX_SPAN = 1095 * 24 * 60 * 60 * 1000; // 3 years ms if (endEpoch - startEpoch > MAX_SPAN) { res.status(400).json({ message: 'Date range too large (max 3 years)' }); return; @@ -470,6 +471,9 @@ const tokenData = await fetchOrThrow( if (name) query.name = name; if (activity) query.activity = activity; if (operational) query.operational = operational; + if(Array.isArray(roles) && roles.length === 1){ + query.roles = roles[0] + } const MAX_ROWS = 50000; const recordsCursor = recordsCollection.find(query).limit(MAX_ROWS + 1); const records = await recordsCursor.toArray(); @@ -557,6 +561,35 @@ const tokenData = await fetchOrThrow( const reportExport: RequestHandler = async (req, res) => { const authedReq = req as AuthedRequest; authedReq.user = authedReq.session.user; + function isEmptyCellValue(v: unknown): boolean{ + if (v == null) return true; + if (typeof v === "string") return v.trim() === "" + if (typeof v === "object"){ + const obj = v as any; + if (obj.rechText) return obj.richText.length === 0; + if (obj.text) return String(obj.text).trim() === ""; + if (obj.formula) return false; + if (obj.result != null) return false; + } + return false +} +function deleteColumnIfEmpty( + worksheet: ExcelJS.Worksheet, + colNumber: number, + headerRowNumber = 1 +) { + let hasData = false; + + worksheet.eachRow({includeEmpty: true}, (row, rowNumber) => { + if (rowNumber <= headerRowNumber) return; + + const cellValue = row.getCell(colNumber).value; + if(!isEmptyCellValue(cellValue)) hasData = true; + }); + if (!hasData){ + worksheet.spliceColumns(colNumber, 1); + } +} const { startEpoch, endEpoch, @@ -564,6 +597,7 @@ const tokenData = await fetchOrThrow( activity, operational, includeZeroAttendance, + roles, detailed, formattedStart, formattedEnd @@ -577,7 +611,9 @@ const tokenData = await fetchOrThrow( if (name) query.name = name; if (activity) query.activity = activity; if (operational) query.operational = operational; - + if(Array.isArray(roles) && roles.length === 1){ + query.roles = roles[0] + }; const MAX_ROWS = 50000; const recordsCursor = recordsCollection.find(query).limit(MAX_ROWS + 1); const records = await recordsCursor.toArray(); @@ -620,6 +656,7 @@ const tokenData = await fetchOrThrow( ...(record.deploymentType && { deploymentType: record.deploymentType }), ...(record.otherType && { otherType: record.otherType }), ...(record.deploymentLocation && { deploymentLocation: record.deploymentLocation }), + ...(record.roles && { roles: record.roles}) }); if (record.operational === "Operational") userStats.operationalActivities++; @@ -652,6 +689,7 @@ const tokenData = await fetchOrThrow( ...(record.deploymentType && { deploymentType: record.deploymentType }), ...(record.otherType && { otherType: record.otherType }), ...(record.deploymentLocation && { deploymentLocation: record.deploymentLocation }), + ...(record.roles && { roles: record.roles}) }); } } @@ -698,6 +736,7 @@ const tokenData = await fetchOrThrow( 'Activity', 'Activity Detail', 'Activity Location', + 'roles' ]; worksheet.addRow(header); } @@ -729,6 +768,10 @@ const tokenData = await fetchOrThrow( activityType = record.deploymentType || ""; activityLocation = record.deploymentLocation || ""; } + const roles = + Array.isArray(record.roles) && record.roles.length > 0 + ? record.roles.join(", ") + : "" const row = [ record.timestampLocal, user.name, @@ -739,7 +782,8 @@ const tokenData = await fetchOrThrow( record.operational, record.activity, activityType, - activityLocation + activityLocation, + roles ]; worksheet.addRow(row); } @@ -757,7 +801,9 @@ const tokenData = await fetchOrThrow( ] worksheet.addRow(row) }) - + for(let i = 11; i > 1; i--){ + deleteColumnIfEmpty(worksheet, i) + } const fallbackFormat = (epoch: number) => new Date(epoch).toISOString().slice(0, 10).replace(/-/g, ''); const fileStart = formattedStart || fallbackFormat(startEpoch); const fileEnd = formattedEnd || fallbackFormat(endEpoch); @@ -787,7 +833,6 @@ const tokenData = await fetchOrThrow( const exists = await usersCollection.findOne({ username }); if (!exists){ - console.log(username) res.status(404).json({ ok: false }); return;} req.session.validUsername = username; // 🔑 remember validation in this session @@ -818,12 +863,14 @@ const tokenData = await fetchOrThrow( chainsawType, deploymentType, deploymentLocation, - otherType + otherType, + roles } = req.body; const record: any = { name, operational, activity, + roles, epochTimestamp }; // Conditional data fields based on activity type diff --git a/api/src/middleware/sanitiseInputs.ts b/api/src/middleware/sanitiseInputs.ts index 0b6a1b8..d6635f9 100644 --- a/api/src/middleware/sanitiseInputs.ts +++ b/api/src/middleware/sanitiseInputs.ts @@ -1,6 +1,39 @@ import { Request, Response, NextFunction } from 'express'; import moment from 'moment'; import validator from 'validator'; + +const allowedRoles = new Set([ + "Crew Leader", + "Driver", + "Pump Operator", + "BA Operator", + "BACO", + "Hose Operator", + "Chainsaw Operator", +]); + +function isStringArray(value: unknown): value is string[] { + return Array.isArray(value) && value.every((v) => typeof v === "string"); +} + +function sanitiseRoles(value: unknown, opts?: { max?: number }): string[] | null { + if (value == null) return []; + if (!isStringArray(value)) return null; + + const max = opts?.max ?? 20; + if (value.length > max) return null; + + const sanitised = value + .map((r) => validator.trim(r).replace(/\0/g, "")) + .filter((r) => r.length > 0); + + for (const r of sanitised) { + if (!allowedRoles.has(r)) return null; + } + + return Array.from(new Set(sanitised)); +} + export function sanitizeAttendanceInput(req: Request, res: Response, next: NextFunction) { const { name, @@ -11,9 +44,18 @@ export function sanitizeAttendanceInput(req: Request, res: Response, next: NextF chainsawType, deploymentType, deploymentLocation, - otherType + otherType, + roles } = req.body; + const sanitisedRoles = sanitiseRoles(roles); + if (sanitisedRoles === null){ + res.status(400).json({ + message: `Invalid roles. Must be an array containing only: ${Array.from(allowedRoles).join(", ")}`, + }); + return + } + const sanitized = { name: validator.trim(name || ''), operational: validator.trim(operational || ''), @@ -22,7 +64,8 @@ export function sanitizeAttendanceInput(req: Request, res: Response, next: NextF chainsawType: validator.trim(chainsawType || ''), deploymentType: validator.trim(deploymentType || ''), deploymentLocation: validator.trim(deploymentLocation || ''), - otherType: validator.trim(otherType || '') + otherType: validator.trim(otherType || ''), + roles: sanitisedRoles }; const validators = [ @@ -132,9 +175,18 @@ export function sanitizeReportingRunInput(req: Request, res: Response, next: Nex activity, operational, detailed, - includeZeroAttendance + includeZeroAttendance, + roles } = req.body ?? {}; + const sanitisedRoles = sanitiseRoles(roles); + if (sanitisedRoles === null){ + res.status(400).json({ + message: `Invalid roles. Must be an array containing only: ${Array.from(allowedRoles).join(", ")}`, + }); + return + } + const asTrimmedString = (v: unknown) => validator.trim(String(v ?? '')); const sanitized = { @@ -142,7 +194,8 @@ export function sanitizeReportingRunInput(req: Request, res: Response, next: Nex operational: asTrimmedString(operational), activity: asTrimmedString(activity), detailed: parseBoolean(detailed), - includeZeroAttendance: parseBoolean(includeZeroAttendance) + includeZeroAttendance: parseBoolean(includeZeroAttendance), + roles: sanitisedRoles }; const validators = [ @@ -151,7 +204,7 @@ export function sanitizeReportingRunInput(req: Request, res: Response, next: Nex { value: sanitized.activity, pattern: /^[a-zA-Z0-9\s-]+$/, field: 'activity' }, ] as const; - const minMS = moment.tz('2000-01-01 00:00:00', 'Australia/Sydney').valueOf(); + const minMS = moment.tz('2023-01-01 00:00:00', 'Australia/Sydney').valueOf(); const maxMS = moment.tz('2100-12-31 23:59:59.999', 'Australia/Sydney').valueOf(); function isEpochMS(n: unknown): n is number{ return typeof n === 'number' @@ -168,7 +221,7 @@ export function sanitizeReportingRunInput(req: Request, res: Response, next: Nex const startEpochMS = Number(startEpoch) const endEpochMS = Number(endEpoch) - if (!isEpochMS(startEpochMS)) {return res.status(400).json({message: 'Start time must be be after Jan 1 2000'})} + if (!isEpochMS(startEpochMS)) {return res.status(400).json({message: 'Start time must be after Jan 1 2023'})} if (!isEpochMS(endEpochMS)){return res.status(400).json({message: 'End time must be before Dec 31 2100'})} req.body = { ...sanitized, @@ -199,11 +252,20 @@ export function sanitizeReportingExportInput(req: Request, res: Response, next: activity, operational, includeZeroAttendance, + roles, detailed, formattedStart, formattedEnd } = req.body ?? {}; + const sanitisedRoles = sanitiseRoles(roles); + if (sanitisedRoles === null){ + res.status(400).json({ + message: `Invalid roles. Must be an array containing only: ${Array.from(allowedRoles).join(", ")}`, + }); + return + } + const sanitized = { name: validator.trim(String(name ?? '')), operational: validator.trim(String(operational ?? '')), @@ -213,6 +275,7 @@ export function sanitizeReportingExportInput(req: Request, res: Response, next: includeZeroAttendance: parseBoolean(includeZeroAttendance), detailed: parseBoolean(detailed), + roles: sanitisedRoles }; function runRule(rule: { value: any; field: string; pattern?: RegExp; validate?: (v: any) => boolean }) { @@ -247,7 +310,7 @@ export function sanitizeReportingExportInput(req: Request, res: Response, next: } const startEpochMS = Number(startEpoch) const endEpochMS = Number(endEpoch) - if (!isEpochMS(startEpochMS)) {return res.status(400).json({message: 'Start time must be after Jan 1 2023'})} + if (!isEpochMS(startEpochMS)) {return res.status(400).json({message: 'Start time must be bafter Jan 1 2023'})} if (!isEpochMS(endEpochMS)){return res.status(400).json({message: 'End time must be before Dec 31 2100'})} const errors: string[] = []; diff --git a/frontend/src/Components/checkboxContainer.jsx b/frontend/src/Components/checkboxContainer.jsx new file mode 100644 index 0000000..6b90808 --- /dev/null +++ b/frontend/src/Components/checkboxContainer.jsx @@ -0,0 +1,47 @@ +const roles = [ + "Crew Leader", + "Driver", + "Pump Operator", + "BA Operator", + "BACO", + "Hose Operator", + "Chainsaw Operator" +] +export default function CheckboxContainer({selectedRoles = [], setSelectedRoles}){ + console.log(selectedRoles) + function handleChange(e) { + const {value, checked } = e.target + setSelectedRoles((prev) => { + if (checked) return prev.includes(value) ? prev: [...prev, value] + return prev.filter((r) => r !== value); + }) + } + return( +
+
Select the role you actively performed:
+ {roles.map((role) => { + const id = `role-${String(role).toLowerCase().replace(/\s+/g, "-")}`; + return( + + ); + })} +
+ ); +} \ No newline at end of file diff --git a/frontend/src/Pages/Admin/reports.jsx b/frontend/src/Pages/Admin/reports.jsx index 1c7322b..c8c7f50 100644 --- a/frontend/src/Pages/Admin/reports.jsx +++ b/frontend/src/Pages/Admin/reports.jsx @@ -39,6 +39,17 @@ const activityOptions = { ], }; +const roleOptions = + [ + "Crew Leader", + "Driver", + "Pump Operator", + "BA Operator", + "BACO", + "Hose Operator", + "Chainsaw Operator" +]; + export default function Reports({ users = [] }) { const csrfToken = useCsrfToken(apiUrl); useEffect(() => { @@ -53,11 +64,13 @@ export default function Reports({ users = [] }) { operational: '', includeZeroAttendance: false, detailed: false, - incidentType: '' + incidentType: '', + roles: '' }); const [activities, setActivities] = useState(activityOptions.Any); const [reportHTML, setReportHTML] = useState(''); const [userOptions, setUserOptions] = useState([]); + const [roles] = useState(roleOptions); useEffect(() => { fetch(`${apiUrl}/api/users/names`, { @@ -100,7 +113,8 @@ export default function Reports({ users = [] }) { activity: form.activity, operational: form.operational, detailed: form.detailed, - includeZeroAttendance: form.includeZeroAttendance + includeZeroAttendance: form.includeZeroAttendance, + roles: form.roles ? [form.roles] : [] }), }); const result = await res.json(); @@ -124,7 +138,9 @@ export default function Reports({ users = [] }) { const hasActivityType = !!(isDetailed && rows.some(r => r?.deploymentType || r?.baType || r?.chainsawType || r?.otherType )); - + const hasRoles = !!(isDetailed && rows.some (r => + r?.roles + )); const hasActivityLocation = !!(isDetailed && rows.some(r => r?.deploymentLocation)); const headerHtml = isDetailed @@ -135,6 +151,7 @@ export default function Reports({ users = [] }) { Activity ${hasActivityType ? 'Activity Detail' : ''} ${hasActivityLocation ? 'Activity Location' : ''} + ${hasRoles ? 'Roles' : ''} ` : ` Name @@ -155,6 +172,7 @@ export default function Reports({ users = [] }) { ${r.activity ?? ''} ${hasActivityType ? `${r.deploymentType || r.baType || r.chainsawType || r.otherType || ''}` : ''} ${hasActivityLocation ? `${r.deploymentLocation || ''}` : ''} + ${hasRoles ? `${r.roles || ''} `).join('') : rows.map(r => ` @@ -207,6 +225,7 @@ export default function Reports({ users = [] }) { activity: form.activity, operational: form.operational, includeZeroAttendance: form.includeZeroAttendance, + roles: form.roles ? [form.roles] : [], detailed: form.detailed, formattedStart, formattedEnd @@ -266,6 +285,13 @@ export default function Reports({ users = [] }) { {activities.map((a) => )} +
+ + +
diff --git a/frontend/src/Pages/Attendance/Non-op-page.jsx b/frontend/src/Pages/Attendance/Non-op-page.jsx index add69ac..5fd1b18 100644 --- a/frontend/src/Pages/Attendance/Non-op-page.jsx +++ b/frontend/src/Pages/Attendance/Non-op-page.jsx @@ -3,6 +3,7 @@ import styles from "../../styles/Attendance.module.css"; import { useTitle } from '../../hooks/useTitle.jsx'; import {useState, useEffect } from "react"; import {useCsrfToken} from "../../Components/csrfHelper.jsx" +import CheckboxContainer from '../../Components/checkboxContainer.jsx' const activities = [ "Training", @@ -13,6 +14,14 @@ const activities = [ "Chainsaw-Checks", "Other-Non-operational" ]; + +const roleActivities = [ + "Training", + "Community-Engagement", + "Other-Non-operational" + +] + const apiurl = import.meta.env.VITE_API_BASE_URL; export default function OperationalPage() { @@ -25,6 +34,7 @@ export default function OperationalPage() { const [otherType, setOtherType] = useState("") const [selectedActivity, setSelectedActivity] = useState(sessionStorage.getItem("activity") || ""); const [date, setDate] = useState(""); + const [selectedRoles, setSelectedRoles] = useState([]) const navigate = useNavigate(); const handleSelect = (activity) => { @@ -76,7 +86,8 @@ export default function OperationalPage() { epochTimestamp: dateObj.getTime(), ...(activity === "BA-Checks" && { baType: type }), ...(activity === "Chainsaw-Checks" && { chainsawType: type }), - ...(activity === "Other-Non-operational" && { otherType }) + ...(activity === "Other-Non-operational" && { otherType }), + roles:[selectedRoles] } const response = await fetch(`${apiurl}/api/attendance/submit`, { method: "POST", @@ -183,6 +194,14 @@ export default function OperationalPage() {
)} + {roleActivities.includes(selectedActivity) && ( + + )} + +
{ @@ -31,6 +33,7 @@ export default function OperationalPage() { setSelectedActivity(newValue); if (newValue) { sessionStorage.setItem("activity", newValue); + setSelectedRoles([]); } else { sessionStorage.removeItem("activity"); } @@ -55,14 +58,14 @@ export default function OperationalPage() { name: username, operational: activitySelection, activity, + roles: selectedRoles, epochTimestamp: dateObj.getTime(), ...(activity === "Deployment" && { deploymentType, - deploymentLocation + deploymentLocation, }), ...(activity === "Other-operational" && { otherType }) }; - console.log(data) try { const response = await fetch(`${apiurl}/api/attendance/submit`, { @@ -94,6 +97,7 @@ export default function OperationalPage() { navigate("/attendance"); } }; + useTitle('Operational Attendance'); return (
@@ -159,6 +163,14 @@ export default function OperationalPage() {
)} + + {selectedActivity && ( + + )} +
setDate(e.target.value)} />
-
))}
- {selectedActivity === "BA-Checks" && ( -
- - -
- )} - {selectedActivity === "Chainsaw-Checks" && ( -
- - -
- )} {selectedActivity === "Other-Non-operational" && (
setBaType(e.target.value)} + > + + + + + +
+ )} + {selectedActivity === "Chainsaw-Checks" && (
+ + +
+ )} + {selectedActivity === "Other-operational" && ( +
From 1e1a670f60d06d26a2cce51c3e0058b21cacf173 Mon Sep 17 00:00:00 2001 From: jordancj Date: Mon, 8 Jun 2026 14:50:39 +1000 Subject: [PATCH 10/48] fix workflow --- .../azure-static-web-apps-proud-meadow-082953800.yml | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/.github/workflows/azure-static-web-apps-proud-meadow-082953800.yml b/.github/workflows/azure-static-web-apps-proud-meadow-082953800.yml index c347510..d29aa30 100644 --- a/.github/workflows/azure-static-web-apps-proud-meadow-082953800.yml +++ b/.github/workflows/azure-static-web-apps-proud-meadow-082953800.yml @@ -33,10 +33,10 @@ jobs: # Pick API URL by branch name - name: Select API base URL run: | - if [ "${{ github.ref_name }}" = "develop" ] || [ "${{ github.ref_name }}" = "Feature" ]; then - echo "VITE_API_BASE_URL=${{ secrets.API_URL_STAGING }}" >> $GITHUB_ENV + if [ "${{ github.ref_name }}" = "main" ] then + echo "VITE_API_BASE_URL=${{ secrets.API_URL_PROD }}" >> $GITHUB_ENV else - echo "VITE_API_BASE_URL=${{ secrets.API_URL_PROD }}" >> $GITHUB_ENV + echo "VITE_API_BASE_URL=${{ secrets.API_URL_STAGING }}" >> $GITHUB_ENV fi - name: Replace API origin in CSP @@ -45,10 +45,8 @@ jobs: run: | if [ "${{ github.ref_name }}" = "main" ]; then echo "VITE_STAGE=prod" >> $GITHUB_ENV - echo "VITE_EXPECTED_HOST=app.yourdomain.com" >> $GITHUB_ENV else echo "VITE_STAGE=staging" >> $GITHUB_ENV - echo "VITE_EXPECTED_HOST=" >> $GITHUB_ENV fi - name: Build And Deploy id: builddeploy From c988ae986f9ea922acf4b8810ad1bb151736aaf8 Mon Sep 17 00:00:00 2001 From: jordancj Date: Mon, 8 Jun 2026 14:52:49 +1000 Subject: [PATCH 11/48] fix workflow --- .../workflows/azure-static-web-apps-proud-meadow-082953800.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/azure-static-web-apps-proud-meadow-082953800.yml b/.github/workflows/azure-static-web-apps-proud-meadow-082953800.yml index d29aa30..cba75f2 100644 --- a/.github/workflows/azure-static-web-apps-proud-meadow-082953800.yml +++ b/.github/workflows/azure-static-web-apps-proud-meadow-082953800.yml @@ -33,7 +33,8 @@ jobs: # Pick API URL by branch name - name: Select API base URL run: | - if [ "${{ github.ref_name }}" = "main" ] then + if [ "${{ github.ref_name }}" = "main" ] + then echo "VITE_API_BASE_URL=${{ secrets.API_URL_PROD }}" >> $GITHUB_ENV else echo "VITE_API_BASE_URL=${{ secrets.API_URL_STAGING }}" >> $GITHUB_ENV From 6db307625ec9891df0141d434e4f4a4cc00ba393 Mon Sep 17 00:00:00 2001 From: jordancj Date: Thu, 25 Jun 2026 16:11:12 +1000 Subject: [PATCH 12/48] Update gitignore for docker --- .gitignore | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index cde9502..b121cc7 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,4 @@ .deployment dist node_modules -.dockerignore -Dockerfile.dev -docker-compose.yml \ No newline at end of file +*docker* From e46ffdc362bfc835143c13df285738d9a4d9e05c Mon Sep 17 00:00:00 2001 From: jordancj Date: Thu, 25 Jun 2026 16:11:59 +1000 Subject: [PATCH 13/48] Update package deps --- api/package-lock.json | 522 +++++++++++++++++++++++++++++++++++-- frontend/package-lock.json | 248 ++++++++++++++++++ 2 files changed, 750 insertions(+), 20 deletions(-) diff --git a/api/package-lock.json b/api/package-lock.json index 0e47ac1..a72cbc3 100644 --- a/api/package-lock.json +++ b/api/package-lock.json @@ -118,16 +118,28 @@ } }, "node_modules/@aws-sdk/client-cognito-identity": { +<<<<<<< Updated upstream "version": "3.1063.0", "resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.1063.0.tgz", "integrity": "sha512-fLwNblkowkRyuxdVehlHVOnr/7bBf8Y1UGYdhhpuMPHOQL2QTY6kLcQ+EV1BhTQG1p4ATwaONNJsIk44hxEGMA==", +======= + "version": "3.1075.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.1075.0.tgz", + "integrity": "sha512-typFcdyFwIPt86QPKsO7xwcsYoEmNcDpoNqn0tqa4+Lss7niNKQzPe/765XNgAHO3I1ixiT1OKv8KD6M+CKw2w==", +>>>>>>> Stashed changes "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", +<<<<<<< Updated upstream "@aws-sdk/core": "^3.974.18", "@aws-sdk/credential-provider-node": "^3.972.52", "@aws-sdk/types": "^3.973.11", +======= + "@aws-sdk/core": "^3.974.23", + "@aws-sdk/credential-provider-node": "^3.972.58", + "@aws-sdk/types": "^3.973.13", +>>>>>>> Stashed changes "@smithy/core": "^3.24.6", "@smithy/fetch-http-handler": "^5.4.6", "@smithy/node-http-handler": "^4.7.6", @@ -139,6 +151,7 @@ } }, "node_modules/@aws-sdk/core": { +<<<<<<< Updated upstream "version": "3.974.18", "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.974.18.tgz", "integrity": "sha512-JDYCPI0j7zGrzXTDFsLB346cxss7J/AxH7+O0MzWlqppJBEyB9Qe6TQXRL6iwLUo/xZkNv9KFmBL2hqElmwW0g==", @@ -146,6 +159,15 @@ "dependencies": { "@aws-sdk/types": "^3.973.11", "@aws-sdk/xml-builder": "^3.972.28", +======= + "version": "3.974.23", + "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.974.23.tgz", + "integrity": "sha512-MiWR/uWjxjFXGzrE0Ghc5lWxUxzHsUWFhV+OX7M4cR9SrmrnZs6TXavnCWnzzdwJeFri34xQo81rvGNzK3c4BQ==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "^3.973.13", + "@aws-sdk/xml-builder": "^3.972.31", +>>>>>>> Stashed changes "@aws/lambda-invoke-store": "^0.2.2", "@smithy/core": "^3.24.6", "@smithy/signature-v4": "^5.4.6", @@ -158,6 +180,7 @@ } }, "node_modules/@aws-sdk/credential-provider-cognito-identity": { +<<<<<<< Updated upstream "version": "3.972.42", "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.972.42.tgz", "integrity": "sha512-94W7f8xVsdLEjv3TY8R+beoFL0pIRduiGZdqMfIVMvQfn6q9IA3SgE2mIQluu3VCULn8PopB/gx7Fns8ETn/1Q==", @@ -165,6 +188,15 @@ "dependencies": { "@aws-sdk/nested-clients": "^3.997.17", "@aws-sdk/types": "^3.973.11", +======= + "version": "3.972.48", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.972.48.tgz", + "integrity": "sha512-dTSY4wCPx87Gd1peDcTop1li61f6KLAs3LSlq/omnCxpIOvMDpAQjylJ7ZDaZk6KA88+oZ0k/XuVSou1YuWI/w==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/nested-clients": "^3.997.23", + "@aws-sdk/types": "^3.973.13", +>>>>>>> Stashed changes "@smithy/core": "^3.24.6", "@smithy/types": "^4.14.3", "tslib": "^2.6.2" @@ -174,6 +206,7 @@ } }, "node_modules/@aws-sdk/credential-provider-env": { +<<<<<<< Updated upstream "version": "3.972.44", "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.972.44.tgz", "integrity": "sha512-3hKJVrZ7bqXzDAXCQp+OaQ1ASN+vWstaNuEH418wQVl//cRZhqhfR9Bjk1qIWmgUGe8/D3gdO73PgidRj378EQ==", @@ -181,6 +214,15 @@ "dependencies": { "@aws-sdk/core": "^3.974.18", "@aws-sdk/types": "^3.973.11", +======= + "version": "3.972.49", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.972.49.tgz", + "integrity": "sha512-liB3yQNHCM9k/gu/w36XHMKPluT7HTlnGUhRbBGSISDQkcr/Sy1zsZabiuvQj8WG5yW573u9RehrBvvnIQ9OEQ==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "^3.974.23", + "@aws-sdk/types": "^3.973.13", +>>>>>>> Stashed changes "@smithy/core": "^3.24.6", "@smithy/types": "^4.14.3", "tslib": "^2.6.2" @@ -190,6 +232,7 @@ } }, "node_modules/@aws-sdk/credential-provider-http": { +<<<<<<< Updated upstream "version": "3.972.46", "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.972.46.tgz", "integrity": "sha512-VhwC9pGAZHhiQ2xSViyOPDFqvr9aRxGCAXZtADsUhU3R65nad7y//CwynE6mQnWNR+suRlqE79W36IVayL+m1g==", @@ -197,6 +240,15 @@ "dependencies": { "@aws-sdk/core": "^3.974.18", "@aws-sdk/types": "^3.973.11", +======= + "version": "3.972.51", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.972.51.tgz", + "integrity": "sha512-XET0H2oofciJ5lMRWNIvRjAP7Q3wv2XT+JtJJEdhPWUMwe3TvQ9qcxonpu7vXmNngncvFpi4E2It+Tamas/naA==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "^3.974.23", + "@aws-sdk/types": "^3.973.13", +>>>>>>> Stashed changes "@smithy/core": "^3.24.6", "@smithy/fetch-http-handler": "^5.4.6", "@smithy/node-http-handler": "^4.7.6", @@ -208,6 +260,7 @@ } }, "node_modules/@aws-sdk/credential-provider-ini": { +<<<<<<< Updated upstream "version": "3.972.50", "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.972.50.tgz", "integrity": "sha512-09Xi6ovxiK42+De/qBGF71sT5F2bWgYM+1fFyDwSOpy1xpsQ5R/naIu7MVDpH6Dic36QNc8dAv4KADtMGK2JYg==", @@ -222,6 +275,22 @@ "@aws-sdk/credential-provider-web-identity": "^3.972.49", "@aws-sdk/nested-clients": "^3.997.17", "@aws-sdk/types": "^3.973.11", +======= + "version": "3.972.56", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.972.56.tgz", + "integrity": "sha512-IAmc61hbgQiHht9U3x0tnRwz0lzdwOwD/i9voRgdJrKamF+JtmrBOsW9GwB7mfFonNWOWL4qARWYrF8veEMe3w==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "^3.974.23", + "@aws-sdk/credential-provider-env": "^3.972.49", + "@aws-sdk/credential-provider-http": "^3.972.51", + "@aws-sdk/credential-provider-login": "^3.972.55", + "@aws-sdk/credential-provider-process": "^3.972.49", + "@aws-sdk/credential-provider-sso": "^3.972.55", + "@aws-sdk/credential-provider-web-identity": "^3.972.55", + "@aws-sdk/nested-clients": "^3.997.23", + "@aws-sdk/types": "^3.973.13", +>>>>>>> Stashed changes "@smithy/core": "^3.24.6", "@smithy/credential-provider-imds": "^4.3.7", "@smithy/types": "^4.14.3", @@ -232,6 +301,7 @@ } }, "node_modules/@aws-sdk/credential-provider-login": { +<<<<<<< Updated upstream "version": "3.972.49", "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-login/-/credential-provider-login-3.972.49.tgz", "integrity": "sha512-EfJF/1Fh9mI4pZyoheU2RY9xUhTcugIZNkD63+orXMkYj/QXacJNbKVDUK90Yv5hE+aX+rt9J/EZ9Qr3vKOa7g==", @@ -240,6 +310,16 @@ "@aws-sdk/core": "^3.974.18", "@aws-sdk/nested-clients": "^3.997.17", "@aws-sdk/types": "^3.973.11", +======= + "version": "3.972.55", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-login/-/credential-provider-login-3.972.55.tgz", + "integrity": "sha512-hBBkANo3cDn+h2qxxzER4a+J8JCO9o9Z/YYmU7iky6AcaarX5RRdRcHNC6SLdwY0vAXQygn6soUbDqPn3GghaA==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "^3.974.23", + "@aws-sdk/nested-clients": "^3.997.23", + "@aws-sdk/types": "^3.973.13", +>>>>>>> Stashed changes "@smithy/core": "^3.24.6", "@smithy/types": "^4.14.3", "tslib": "^2.6.2" @@ -249,6 +329,7 @@ } }, "node_modules/@aws-sdk/credential-provider-node": { +<<<<<<< Updated upstream "version": "3.972.52", "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.972.52.tgz", "integrity": "sha512-7QX+PbyiWBEOVipJq8Nke/TqXT6lAPLE7fvTaopa39/IVWuLfS+Fzdy71sZJONf/mLGgmtj6aU17+REw3+aRrw==", @@ -261,6 +342,20 @@ "@aws-sdk/credential-provider-sso": "^3.972.49", "@aws-sdk/credential-provider-web-identity": "^3.972.49", "@aws-sdk/types": "^3.973.11", +======= + "version": "3.972.58", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.972.58.tgz", + "integrity": "sha512-OyCLVmSI7pZO8hxwNVX6pXhTVlJqRBTp+ijdEfJSUj0RyjHnF602OfAarOzGq6wkGodeFkYBt8MmJ6A6ycRgWw==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/credential-provider-env": "^3.972.49", + "@aws-sdk/credential-provider-http": "^3.972.51", + "@aws-sdk/credential-provider-ini": "^3.972.56", + "@aws-sdk/credential-provider-process": "^3.972.49", + "@aws-sdk/credential-provider-sso": "^3.972.55", + "@aws-sdk/credential-provider-web-identity": "^3.972.55", + "@aws-sdk/types": "^3.973.13", +>>>>>>> Stashed changes "@smithy/core": "^3.24.6", "@smithy/credential-provider-imds": "^4.3.7", "@smithy/types": "^4.14.3", @@ -271,6 +366,7 @@ } }, "node_modules/@aws-sdk/credential-provider-process": { +<<<<<<< Updated upstream "version": "3.972.44", "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.972.44.tgz", "integrity": "sha512-V+UUhZpRP7QDRhi+qgBDisM9tUBnYmMje8Bk77A6MZsfeGeGdMsQXmaHP1CDYFcept0o/Rz5g2Y0TMeVlG9dzg==", @@ -278,6 +374,15 @@ "dependencies": { "@aws-sdk/core": "^3.974.18", "@aws-sdk/types": "^3.973.11", +======= + "version": "3.972.49", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.972.49.tgz", + "integrity": "sha512-C8h36lBuC/RnBSsjlO+dn6xZm3KbAl5vpJaVPAfQnMmz2/OISmKOc8XZcqMQgO2ADwBYNRMM6Kf3vz9G/TulMQ==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "^3.974.23", + "@aws-sdk/types": "^3.973.13", +>>>>>>> Stashed changes "@smithy/core": "^3.24.6", "@smithy/types": "^4.14.3", "tslib": "^2.6.2" @@ -287,6 +392,7 @@ } }, "node_modules/@aws-sdk/credential-provider-sso": { +<<<<<<< Updated upstream "version": "3.972.49", "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.972.49.tgz", "integrity": "sha512-9QqOYGuh5tZ76OzaT68kwI78AH+5lS/uZGGvkfxb3fc8FzRrIz2jOufNTliEBEeSAwmgK2rWLNsK+IB3zbtNPA==", @@ -296,6 +402,17 @@ "@aws-sdk/nested-clients": "^3.997.17", "@aws-sdk/token-providers": "3.1063.0", "@aws-sdk/types": "^3.973.11", +======= + "version": "3.972.55", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.972.55.tgz", + "integrity": "sha512-1FkOz74Ea5QGS9jtIoXp55T/IkSS3spv+nLTT07fRY/+T5xmEOqaYBVIaEmX4zTNvbV6g2lrtlaVKWEoNyJt3w==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "^3.974.23", + "@aws-sdk/nested-clients": "^3.997.23", + "@aws-sdk/token-providers": "3.1074.0", + "@aws-sdk/types": "^3.973.13", +>>>>>>> Stashed changes "@smithy/core": "^3.24.6", "@smithy/types": "^4.14.3", "tslib": "^2.6.2" @@ -305,6 +422,7 @@ } }, "node_modules/@aws-sdk/credential-provider-web-identity": { +<<<<<<< Updated upstream "version": "3.972.49", "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.972.49.tgz", "integrity": "sha512-IYx1lN38MnnPXv+NBLpuATu0cZakbZ321TAfjW+aVkw7HIJF38YnEwdeEO55MSl3pl7hIX1IvvnD6EmnAzmAJw==", @@ -313,6 +431,16 @@ "@aws-sdk/core": "^3.974.18", "@aws-sdk/nested-clients": "^3.997.17", "@aws-sdk/types": "^3.973.11", +======= + "version": "3.972.55", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.972.55.tgz", + "integrity": "sha512-g2BoECD1q01kTPByi56+VLVvdWDzMkKIcr77qixpqH0okw2t0U5CoPv+6S8v/D1Y2Wa6QKKtn6XAtDzP+Kfpvg==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "^3.974.23", + "@aws-sdk/nested-clients": "^3.997.23", + "@aws-sdk/types": "^3.973.13", +>>>>>>> Stashed changes "@smithy/core": "^3.24.6", "@smithy/types": "^4.14.3", "tslib": "^2.6.2" @@ -322,6 +450,7 @@ } }, "node_modules/@aws-sdk/credential-providers": { +<<<<<<< Updated upstream "version": "3.1063.0", "resolved": "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.1063.0.tgz", "integrity": "sha512-ApW861WX8h7wKDKRNj7Dyne7awtq/PHrJVSdr3NsE/rmuFUxSha6BFJJ1H0S1MD7hCqZjYqz2VPPmCXo3IKC9A==", @@ -340,6 +469,26 @@ "@aws-sdk/credential-provider-web-identity": "^3.972.49", "@aws-sdk/nested-clients": "^3.997.17", "@aws-sdk/types": "^3.973.11", +======= + "version": "3.1075.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.1075.0.tgz", + "integrity": "sha512-2HoJ1IxwdzEryyUmZvl6dVKfgWBnS6NzSDl5hOqmbHns5Cy+wCQLDFU+HGVi+kTGZgSyMZIa0rH7fQvNf7v9jQ==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/client-cognito-identity": "3.1075.0", + "@aws-sdk/core": "^3.974.23", + "@aws-sdk/credential-provider-cognito-identity": "^3.972.48", + "@aws-sdk/credential-provider-env": "^3.972.49", + "@aws-sdk/credential-provider-http": "^3.972.51", + "@aws-sdk/credential-provider-ini": "^3.972.56", + "@aws-sdk/credential-provider-login": "^3.972.55", + "@aws-sdk/credential-provider-node": "^3.972.58", + "@aws-sdk/credential-provider-process": "^3.972.49", + "@aws-sdk/credential-provider-sso": "^3.972.55", + "@aws-sdk/credential-provider-web-identity": "^3.972.55", + "@aws-sdk/nested-clients": "^3.997.23", + "@aws-sdk/types": "^3.973.13", +>>>>>>> Stashed changes "@smithy/core": "^3.24.6", "@smithy/credential-provider-imds": "^4.3.7", "@smithy/types": "^4.14.3", @@ -350,16 +499,28 @@ } }, "node_modules/@aws-sdk/nested-clients": { +<<<<<<< Updated upstream "version": "3.997.17", "resolved": "https://registry.npmjs.org/@aws-sdk/nested-clients/-/nested-clients-3.997.17.tgz", "integrity": "sha512-lDRgraoTfKRawUyc176Ow93mrNrOho/x+EoK4C+lKU+vKkHWhNhzvSMVAx0WEJUJoeQxxDN5ZdKMfiGEyNejig==", +======= + "version": "3.997.23", + "resolved": "https://registry.npmjs.org/@aws-sdk/nested-clients/-/nested-clients-3.997.23.tgz", + "integrity": "sha512-gO93ZPsI2bxeFZD42f1/qjDw6FAZkNZcKRO94LIiT03fzOmcJ9e/tunxjVjA1Rl69ClmVJzz8H3G9CdKef10PA==", +>>>>>>> Stashed changes "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", +<<<<<<< Updated upstream "@aws-sdk/core": "^3.974.18", "@aws-sdk/signature-v4-multi-region": "^3.996.32", "@aws-sdk/types": "^3.973.11", +======= + "@aws-sdk/core": "^3.974.23", + "@aws-sdk/signature-v4-multi-region": "^3.996.35", + "@aws-sdk/types": "^3.973.13", +>>>>>>> Stashed changes "@smithy/core": "^3.24.6", "@smithy/fetch-http-handler": "^5.4.6", "@smithy/node-http-handler": "^4.7.6", @@ -371,12 +532,21 @@ } }, "node_modules/@aws-sdk/signature-v4-multi-region": { +<<<<<<< Updated upstream "version": "3.996.32", "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.996.32.tgz", "integrity": "sha512-llvApLcsWtmRFhG2wT3WIp1CmDeRaIYutqty1ZZXoMzK7TiJ6MOLOimk9eXUS8PwgG4ew4pa4QAbt0lfhn++1w==", "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "^3.973.11", +======= + "version": "3.996.35", + "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.996.35.tgz", + "integrity": "sha512-6L/VWs+Wch2stHemCGTmUNqKLMzURxQDK5boNG3Jn3kAOp71meDUuS5sbObpEvFxHDq0uWeSLFDNSYsjNt+Dlg==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "^3.973.13", +>>>>>>> Stashed changes "@smithy/signature-v4": "^5.4.6", "@smithy/types": "^4.14.3", "tslib": "^2.6.2" @@ -386,6 +556,7 @@ } }, "node_modules/@aws-sdk/token-providers": { +<<<<<<< Updated upstream "version": "3.1063.0", "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.1063.0.tgz", "integrity": "sha512-nYDaWWdzjKiDP5xj8k4oUgcYd4WPgzfAOgdU5vJsaqH/07Dfvm7ffisHCFJ+NEl7kUC9JEIUxh0kznvenbo3NQ==", @@ -394,6 +565,16 @@ "@aws-sdk/core": "^3.974.18", "@aws-sdk/nested-clients": "^3.997.17", "@aws-sdk/types": "^3.973.11", +======= + "version": "3.1074.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.1074.0.tgz", + "integrity": "sha512-pv80IzgGW4RnXWtft692chZOM9i6PhebVsLCcnaM4dBEPZva2fE6FXAHs76G7Rc7s3yGyX/68G0nZMrUy+Vmpg==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "^3.974.23", + "@aws-sdk/nested-clients": "^3.997.23", + "@aws-sdk/types": "^3.973.13", +>>>>>>> Stashed changes "@smithy/core": "^3.24.6", "@smithy/types": "^4.14.3", "tslib": "^2.6.2" @@ -403,9 +584,15 @@ } }, "node_modules/@aws-sdk/types": { +<<<<<<< Updated upstream "version": "3.973.11", "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.973.11.tgz", "integrity": "sha512-YjS0qFuECClRh4qhEyW8XagW0fwEPBeZ1cfsW/gU73Kh/ExFILxbzxOfPCmzF/2DwEvhvsHYt0b0qnvStwKYrg==", +======= + "version": "3.973.13", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.973.13.tgz", + "integrity": "sha512-pEHZqRkAlHfnfAU9tK+WpKv/gBNjGJrHMgA3A0iYRGyswBS2t0pfez+lWlwktb3Bqa0ovh7w/QJTFwp3fDxLNg==", +>>>>>>> Stashed changes "license": "Apache-2.0", "dependencies": { "@smithy/types": "^4.14.3", @@ -416,9 +603,15 @@ } }, "node_modules/@aws-sdk/util-locate-window": { +<<<<<<< Updated upstream "version": "3.965.6", "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.965.6.tgz", "integrity": "sha512-ZfHjfwSzeXj+Lg9AK5ZNmeDkXev6V+w2tn1t4kgDdRtUaRCthepTQiFwbD06EF9oNGH4LaLg+Mb6U16Ypv5bSw==", +======= + "version": "3.965.8", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.965.8.tgz", + "integrity": "sha512-uUbMs1cBZPafD0ohUj6EwNf0fPZ534NvBxHox4hjX+0Rxq5paSYUem7+hi833pYrzrcnBATKIYpR02MDXT5M9g==", +>>>>>>> Stashed changes "license": "Apache-2.0", "dependencies": { "tslib": "^2.6.2" @@ -428,6 +621,7 @@ } }, "node_modules/@aws-sdk/xml-builder": { +<<<<<<< Updated upstream "version": "3.972.28", "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.972.28.tgz", "integrity": "sha512-lI/l3c/vPvsxmspzV63NfS3x9q4CkMmdhJy4QiM+NThAufVkDvi/PZZQ6xETnICL0UD7jI808pY83gllf86RFg==", @@ -435,6 +629,14 @@ "dependencies": { "@smithy/types": "^4.14.3", "fast-xml-parser": "5.7.3", +======= + "version": "3.972.31", + "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.972.31.tgz", + "integrity": "sha512-SzE4Pgyl+hDF+BuyuzxUSpwnuUu9lJuO1YGgteG89/4Qv0+2IQiVQqdbPV32IozLvXWQChPQcdkk/sKvb1QHiQ==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^4.14.3", +>>>>>>> Stashed changes "tslib": "^2.6.2" }, "engines": { @@ -451,14 +653,20 @@ } }, "node_modules/@azure-rest/core-client": { +<<<<<<< Updated upstream "version": "2.6.1", "resolved": "https://registry.npmjs.org/@azure-rest/core-client/-/core-client-2.6.1.tgz", "integrity": "sha512-KzI10qnkWTsVS2yRBUdc8NLUJ1rOm+292mYs7Pe9wqAj/jv4bRskVm1l8XkKeVTN0OCQtrU5RG0Yhjbz1Wmg7g==", +======= + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@azure-rest/core-client/-/core-client-2.7.0.tgz", + "integrity": "sha512-rL0lJqh1E8HLXNgjIw8cRyGAV/v+m6p1xRu/8OhsnmN8XHhwkyYJkAoGM+zrew96v7jZYPmVfy7pv7v4Iccfsg==", +>>>>>>> Stashed changes "license": "MIT", "dependencies": { "@azure/abort-controller": "^2.1.2", "@azure/core-auth": "^1.10.0", - "@azure/core-rest-pipeline": "^1.22.0", + "@azure/core-rest-pipeline": "^1.24.0", "@azure/core-tracing": "^1.3.0", "@typespec/ts-http-runtime": "^0.3.0", "tslib": "^2.6.2" @@ -493,6 +701,7 @@ "node": ">=20.0.0" } }, +<<<<<<< Updated upstream "node_modules/@azure/core-client": { "version": "1.10.2", "resolved": "https://registry.npmjs.org/@azure/core-client/-/core-client-1.10.2.tgz", @@ -528,6 +737,8 @@ "@azure/core-rest-pipeline": "^1.22.0" } }, +======= +>>>>>>> Stashed changes "node_modules/@azure/core-lro": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/@azure/core-lro/-/core-lro-3.3.1.tgz", @@ -641,26 +852,25 @@ } }, "node_modules/@azure/keyvault-keys": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/@azure/keyvault-keys/-/keyvault-keys-4.10.0.tgz", - "integrity": "sha512-eDT7iXoBTRZ2n3fLiftuGJFD+yjkiB1GNqzU2KbY1TLYeXeSPVTVgn2eJ5vmRTZ11978jy2Kg2wI7xa9Tyr8ag==", + "version": "4.10.2", + "resolved": "https://registry.npmjs.org/@azure/keyvault-keys/-/keyvault-keys-4.10.2.tgz", + "integrity": "sha512-VmUSLbXRAbSzDD8grXHGPaknYs0SKr3yuf6U+d4XMpX4XuVYskNqbTTwXce0zR1LyxfTZm9rWEBcvs3vdYwCmQ==", "license": "MIT", "dependencies": { "@azure-rest/core-client": "^2.3.3", "@azure/abort-controller": "^2.1.2", "@azure/core-auth": "^1.9.0", - "@azure/core-http-compat": "^2.2.0", "@azure/core-lro": "^2.7.2", "@azure/core-paging": "^1.6.2", "@azure/core-rest-pipeline": "^1.19.0", "@azure/core-tracing": "^1.2.0", "@azure/core-util": "^1.11.0", - "@azure/keyvault-common": "^2.0.0", + "@azure/keyvault-common": "^2.1.0", "@azure/logger": "^1.1.4", "tslib": "^2.8.1" }, "engines": { - "node": ">=18.0.0" + "node": ">=20.0.0" } }, "node_modules/@azure/keyvault-keys/node_modules/@azure/core-lro": { @@ -716,21 +926,37 @@ } }, "node_modules/@emnapi/core": { +<<<<<<< Updated upstream "version": "1.10.0", "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.10.0.tgz", "integrity": "sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==", +======= + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.11.1.tgz", + "integrity": "sha512-RSvbQmHzdKzNsLYa/wHrbc3KN4sYLKAdPZxqiM2HATqv/SBk2/ENSHpvXGaLOMcsAyz0poEGqkmmKYG3OWiJEQ==", +>>>>>>> Stashed changes "license": "MIT", "optional": true, "peer": true, "dependencies": { +<<<<<<< Updated upstream "@emnapi/wasi-threads": "1.2.1", +======= + "@emnapi/wasi-threads": "1.2.2", +>>>>>>> Stashed changes "tslib": "^2.4.0" } }, "node_modules/@emnapi/runtime": { +<<<<<<< Updated upstream "version": "1.10.0", "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.10.0.tgz", "integrity": "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==", +======= + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.11.1.tgz", + "integrity": "sha512-vgj7R3y3Wgx24IQaGPA/R6YFXLHVMOZ0uVEyIQPaWs+rd1AzfEMXlAC22FYwO1XkKR6NPsq7mUandH8oIRdZFw==", +>>>>>>> Stashed changes "license": "MIT", "optional": true, "peer": true, @@ -739,9 +965,15 @@ } }, "node_modules/@emnapi/wasi-threads": { +<<<<<<< Updated upstream "version": "1.2.1", "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.1.tgz", "integrity": "sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==", +======= + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.2.tgz", + "integrity": "sha512-c95qOXkHdydNKhscBTebqEC1CVAZpyqOfVfBzQ1qgzyl3gfeldUjIggDbIZgDKsHLgnsM+igH7TJ/eAasaVuMA==", +>>>>>>> Stashed changes "license": "MIT", "optional": true, "peer": true, @@ -1106,6 +1338,7 @@ } }, "node_modules/@napi-rs/wasm-runtime": { +<<<<<<< Updated upstream "version": "1.1.4", "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.4.tgz", "integrity": "sha512-3NQNNgA1YSlJb/kMH1ildASP9HW7/7kYnRI2szWJaofaS1hWmbGI4H+d3+22aGzXXN9IJ+n+GiFVcGipJP18ow==", @@ -1113,6 +1346,15 @@ "optional": true, "dependencies": { "@tybys/wasm-util": "^0.10.1" +======= + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.5.tgz", + "integrity": "sha512-AWPoBRJ9tsnVhor4sjO7rkni+7p+2IAEFj6cx06UgP10jkQHqay/36uRV/bFkgrh18D9vb4cr8Q0Pthskgzy+Q==", + "license": "MIT", + "optional": true, + "dependencies": { + "@tybys/wasm-util": "^0.10.2" +>>>>>>> Stashed changes }, "funding": { "type": "github", @@ -1122,6 +1364,7 @@ "@emnapi/core": "^1.7.1", "@emnapi/runtime": "^1.7.1" } +<<<<<<< Updated upstream }, "node_modules/@nodable/entities": { "version": "2.1.1", @@ -1143,6 +1386,17 @@ "dependencies": { "@aws-crypto/crc32": "5.2.0", "@smithy/types": "^4.14.3", +======= + }, + "node_modules/@smithy/core": { + "version": "3.26.0", + "resolved": "https://registry.npmjs.org/@smithy/core/-/core-3.26.0.tgz", + "integrity": "sha512-mLUktFAn+Pa2agl1J7VgtYNFWCX8/b4GMJSK1hCu4YCvtBfM6F8Os3EP4ry+DFFlXOf3wyvlgXhuUdFoy52D3g==", + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/crc32": "5.2.0", + "@smithy/types": "^4.15.0", +>>>>>>> Stashed changes "tslib": "^2.6.2" }, "engines": { @@ -1150,6 +1404,7 @@ } }, "node_modules/@smithy/credential-provider-imds": { +<<<<<<< Updated upstream "version": "4.3.8", "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-4.3.8.tgz", "integrity": "sha512-5cAM+KZC02sTqDt6NaLXyu50M/GNMd1eTzDVR8Lb0BBsVtu7RWHo47VPPEEv1vt3Yub6uzr+M5FHC+GtoT0USg==", @@ -1157,6 +1412,15 @@ "dependencies": { "@smithy/core": "^3.24.6", "@smithy/types": "^4.14.3", +======= + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-4.4.2.tgz", + "integrity": "sha512-18UMDMyrAbDcpmL1gLUA7ww0fRTcdCrSjSJOi2Sbld+tVjwD/pW+OAwjlScFLR7vvBnhZrIPQ7kVuTf1mnJLug==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/core": "^3.26.0", + "@smithy/types": "^4.15.0", +>>>>>>> Stashed changes "tslib": "^2.6.2" }, "engines": { @@ -1164,6 +1428,7 @@ } }, "node_modules/@smithy/fetch-http-handler": { +<<<<<<< Updated upstream "version": "5.4.6", "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-5.4.6.tgz", "integrity": "sha512-FEwEYJ1jlBKdhe9TPzfghEi1bP55ZeEImlDkEa62bBBYzUcnB6RUCyuiS2mqKt6ZVjUbBgcNhzfIctH+Hevx9g==", @@ -1171,6 +1436,15 @@ "dependencies": { "@smithy/core": "^3.24.6", "@smithy/types": "^4.14.3", +======= + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-5.5.2.tgz", + "integrity": "sha512-Ei/UK/QMhq0rKaMqGPlOAkE2yS9DZeYmZdk1RAKc3vp3zxgleZHZyBLlZv8yLsxljX4svCRuMTD6u3LLIcU4Bg==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/core": "^3.26.0", + "@smithy/types": "^4.15.0", +>>>>>>> Stashed changes "tslib": "^2.6.2" }, "engines": { @@ -1190,6 +1464,7 @@ } }, "node_modules/@smithy/node-http-handler": { +<<<<<<< Updated upstream "version": "4.7.7", "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-4.7.7.tgz", "integrity": "sha512-ZAFvHXrEk6K180EVhmZVg8GU5pUH5BSFqRs27JW3j1qEFx9YyYwWFx17x/MHcjALYimGAji7qEOlF1++be+G5A==", @@ -1197,6 +1472,15 @@ "dependencies": { "@smithy/core": "^3.24.6", "@smithy/types": "^4.14.3", +======= + "version": "4.8.2", + "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-4.8.2.tgz", + "integrity": "sha512-wfl1uwrAqMH9/pi4kqBo5LBcFwrJLxuDLqL7p7qNcJIFcyZDUc6pzhYk4CYv+DP7fIUpQCZumwNnkhPKS52osQ==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/core": "^3.26.0", + "@smithy/types": "^4.15.0", +>>>>>>> Stashed changes "tslib": "^2.6.2" }, "engines": { @@ -1204,6 +1488,7 @@ } }, "node_modules/@smithy/signature-v4": { +<<<<<<< Updated upstream "version": "5.4.6", "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-5.4.6.tgz", "integrity": "sha512-Ojg4B6oIDlIr1R86xCDJt1zJWnYa0VINmqdjfe9qxWjdRivHalZ3iSlQgVqYbW0MdpFOC5XfHEWsnbmdnpIILQ==", @@ -1211,6 +1496,15 @@ "dependencies": { "@smithy/core": "^3.24.6", "@smithy/types": "^4.14.3", +======= + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-5.5.2.tgz", + "integrity": "sha512-7xHpmPY4rt0IOmeAA8EfjgEH8isT+587TCdy9H6a7d4OMi5CQ0oEHhWllunvPu4j4Cq0vTFwdxXN/kABWPjdyA==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/core": "^3.26.0", + "@smithy/types": "^4.15.0", +>>>>>>> Stashed changes "tslib": "^2.6.2" }, "engines": { @@ -1218,9 +1512,15 @@ } }, "node_modules/@smithy/types": { +<<<<<<< Updated upstream "version": "4.14.3", "resolved": "https://registry.npmjs.org/@smithy/types/-/types-4.14.3.tgz", "integrity": "sha512-YupL0ZWmFtJexUN2cHzkvvF/b9pKrtAIfT1o7/oY/Ppu8IYeZ+lDPM5vZdQJaSeA132dJCqojjGC9NhXeF71VQ==", +======= + "version": "4.15.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-4.15.0.tgz", + "integrity": "sha512-Z5TAOxygoFvybJV3igo5SloFflSokHx2hu1eFA+DxDTcn+FtKxUSui+rbTRG1pAafMA888Z3MVvCWUuvCrTXjg==", +>>>>>>> Stashed changes "license": "Apache-2.0", "dependencies": { "tslib": "^2.6.2" @@ -1256,14 +1556,24 @@ } }, "node_modules/@swc/core": { +<<<<<<< Updated upstream "version": "1.15.40", "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.15.40.tgz", "integrity": "sha512-2kwzJikRvgtNAG7MwVZY2vEzZjTxKIq5jXOihuSV/8U+Hej8Va22t65aKnJZs3P+NwojZvR8Mf8kyM7O+V8sQg==", +======= + "version": "1.15.43", + "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.15.43.tgz", + "integrity": "sha512-1CuKjFkPxIgGdeHVuNbkxmBxkcbdc08u0aiI43pFq6yY1tTVKmXT9hFEooyyKs/sJ3xf1GPHyEwTtk9Xl8dvQw==", +>>>>>>> Stashed changes "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { "@swc/counter": "^0.1.3", +<<<<<<< Updated upstream "@swc/types": "^0.1.26" +======= + "@swc/types": "^0.1.27" +>>>>>>> Stashed changes }, "engines": { "node": ">=10" @@ -1273,6 +1583,7 @@ "url": "https://opencollective.com/swc" }, "optionalDependencies": { +<<<<<<< Updated upstream "@swc/core-darwin-arm64": "1.15.40", "@swc/core-darwin-x64": "1.15.40", "@swc/core-linux-arm-gnueabihf": "1.15.40", @@ -1285,6 +1596,20 @@ "@swc/core-win32-arm64-msvc": "1.15.40", "@swc/core-win32-ia32-msvc": "1.15.40", "@swc/core-win32-x64-msvc": "1.15.40" +======= + "@swc/core-darwin-arm64": "1.15.43", + "@swc/core-darwin-x64": "1.15.43", + "@swc/core-linux-arm-gnueabihf": "1.15.43", + "@swc/core-linux-arm64-gnu": "1.15.43", + "@swc/core-linux-arm64-musl": "1.15.43", + "@swc/core-linux-ppc64-gnu": "1.15.43", + "@swc/core-linux-s390x-gnu": "1.15.43", + "@swc/core-linux-x64-gnu": "1.15.43", + "@swc/core-linux-x64-musl": "1.15.43", + "@swc/core-win32-arm64-msvc": "1.15.43", + "@swc/core-win32-ia32-msvc": "1.15.43", + "@swc/core-win32-x64-msvc": "1.15.43" +>>>>>>> Stashed changes }, "peerDependencies": { "@swc/helpers": ">=0.5.17" @@ -1296,9 +1621,15 @@ } }, "node_modules/@swc/core-darwin-arm64": { +<<<<<<< Updated upstream "version": "1.15.40", "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.15.40.tgz", "integrity": "sha512-PaYyclfmQ++77D8ityYvmmVzHv9aG8ROwt2GfG6/ccloy4Hgf80qtOnzb9VYvPsUT7Ty1uhuDRhv3XYpf62qhQ==", +======= + "version": "1.15.43", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.15.43.tgz", + "integrity": "sha512-v1aVuvXdo/BHxJzco9V2xpHrvwWmhfS8t6gziY5wJxd+Z2h8AeJRnAwPD8itCDaGXVBwJ/CaKfxEzTkG0Va0OA==", +>>>>>>> Stashed changes "cpu": [ "arm64" ], @@ -1312,9 +1643,15 @@ } }, "node_modules/@swc/core-darwin-x64": { +<<<<<<< Updated upstream "version": "1.15.40", "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.15.40.tgz", "integrity": "sha512-HbbPzvfLBUXjIB1Ezks+//lNUjmLjfyd63XSwprJgrZaXYdm70kohXPJUWdqKZozolFxbPaO+xtBaiUp6BoueA==", +======= + "version": "1.15.43", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.15.43.tgz", + "integrity": "sha512-lp3d4Lamc8dt5huYdGLSR+9hLxmfr1jb0l+4XXG2zPqZwYWRN9R0U2qYoTrggiU2RWW0oV9VbWM3kBnqIc2kdQ==", +>>>>>>> Stashed changes "cpu": [ "x64" ], @@ -1328,9 +1665,15 @@ } }, "node_modules/@swc/core-linux-arm-gnueabihf": { +<<<<<<< Updated upstream "version": "1.15.40", "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.15.40.tgz", "integrity": "sha512-SlRZsCjOCPR2LvFs0Ri/Xrx/5o5TCt8vl4gW6mX1hEZOG0a625RxzRHpHdAQNGykmAN/7IeaFAJG+QnNmxlHcA==", +======= + "version": "1.15.43", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.15.43.tgz", + "integrity": "sha512-JWTQQELtsG5GgphDrr/XqqmM2pDN3cZqbMS0Mrg+iTiXL3F74sn/S2IyYE/5u4h2KLkTf9qQ7dXyxsbx7YzkeA==", +>>>>>>> Stashed changes "cpu": [ "arm" ], @@ -1344,9 +1687,15 @@ } }, "node_modules/@swc/core-linux-arm64-gnu": { +<<<<<<< Updated upstream "version": "1.15.40", "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.15.40.tgz", "integrity": "sha512-Q8byxJt2fh8CR3EUX6snBpy47AoBVm+In/+Z3rjDHMjC38ZvR9/gtUUNCT0tfrn4EdVsO8/QPi59nxrxvqxvBQ==", +======= + "version": "1.15.43", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.15.43.tgz", + "integrity": "sha512-B4otJRdPWIsmiSBf0uG7Z/+vMWmkufjz5MmYxubwKuZazDW14Zd3symga1N62QR4RT+kEFeHEgsXfZGyn/w0hw==", +>>>>>>> Stashed changes "cpu": [ "arm64" ], @@ -1360,9 +1709,15 @@ } }, "node_modules/@swc/core-linux-arm64-musl": { +<<<<<<< Updated upstream "version": "1.15.40", "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.15.40.tgz", "integrity": "sha512-4z0MgHU+7M0pZDqBN1El7mFXDI1SBwinfcUkAyA4v8QrhOIUOZltySt2aStQLZGrdXVXM4Y4ylfiTC04ED+MoQ==", +======= + "version": "1.15.43", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.15.43.tgz", + "integrity": "sha512-6zB6OnpViBxYy4tgY3v2i6AZY9fwkcHZ032UOwtwUuW1d19sdT07qF0kZe6/3UR1tUaK6jjg2rmVcUIBCEYVjQ==", +>>>>>>> Stashed changes "cpu": [ "arm64" ], @@ -1376,9 +1731,15 @@ } }, "node_modules/@swc/core-linux-ppc64-gnu": { +<<<<<<< Updated upstream "version": "1.15.40", "resolved": "https://registry.npmjs.org/@swc/core-linux-ppc64-gnu/-/core-linux-ppc64-gnu-1.15.40.tgz", "integrity": "sha512-fLI4iUgeSZu0eRWUXwe6YzPFx9gHbFiPkl8Rp3mJfP8OpNR3nTQCGPvHdDh9xniW7mVvgMY4ni7A4VzqI1KrpA==", +======= + "version": "1.15.43", + "resolved": "https://registry.npmjs.org/@swc/core-linux-ppc64-gnu/-/core-linux-ppc64-gnu-1.15.43.tgz", + "integrity": "sha512-coxE1ZWdB3uSDVNoEtYNrRi/1epvckZx9cTJ8ICUxTMTxGk+yvQ/Twacp3ruZSaMPGCriUjP86C37VhaT6nyRg==", +>>>>>>> Stashed changes "cpu": [ "ppc64" ], @@ -1392,9 +1753,15 @@ } }, "node_modules/@swc/core-linux-s390x-gnu": { +<<<<<<< Updated upstream "version": "1.15.40", "resolved": "https://registry.npmjs.org/@swc/core-linux-s390x-gnu/-/core-linux-s390x-gnu-1.15.40.tgz", "integrity": "sha512-YqeKMAb7d4nQSGMJQ454IlaCENpzcDqhvBE9+CPfdnYpnUXxd+BSrB6Xk0YjW8UyoEhUj4p6quATCxbsp6J3jg==", +======= + "version": "1.15.43", + "resolved": "https://registry.npmjs.org/@swc/core-linux-s390x-gnu/-/core-linux-s390x-gnu-1.15.43.tgz", + "integrity": "sha512-lXfLhs+LpBsD5inuYx+YDH5WsPPBQ95KPUiy8P5wq9ob9xKDZFqwNfU2QW6bGO8NqRO/H9JQomTSt5Yyh+FGfA==", +>>>>>>> Stashed changes "cpu": [ "s390x" ], @@ -1408,9 +1775,15 @@ } }, "node_modules/@swc/core-linux-x64-gnu": { +<<<<<<< Updated upstream "version": "1.15.40", "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.15.40.tgz", "integrity": "sha512-7HOuS1iGcme/j/TuL1TfmmLGiMQrjv/GmjyZeydl00FKPtpGXEldwqfI56xgd1YzrzoB2svWjxbGGyQ0TEASxg==", +======= + "version": "1.15.43", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.15.43.tgz", + "integrity": "sha512-07XnKwTmKy8TGOZG3D9fRnLWGynxPjwQnZLVmBFbo6F+7vHYzBIOuwXEhemrChBWb6yDNZsVCcMWCPX6FDD2xg==", +>>>>>>> Stashed changes "cpu": [ "x64" ], @@ -1424,9 +1797,15 @@ } }, "node_modules/@swc/core-linux-x64-musl": { +<<<<<<< Updated upstream "version": "1.15.40", "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.15.40.tgz", "integrity": "sha512-h4kZYHc7dpc9P9u4brRJaS8Pl7tPVHAeiLSzw7T5RfIJgAoSdaCMKzI/2Uay9gFhaw8uyCDl0L5q37r0EpAfIA==", +======= + "version": "1.15.43", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.15.43.tgz", + "integrity": "sha512-TJc+bsSIaBh+hZvZ5GRtW/K1bw66TJ9vsUwvVIsZdiWxU5ObLwZvfcnZ3UpgVfMnFibRes9uriJrQNBHEEogRQ==", +>>>>>>> Stashed changes "cpu": [ "x64" ], @@ -1440,9 +1819,15 @@ } }, "node_modules/@swc/core-win32-arm64-msvc": { +<<<<<<< Updated upstream "version": "1.15.40", "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.15.40.tgz", "integrity": "sha512-+mQgKZXSj6mV38Zh05QaxSjUDmGP/R2JWlXZTDLSPkDzHU6p3GxN9eeSf5dfyDVU86946fmCvSzyl/ucImx8+A==", +======= + "version": "1.15.43", + "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.15.43.tgz", + "integrity": "sha512-jfd7s2/bUQYkOHLs+LWQNKZdmDa8+sufKLllhpWAhVQ2GDCwsHe3vR/j+OSiItZNtkzFuaawa3+SAKz9y5gYfw==", +>>>>>>> Stashed changes "cpu": [ "arm64" ], @@ -1456,9 +1841,15 @@ } }, "node_modules/@swc/core-win32-ia32-msvc": { +<<<<<<< Updated upstream "version": "1.15.40", "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.15.40.tgz", "integrity": "sha512-yvwdPLGd25mcj/mNatjNQ0lZujtQD6psH3v9PNmMb+fSzjbNG8KIDxjFWrcV+fsFVLOkyOmdJsFmX7NAFjVyPw==", +======= + "version": "1.15.43", + "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.15.43.tgz", + "integrity": "sha512-rLAE8JvucqEW1ZGohxPQrQWPBQeJG4+ypKbWfdlU/qmKScvCkxf9/Jxnzki1dkUQCQ7P5Enp13RlvqOlvx/32g==", +>>>>>>> Stashed changes "cpu": [ "ia32" ], @@ -1472,9 +1863,15 @@ } }, "node_modules/@swc/core-win32-x64-msvc": { +<<<<<<< Updated upstream "version": "1.15.40", "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.15.40.tgz", "integrity": "sha512-OXtKsLU1bVtInzzDEAY2sYiF/rl4tvAnLLLpuMp3HzAOQZ5A+i69AKDhA1YLQTaMAqO3vzyYNVAYVRMPtSYD4w==", +======= + "version": "1.15.43", + "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.15.43.tgz", + "integrity": "sha512-h8MLDHZcfIukwQWj03rIJZx1I0E81AYj2X7J/nGErG4nz+QAv6G1Z+peotvinL3lqpbo32tLYSMFo32/ySzxKg==", +>>>>>>> Stashed changes "cpu": [ "x64" ], @@ -1494,18 +1891,30 @@ "license": "Apache-2.0" }, "node_modules/@swc/types": { +<<<<<<< Updated upstream "version": "0.1.26", "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.26.tgz", "integrity": "sha512-lyMwd7WGgG79RS7EERZV3T8wMdmPq3xwyg+1nmAM64kIhx5yl+juO2PYIHb7vTiPgPCj8LYjsNV2T5wiQHUEaw==", +======= + "version": "0.1.27", + "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.27.tgz", + "integrity": "sha512-K6h3iUlqeM946U4sXFYeahefR1YBbXJvko+hv8WS8/0BNJ4OHiHRywMnQUJCqkR7Y9+hqQ1TvEpiKqUhz7NEFg==", +>>>>>>> Stashed changes "license": "Apache-2.0", "dependencies": { "@swc/counter": "^0.1.3" } }, "node_modules/@swc/wasm": { +<<<<<<< Updated upstream "version": "1.15.40", "resolved": "https://registry.npmjs.org/@swc/wasm/-/wasm-1.15.40.tgz", "integrity": "sha512-FVS3SEJXBxjpxVUGSzaTaCdJjnXUalRftA/6hILMAJIcYHBoiBfJlxuH6s47iajlAJZP25e5Kf4HNHvvwyOEgw==", +======= + "version": "1.15.43", + "resolved": "https://registry.npmjs.org/@swc/wasm/-/wasm-1.15.43.tgz", + "integrity": "sha512-jYqeckrzZGAU+9OSfmL15MWfhkKWRCC8QMssL/MZu/MaIP76mU3VHjzqxlwKIz9DOSR/9jCqi1+QlWE0ILNehA==", +>>>>>>> Stashed changes "license": "Apache-2.0" }, "node_modules/@tsconfig/node10": { @@ -1537,9 +1946,15 @@ "license": "MIT" }, "node_modules/@tybys/wasm-util": { +<<<<<<< Updated upstream "version": "0.10.2", "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.2.tgz", "integrity": "sha512-RoBvJ2X0wuKlWFIjrwffGw1IqZHKQqzIchKaadZZfnNpsAYp2mM0h36JtPCjNDAHGgYez/15uMBpfGwchhiMgg==", +======= + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.3.tgz", + "integrity": "sha512-F3fo1MYrRJYL3zER0OUOmkutjr1Vp23m7OsSgp7nq4SP6OqX6C/56XFIPAl5bt3zaBRjmW7SGz3u/6LwFpYcOg==", +>>>>>>> Stashed changes "license": "MIT", "optional": true, "dependencies": { @@ -1636,9 +2051,15 @@ "license": "MIT" }, "node_modules/@types/node": { +<<<<<<< Updated upstream "version": "24.13.1", "resolved": "https://registry.npmjs.org/@types/node/-/node-24.13.1.tgz", "integrity": "sha512-RSpUJGmvsJ1ZeBehQZFhIdpsz+bIpES0nIQXko4Ybq+N+kX6XvOq3Jo+iJ82FWLdblFq85AsMikd3m35jgezYg==", +======= + "version": "24.13.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.13.2.tgz", + "integrity": "sha512-fRa09kZTgu8o71KFcDjUFuc7F+dEbZYZmkI0mg5YBTRs0yMKjYHsq/c0urDKeDb+D5qVgXOdFcuu+DZPKOITwA==", +>>>>>>> Stashed changes "license": "MIT", "dependencies": { "undici-types": "~7.18.0" @@ -1754,9 +2175,15 @@ } }, "node_modules/acorn": { +<<<<<<< Updated upstream "version": "8.16.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", +======= + "version": "8.17.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.17.0.tgz", + "integrity": "sha512-xRQbDb9BnwDafYNn6Vwl839DYVjqXYb1XVGtWAZ1kcDc6iwAL4hg3B1dZlRiuENFeO2H53gFG3in621AdERVAg==", +>>>>>>> Stashed changes "dev": true, "license": "MIT", "bin": { @@ -1919,9 +2346,15 @@ } }, "node_modules/axios": { +<<<<<<< Updated upstream "version": "1.17.0", "resolved": "https://registry.npmjs.org/axios/-/axios-1.17.0.tgz", "integrity": "sha512-J8SwNxprqqpbfenehxWYXE7CW+wM1BB4w3+N+g+/Wx40xM4rsLrfPmHHxSWIxJLYDgSY/HqlFPIYb2/S3rxafw==", +======= + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.18.1.tgz", + "integrity": "sha512-3nTvFlvpn9Zu/RkHUqtc7/+al4UpRW5az71ap5zccp6e8RAYEzhMTecX8Dz1wWDYrPpUoB1HAQEGEAEvUr7S9g==", +>>>>>>> Stashed changes "dev": true, "license": "MIT", "dependencies": { @@ -2043,20 +2476,32 @@ "license": "MIT" }, "node_modules/body-parser": { +<<<<<<< Updated upstream "version": "2.2.2", "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.2.tgz", "integrity": "sha512-oP5VkATKlNwcgvxi0vM0p/D3n2C3EReYVX+DNYs5TjZFn/oQt2j+4sVJtSMr18pdRr8wjTcBl6LoV+FUwzPmNA==", +======= + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.3.0.tgz", + "integrity": "sha512-2cGmJupaNgg+QUwVLAucDuWuoMZ6EX9iHDRswZ5lsNYEmwPaRknMPCLZz07yTzVq/83p4o/wzbDZbBrTvGGTIw==", +>>>>>>> Stashed changes "license": "MIT", "dependencies": { "bytes": "^3.1.2", - "content-type": "^1.0.5", + "content-type": "^2.0.0", "debug": "^4.4.3", - "http-errors": "^2.0.0", - "iconv-lite": "^0.7.0", + "http-errors": "^2.0.1", + "iconv-lite": "^0.7.2", "on-finished": "^2.4.1", +<<<<<<< Updated upstream "qs": "^6.14.1", "raw-body": "^3.0.1", "type-is": "^2.0.1" +======= + "qs": "^6.15.2", + "raw-body": "^3.0.2", + "type-is": "^2.1.0" +>>>>>>> Stashed changes }, "engines": { "node": ">=18" @@ -2066,6 +2511,19 @@ "url": "https://opencollective.com/express" } }, + "node_modules/body-parser/node_modules/content-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-2.0.0.tgz", + "integrity": "sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, "node_modules/bowser": { "version": "2.14.1", "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.14.1.tgz", @@ -2096,9 +2554,15 @@ } }, "node_modules/bson": { +<<<<<<< Updated upstream "version": "7.2.0", "resolved": "https://registry.npmjs.org/bson/-/bson-7.2.0.tgz", "integrity": "sha512-YCEo7KjMlbNlyHhz7zAZNDpIpQbd+wOEHJYezv0nMYTn4x31eIUM2yomNNubclAt63dObUzKHWsBLJ9QcZNSnQ==", +======= + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/bson/-/bson-7.3.0.tgz", + "integrity": "sha512-WmjjMEwFwZHmGnAb7wn90MhkiT+mTm4x/rLj7dvAPWfwnVWDXhLun2e+UM88MJoDGW624yzZglVX/zTBy9ZZMw==", +>>>>>>> Stashed changes "license": "Apache-2.0", "engines": { "node": ">=20.19.0" @@ -2914,6 +3378,7 @@ "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", "license": "MIT" }, +<<<<<<< Updated upstream "node_modules/fast-xml-builder": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/fast-xml-builder/-/fast-xml-builder-1.2.0.tgz", @@ -2951,6 +3416,8 @@ "fxparser": "src/cli/cli.js" } }, +======= +>>>>>>> Stashed changes "node_modules/fetch-blob": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", @@ -3046,17 +3513,17 @@ } }, "node_modules/form-data": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz", - "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==", + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.6.tgz", + "integrity": "sha512-vKatAh4SlVfgbv+YtmhiRjhEMJsYpsG1Y2rMQtR+SVSbytsSD1YGzDIcrAJmdFec88u/+VoGmxnl+80gL1tRCQ==", "dev": true, "license": "MIT", "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" + "hasown": "^2.0.4", + "mime-types": "^2.1.35" }, "engines": { "node": ">= 6" @@ -4113,9 +4580,15 @@ } }, "node_modules/mongodb": { +<<<<<<< Updated upstream "version": "7.2.0", "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-7.2.0.tgz", "integrity": "sha512-F/2+BMZtLVhY30ioZp0dAmZ+IRZMBqI+nrv6t5+9/1AIwCa8sMRC3jBf81lpxMhnZgqq8CoUD503Z1oZWq1/sw==", +======= + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-7.3.0.tgz", + "integrity": "sha512-WpCqSx7JAU9vcyjm/SU7ydnHls2YrfU3Y3sx4Ml9D7sPe4mXPlaapndiurDXrQ7/VvJkB4/i7b7WovHb8bd8sg==", +>>>>>>> Stashed changes "license": "Apache-2.0", "dependencies": { "@mongodb-js/saslprep": "^1.3.0", @@ -4721,9 +5194,15 @@ } }, "node_modules/semver": { +<<<<<<< Updated upstream "version": "7.8.2", "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.2.tgz", "integrity": "sha512-c8jsqUZm3omBOI66G90z1Dyw5z622G8oLG+omfsHBJf3CWQTlOcwOjvOG6wtiNfW6anKm/eA39LMwMtMez2TiQ==", +======= + "version": "7.8.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", + "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", +>>>>>>> Stashed changes "license": "ISC", "bin": { "semver": "bin/semver.js" @@ -4807,14 +5286,14 @@ "license": "ISC" }, "node_modules/side-channel": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", - "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.1.tgz", + "integrity": "sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ==", "license": "MIT", "dependencies": { "es-errors": "^1.3.0", - "object-inspect": "^1.13.3", - "side-channel-list": "^1.0.0", + "object-inspect": "^1.13.4", + "side-channel-list": "^1.0.1", "side-channel-map": "^1.0.1", "side-channel-weakmap": "^1.0.2" }, @@ -5023,6 +5502,7 @@ "node": ">=0.10.0" } }, +<<<<<<< Updated upstream "node_modules/strnum": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/strnum/-/strnum-2.3.0.tgz", @@ -5035,6 +5515,8 @@ ], "license": "MIT" }, +======= +>>>>>>> Stashed changes "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 10dd268..78687d6 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -1031,9 +1031,15 @@ "license": "MIT" }, "node_modules/@rollup/rollup-android-arm-eabi": { +<<<<<<< Updated upstream "version": "4.61.1", "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.61.1.tgz", "integrity": "sha512-JnBB8MdXj45cajvTuO5FmPlvFVJRQgvrz1uSEl3NwqFnReAPGwb8EanbGi4z2nRaqLzjJSv5/JmycoTKlRZxHA==", +======= + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.62.2.tgz", + "integrity": "sha512-6o7ZLZK+BeenkZCFNDXqpbjw9bD6nuWonvS/lwQJp7NoVVxm6p3qE7qQ5jGuBjiFsgvqjD8mZAU5oWxTmbOeOg==", +>>>>>>> Stashed changes "cpu": [ "arm" ], @@ -1045,9 +1051,15 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { +<<<<<<< Updated upstream "version": "4.61.1", "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.61.1.tgz", "integrity": "sha512-Jx2g7iSjw4AOT0HDPHM9RV3GNjRXwybWtSFZiZAYUTjUwjVrYIwq3kBf+LnhqJlzXFAqTAh2F7IGI+O568exPw==", +======= + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.62.2.tgz", + "integrity": "sha512-BaH7BllCACHoH1LguOU56UItGfUWjujlO65kS9LAodViaN4bwIKd7oeW/ZHJ/4ljr/7MIiENnNy3HJ0zXv8Zkw==", +>>>>>>> Stashed changes "cpu": [ "arm64" ], @@ -1059,9 +1071,15 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { +<<<<<<< Updated upstream "version": "4.61.1", "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.61.1.tgz", "integrity": "sha512-0F1L/Z3Eqv8mT2n3dCpeO8GcTvHvVqkP5/t6DMsn0KzhYVcg+s7Ncl5DS8qjKYEeio6Az0Gt6nyBORay5qIlCA==", +======= + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.62.2.tgz", + "integrity": "sha512-v39RCCvj4He82I9sFmk+M1VZ0PLM9sfsLVikjfx2hYBNALhrrOR2D3JjQA6AhlaSOgcR+RzrKY7e1+bT6SUO/A==", +>>>>>>> Stashed changes "cpu": [ "arm64" ], @@ -1073,9 +1091,15 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { +<<<<<<< Updated upstream "version": "4.61.1", "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.61.1.tgz", "integrity": "sha512-qLttcH871ujY4YcVfUSShhOw+CsoTatYz8gRbHO7Bb92QH059/P0y5do1KMs41fY0BpD2x4AJH/gID0zFiqVKQ==", +======= + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.62.2.tgz", + "integrity": "sha512-yl0y2vq3S3lHeuXhEdss6TWfKW8vkujImO12tn4ZkG/4oghr09LvdYm2RElVjokTQiUvDUGXLGsYeLqUMCKpGA==", +>>>>>>> Stashed changes "cpu": [ "x64" ], @@ -1087,9 +1111,15 @@ ] }, "node_modules/@rollup/rollup-freebsd-arm64": { +<<<<<<< Updated upstream "version": "4.61.1", "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.61.1.tgz", "integrity": "sha512-fUI4RapGE0Oh3mb8mgfvC1O2nU1RpDZUKnDQm3xB1Ipg7C2wTs5Kstz7G2uWK99a8S2yTMq8/P4uycwNa0nJyw==", +======= + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.62.2.tgz", + "integrity": "sha512-tT4pvt4qXD+vEoezupCWi+a1F0vvDiksiHc+PxRlYTOH1I6/X4id9jPxTP+Fg+545euaFT1jJVs4CEdHZAU1vw==", +>>>>>>> Stashed changes "cpu": [ "arm64" ], @@ -1101,9 +1131,15 @@ ] }, "node_modules/@rollup/rollup-freebsd-x64": { +<<<<<<< Updated upstream "version": "4.61.1", "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.61.1.tgz", "integrity": "sha512-H5YrdvJaDtI/U9/emrD4b++xkvp3y/JvOe4rizHbxvkyMfRS/CiRYdji+Pl8D0brEaNFWUh1drQxgAGIl6Xudw==", +======= + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.62.2.tgz", + "integrity": "sha512-6nU5F2wCW+qvCBhTn1pdIU3bzsIoF7EUwsCDRxilWGprQR6yd508YnH9+OKFCwpfS8pjZqDUmnCAr7exax0XCg==", +>>>>>>> Stashed changes "cpu": [ "x64" ], @@ -1115,9 +1151,15 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { +<<<<<<< Updated upstream "version": "4.61.1", "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.61.1.tgz", "integrity": "sha512-Q8CBCCQtDFrYtXoeUXSrnFXKOnyUhx6bz+SkL6A0E7V8kAiCJ5pamq1WtbfpVGhR5TSpXY6ak3avmDc5fHTyJA==", +======= + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.62.2.tgz", + "integrity": "sha512-n1GJHPOvpIfhi3TmrCeh6S6URt9BFCt0KQE3qvexyGCTAKpR4Lg+eWvNZEqu7epxwus/8ElT3hacYEucm49SZg==", +>>>>>>> Stashed changes "cpu": [ "arm" ], @@ -1129,9 +1171,15 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { +<<<<<<< Updated upstream "version": "4.61.1", "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.61.1.tgz", "integrity": "sha512-nwnhk1581l0FBVellGcVCAT0Oi06onEA3WB53sf01VO3I0UPBkMH9sXONYME2K0ovXcNayJfNtHfm6mpJElatQ==", +======= + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.62.2.tgz", + "integrity": "sha512-JqgflS8wEB+UXV/vS1RpRbifGBeN4D5lz8D8oOFbFZw4vedvdOgCFAjfBmIMdW3yL10XpQQ0Ambepw6MXrhOnA==", +>>>>>>> Stashed changes "cpu": [ "arm" ], @@ -1143,9 +1191,15 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { +<<<<<<< Updated upstream "version": "4.61.1", "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.61.1.tgz", "integrity": "sha512-x5Xr49hwt3hdW75UOZm3395YwwzPyauktslv29KpWL/T+vVAzoT3azLcTWv0eMciBNrx+DYjH4paehHoLpPvpg==", +======= + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.62.2.tgz", + "integrity": "sha512-wnFJkogWvN4jm/hQRF2UBaeUmk20j5+DmHvoyWii2b8HJDyvz1MF2OU/6ynXt2KR63rbZLWkFpoytpdc/yBuSA==", +>>>>>>> Stashed changes "cpu": [ "arm64" ], @@ -1157,9 +1211,15 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { +<<<<<<< Updated upstream "version": "4.61.1", "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.61.1.tgz", "integrity": "sha512-unMS3H73DpaoPyyEVPjGKleM/s0mkmsauTENpw4INQY8y4+IuLNjkueQ5QCtC0D3N38Y38yhAU8OoZ20S2Tm6w==", +======= + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.62.2.tgz", + "integrity": "sha512-HVu2bp0zhvJ8xHEV9+UUs7S90VadmBSY3LcIMvozbPo4AuMGDWlz3ymHLHZPX4hR67TKTt8Qp5PJ5RBg/i+RMQ==", +>>>>>>> Stashed changes "cpu": [ "arm64" ], @@ -1171,9 +1231,15 @@ ] }, "node_modules/@rollup/rollup-linux-loong64-gnu": { +<<<<<<< Updated upstream "version": "4.61.1", "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.61.1.tgz", "integrity": "sha512-zNZzGRnAhwjFEYmvphJRV5XaQGjs62cCmeYYHUT//NbvEnHauw+I85nGG+SiVg5ld4GX8D1IbKIX+ozITQnhMQ==", +======= + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.62.2.tgz", + "integrity": "sha512-mQqqAV8QaoSgr9I2fKDLY2BAVvmKjWoGiu/cSYQonsLvtqwEn1E4QYfnCOcp5zoEqNhsDYin1s6jx/VJmrxlZg==", +>>>>>>> Stashed changes "cpu": [ "loong64" ], @@ -1185,9 +1251,15 @@ ] }, "node_modules/@rollup/rollup-linux-loong64-musl": { +<<<<<<< Updated upstream "version": "4.61.1", "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.61.1.tgz", "integrity": "sha512-LdpWGL8X209B2SIvWjqlc8VZgM6PKfontSerGepuldQmHYrAOtnMCXeJkxXGbC+PPZVOuu5czJo7fNV6aeW8rQ==", +======= + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.62.2.tgz", + "integrity": "sha512-IxKLoxCQ2IWi6bT2akyDUBGsOImDKB+sPp4EsTmwFQ/fMwpCKm8uLSSgP/Kx/QYUgKis6SEZ5/Nlhup0DIA0PQ==", +>>>>>>> Stashed changes "cpu": [ "loong64" ], @@ -1199,9 +1271,15 @@ ] }, "node_modules/@rollup/rollup-linux-ppc64-gnu": { +<<<<<<< Updated upstream "version": "4.61.1", "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.61.1.tgz", "integrity": "sha512-EC5kTtNaNGOmbMGqar8dvJy6y/hg99GAwjfBz++pxZhQATXGcRjd6c5en5wcbru0vkRmiMGsQKdMJOOf6sza4g==", +======= + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.62.2.tgz", + "integrity": "sha512-Mk5ha2RQSgyFfmYYLkBpPnUk8D8FriBxesO1u9O75X0mHgXL1UQcH5Itl2lurWL2tj0RxV9b9tJgipac0hRY9A==", +>>>>>>> Stashed changes "cpu": [ "ppc64" ], @@ -1213,9 +1291,15 @@ ] }, "node_modules/@rollup/rollup-linux-ppc64-musl": { +<<<<<<< Updated upstream "version": "4.61.1", "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.61.1.tgz", "integrity": "sha512-8hiwp6D4acEcNK78I4rP0/XtS1sknWIAMJBPdR4l6zUtyTm5KiTDr5bXmWt4foY7nAN7AThDHgkLIEZOWKbzWw==", +======= + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.62.2.tgz", + "integrity": "sha512-CjvEnqJL/0/TQ3TXX3OPIJ/kmBellrWd4heXUmHeJlTnmwjKpSJzoehLaL6Xk0ZnMHBu9dZuFADNOrtjF4v+2w==", +>>>>>>> Stashed changes "cpu": [ "ppc64" ], @@ -1227,9 +1311,15 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { +<<<<<<< Updated upstream "version": "4.61.1", "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.61.1.tgz", "integrity": "sha512-10dh/h/BqA7DuMPWSxkR8uks18FRwnwOEqr5zOTEl+NOwP/OMzKX8OFR/Of9xxDA7D5qef1Nzar5WDD2kCCr1g==", +======= + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.62.2.tgz", + "integrity": "sha512-1SiZbzwdkaDURsew/tSOrooKiYy7EQGT6m8ufavAi9NEyQb/6VuIxFXAL1fqa4iZe3g4NbNk4P7J32z2tw5Mgg==", +>>>>>>> Stashed changes "cpu": [ "riscv64" ], @@ -1241,9 +1331,15 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-musl": { +<<<<<<< Updated upstream "version": "4.61.1", "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.61.1.tgz", "integrity": "sha512-YKJ5lg35DP17gcAOggnihe+APw9HLyj1Xn7gsmGumBJAUDa6NGXNixJzmkWLhcK9TOuuyQjdamzvJefkO7qHZQ==", +======= + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.62.2.tgz", + "integrity": "sha512-nQts12zJ3NQRoE6uYljOH89v7szzLDvG2JD/vsX+vGXU8w/At1GowTZ5/7qeFQ8m7L55rpR8Okugnuo5bgjy2Q==", +>>>>>>> Stashed changes "cpu": [ "riscv64" ], @@ -1255,9 +1351,15 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { +<<<<<<< Updated upstream "version": "4.61.1", "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.61.1.tgz", "integrity": "sha512-Mlil5G2Jj6a7B3LWGctg+XPL9vdXYuzCtNXfxOQ0nPjc2m6ueUktocPGH9bnAM0bNRKb/bAWTujUU7IJQdQA+g==", +======= + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.62.2.tgz", + "integrity": "sha512-E9/ll019jhPIJgpzfZoIkBGhcz+kKNgVWYRY0zr9srBdPPFVpvOKW8VaJKUbeK+eZXyQF9ltME+Kk6affeaPgg==", +>>>>>>> Stashed changes "cpu": [ "s390x" ], @@ -1269,9 +1371,15 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { +<<<<<<< Updated upstream "version": "4.61.1", "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.61.1.tgz", "integrity": "sha512-bVWIOIk6pV01p4CdUbPP7CJ/434z+OooYjDuFcR+44N35YvKUC66G8MGnvcWx5mWKW3g61J+t74l3Kj15Kwn2Q==", +======= + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.62.2.tgz", + "integrity": "sha512-5BqxR/pshjey51iliyzTD5Xi3EN0aLmQ2lZ3lvefVV9c82BvrLo2/6OT55iifpWBufs6kdwWbuOKS841DrmK9A==", +>>>>>>> Stashed changes "cpu": [ "x64" ], @@ -1283,9 +1391,15 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { +<<<<<<< Updated upstream "version": "4.61.1", "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.61.1.tgz", "integrity": "sha512-qy5pBvZbqNFheBz61R1rzsezjm0J7O2oNGoWtGoY89SZYLUfxAJTBAqDChqAIdB4rCiIbi9nF7yZ83GnNiLwSw==", +======= + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.62.2.tgz", + "integrity": "sha512-uNN83XxQrRAh/w0/pmAfibcwyb6YWt4gP+dpnQKPVJshAloQ785ii8CT8ZCIxkGg9opVsvAlGhFitSm6D1Jjpg==", +>>>>>>> Stashed changes "cpu": [ "x64" ], @@ -1297,9 +1411,15 @@ ] }, "node_modules/@rollup/rollup-openbsd-x64": { +<<<<<<< Updated upstream "version": "4.61.1", "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.61.1.tgz", "integrity": "sha512-E83TXjI4zm0+5f2qO+UOudaCYIhYwpJ5jq6YCZNIZ+6CbfhKrkAGezeiASBL9ElxAxFsRS9ZhESv8mfnj6TKeg==", +======= + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.62.2.tgz", + "integrity": "sha512-srjEIxSH3LRnJN6THczDHWQplqEMFiAJrTab0msUryh9kwNpkICf3Ea6q6MN/2cZwRFUNx5w+h6Hpi4QuHS6Zg==", +>>>>>>> Stashed changes "cpu": [ "x64" ], @@ -1311,9 +1431,15 @@ ] }, "node_modules/@rollup/rollup-openharmony-arm64": { +<<<<<<< Updated upstream "version": "4.61.1", "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.61.1.tgz", "integrity": "sha512-fbWnKqVkjrJN38vNe3ahkbk6iejS/3b0Nt7EEtPpE6RBacZcGXNKbzfHN3GUUlXOPghUg0j6XUGrtjX9z1sIvA==", +======= + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.62.2.tgz", + "integrity": "sha512-8hOJnxgbyObnCm5AlRA3A931xX19xq80RjVTKgJOvEKWqJruP/Uf12IbAOaDjjEXYRewwHLfmF0YRIdK3OwKWA==", +>>>>>>> Stashed changes "cpu": [ "arm64" ], @@ -1325,9 +1451,15 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { +<<<<<<< Updated upstream "version": "4.61.1", "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.61.1.tgz", "integrity": "sha512-ArMl38iVAbk0New1ogihQNY6iphLi4ZaRsa037gUzv5yeKPY8TD3Dmy4x2RNC1VztU/uqm+G+/RwFrSka3Oy2g==", +======= + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.62.2.tgz", + "integrity": "sha512-mmF4AY1i0hG/bLWUctUq59gtmgaSIRa3cu/A3JFRp/sCNEme2bgDEiDS22P9FbnJB8NJNF4jPJiSP5RHQpUTDg==", +>>>>>>> Stashed changes "cpu": [ "arm64" ], @@ -1339,9 +1471,15 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { +<<<<<<< Updated upstream "version": "4.61.1", "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.61.1.tgz", "integrity": "sha512-0mYtjHS9ucAbcATycCNK9IGBk/cCe/ma7EmSLGZdsxnOA8cjRIyU04wDpVAD9NiOfLUR9KTxdiO53uOkherqjQ==", +======= + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.62.2.tgz", + "integrity": "sha512-DZgkknc6jhHrk46V25vbAM0zZkyP0nSDkJB8/dRkLTxv470dOmWDqGoEJl/9A0dFfS7yE3REOwNDxpHwSLSt0Q==", +>>>>>>> Stashed changes "cpu": [ "ia32" ], @@ -1353,9 +1491,15 @@ ] }, "node_modules/@rollup/rollup-win32-x64-gnu": { +<<<<<<< Updated upstream "version": "4.61.1", "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.61.1.tgz", "integrity": "sha512-gK1iCEPfpoSG9wfBihXxvBMi8ZfcWffYkEsC/Eih+iFENTaewvNcrEQ69lIOWYO5pePHKLHHO7nq5AILGO/HQQ==", +======= + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.62.2.tgz", + "integrity": "sha512-T6xr6ucWSFto+VGajA8YH26LdpHRuP4YLHEKAtCWvJDOlnmWcDZVCI2Jmjr+IFHDlt2zRaTAKE4tfjTaWLgJBg==", +>>>>>>> Stashed changes "cpu": [ "x64" ], @@ -1367,9 +1511,15 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { +<<<<<<< Updated upstream "version": "4.61.1", "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.61.1.tgz", "integrity": "sha512-X+zaP2x+j4RXGfbp/seSoRHWnPxzApilDszisZxbYH5C/jTxFhCtDNdPGZb9lJyYPs24wGxruPF7Y+sIXt9Gzw==", +======= + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.62.2.tgz", + "integrity": "sha512-BfzEnDJOt9T8M989/lA37EcJgat01wLRnoi5dQf3QzOH7jzpqTAzdDbVfRljVr5r+jzKqpbHeyOfAaXxAd0PAA==", +>>>>>>> Stashed changes "cpu": [ "x64" ], @@ -1481,9 +1631,15 @@ } }, "node_modules/acorn": { +<<<<<<< Updated upstream "version": "8.16.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", +======= + "version": "8.17.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.17.0.tgz", + "integrity": "sha512-xRQbDb9BnwDafYNn6Vwl839DYVjqXYb1XVGtWAZ1kcDc6iwAL4hg3B1dZlRiuENFeO2H53gFG3in621AdERVAg==", +>>>>>>> Stashed changes "dev": true, "license": "MIT", "bin": { @@ -1551,9 +1707,15 @@ "license": "MIT" }, "node_modules/baseline-browser-mapping": { +<<<<<<< Updated upstream "version": "2.10.34", "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.34.tgz", "integrity": "sha512-IMDedajPifLnHNY0X9n8hKxRTQ6/eTHwr5bDo04WnuqxyKw6LYtQywCuuqPZwhl3aBXMvQpJov42GLCwRRdQzw==", +======= + "version": "2.10.38", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.38.tgz", + "integrity": "sha512-31/02mVB4yuQU6adKk5SlY6m+mxDwUq5KZkyYgnLrrKl7TEm1+3PyDtDBz2kOv/wxZz41GHsvV1A/u6RmiyBvw==", +>>>>>>> Stashed changes "dev": true, "license": "Apache-2.0", "bin": { @@ -1575,9 +1737,15 @@ } }, "node_modules/browserslist": { +<<<<<<< Updated upstream "version": "4.28.2", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.2.tgz", "integrity": "sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==", +======= + "version": "4.28.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.4.tgz", + "integrity": "sha512-MTc8i/x9jBQd1iMw2CFGS+rwMa07eYjLR0CCTLDACl9xhxy+nIs3KeML/biicXtk9JrZ6dnnTatmc7ErPXIxqw==", +>>>>>>> Stashed changes "dev": true, "funding": [ { @@ -1595,10 +1763,17 @@ ], "license": "MIT", "dependencies": { +<<<<<<< Updated upstream "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.38", + "caniuse-lite": "^1.0.30001799", + "electron-to-chromium": "^1.5.376", + "node-releases": "^2.0.48", +>>>>>>> Stashed changes "update-browserslist-db": "^1.2.3" }, "bin": { @@ -1619,9 +1794,15 @@ } }, "node_modules/caniuse-lite": { +<<<<<<< Updated upstream "version": "1.0.30001797", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001797.tgz", "integrity": "sha512-l8xKG+gwAIExZGl9FrF7KUwuOmk6wbEPC9Xoy/RtnWv1XG0Q4LFlagaLpUv3Kiza3W/wm27zy0yWJEieYKAP6w==", +======= + "version": "1.0.30001799", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001799.tgz", + "integrity": "sha512-hG1bReV+OUU+MOqK4t/ZWI0tZOyz3rqS9XuhOUz1cIcbwBKjOyJEJuw9ER5JuNyqxNk8u/JUVbGibBOL1yrjFw==", +>>>>>>> Stashed changes "dev": true, "funding": [ { @@ -1751,9 +1932,15 @@ "license": "MIT" }, "node_modules/electron-to-chromium": { +<<<<<<< Updated upstream "version": "1.5.368", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.368.tgz", "integrity": "sha512-7RckJJK4uESJF9PxvfMWd3TGqIiieUTG4HxnKaKuIpGbcr+r2ZEB3g2gAhCP3Fqm42vJSzLfgab9eva/C4/XVw==", +======= + "version": "1.5.378", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.378.tgz", + "integrity": "sha512-VinvOAuuPmdD1guEgGv5f2Qp7/vlfqOrUOMYNnOD4wj3pit8kRsQHzfIf6teyUGWo15Tg5+bOJaRunvyltpVWQ==", +>>>>>>> Stashed changes "dev": true, "license": "ISC" }, @@ -2417,9 +2604,15 @@ "license": "MIT" }, "node_modules/nanoid": { +<<<<<<< Updated upstream "version": "3.3.12", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.12.tgz", "integrity": "sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==", +======= + "version": "3.3.15", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.15.tgz", + "integrity": "sha512-y7Wygv/7mEOvxTuEQDB8StXdMRBWf1kR/tlhAzBRUFkB2jfcLOAxO/SHmOO2zgz1pVgK29/kyupn059/bCHdjA==", +>>>>>>> Stashed changes "dev": true, "funding": [ { @@ -2443,9 +2636,15 @@ "license": "MIT" }, "node_modules/node-releases": { +<<<<<<< Updated upstream "version": "2.0.47", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.47.tgz", "integrity": "sha512-Uzmd6LXpouKo8EUK68IjH4+E01w/hXyV3R3g/geCJo+rXLNfh1xucB+LOzYEOQPSiUK3h/xZf0cQGcSsmyL2Og==", +======= + "version": "2.0.49", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.49.tgz", + "integrity": "sha512-f06bl1D+8ZDkn2oOQQKAh5/otFWqVnM1Q5oerA8Pex7UfT66Tx4IPHIqVVFKqFT3FUtaDstdgkM7yT7JWhqxfw==", +>>>>>>> Stashed changes "dev": true, "license": "MIT", "engines": { @@ -2636,9 +2835,15 @@ } }, "node_modules/react-router": { +<<<<<<< Updated upstream "version": "7.17.0", "resolved": "https://registry.npmjs.org/react-router/-/react-router-7.17.0.tgz", "integrity": "sha512-FDELK7rTMlCHO5+reyXsPlmfr7N1F91lPHsWYfMEGQm/KQ+F4JFM8jGoeQDmDvdTs93Fw9aSilH+uKRb4/jXvQ==", +======= + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-7.18.0.tgz", + "integrity": "sha512-pTTGt8J+ji1NOmYnjzT+bAJy/1zD+Jp4ziO6cL7T3ZLvXKtusO7BpFqlRXitqpcPVqllsIXFHRMt+2/k3Xn6HQ==", +>>>>>>> Stashed changes "license": "MIT", "dependencies": { "cookie": "^1.0.1", @@ -2658,12 +2863,21 @@ } }, "node_modules/react-router-dom": { +<<<<<<< Updated upstream "version": "7.17.0", "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-7.17.0.tgz", "integrity": "sha512-fyU2yjGups/hE6Xz0I5ZYbVL8Gx29eCjgpHaRaTaVU+OOAdfRX05KsvyRm0GO8YQwOkhpU3MurW1jyMUJn+zSw==", "license": "MIT", "dependencies": { "react-router": "7.17.0" +======= + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-7.18.0.tgz", + "integrity": "sha512-Fi0yY6kgtKae/Th2xibdWK0KSdYZ4B53Gyf6wRtomOKWgpNm7H7+DyfDhncdz9FKbpS+1jmDhg3F4WoGJ+yFOA==", + "license": "MIT", + "dependencies": { + "react-router": "7.18.0" +>>>>>>> Stashed changes }, "engines": { "node": ">=20.0.0" @@ -2684,9 +2898,15 @@ } }, "node_modules/rollup": { +<<<<<<< Updated upstream "version": "4.61.1", "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.61.1.tgz", "integrity": "sha512-I4KW6iuRpuu2uHBLraZ1wNZe0DP7lnRha+VJ9tNaYVaVgKhW0aI3h4RYnoRPeql0flHm/Co55b7snEDcOfOJrA==", +======= + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.62.2.tgz", + "integrity": "sha512-RFnrW4lhXA3s3eqHDZvN654g8OTjzRfqpIRJYczCGB6HzphckVAi/Qh4tbPUbRuDi7s1Llv8g/NspLkttY3gTA==", +>>>>>>> Stashed changes "dev": true, "license": "MIT", "dependencies": { @@ -2700,6 +2920,7 @@ "npm": ">=8.0.0" }, "optionalDependencies": { +<<<<<<< Updated upstream "@rollup/rollup-android-arm-eabi": "4.61.1", "@rollup/rollup-android-arm64": "4.61.1", "@rollup/rollup-darwin-arm64": "4.61.1", @@ -2725,6 +2946,33 @@ "@rollup/rollup-win32-ia32-msvc": "4.61.1", "@rollup/rollup-win32-x64-gnu": "4.61.1", "@rollup/rollup-win32-x64-msvc": "4.61.1", +======= + "@rollup/rollup-android-arm-eabi": "4.62.2", + "@rollup/rollup-android-arm64": "4.62.2", + "@rollup/rollup-darwin-arm64": "4.62.2", + "@rollup/rollup-darwin-x64": "4.62.2", + "@rollup/rollup-freebsd-arm64": "4.62.2", + "@rollup/rollup-freebsd-x64": "4.62.2", + "@rollup/rollup-linux-arm-gnueabihf": "4.62.2", + "@rollup/rollup-linux-arm-musleabihf": "4.62.2", + "@rollup/rollup-linux-arm64-gnu": "4.62.2", + "@rollup/rollup-linux-arm64-musl": "4.62.2", + "@rollup/rollup-linux-loong64-gnu": "4.62.2", + "@rollup/rollup-linux-loong64-musl": "4.62.2", + "@rollup/rollup-linux-ppc64-gnu": "4.62.2", + "@rollup/rollup-linux-ppc64-musl": "4.62.2", + "@rollup/rollup-linux-riscv64-gnu": "4.62.2", + "@rollup/rollup-linux-riscv64-musl": "4.62.2", + "@rollup/rollup-linux-s390x-gnu": "4.62.2", + "@rollup/rollup-linux-x64-gnu": "4.62.2", + "@rollup/rollup-linux-x64-musl": "4.62.2", + "@rollup/rollup-openbsd-x64": "4.62.2", + "@rollup/rollup-openharmony-arm64": "4.62.2", + "@rollup/rollup-win32-arm64-msvc": "4.62.2", + "@rollup/rollup-win32-ia32-msvc": "4.62.2", + "@rollup/rollup-win32-x64-gnu": "4.62.2", + "@rollup/rollup-win32-x64-msvc": "4.62.2", +>>>>>>> Stashed changes "fsevents": "~2.3.2" } }, From b58d6dee8d39df4141fc247ed4365c0d89a29480 Mon Sep 17 00:00:00 2001 From: jordancj Date: Thu, 25 Jun 2026 16:12:40 +1000 Subject: [PATCH 14/48] add api endpoints for creating incidents --- api/src/index.ts | 65 +++++++++++++++++++++++++--- api/src/middleware/sanitiseInputs.ts | 58 +++++++++++++++++++++++++ 2 files changed, 117 insertions(+), 6 deletions(-) diff --git a/api/src/index.ts b/api/src/index.ts index 10f05b3..ed3564e 100644 --- a/api/src/index.ts +++ b/api/src/index.ts @@ -14,7 +14,7 @@ import helmet from 'helmet'; import { promisify } from 'util'; import { authLimiter, attendanceLimiter, adminLimiter } from './middleware/rateLimit'; import MongoStore from 'connect-mongo'; -import { sanitizeReportingRunInput, sanitizeReportingExportInput, sanitizeAttendanceInput, sanitizeUpdatedUser, sanitizeUser } from './middleware/sanitiseInputs' +import { sanitizeIncidentCreation, sanitizeReportingRunInput, sanitizeReportingExportInput, sanitizeAttendanceInput, sanitizeUpdatedUser, sanitizeUser } from './middleware/sanitiseInputs' import { errorHandler } from './middleware/errorHandle' dotenv.config(); @@ -44,6 +44,7 @@ if (process.env.NODE_ENV === 'development') { app.use(cors(corsOptions)); app.use(express.json()); import session from 'express-session'; +import { time } from 'console'; app.use( session({ @@ -63,10 +64,10 @@ app.use( proxy: true, cookie: { - httpOnly: true, - secure: isProd, - sameSite: isProd ? "none" : "lax", - maxAge: 60 * 60 * 1000, //1 hour + httpOnly: true, + secure: process.env.NODE_ENV === 'production', + sameSite: process.env.NODE_ENV === 'production' ? 'none' : 'lax', + maxAge: 60 * 60 * 1000, //1 hour }, }), ); @@ -102,6 +103,7 @@ client.connect().then(() => { const db = client.db(`${DB_NAME}`); const usersCollection = db.collection('Usernames'); const recordsCollection = db.collection('Records'); + const eventsCollection = db.collection('Events') async function fetchOrThrow(url: string, init: FetchRequestInit): Promise { const res = await fetch(url, init); @@ -157,7 +159,6 @@ client.connect().then(() => { try{ const code = req.query.code as string; const state = req.query.state as string; - if (!code || !state || state !== req.session.oauthState) { res.status(400).send('Invalid or missing OAuth state.'); return; @@ -914,8 +915,60 @@ function deleteColumnIfEmpty( res.status(200).json(names.map((u) => u.username)); }; app.get('/api/attendance/usernameList', listNames) + + const createIncident: RequestHandler = async (req, res) => { + const { + date, + activID, + incidentDescription + } = req.body + + const record = { + incidentNumber: activID, + incidentDate: date, + description: incidentDescription, + eventType: "incident", + createdAtEpoch: Date.now() + } + try { + const result = await eventsCollection.insertOne(record); + res.status(200).json({ message: 'Data submitted successfully', result }); + } + catch (error: any) { + if (error?.code === 11000) { + return res.status(409).json({ + message: "An incident with this incident number already exists." + }); + } + console.error("Error submitting data", error); + return res.status(500).json({ + message: "Failed to submit data" + }); + } + } + app.post('/api/attendance/createIncident', sanitizeIncidentCreation, createIncident) + const listIncidents: RequestHandler = async (req, res) => { + try{ + const incidents = await eventsCollection.find( + { eventType: "incident" }, + { + projection: { + _id: 0, + incidentNumber: 1, + incidentDate: 1, + description: 1 + } + } + ).toArray(); + res.status(200).json(incidents) + } catch { + res.status(500).json({message:"An error occured"}) + } + + } + app.get('/api/attendance/listIncidents', listIncidents) app.use(errorHandler); app.listen(port, () => { diff --git a/api/src/middleware/sanitiseInputs.ts b/api/src/middleware/sanitiseInputs.ts index d6635f9..2b33a77 100644 --- a/api/src/middleware/sanitiseInputs.ts +++ b/api/src/middleware/sanitiseInputs.ts @@ -328,5 +328,63 @@ export function sanitizeReportingExportInput(req: Request, res: Response, next: startEpoch: startEpochMS, endEpoch: endEpochMS, }; + return next(); +} +export function sanitizeIncidentCreation(req: Request, res: Response, next: NextFunction) { + const { + Date, + ActivID, + IncidentDescription + } = req.body ?? {}; + + + const sanitized = { + Date: validator.trim(String(Date ?? "")), + ActivID: validator.trim(String(ActivID ?? "")), + IncidentDescription: validator.trim(String(IncidentDescription ?? "")) + }; + + const errors: string[] = []; + + if (!sanitized.Date) { + errors.push("Date is required"); + } else if (!/^(\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01]))$/.test(sanitized.Date)) { + errors.push("Date must be in YYYY-MM-DD format"); + } else { + const validDate = moment.tz( + sanitized.Date, + "YYYY-MM-DD", + true, + "Australia/Sydney" + ); + + if (!validDate.isValid()) { + errors.push("Date is invalid"); + } + } + + if (!sanitized.ActivID) { + errors.push("Activity ID is required"); + } else if (!/^\d{2}-\d{1,8}$/.test(sanitized.ActivID)) { + errors.push("Activity ID must be in the format 26-12345678"); + } + + if (!sanitized.IncidentDescription) { + errors.push("Incident description is required"); + } else if (!/^[A-Za-z0-9]+$/.test(sanitized.IncidentDescription)) { + errors.push("Incident description can only contain letters and numbers"); + } + + if (errors.length) { + return res.status(400).json({ + message: `Invalid fields: ${errors.join(", ")}` + }); + } + req.body = { + date: sanitized.Date, + activID: sanitized.ActivID, + incidentDescription: sanitized.IncidentDescription + }; + return next(); } \ No newline at end of file From baaf49d00d22492fb344036f18e4dc93019d52db Mon Sep 17 00:00:00 2001 From: jordancj Date: Thu, 25 Jun 2026 16:13:10 +1000 Subject: [PATCH 15/48] Update navbar to use page title --- frontend/src/Components/Navbar.jsx | 49 +++++++++++++++++++++--------- 1 file changed, 35 insertions(+), 14 deletions(-) diff --git a/frontend/src/Components/Navbar.jsx b/frontend/src/Components/Navbar.jsx index 77dc0a3..639b8f3 100644 --- a/frontend/src/Components/Navbar.jsx +++ b/frontend/src/Components/Navbar.jsx @@ -4,20 +4,43 @@ import { useLocation, useNavigate } from "react-router-dom"; export default function Navbar() { const location = useLocation(); const navigate = useNavigate(); + const path = location.pathname; - const isAdmin = location.pathname.startsWith("/admin"); - const isAttendance = location.pathname.startsWith("/attendance"); - const isIndex = location.pathname === "/"; + + const isAdmin = path.startsWith("/admin"); + const isAttendance = path.startsWith("/attendance"); + const isIndex = path === "/"; + const pathBackMap = { - "/attendance/selection": "/attendance", - "/attendance/operational": "/attendance/selection", - "/attendance/non-operational": "/attendance/selection", - "/admin/dashboard": "/admin", - "/admin/add-user": "/admin/users", - "/admin/users": "/admin/dashboard", - "/admin/reports": "/admin/dashboard", -}; + "/attendance/selection": "/attendance", + "/attendance/operational": "/attendance/selection", + "/attendance/non-operational": "/attendance/selection", + "/admin/dashboard": "/admin", + "/admin/add-user": "/admin/users", + "/admin/users": "/admin/dashboard", + "/admin/reports": "/admin/dashboard", + }; + + const pageTitleMap = { + "/": "JRFB Attendance Application", + + "/attendance": "Attendance System", + "/attendance/selection": "Select Attendance Type", + "/attendance/operational": "Operational Attendance", + "/attendance/non-operational": "Non-Operational Attendance", + + "/admin": "Admin Portal", + "/admin/dashboard": "Admin Dashboard", + "/admin/add-user": "Add User", + "/admin/users": "Manage Users", + "/admin/reports": "Reports", + + "/createincidents": "Create Incident", + "/roles": "Assign Roles" + }; + const apiUrl = import.meta.env.VITE_API_BASE_URL; + if (path.startsWith("/attendance/")) { sessionStorage.removeItem("activity"); } @@ -28,9 +51,7 @@ export default function Navbar() { }; const getTitle = () => { - if (isAdmin) return "Admin Portal"; - if (isAttendance) return "Attendance System"; - return "JRFB Attendance Application"; + return pageTitleMap[path] || "JRFB Attendance Application"; }; return ( From e4f1eebb28c20eb5155ab724e82635ea9e04ab93 Mon Sep 17 00:00:00 2001 From: jordancj Date: Thu, 25 Jun 2026 16:13:56 +1000 Subject: [PATCH 16/48] Update vite config for file watching --- frontend/vite.config.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/frontend/vite.config.js b/frontend/vite.config.js index 53e3b25..cb62417 100644 --- a/frontend/vite.config.js +++ b/frontend/vite.config.js @@ -4,5 +4,12 @@ import react from '@vitejs/plugin-react'; export default defineConfig({ plugins: [react()], base: '/', + server: { + host: '0.0.0.0', + watch: { + usePolling: true, + interval: 100, + }, + }, }); From 1cceb41f6f2164e90715b40f77c90b16db3b0d70 Mon Sep 17 00:00:00 2001 From: jordancj Date: Thu, 25 Jun 2026 16:15:32 +1000 Subject: [PATCH 17/48] add a create incident page --- frontend/src/App.jsx | 9 + .../src/Pages/Attendance/Create-Incidents.jsx | 231 ++++++++++++++++++ frontend/src/Pages/index.jsx | 35 ++- frontend/src/Utils/formValidation.js | 42 +++- 4 files changed, 306 insertions(+), 11 deletions(-) create mode 100644 frontend/src/Pages/Attendance/Create-Incidents.jsx diff --git a/frontend/src/App.jsx b/frontend/src/App.jsx index f81b1de..b286391 100644 --- a/frontend/src/App.jsx +++ b/frontend/src/App.jsx @@ -13,6 +13,8 @@ import NonOpPage from './Pages/Attendance/Non-op-page'; import OpPage from './Pages/Attendance/Op-page'; import SelectionPage from './Pages/Attendance/Selection-page'; import ProtectedRoute from "./hooks/protectedroutes"; +import CreateIncidents from "./Pages/Attendance/Create-Incidents"; +import Roles from "./Pages/Attendance/Roles"; function App() { return ( @@ -56,6 +58,13 @@ function App() { /> }/> + }/> + }/> + {/* Attendance pages (all under /attendance) */} }/> diff --git a/frontend/src/Pages/Attendance/Create-Incidents.jsx b/frontend/src/Pages/Attendance/Create-Incidents.jsx new file mode 100644 index 0000000..c828346 --- /dev/null +++ b/frontend/src/Pages/Attendance/Create-Incidents.jsx @@ -0,0 +1,231 @@ +import { useNavigate } from "react-router-dom"; +import {useState, useEffect} from "react"; +import { useTitle } from "../../hooks/useTitle"; +import {useCsrfToken} from "../../Components/csrfHelper.jsx" +import { validateIncidentCreationForm } from "../../Utils/formValidation.js"; + +const apiurl = import.meta.env.VITE_API_BASE_URL; + +export default function CreateIncidentsPage(){ + const csrfToken = useCsrfToken(apiurl); + useEffect(() => { + if (csrfToken) sessionStorage.setItem("csrf", csrfToken); + listIncidents() + }, [csrfToken]); + + const [incDate, setIncDate] = useState(""); + const [activId, setactivId] = useState(""); + const [incDesc, setincDesc] = useState(""); + const [submitMessage, setSubmitMessage] = useState(null); + const [submitStatus, setSubmitStatus] = useState(null); + const [isSubmitting, setIsSubmitting] = useState(false); + const [formErrors, setFormErrors] = useState([]); + const [incidentsArray, setIncidentsArray] = useState([]); + + const handleSubmit = async () => { + setIsSubmitting(true); + setSubmitMessage(null); + setSubmitStatus(null); + const data = { + Date: incDate, + ActivID: activId, + IncidentDescription: incDesc + } + if (!incDate || !activId.trim() || !incDesc.trim()) { + setSubmitStatus("error") + setSubmitMessage("Please fill in all fields."); + setIsSubmitting(false) + return; + } + const validated = validateIncidentCreationForm(data) + if (validated.length != 0){ + setSubmitStatus("error"); + setSubmitMessage(validated); + setIsSubmitting(false) + return; + } + + console.log(data) + try { + const response = await fetch(`${apiurl}/api/attendance/createIncident`, { + method: "POST", + credentials: 'include', + headers: { + "Content-Type": "application/json", + "X-CSRF-Token": csrfToken || sessionStorage.getItem("csrf") + }, + body: JSON.stringify(data), + }); + + const result = await response.json(); + + if (!response.ok) { + setSubmitStatus("error"); + setSubmitMessage(result.message || "An error occurred, please try again later."); + return; + } + setSubmitStatus("success"); + setSubmitMessage(result.message || "Incident submitted successfully."); + setTimeout(() => { + window.location.href = "/createincidents"; + }, 2000); + + } catch (err) { + console.error("Submission error:", err); + + setSubmitStatus("error"); + setSubmitMessage("An error has occurred, please try again later."); + + } finally { + setIsSubmitting(false); + } + } + + const listIncidents = async () => { + try { + const response = await fetch(`${apiurl}/api/attendance/listIncidents`, { + method: "GET", + credentials: 'include', + headers: { + "Content-Type": "application/json", + "X-CSRF-Token": csrfToken || sessionStorage.getItem("csrf") + } + }); + const result = await response.json(); + if (!response.ok) { + setSubmitStatus("error"); + setSubmitMessage(result.message || "An error occurred fetching incidents, please try again later."); + return; + }; + + setIncidentsArray(result) + console.log(result); + + } catch (err) { + console.error("Error fecting incidents:", err); + setSubmitStatus("error"); + setSubmitMessage("An error occurred has fetching incidents, please try again later."); + } + } + useTitle("Incident Creation"); + return( +
+ {submitMessage && ( +
+ {Array.isArray(submitMessage) ? ( +
    + {submitMessage.map((message, index) => ( +
  • {message}
  • + ))} +
+ ) : ( + submitMessage + )} +
+ )} +
+
+

Create Incident

+
+ + + setIncDate(e.target.value)} + /> +
+
+ + + setactivId(e.target.value)} + /> +
+
+ + +