Custom case (#284)
* feat: Add optional assigned_to field to CaseCreate model The code changes in this commit modify the `CaseCreate` model in the `db_operations.py` file. It adds an optional `assigned_to` field to the model, allowing cases to be assigned to a specific user. This provides flexibility in managing and tracking case assignments. * update dependencies * update case api/types * refactor * add CaseCreationForm * precommit fixes --------- Co-authored-by: Davide Di Modica <webmaster.ddm@gmail.com>
taylor_socfortress committed
Sep 6, 2024 at 09:19 UTC
01bba8c9a453d72bdab8c1d2bb3f12326c847551
13 files changed
+1028
-298
backend/app/incidents/schema/db_operations.py
+1
-1
@@ -207,7 +207,7 @@ class CaseCreate(BaseModel):
207
case_description: str
208
case_creation_time: datetime
209
case_status: str
210
- assigned_to: str
210
+ assigned_to: Optional[str] = None
211
212
213
class LinkedCaseCreate(BaseModel):
frontend/package-lock.json
+677
-243
@@ -14,7 +14,7 @@
14
"@fontsource/lexend": "^5.0.21",
15
"@fontsource/public-sans": "^5.0.18",
16
"@popperjs/core": "^2.11.8",
17
- "@shikijs/markdown-it": "^1.16.1",
17
+ "@shikijs/markdown-it": "^1.16.2",
18
"@vueuse/components": "^11.0.3",
19
"@vueuse/core": "^11.0.3",
20
"apexcharts": "^3.53.0",
@@ -34,11 +34,11 @@
34
"naive-ui": "^2.39.0",
35
"password-validator": "^5.3.0",
36
"pinia": "^2.2.2",
37
- "pinia-plugin-persistedstate": "^3.2.3",
37
+ "pinia-plugin-persistedstate": "^4.0.0",
38
"secure-ls": "^2.0.0",
39
- "shiki": "^1.16.1",
39
+ "shiki": "^1.16.2",
40
"validator": "^13.12.0",
41
- "vue": "^3.5.0",
41
+ "vue": "^3.5.3",
42
"vue-advanced-cropper": "^2.8.9",
43
"vue-highlight-words": "^3.0.1",
44
"vue-i18n": "^9.14.0",
@@ -58,7 +58,7 @@
58
"@types/inquirer": "^9.0.7",
59
"@types/jsdom": "^21.1.7",
60
"@types/lodash": "^4.17.7",
61
- "@types/node": "^22.5.2",
61
+ "@types/node": "^22.5.4",
62
"@types/validator": "^13.12.1",
63
"@vitejs/plugin-vue": "^5.1.3",
64
"@vitejs/plugin-vue-jsx": "^4.0.1",
@@ -67,7 +67,7 @@
67
"@vue/test-utils": "^2.4.6",
68
"@vue/tsconfig": "^0.5.1",
69
"autoprefixer": "^10.4.20",
70
- "cypress": "^13.14.1",
70
+ "cypress": "^13.14.2",
71
"eslint": "^9.9.1",
72
"eslint-plugin-cypress": "^3.5.0",
73
"eslint-plugin-vue": "^9.28.0",
@@ -78,9 +78,9 @@
78
"json5": "^2.2.3",
79
"npm-run-all2": "^6.2.2",
80
"picocolors": "^1.1.0",
81
- "postcss": "^8.4.44",
81
+ "postcss": "^8.4.45",
82
"prettier": "^3.3.3",
83
- "sass": "^1.77.8",
83
+ "sass": "^1.78.0",
84
"start-server-and-test": "^2.0.5",
85
"tailwind-config-viewer": "^2.0.4",
86
"tailwindcss": "^3.4.10",
@@ -90,10 +90,10 @@
90
"vite": "^5.4.3",
91
"vite-bundle-analyzer": "^0.10.6",
92
"vite-bundle-visualizer": "^1.2.1",
93
- "vite-plugin-vue-devtools": "^7.3.9",
93
+ "vite-plugin-vue-devtools": "^7.4.4",
94
"vite-svg-loader": "^5.1.0",
95
"vitest": "^2.0.5",
96
- "vue-tsc": "^2.1.5"
96
+ "vue-tsc": "^2.1.6"
97
},
98
"engines": {
99
"node": ">=18.0.0"
@@ -126,7 +126,6 @@
126
"version": "2.3.0",
127
"resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz",
128
"integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==",
129
- "dev": true,
129
"dependencies": {
130
"@jridgewell/gen-mapping": "^0.3.5",
131
"@jridgewell/trace-mapping": "^0.3.24"
@@ -162,7 +161,6 @@
161
"version": "7.24.7",
162
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz",
163
"integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==",
165
- "dev": true,
164
"dependencies": {
165
"@babel/highlight": "^7.24.7",
166
"picocolors": "^1.0.0"
@@ -175,7 +173,6 @@
173
"version": "7.25.2",
174
"resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.2.tgz",
175
"integrity": "sha512-bYcppcpKBvX4znYaPEeFau03bp89ShqNMLs+rmdptMw+heSZh9+z84d2YG+K7cYLbWwzdjtDoW/uqZmPjulClQ==",
178
- "dev": true,
176
"engines": {
177
"node": ">=6.9.0"
178
}
@@ -184,7 +181,6 @@
181
"version": "7.25.2",
182
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.2.tgz",
183
"integrity": "sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==",
187
- "dev": true,
184
"dependencies": {
185
"@ampproject/remapping": "^2.2.0",
186
"@babel/code-frame": "^7.24.7",
@@ -214,7 +210,6 @@
210
"version": "6.3.1",
211
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
212
"integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
217
- "dev": true,
213
"bin": {
214
"semver": "bin/semver.js"
215
}
@@ -223,7 +218,6 @@
218
"version": "7.25.0",
219
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.0.tgz",
220
"integrity": "sha512-3LEEcj3PVW8pW2R1SR1M89g/qrYk/m/mB/tLqn7dn4sbBUQyTqnlod+II2U4dqiGtUmkcnAmkMDralTFZttRiw==",
226
- "dev": true,
221
"dependencies": {
222
"@babel/types": "^7.25.0",
223
"@jridgewell/gen-mapping": "^0.3.5",
@@ -250,7 +244,6 @@
244
"version": "7.25.2",
245
"resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.2.tgz",
246
"integrity": "sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==",
253
- "dev": true,
247
"dependencies": {
248
"@babel/compat-data": "^7.25.2",
249
"@babel/helper-validator-option": "^7.24.8",
@@ -266,7 +259,6 @@
259
"version": "6.3.1",
260
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
261
"integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
269
- "dev": true,
262
"bin": {
263
"semver": "bin/semver.js"
264
}
@@ -318,7 +310,6 @@
310
"version": "7.24.7",
311
"resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz",
312
"integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==",
321
- "dev": true,
313
"dependencies": {
314
"@babel/traverse": "^7.24.7",
315
"@babel/types": "^7.24.7"
@@ -331,7 +322,6 @@
322
"version": "7.25.2",
323
"resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.2.tgz",
324
"integrity": "sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==",
334
- "dev": true,
325
"dependencies": {
326
"@babel/helper-module-imports": "^7.24.7",
327
"@babel/helper-simple-access": "^7.24.7",
@@ -387,7 +377,6 @@
377
"version": "7.24.7",
378
"resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz",
379
"integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==",
390
- "dev": true,
380
"dependencies": {
381
"@babel/traverse": "^7.24.7",
382
"@babel/types": "^7.24.7"
@@ -429,7 +418,6 @@
418
"version": "7.24.8",
419
"resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz",
420
"integrity": "sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==",
432
- "dev": true,
421
"engines": {
422
"node": ">=6.9.0"
423
}
@@ -438,7 +426,6 @@
426
"version": "7.25.0",
427
"resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.0.tgz",
428
"integrity": "sha512-MjgLZ42aCm0oGjJj8CtSM3DB8NOOf8h2l7DCTePJs29u+v7yO/RBX9nShlKMgFnRks/Q4tBAe7Hxnov9VkGwLw==",
441
- "dev": true,
429
"dependencies": {
430
"@babel/template": "^7.25.0",
431
"@babel/types": "^7.25.0"
@@ -451,7 +438,6 @@
438
"version": "7.24.7",
439
"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz",
440
"integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==",
454
- "dev": true,
441
"dependencies": {
442
"@babel/helper-validator-identifier": "^7.24.7",
443
"chalk": "^2.4.2",
@@ -509,12 +495,12 @@
495
}
496
},
497
"node_modules/@babel/plugin-syntax-import-attributes": {
512
- "version": "7.24.7",
513
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.7.tgz",
514
- "integrity": "sha512-hbX+lKKeUMGihnK8nvKqmXBInriT3GVjzXKFriV3YC6APGxMbP8RZNFwy91+hocLXq90Mta+HshoB31802bb8A==",
498
+ "version": "7.25.6",
499
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.25.6.tgz",
500
+ "integrity": "sha512-sXaDXaJN9SNLymBdlWFA+bjzBhFD617ZaFiY13dGt7TVslVvVgA6fkZOP7Ki3IGElC45lwHdOTrCtKZGVAWeLQ==",
501
"dev": true,
502
"dependencies": {
517
- "@babel/helper-plugin-utils": "^7.24.7"
503
+ "@babel/helper-plugin-utils": "^7.24.8"
504
},
505
"engines": {
506
"node": ">=6.9.0"
@@ -595,11 +581,18 @@
581
"node": ">=6.9.0"
582
}
583
},
584
+ "node_modules/@babel/standalone": {
585
+ "version": "7.25.6",
586
+ "resolved": "https://registry.npmjs.org/@babel/standalone/-/standalone-7.25.6.tgz",
587
+ "integrity": "sha512-Kf2ZcZVqsKbtYhlA7sP0z5A3q5hmCVYMKMWRWNK/5OVwHIve3JY1djVRmIVAx8FMueLIfZGKQDIILK2w8zO4mg==",
588
+ "engines": {
589
+ "node": ">=6.9.0"
590
+ }
591
+ },
592
"node_modules/@babel/template": {
593
"version": "7.25.0",
594
"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.0.tgz",
595
"integrity": "sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==",
602
- "dev": true,
596
"dependencies": {
597
"@babel/code-frame": "^7.24.7",
598
"@babel/parser": "^7.25.0",
@@ -613,7 +606,6 @@
606
"version": "7.25.3",
607
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.3.tgz",
608
"integrity": "sha512-HefgyP1x754oGCsKmV5reSmtV7IXj/kpaE1XYY+D9G5PvKKoFfSbiS4M77MdjuwlZKDIKFCffq9rPU+H/s3ZdQ==",
616
- "dev": true,
609
"dependencies": {
610
"@babel/code-frame": "^7.24.7",
611
"@babel/generator": "^7.25.0",
@@ -631,7 +623,6 @@
623
"version": "11.12.0",
624
"resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
625
"integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
634
- "dev": true,
626
"engines": {
627
"node": ">=4"
628
}
@@ -1597,7 +1588,6 @@
1588
"version": "0.3.5",
1589
"resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz",
1590
"integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==",
1600
- "dev": true,
1591
"dependencies": {
1592
"@jridgewell/set-array": "^1.2.1",
1593
"@jridgewell/sourcemap-codec": "^1.4.10",
@@ -1611,7 +1601,6 @@
1601
"version": "3.1.2",
1602
"resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
1603
"integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
1614
- "dev": true,
1604
"engines": {
1605
"node": ">=6.0.0"
1606
}
@@ -1620,7 +1609,6 @@
1609
"version": "1.2.1",
1610
"resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz",
1611
"integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==",
1623
- "dev": true,
1612
"engines": {
1613
"node": ">=6.0.0"
1614
}
@@ -1634,7 +1622,6 @@
1622
"version": "0.3.25",
1623
"resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
1624
"integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
1637
- "dev": true,
1625
"dependencies": {
1626
"@jridgewell/resolve-uri": "^3.1.0",
1627
"@jridgewell/sourcemap-codec": "^1.4.14"
@@ -1736,6 +1723,99 @@
1723
"node": "^16.14.0 || >=18.0.0"
1724
}
1725
},
1726
+ "node_modules/@nuxt/kit": {
1727
+ "version": "3.13.1",
1728
+ "resolved": "https://registry.npmjs.org/@nuxt/kit/-/kit-3.13.1.tgz",
1729
+ "integrity": "sha512-FkUL349lp/3nVfTIyws4UDJ3d2jyv5Pk1DC1HQUCOkSloYYMdbRcQAUcb4fe2TCLNWvHM+FhU8jnzGTzjALZYA==",
1730
+ "dependencies": {
1731
+ "@nuxt/schema": "3.13.1",
1732
+ "c12": "^1.11.2",
1733
+ "consola": "^3.2.3",
1734
+ "defu": "^6.1.4",
1735
+ "destr": "^2.0.3",
1736
+ "globby": "^14.0.2",
1737
+ "hash-sum": "^2.0.0",
1738
+ "ignore": "^5.3.2",
1739
+ "jiti": "^1.21.6",
1740
+ "klona": "^2.0.6",
1741
+ "knitwork": "^1.1.0",
1742
+ "mlly": "^1.7.1",
1743
+ "pathe": "^1.1.2",
1744
+ "pkg-types": "^1.2.0",
1745
+ "scule": "^1.3.0",
1746
+ "semver": "^7.6.3",
1747
+ "ufo": "^1.5.4",
1748
+ "unctx": "^2.3.1",
1749
+ "unimport": "^3.11.1",
1750
+ "untyped": "^1.4.2"
1751
+ },
1752
+ "engines": {
1753
+ "node": "^14.18.0 || >=16.10.0"
1754
+ }
1755
+ },
1756
+ "node_modules/@nuxt/kit/node_modules/globby": {
1757
+ "version": "14.0.2",
1758
+ "resolved": "https://registry.npmjs.org/globby/-/globby-14.0.2.tgz",
1759
+ "integrity": "sha512-s3Fq41ZVh7vbbe2PN3nrW7yC7U7MFVc5c98/iTl9c2GawNMKx/J648KQRW6WKkuU8GIbbh2IXfIRQjOZnXcTnw==",
1760
+ "dependencies": {
1761
+ "@sindresorhus/merge-streams": "^2.1.0",
1762
+ "fast-glob": "^3.3.2",
1763
+ "ignore": "^5.2.4",
1764
+ "path-type": "^5.0.0",
1765
+ "slash": "^5.1.0",
1766
+ "unicorn-magic": "^0.1.0"
1767
+ },
1768
+ "engines": {
1769
+ "node": ">=18"
1770
+ },
1771
+ "funding": {
1772
+ "url": "https://github.com/sponsors/sindresorhus"
1773
+ }
1774
+ },
1775
+ "node_modules/@nuxt/kit/node_modules/path-type": {
1776
+ "version": "5.0.0",
1777
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-5.0.0.tgz",
1778
+ "integrity": "sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==",
1779
+ "engines": {
1780
+ "node": ">=12"
1781
+ },
1782
+ "funding": {
1783
+ "url": "https://github.com/sponsors/sindresorhus"
1784
+ }
1785
+ },
1786
+ "node_modules/@nuxt/kit/node_modules/slash": {
1787
+ "version": "5.1.0",
1788
+ "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz",
1789
+ "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==",
1790
+ "engines": {
1791
+ "node": ">=14.16"
1792
+ },
1793
+ "funding": {
1794
+ "url": "https://github.com/sponsors/sindresorhus"
1795
+ }
1796
+ },
1797
+ "node_modules/@nuxt/schema": {
1798
+ "version": "3.13.1",
1799
+ "resolved": "https://registry.npmjs.org/@nuxt/schema/-/schema-3.13.1.tgz",
1800
+ "integrity": "sha512-ishbhzVGspjshG9AG0hYnKYY6LWXzCtua7OXV7C/DQ2yA7rRcy1xHpzKZUDbIRyxCHHCAcBd8jfHEUmEuhEPrA==",
1801
+ "dependencies": {
1802
+ "compatx": "^0.1.8",
1803
+ "consola": "^3.2.3",
1804
+ "defu": "^6.1.4",
1805
+ "hookable": "^5.5.3",
1806
+ "pathe": "^1.1.2",
1807
+ "pkg-types": "^1.2.0",
1808
+ "scule": "^1.3.0",
1809
+ "std-env": "^3.7.0",
1810
+ "ufo": "^1.5.4",
1811
+ "uncrypto": "^0.1.3",
1812
+ "unimport": "^3.11.1",
1813
+ "untyped": "^1.4.2"
1814
+ },
1815
+ "engines": {
1816
+ "node": "^14.18.0 || >=16.10.0"
1817
+ }
1818
+ },
1819
"node_modules/@one-ini/wasm": {
1820
"version": "0.1.1",
1821
"resolved": "https://registry.npmjs.org/@one-ini/wasm/-/wasm-0.1.1.tgz",
@@ -1782,7 +1862,6 @@
1862
"version": "5.1.0",
1863
"resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.0.tgz",
1864
"integrity": "sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==",
1785
- "dev": true,
1865
"dependencies": {
1866
"@types/estree": "^1.0.0",
1867
"estree-walker": "^2.0.2",
@@ -2008,30 +2087,30 @@
2087
]
2088
},
2089
"node_modules/@shikijs/core": {
2011
- "version": "1.16.1",
2012
- "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-1.16.1.tgz",
2013
- "integrity": "sha512-aI0hBtw+a6KsJp2jcD4YuQqKpeCbURMZbhHVozDknJpm+KJqeMRkEnfBC8BaKE/5XC+uofPgCLsa/TkTk0Ba0w==",
2090
+ "version": "1.16.2",
2091
+ "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-1.16.2.tgz",
2092
+ "integrity": "sha512-XSVH5OZCvE4WLMgdoBqfPMYmGHGmCC3OgZhw0S7KcSi2XKZ+5oHGe71GFnTljgdOxvxx5WrRks6QoTLKrl1eAA==",
2093
"dependencies": {
2094
"@shikijs/vscode-textmate": "^9.2.0",
2095
"@types/hast": "^3.0.4"
2096
}
2097
},
2098
"node_modules/@shikijs/markdown-it": {
2020
- "version": "1.16.1",
2021
- "resolved": "https://registry.npmjs.org/@shikijs/markdown-it/-/markdown-it-1.16.1.tgz",
2022
- "integrity": "sha512-vVEm/htIykOHdUn4OqMFKCBpFWUx+jkGzb0mCWE37nEsjzuE7qY4dC2s9mDtsAO+CnGY5dQNBc3yzgj7poDjeg==",
2099
+ "version": "1.16.2",
2100
+ "resolved": "https://registry.npmjs.org/@shikijs/markdown-it/-/markdown-it-1.16.2.tgz",
2101
+ "integrity": "sha512-GSddEuOaVMHOmfWc3MYyf59WS7VTXwTfsDYmM2iVBe8N4yhA9bCBUkGXYKfod7hclFI2kLiz7BqaGTzsDEXUEw==",
2102
"dependencies": {
2024
- "@shikijs/transformers": "1.16.1",
2103
+ "@shikijs/transformers": "1.16.2",
2104
"markdown-it": "^14.1.0",
2026
- "shiki": "1.16.1"
2105
+ "shiki": "1.16.2"
2106
}
2107
},
2108
"node_modules/@shikijs/transformers": {
2030
- "version": "1.16.1",
2031
- "resolved": "https://registry.npmjs.org/@shikijs/transformers/-/transformers-1.16.1.tgz",
2032
- "integrity": "sha512-mfbe4YMov+1eyIBU3F6BtaPmLgDkRQaVse8xsBlKTVAcNF3cbZMRCyUz2N6gJOMKLJiv9T5gapBPbRxrDMuoxA==",
2109
+ "version": "1.16.2",
2110
+ "resolved": "https://registry.npmjs.org/@shikijs/transformers/-/transformers-1.16.2.tgz",
2111
+ "integrity": "sha512-AR6ANiKwi1dJr5g/W0L+Su4PoHurkHLgtNmesbOFOPGKNQC2BeGU/Z2Ghkl+cUF5PfE+UeLkxUwzpE6H37hTSg==",
2112
"dependencies": {
2034
- "shiki": "1.16.1"
2113
+ "shiki": "1.16.2"
2114
}
2115
},
2116
"node_modules/@shikijs/vscode-textmate": {
@@ -2060,6 +2139,17 @@
2139
"integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==",
2140
"dev": true
2141
},
2142
+ "node_modules/@sindresorhus/merge-streams": {
2143
+ "version": "2.3.0",
2144
+ "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz",
2145
+ "integrity": "sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==",
2146
+ "engines": {
2147
+ "node": ">=18"
2148
+ },
2149
+ "funding": {
2150
+ "url": "https://github.com/sponsors/sindresorhus"
2151
+ }
2152
+ },
2153
"node_modules/@trysound/sax": {
2154
"version": "0.2.0",
2155
"resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz",
@@ -2084,8 +2174,7 @@
2174
"node_modules/@types/estree": {
2175
"version": "1.0.5",
2176
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz",
2087
- "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==",
2088
- "dev": true
2177
+ "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw=="
2178
},
2179
"node_modules/@types/file-saver": {
2180
"version": "2.0.7",
@@ -2165,9 +2254,9 @@
2254
}
2255
},
2256
"node_modules/@types/node": {
2168
- "version": "22.5.2",
2169
- "resolved": "https://registry.npmjs.org/@types/node/-/node-22.5.2.tgz",
2170
- "integrity": "sha512-acJsPTEqYqulZS/Yp/S3GgeE6GZ0qYODUR8aVr/DkhHQ8l9nd4j5x1/ZJy9/gHrRlFMqkO6i0I3E27Alu4jjPg==",
2257
+ "version": "22.5.4",
2258
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-22.5.4.tgz",
2259
+ "integrity": "sha512-FDuKUJQm/ju9fT/SeX/6+gBzoPzlVCzfzmGkwKvRHQVxi4BntVbyIwf6a4Xn62mrvndLiml6z/UBXIdEVjQLXg==",
2260
"dev": true,
2261
"dependencies": {
2262
"undici-types": "~6.19.2"
@@ -3004,36 +3093,36 @@
3093
}
3094
},
3095
"node_modules/@vue/compiler-core": {
3007
- "version": "3.5.0",
3008
- "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.0.tgz",
3009
- "integrity": "sha512-ja7cpqAOfw4tyFAxgBz70Z42miNDeaqTxExTsnXDLomRpqfyCgyvZvFp482fmsElpfvsoMJUsvzULhvxUTW6Iw==",
3096
+ "version": "3.5.3",
3097
+ "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.3.tgz",
3098
+ "integrity": "sha512-adAfy9boPkP233NTyvLbGEqVuIfK/R0ZsBsIOW4BZNfb4BRpRW41Do1u+ozJpsb+mdoy80O20IzAsHaihRb5qA==",
3099
"dependencies": {
3100
"@babel/parser": "^7.25.3",
3012
- "@vue/shared": "3.5.0",
3101
+ "@vue/shared": "3.5.3",
3102
"entities": "^4.5.0",
3103
"estree-walker": "^2.0.2",
3104
"source-map-js": "^1.2.0"
3105
}
3106
},
3107
"node_modules/@vue/compiler-dom": {
3019
- "version": "3.5.0",
3020
- "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.0.tgz",
3021
- "integrity": "sha512-xYjUybWZXl+1R/toDy815i4PbeehL2hThiSGkcpmIOCy2HoYyeeC/gAWK/Y/xsoK+GSw198/T5O31bYuQx5uvQ==",
3108
+ "version": "3.5.3",
3109
+ "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.3.tgz",
3110
+ "integrity": "sha512-wnzFArg9zpvk/811CDOZOadJRugf1Bgl/TQ3RfV4nKfSPok4hi0w10ziYUQR6LnnBAUlEXYLUfZ71Oj9ds/+QA==",
3111
"dependencies": {
3023
- "@vue/compiler-core": "3.5.0",
3024
- "@vue/shared": "3.5.0"
3112
+ "@vue/compiler-core": "3.5.3",
3113
+ "@vue/shared": "3.5.3"
3114
}
3115
},
3116
"node_modules/@vue/compiler-sfc": {
3028
- "version": "3.5.0",
3029
- "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.0.tgz",
3030
- "integrity": "sha512-B9DgLtrqok2GLuaFjLlSL15ZG3ZDBiitUH1ecex9guh/ZcA5MCdwuVE6nsfQxktuZY/QY0awJ35/ripIviCQTQ==",
3117
+ "version": "3.5.3",
3118
+ "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.3.tgz",
3119
+ "integrity": "sha512-P3uATLny2tfyvMB04OQFe7Sczteno7SLFxwrOA/dw01pBWQHB5HL15a8PosoNX2aG/EAMGqnXTu+1LnmzFhpTQ==",
3120
"dependencies": {
3121
"@babel/parser": "^7.25.3",
3033
- "@vue/compiler-core": "3.5.0",
3034
- "@vue/compiler-dom": "3.5.0",
3035
- "@vue/compiler-ssr": "3.5.0",
3036
- "@vue/shared": "3.5.0",
3122
+ "@vue/compiler-core": "3.5.3",
3123
+ "@vue/compiler-dom": "3.5.3",
3124
+ "@vue/compiler-ssr": "3.5.3",
3125
+ "@vue/shared": "3.5.3",
3126
"estree-walker": "^2.0.2",
3127
"magic-string": "^0.30.11",
3128
"postcss": "^8.4.44",
@@ -3041,12 +3130,12 @@
3130
}
3131
},
3132
"node_modules/@vue/compiler-ssr": {
3044
- "version": "3.5.0",
3045
- "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.0.tgz",
3046
- "integrity": "sha512-E263QZmA1dqRd7c3u/sWTLRMpQOT0aZ8av/L9SoD/v/BVMZaWFHPUUBswS+bzrfvG2suJF8vSLKx6k6ba5SUdA==",
3133
+ "version": "3.5.3",
3134
+ "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.3.tgz",
3135
+ "integrity": "sha512-F/5f+r2WzL/2YAPl7UlKcJWHrvoZN8XwEBLnT7S4BXwncH25iDOabhO2M2DWioyTguJAGavDOawejkFXj8EM1w==",
3136
"dependencies": {
3048
- "@vue/compiler-dom": "3.5.0",
3049
- "@vue/shared": "3.5.0"
3137
+ "@vue/compiler-dom": "3.5.3",
3138
+ "@vue/shared": "3.5.3"
3139
}
3140
},
3141
"node_modules/@vue/compiler-vue2": {
@@ -3065,13 +3154,13 @@
3154
"integrity": "sha512-0MiMsFma/HqA6g3KLKn+AGpL1kgKhFWszC9U29NfpWK5LE7bjeXxySWJrOJ77hBz+TBrBQ7o4QJqbPbqbs8rJw=="
3155
},
3156
"node_modules/@vue/devtools-core": {
3068
- "version": "7.3.9",
3069
- "resolved": "https://registry.npmjs.org/@vue/devtools-core/-/devtools-core-7.3.9.tgz",
3070
- "integrity": "sha512-B5zAl9ulNjI6nknSnGNRzmP/ldR9ADUwwT8HkI8Hejo1W00uK9ABUahbfrXzME296rBfmwhQuCFwJ6t9KFdbXQ==",
3157
+ "version": "7.4.4",
3158
+ "resolved": "https://registry.npmjs.org/@vue/devtools-core/-/devtools-core-7.4.4.tgz",
3159
+ "integrity": "sha512-DLxgA3DfeADkRzhAfm3G2Rw/cWxub64SdP5b+s5dwL30+whOGj+QNhmyFpwZ8ZTrHDFRIPj0RqNzJ8IRR1pz7w==",
3160
"dev": true,
3161
"dependencies": {
3073
- "@vue/devtools-kit": "^7.3.9",
3074
- "@vue/devtools-shared": "^7.3.9",
3162
+ "@vue/devtools-kit": "^7.4.4",
3163
+ "@vue/devtools-shared": "^7.4.4",
3164
"mitt": "^3.0.1",
3165
"nanoid": "^3.3.4",
3166
"pathe": "^1.1.2",
@@ -3082,12 +3171,12 @@
3171
}
3172
},
3173
"node_modules/@vue/devtools-kit": {
3085
- "version": "7.3.9",
3086
- "resolved": "https://registry.npmjs.org/@vue/devtools-kit/-/devtools-kit-7.3.9.tgz",
3087
- "integrity": "sha512-Gr17nA+DaQzqyhNx1DUJr1CJRzTRfbIuuC80ZgU8MD/qNO302tv9la+ROi+Uaw+ULVwU9T71GnwLy4n8m9Lspg==",
3174
+ "version": "7.4.4",
3175
+ "resolved": "https://registry.npmjs.org/@vue/devtools-kit/-/devtools-kit-7.4.4.tgz",
3176
+ "integrity": "sha512-awK/4NfsUG0nQ7qnTM37m7ZkEUMREyPh8taFCX+uQYps/MTFEum0AD05VeGDRMXwWvMmGIcWX9xp8ZiBddY0jw==",
3177
"dev": true,
3178
"dependencies": {
3090
- "@vue/devtools-shared": "^7.3.9",
3179
+ "@vue/devtools-shared": "^7.4.4",
3180
"birpc": "^0.2.17",
3181
"hookable": "^5.5.3",
3182
"mitt": "^3.0.1",
@@ -3097,9 +3186,9 @@
3186
}
3187
},
3188
"node_modules/@vue/devtools-shared": {
3100
- "version": "7.3.9",
3101
- "resolved": "https://registry.npmjs.org/@vue/devtools-shared/-/devtools-shared-7.3.9.tgz",
3102
- "integrity": "sha512-CdfMRZKXyI8vw+hqOcQIiLihB6Hbbi7WNZGp7LsuH1Qe4aYAFmTaKjSciRZ301oTnwmU/knC/s5OGuV6UNiNoA==",
3189
+ "version": "7.4.4",
3190
+ "resolved": "https://registry.npmjs.org/@vue/devtools-shared/-/devtools-shared-7.4.4.tgz",
3191
+ "integrity": "sha512-yeJULXFHOKIm8yL2JFO050a9ztTVqOCKTqN9JHFxGTJN0b+gjtfn6zC+FfyHUgjwCwf6E3hfKrlohtthcqoYqw==",
3192
"dev": true,
3193
"dependencies": {
3194
"rfdc": "^1.4.1"
@@ -3144,10 +3233,9 @@
3233
}
3234
},
3235
"node_modules/@vue/language-core": {
3147
- "version": "2.1.5",
3148
- "resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-2.1.5.tgz",
3149
- "integrity": "sha512-YwF5+2v+rnue2/17wP84tnZgaB2hUM4C1U+115vVGrDAPGhBf7YG0nPv1SO0yUeEpYMYtED4ClamkXAwpoz2Yw==",
3150
- "deprecated": "use 2.1.4 instead",
3236
+ "version": "2.1.6",
3237
+ "resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-2.1.6.tgz",
3238
+ "integrity": "sha512-MW569cSky9R/ooKMh6xa2g1D0AtRKbL56k83dzus/bx//RDJk24RHWkMzbAlXjMdDNyxAaagKPRquBIxkxlCkg==",
3239
"dev": true,
3240
"dependencies": {
3241
"@volar/language-core": "~2.4.1",
@@ -3169,49 +3257,49 @@
3257
}
3258
},
3259
"node_modules/@vue/reactivity": {
3172
- "version": "3.5.0",
3173
- "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.0.tgz",
3174
- "integrity": "sha512-Ew3F5riP3B3ZDGjD3ZKb9uZylTTPSqt8hAf4sGbvbjrjDjrFb3Jm15Tk1/w7WwTE5GbQ2Qhwxx1moc9hr8A/OQ==",
3260
+ "version": "3.5.3",
3261
+ "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.3.tgz",
3262
+ "integrity": "sha512-2w61UnRWTP7+rj1H/j6FH706gRBHdFVpIqEkSDAyIpafBXYH8xt4gttstbbCWdU3OlcSWO8/3mbKl/93/HSMpw==",
3263
"dependencies": {
3176
- "@vue/shared": "3.5.0"
3264
+ "@vue/shared": "3.5.3"
3265
}
3266
},
3267
"node_modules/@vue/runtime-core": {
3180
- "version": "3.5.0",
3181
- "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.0.tgz",
3182
- "integrity": "sha512-mQyW0F9FaNRdt8ghkAs+BMG3iQ7LGgWKOpkzUzR5AI5swPNydHGL5hvVTqFaeMzwecF1g0c86H4yFQsSxJhH1w==",
3268
+ "version": "3.5.3",
3269
+ "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.3.tgz",
3270
+ "integrity": "sha512-5b2AQw5OZlmCzSsSBWYoZOsy75N4UdMWenTfDdI5bAzXnuVR7iR8Q4AOzQm2OGoA41xjk53VQKrqQhOz2ktWaw==",
3271
"dependencies": {
3184
- "@vue/reactivity": "3.5.0",
3185
- "@vue/shared": "3.5.0"
3272
+ "@vue/reactivity": "3.5.3",
3273
+ "@vue/shared": "3.5.3"
3274
}
3275
},
3276
"node_modules/@vue/runtime-dom": {
3189
- "version": "3.5.0",
3190
- "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.0.tgz",
3191
- "integrity": "sha512-NQQXjpdXgyYVJ2M56FJ+lSJgZiecgQ2HhxhnQBN95FymXegRNY/N2htI7vOTwpP75pfxhIeYOJ8mE8sW8KAW6A==",
3277
+ "version": "3.5.3",
3278
+ "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.3.tgz",
3279
+ "integrity": "sha512-wPR1DEGc3XnQ7yHbmkTt3GoY0cEnVGQnARRdAkDzZ8MbUKEs26gogCQo6AOvvgahfjIcnvWJzkZArQ1fmWjcSg==",
3280
"dependencies": {
3193
- "@vue/reactivity": "3.5.0",
3194
- "@vue/runtime-core": "3.5.0",
3195
- "@vue/shared": "3.5.0",
3281
+ "@vue/reactivity": "3.5.3",
3282
+ "@vue/runtime-core": "3.5.3",
3283
+ "@vue/shared": "3.5.3",
3284
"csstype": "^3.1.3"
3285
}
3286
},
3287
"node_modules/@vue/server-renderer": {
3200
- "version": "3.5.0",
3201
- "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.0.tgz",
3202
- "integrity": "sha512-HyDIFUg+l7L4PKrEnJlCYWHUOlm6NxZhmSxIefZ5MTYjkIPfDfkwhX7hqxAQHfgIAE1uLMLQZwuNR/ozI0NhZg==",
3288
+ "version": "3.5.3",
3289
+ "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.3.tgz",
3290
+ "integrity": "sha512-28volmaZVG2PGO3V3+gBPKoSHvLlE8FGfG/GKXKkjjfxLuj/50B/0OQGakM/g6ehQeqCrZYM4eHC4Ks48eig1Q==",
3291
"dependencies": {
3204
- "@vue/compiler-ssr": "3.5.0",
3205
- "@vue/shared": "3.5.0"
3292
+ "@vue/compiler-ssr": "3.5.3",
3293
+ "@vue/shared": "3.5.3"
3294
},
3295
"peerDependencies": {
3208
- "vue": "3.5.0"
3296
+ "vue": "3.5.3"
3297
}
3298
},
3299
"node_modules/@vue/shared": {
3212
- "version": "3.5.0",
3213
- "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.0.tgz",
3214
- "integrity": "sha512-m9IgiteBpCkFaMNwCOBkFksA7z8QiKc30ooRuoXWUFRDu0mGyNPlFHmbncF0/Kra1RlX8QrmBbRaIxVvikaR0Q=="
3300
+ "version": "3.5.3",
3301
+ "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.3.tgz",
3302
+ "integrity": "sha512-Jp2v8nylKBT+PlOUjun2Wp/f++TfJVFjshLzNtJDdmFJabJa7noGMncqXRM1vXGX+Yo2V7WykQFNxusSim8SCA=="
3303
},
3304
"node_modules/@vue/test-utils": {
3305
"version": "2.4.6",
@@ -3481,7 +3569,6 @@
3569
"version": "3.2.1",
3570
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
3571
"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
3484
- "dev": true,
3572
"dependencies": {
3573
"color-convert": "^1.9.0"
3574
},
@@ -3499,7 +3586,6 @@
3586
"version": "3.1.3",
3587
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
3588
"integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
3502
- "dev": true,
3589
"dependencies": {
3590
"normalize-path": "^3.0.0",
3591
"picomatch": "^2.0.4"
@@ -3740,7 +3826,6 @@
3826
"version": "2.3.0",
3827
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz",
3828
"integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==",
3743
- "dev": true,
3829
"engines": {
3830
"node": ">=8"
3831
},
@@ -3797,7 +3882,6 @@
3882
"version": "4.23.3",
3883
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz",
3884
"integrity": "sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==",
3800
- "dev": true,
3885
"funding": [
3886
{
3887
"type": "opencollective",
@@ -3896,6 +3980,33 @@
3980
"node": ">= 0.8"
3981
}
3982
},
3983
+ "node_modules/c12": {
3984
+ "version": "1.11.2",
3985
+ "resolved": "https://registry.npmjs.org/c12/-/c12-1.11.2.tgz",
3986
+ "integrity": "sha512-oBs8a4uvSDO9dm8b7OCFW7+dgtVrwmwnrVXYzLm43ta7ep2jCn/0MhoUFygIWtxhyy6+/MG7/agvpY0U1Iemew==",
3987
+ "dependencies": {
3988
+ "chokidar": "^3.6.0",
3989
+ "confbox": "^0.1.7",
3990
+ "defu": "^6.1.4",
3991
+ "dotenv": "^16.4.5",
3992
+ "giget": "^1.2.3",
3993
+ "jiti": "^1.21.6",
3994
+ "mlly": "^1.7.1",
3995
+ "ohash": "^1.1.3",
3996
+ "pathe": "^1.1.2",
3997
+ "perfect-debounce": "^1.0.0",
3998
+ "pkg-types": "^1.2.0",
3999
+ "rc9": "^2.1.2"
4000
+ },
4001
+ "peerDependencies": {
4002
+ "magicast": "^0.3.4"
4003
+ },
4004
+ "peerDependenciesMeta": {
4005
+ "magicast": {
4006
+ "optional": true
4007
+ }
4008
+ }
4009
+ },
4010
"node_modules/cac": {
4011
"version": "6.7.14",
4012
"resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz",
@@ -4008,7 +4119,6 @@
4119
"version": "1.0.30001646",
4120
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001646.tgz",
4121
"integrity": "sha512-dRg00gudiBDDTmUhClSdv3hqRfpbOnU28IpI1T6PBTLWa+kOj0681C8uML3PifYfREuBrVjDGhL3adYpBT6spw==",
4011
- "dev": true,
4122
"funding": [
4123
{
4124
"type": "opencollective",
@@ -4050,7 +4160,6 @@
4160
"version": "2.4.2",
4161
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
4162
"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
4053
- "dev": true,
4163
"dependencies": {
4164
"ansi-styles": "^3.2.1",
4165
"escape-string-regexp": "^1.0.5",
@@ -4082,7 +4191,6 @@
4191
"version": "3.6.0",
4192
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
4193
"integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
4085
- "dev": true,
4194
"dependencies": {
4195
"anymatch": "~3.1.2",
4196
"braces": "~3.0.2",
@@ -4106,7 +4214,6 @@
4214
"version": "5.1.2",
4215
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
4216
"integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
4109
- "dev": true,
4217
"dependencies": {
4218
"is-glob": "^4.0.1"
4219
},
@@ -4118,7 +4225,6 @@
4225
"version": "2.0.0",
4226
"resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
4227
"integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==",
4121
- "dev": true,
4228
"engines": {
4229
"node": ">=10"
4230
}
@@ -4138,6 +4244,14 @@
4244
"node": ">=8"
4245
}
4246
},
4247
+ "node_modules/citty": {
4248
+ "version": "0.1.6",
4249
+ "resolved": "https://registry.npmjs.org/citty/-/citty-0.1.6.tgz",
4250
+ "integrity": "sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==",
4251
+ "dependencies": {
4252
+ "consola": "^3.2.3"
4253
+ }
4254
+ },
4255
"node_modules/classnames": {
4256
"version": "2.5.1",
4257
"resolved": "https://registry.npmjs.org/classnames/-/classnames-2.5.1.tgz",
@@ -4273,7 +4387,6 @@
4387
"version": "1.9.3",
4388
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
4389
"integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
4276
- "dev": true,
4390
"dependencies": {
4391
"color-name": "1.1.3"
4392
}
@@ -4281,8 +4394,7 @@
4394
"node_modules/color-name": {
4395
"version": "1.1.3",
4396
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
4284
- "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
4285
- "dev": true
4397
+ "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="
4398
},
4399
"node_modules/colord": {
4400
"version": "2.9.3",
@@ -4324,6 +4436,11 @@
4436
"node": ">=4.0.0"
4437
}
4438
},
4439
+ "node_modules/compatx": {
4440
+ "version": "0.1.8",
4441
+ "resolved": "https://registry.npmjs.org/compatx/-/compatx-0.1.8.tgz",
4442
+ "integrity": "sha512-jcbsEAR81Bt5s1qOFymBufmCbXCXbk0Ql+K5ouj6gCyx2yHlu6AgmGIi9HxfKixpUDO5bCFJUHQ5uM6ecbTebw=="
4443
+ },
4444
"node_modules/computeds": {
4445
"version": "0.0.1",
4446
"resolved": "https://registry.npmjs.org/computeds/-/computeds-0.0.1.tgz",
@@ -4338,8 +4455,7 @@
4455
"node_modules/confbox": {
4456
"version": "0.1.7",
4457
"resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.7.tgz",
4341
- "integrity": "sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==",
4342
- "dev": true
4458
+ "integrity": "sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA=="
4459
},
4460
"node_modules/config-chain": {
4461
"version": "1.1.13",
@@ -4357,6 +4473,14 @@
4473
"integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
4474
"dev": true
4475
},
4476
+ "node_modules/consola": {
4477
+ "version": "3.2.3",
4478
+ "resolved": "https://registry.npmjs.org/consola/-/consola-3.2.3.tgz",
4479
+ "integrity": "sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==",
4480
+ "engines": {
4481
+ "node": "^14.18.0 || >=16.10.0"
4482
+ }
4483
+ },
4484
"node_modules/content-disposition": {
4485
"version": "0.5.4",
4486
"resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz",
@@ -4381,8 +4505,7 @@
4505
"node_modules/convert-source-map": {
4506
"version": "2.0.0",
4507
"resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
4384
- "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
4385
- "dev": true
4508
+ "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="
4509
},
4510
"node_modules/cookies": {
4511
"version": "0.9.1",
@@ -4559,9 +4682,9 @@
4682
"integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw=="
4683
},
4684
"node_modules/cypress": {
4562
- "version": "13.14.1",
4563
- "resolved": "https://registry.npmjs.org/cypress/-/cypress-13.14.1.tgz",
4564
- "integrity": "sha512-Wo+byPmjps66hACEH5udhXINEiN3qS3jWNGRzJOjrRJF3D0+YrcP2LVB1T7oYaVQM/S+eanqEvBWYc8cf7Vcbg==",
4685
+ "version": "13.14.2",
4686
+ "resolved": "https://registry.npmjs.org/cypress/-/cypress-13.14.2.tgz",
4687
+ "integrity": "sha512-lsiQrN17vHMB2fnvxIrKLAjOr9bPwsNbPZNrWf99s4u+DVmCY6U+w7O3GGG9FvP4EUVYaDu+guWeNLiUzBrqvA==",
4688
"dev": true,
4689
"hasInstallScript": true,
4690
"dependencies": {
@@ -4821,6 +4944,11 @@
4944
"resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
4945
"integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ=="
4946
},
4947
+ "node_modules/deep-pick-omit": {
4948
+ "version": "1.2.0",
4949
+ "resolved": "https://registry.npmjs.org/deep-pick-omit/-/deep-pick-omit-1.2.0.tgz",
4950
+ "integrity": "sha512-2CGvfTM2c+IP/MhdRZMpaHhTc6zIlgz3tQXJ/VGAkc7mjMrjqSU28qiI63yEcy+fcYfd/K+NNJcGRzap4M4bqw=="
4951
+ },
4952
"node_modules/default-browser": {
4953
"version": "5.2.1",
4954
"resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.2.1.tgz",
@@ -4906,8 +5034,7 @@
5034
"node_modules/destr": {
5035
"version": "2.0.3",
5036
"resolved": "https://registry.npmjs.org/destr/-/destr-2.0.3.tgz",
4909
- "integrity": "sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==",
4910
- "dev": true
5037
+ "integrity": "sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ=="
5038
},
5039
"node_modules/destroy": {
5040
"version": "1.2.0",
@@ -5002,6 +5129,17 @@
5129
"url": "https://github.com/fb55/domutils?sponsor=1"
5130
}
5131
},
5132
+ "node_modules/dotenv": {
5133
+ "version": "16.4.5",
5134
+ "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz",
5135
+ "integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==",
5136
+ "engines": {
5137
+ "node": ">=12"
5138
+ },
5139
+ "funding": {
5140
+ "url": "https://dotenvx.com"
5141
+ }
5142
+ },
5143
"node_modules/duplexer": {
5144
"version": "0.1.2",
5145
"resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz",
@@ -5089,8 +5227,7 @@
5227
"node_modules/electron-to-chromium": {
5228
"version": "1.5.4",
5229
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.4.tgz",
5092
- "integrity": "sha512-orzA81VqLyIGUEA77YkVA1D+N+nNfl2isJVjjmOyrlxuooZ19ynb+dOlaDTqd/idKRS9lDCSBmtzM+kyCsMnkA==",
5093
- "dev": true
5230
+ "integrity": "sha512-orzA81VqLyIGUEA77YkVA1D+N+nNfl2isJVjjmOyrlxuooZ19ynb+dOlaDTqd/idKRS9lDCSBmtzM+kyCsMnkA=="
5231
},
5232
"node_modules/emoji-regex": {
5233
"version": "8.0.0",
@@ -5228,7 +5365,6 @@
5365
"version": "3.1.2",
5366
"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz",
5367
"integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==",
5231
- "dev": true,
5368
"engines": {
5369
"node": ">=6"
5370
}
@@ -5243,7 +5379,6 @@
5379
"version": "1.0.5",
5380
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
5381
"integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
5246
- "dev": true,
5382
"engines": {
5383
"node": ">=0.8.0"
5384
}
@@ -6067,7 +6202,6 @@
6202
"version": "2.3.3",
6203
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
6204
"integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
6070
- "dev": true,
6205
"hasInstallScript": true,
6206
"optional": true,
6207
"os": [
@@ -6090,7 +6224,6 @@
6224
"version": "1.0.0-beta.2",
6225
"resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
6226
"integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
6093
- "dev": true,
6227
"engines": {
6228
"node": ">=6.9.0"
6229
}
@@ -6177,6 +6310,24 @@
6310
"assert-plus": "^1.0.0"
6311
}
6312
},
6313
+ "node_modules/giget": {
6314
+ "version": "1.2.3",
6315
+ "resolved": "https://registry.npmjs.org/giget/-/giget-1.2.3.tgz",
6316
+ "integrity": "sha512-8EHPljDvs7qKykr6uw8b+lqLiUc/vUg+KVTI0uND4s63TdsZM2Xus3mflvF0DDG9SiM4RlCkFGL+7aAjRmV7KA==",
6317
+ "dependencies": {
6318
+ "citty": "^0.1.6",
6319
+ "consola": "^3.2.3",
6320
+ "defu": "^6.1.4",
6321
+ "node-fetch-native": "^1.6.3",
6322
+ "nypm": "^0.3.8",
6323
+ "ohash": "^1.1.3",
6324
+ "pathe": "^1.1.2",
6325
+ "tar": "^6.2.0"
6326
+ },
6327
+ "bin": {
6328
+ "giget": "dist/cli.mjs"
6329
+ }
6330
+ },
6331
"node_modules/glob": {
6332
"version": "10.4.5",
6333
"resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz",
@@ -6296,7 +6447,6 @@
6447
"version": "3.0.0",
6448
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
6449
"integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
6299
- "dev": true,
6450
"engines": {
6451
"node": ">=4"
6452
}
@@ -6352,6 +6502,11 @@
6502
"url": "https://github.com/sponsors/ljharb"
6503
}
6504
},
6505
+ "node_modules/hash-sum": {
6506
+ "version": "2.0.0",
6507
+ "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-2.0.0.tgz",
6508
+ "integrity": "sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg=="
6509
+ },
6510
"node_modules/hasown": {
6511
"version": "2.0.2",
6512
"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
@@ -6389,8 +6544,7 @@
6544
"node_modules/hookable": {
6545
"version": "5.5.3",
6546
"resolved": "https://registry.npmjs.org/hookable/-/hookable-5.5.3.tgz",
6392
- "integrity": "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==",
6393
- "dev": true
6547
+ "integrity": "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ=="
6548
},
6549
"node_modules/hosted-git-info": {
6550
"version": "7.0.2",
@@ -6600,9 +6754,9 @@
6754
]
6755
},
6756
"node_modules/ignore": {
6603
- "version": "5.3.1",
6604
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz",
6605
- "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==",
6757
+ "version": "5.3.2",
6758
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
6759
+ "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==",
6760
"engines": {
6761
"node": ">= 4"
6762
}
@@ -6745,7 +6899,6 @@
6899
"version": "2.1.0",
6900
"resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
6901
"integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
6748
- "dev": true,
6902
"dependencies": {
6903
"binary-extensions": "^2.0.0"
6904
},
@@ -7072,8 +7225,7 @@
7225
"node_modules/js-tokens": {
7226
"version": "4.0.0",
7227
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
7075
- "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
7076
- "dev": true
7228
+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
7229
},
7230
"node_modules/js-yaml": {
7231
"version": "4.1.0",
@@ -7159,7 +7311,6 @@
7311
"version": "2.5.2",
7312
"resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
7313
"integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
7162
- "dev": true,
7314
"bin": {
7315
"jsesc": "bin/jsesc"
7316
},
@@ -7207,7 +7358,6 @@
7358
"version": "2.2.3",
7359
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
7360
"integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
7210
- "dev": true,
7361
"bin": {
7362
"json5": "lib/cli.js"
7363
},
@@ -7271,6 +7421,19 @@
7421
"json-buffer": "3.0.1"
7422
}
7423
},
7424
+ "node_modules/klona": {
7425
+ "version": "2.0.6",
7426
+ "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz",
7427
+ "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==",
7428
+ "engines": {
7429
+ "node": ">= 8"
7430
+ }
7431
+ },
7432
+ "node_modules/knitwork": {
7433
+ "version": "1.1.0",
7434
+ "resolved": "https://registry.npmjs.org/knitwork/-/knitwork-1.1.0.tgz",
7435
+ "integrity": "sha512-oHnmiBUVHz1V+URE77PNot2lv3QiYU2zQf1JjOVkMt3YDKGbu8NAFr+c4mcNOhdsGrB/VpVbRwPwhiXrPhxQbw=="
7436
+ },
7437
"node_modules/koa": {
7438
"version": "2.15.3",
7439
"resolved": "https://registry.npmjs.org/koa/-/koa-2.15.3.tgz",
@@ -7568,7 +7731,6 @@
7731
"version": "0.5.0",
7732
"resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.5.0.tgz",
7733
"integrity": "sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==",
7571
- "dev": true,
7734
"dependencies": {
7735
"mlly": "^1.4.2",
7736
"pkg-types": "^1.0.3"
@@ -7796,7 +7958,6 @@
7958
"version": "5.1.1",
7959
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
7960
"integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
7799
- "dev": true,
7961
"dependencies": {
7962
"yallist": "^3.0.2"
7963
}
@@ -7894,8 +8055,7 @@
8055
"node_modules/merge-stream": {
8056
"version": "2.0.0",
8057
"resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
7897
- "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
7898
- "dev": true
8058
+ "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w=="
8059
},
8060
"node_modules/merge2": {
8061
"version": "1.4.1",
@@ -8109,7 +8269,6 @@
8269
"version": "2.1.2",
8270
"resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz",
8271
"integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==",
8112
- "dev": true,
8272
"dependencies": {
8273
"minipass": "^3.0.0",
8274
"yallist": "^4.0.0"
@@ -8122,7 +8281,6 @@
8281
"version": "3.3.6",
8282
"resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
8283
"integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
8125
- "dev": true,
8284
"dependencies": {
8285
"yallist": "^4.0.0"
8286
},
@@ -8133,8 +8291,7 @@
8291
"node_modules/minizlib/node_modules/yallist": {
8292
"version": "4.0.0",
8293
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
8136
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
8137
- "dev": true
8294
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
8295
},
8296
"node_modules/mitt": {
8297
"version": "3.0.1",
@@ -8157,7 +8314,6 @@
8314
"version": "1.7.1",
8315
"resolved": "https://registry.npmjs.org/mlly/-/mlly-1.7.1.tgz",
8316
"integrity": "sha512-rrVRZRELyQzrIUAVMHxP97kv+G786pHmOKzuFII8zDYahFBS7qnHh2AlYSl1GAHhaMPCz6/oHjVMcfFYgFYHgA==",
8160
- "dev": true,
8317
"dependencies": {
8318
"acorn": "^8.11.3",
8319
"pathe": "^1.1.2",
@@ -8165,6 +8321,14 @@
8321
"ufo": "^1.5.3"
8322
}
8323
},
8324
+ "node_modules/mri": {
8325
+ "version": "1.2.0",
8326
+ "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz",
8327
+ "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==",
8328
+ "engines": {
8329
+ "node": ">=4"
8330
+ }
8331
+ },
8332
"node_modules/mrmime": {
8333
"version": "2.0.0",
8334
"resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.0.tgz",
@@ -8259,14 +8423,12 @@
8423
"node_modules/node-fetch-native": {
8424
"version": "1.6.4",
8425
"resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.4.tgz",
8262
- "integrity": "sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==",
8263
- "dev": true
8426
+ "integrity": "sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ=="
8427
},
8428
"node_modules/node-releases": {
8429
"version": "2.0.18",
8430
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz",
8268
- "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==",
8269
- "dev": true
8431
+ "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g=="
8432
},
8433
"node_modules/nopt": {
8434
"version": "7.2.1",
@@ -8287,7 +8449,6 @@
8449
"version": "3.0.0",
8450
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
8451
"integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
8290
- "dev": true,
8452
"engines": {
8453
"node": ">=0.10.0"
8454
}
@@ -8410,6 +8571,149 @@
8571
"integrity": "sha512-qXDmcVlZV4XRtKFzddidpfVP4oMSGhga+xdMc25mv8kaLUHtgzCDhUxkrN8exkGdTlLNaXj7CV3GtON7zuGZ+w==",
8572
"dev": true
8573
},
8574
+ "node_modules/nypm": {
8575
+ "version": "0.3.11",
8576
+ "resolved": "https://registry.npmjs.org/nypm/-/nypm-0.3.11.tgz",
8577
+ "integrity": "sha512-E5GqaAYSnbb6n1qZyik2wjPDZON43FqOJO59+3OkWrnmQtjggrMOVnsyzfjxp/tS6nlYJBA4zRA5jSM2YaadMg==",
8578
+ "dependencies": {
8579
+ "citty": "^0.1.6",
8580
+ "consola": "^3.2.3",
8581
+ "execa": "^8.0.1",
8582
+ "pathe": "^1.1.2",
8583
+ "pkg-types": "^1.2.0",
8584
+ "ufo": "^1.5.4"
8585
+ },
8586
+ "bin": {
8587
+ "nypm": "dist/cli.mjs"
8588
+ },
8589
+ "engines": {
8590
+ "node": "^14.16.0 || >=16.10.0"
8591
+ }
8592
+ },
8593
+ "node_modules/nypm/node_modules/execa": {
8594
+ "version": "8.0.1",
8595
+ "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz",
8596
+ "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==",
8597
+ "dependencies": {
8598
+ "cross-spawn": "^7.0.3",
8599
+ "get-stream": "^8.0.1",
8600
+ "human-signals": "^5.0.0",
8601
+ "is-stream": "^3.0.0",
8602
+ "merge-stream": "^2.0.0",
8603
+ "npm-run-path": "^5.1.0",
8604
+ "onetime": "^6.0.0",
8605
+ "signal-exit": "^4.1.0",
8606
+ "strip-final-newline": "^3.0.0"
8607
+ },
8608
+ "engines": {
8609
+ "node": ">=16.17"
8610
+ },
8611
+ "funding": {
8612
+ "url": "https://github.com/sindresorhus/execa?sponsor=1"
8613
+ }
8614
+ },
8615
+ "node_modules/nypm/node_modules/get-stream": {
8616
+ "version": "8.0.1",
8617
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz",
8618
+ "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==",
8619
+ "engines": {
8620
+ "node": ">=16"
8621
+ },
8622
+ "funding": {
8623
+ "url": "https://github.com/sponsors/sindresorhus"
8624
+ }
8625
+ },
8626
+ "node_modules/nypm/node_modules/human-signals": {
8627
+ "version": "5.0.0",
8628
+ "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz",
8629
+ "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==",
8630
+ "engines": {
8631
+ "node": ">=16.17.0"
8632
+ }
8633
+ },
8634
+ "node_modules/nypm/node_modules/is-stream": {
8635
+ "version": "3.0.0",
8636
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz",
8637
+ "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==",
8638
+ "engines": {
8639
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
8640
+ },
8641
+ "funding": {
8642
+ "url": "https://github.com/sponsors/sindresorhus"
8643
+ }
8644
+ },
8645
+ "node_modules/nypm/node_modules/mimic-fn": {
8646
+ "version": "4.0.0",
8647
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz",
8648
+ "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==",
8649
+ "engines": {
8650
+ "node": ">=12"
8651
+ },
8652
+ "funding": {
8653
+ "url": "https://github.com/sponsors/sindresorhus"
8654
+ }
8655
+ },
8656
+ "node_modules/nypm/node_modules/npm-run-path": {
8657
+ "version": "5.3.0",
8658
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz",
8659
+ "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==",
8660
+ "dependencies": {
8661
+ "path-key": "^4.0.0"
8662
+ },
8663
+ "engines": {
8664
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
8665
+ },
8666
+ "funding": {
8667
+ "url": "https://github.com/sponsors/sindresorhus"
8668
+ }
8669
+ },
8670
+ "node_modules/nypm/node_modules/onetime": {
8671
+ "version": "6.0.0",
8672
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz",
8673
+ "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==",
8674
+ "dependencies": {
8675
+ "mimic-fn": "^4.0.0"
8676
+ },
8677
+ "engines": {
8678
+ "node": ">=12"
8679
+ },
8680
+ "funding": {
8681
+ "url": "https://github.com/sponsors/sindresorhus"
8682
+ }
8683
+ },
8684
+ "node_modules/nypm/node_modules/path-key": {
8685
+ "version": "4.0.0",
8686
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz",
8687
+ "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==",
8688
+ "engines": {
8689
+ "node": ">=12"
8690
+ },
8691
+ "funding": {
8692
+ "url": "https://github.com/sponsors/sindresorhus"
8693
+ }
8694
+ },
8695
+ "node_modules/nypm/node_modules/signal-exit": {
8696
+ "version": "4.1.0",
8697
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
8698
+ "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
8699
+ "engines": {
8700
+ "node": ">=14"
8701
+ },
8702
+ "funding": {
8703
+ "url": "https://github.com/sponsors/isaacs"
8704
+ }
8705
+ },
8706
+ "node_modules/nypm/node_modules/strip-final-newline": {
8707
+ "version": "3.0.0",
8708
+ "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz",
8709
+ "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==",
8710
+ "engines": {
8711
+ "node": ">=12"
8712
+ },
8713
+ "funding": {
8714
+ "url": "https://github.com/sponsors/sindresorhus"
8715
+ }
8716
+ },
8717
"node_modules/object-assign": {
8718
"version": "4.1.1",
8719
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
@@ -8451,6 +8755,11 @@
8755
"ufo": "^1.5.3"
8756
}
8757
},
8758
+ "node_modules/ohash": {
8759
+ "version": "1.1.3",
8760
+ "resolved": "https://registry.npmjs.org/ohash/-/ohash-1.1.3.tgz",
8761
+ "integrity": "sha512-zuHHiGTYTA1sYJ/wZN+t5HKZaH23i4yI1HMwbuXm24Nid7Dv0KcuRlKoNKS9UNfAVSBlnGLcuQrnOKWOZoEGaw=="
8762
+ },
8763
"node_modules/on-finished": {
8764
"version": "2.4.1",
8765
"resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
@@ -8702,8 +9011,7 @@
9011
"node_modules/pathe": {
9012
"version": "1.1.2",
9013
"resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz",
8705
- "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==",
8706
- "dev": true
9014
+ "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ=="
9015
},
9016
"node_modules/pathval": {
9017
"version": "2.0.0",
@@ -8732,8 +9040,7 @@
9040
"node_modules/perfect-debounce": {
9041
"version": "1.0.0",
9042
"resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-1.0.0.tgz",
8735
- "integrity": "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==",
8736
- "dev": true
9043
+ "integrity": "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA=="
9044
},
9045
"node_modules/performance-now": {
9046
"version": "2.1.0",
@@ -8804,11 +9111,26 @@
9111
}
9112
},
9113
"node_modules/pinia-plugin-persistedstate": {
8807
- "version": "3.2.3",
8808
- "resolved": "https://registry.npmjs.org/pinia-plugin-persistedstate/-/pinia-plugin-persistedstate-3.2.3.tgz",
8809
- "integrity": "sha512-Cm819WBj/s5K5DGw55EwbXDtx+EZzM0YR5AZbq9XE3u0xvXwvX2JnWoFpWIcdzISBHqy9H1UiSIUmXyXqWsQRQ==",
9114
+ "version": "4.0.0",
9115
+ "resolved": "https://registry.npmjs.org/pinia-plugin-persistedstate/-/pinia-plugin-persistedstate-4.0.0.tgz",
9116
+ "integrity": "sha512-yTly/5XMwgd4hQmZOTAdeK3Kfz89h9TMS2/d0VzVJEL9v2LanZdjhckpwnE+jelL+vsT7DnRLmSOtkzSJjO6Ng==",
9117
+ "dependencies": {
9118
+ "@nuxt/kit": "^3.13.0",
9119
+ "deep-pick-omit": "^1.2.0",
9120
+ "defu": "^6.1.4",
9121
+ "destr": "^2.0.3"
9122
+ },
9123
"peerDependencies": {
8811
- "pinia": "^2.0.0"
9124
+ "@pinia/nuxt": ">=0.5.0",
9125
+ "pinia": ">=2.0.0"
9126
+ },
9127
+ "peerDependenciesMeta": {
9128
+ "@pinia/nuxt": {
9129
+ "optional": true
9130
+ },
9131
+ "pinia": {
9132
+ "optional": true
9133
+ }
9134
}
9135
},
9136
"node_modules/pinia/node_modules/vue-demi": {
@@ -8846,10 +9168,9 @@
9168
}
9169
},
9170
"node_modules/pkg-types": {
8849
- "version": "1.1.3",
8850
- "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.1.3.tgz",
8851
- "integrity": "sha512-+JrgthZG6m3ckicaOB74TwQ+tBWsFl3qVQg7mN8ulwSOElJ7gBhKzj2VkCPnZ4NlF6kEquYU+RIYNVAvzd54UA==",
8852
- "dev": true,
9171
+ "version": "1.2.0",
9172
+ "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.2.0.tgz",
9173
+ "integrity": "sha512-+ifYuSSqOQ8CqP4MbZA5hDpb97n3E8SVWdJe+Wms9kj745lmd3b7EZJiqvmLwAlmRfjrI7Hi5z3kdBJ93lFNPA==",
9174
"dependencies": {
9175
"confbox": "^0.1.7",
9176
"mlly": "^1.7.1",
@@ -8889,9 +9210,9 @@
9210
}
9211
},
9212
"node_modules/postcss": {
8892
- "version": "8.4.44",
8893
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.44.tgz",
8894
- "integrity": "sha512-Aweb9unOEpQ3ezu4Q00DPvvM2ZTUitJdNKeP/+uQgr1IBIqu574IaZoURId7BKtWMREwzKa9OgzPzezWGPWFQw==",
9213
+ "version": "8.4.45",
9214
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.45.tgz",
9215
+ "integrity": "sha512-7KTLTdzdZZYscUc65XmjFiB73vBhBfbPztCYdUNvlaso9PrzjzcmjqBPR0lNGkcVlcO4BjiO5rK/qNz+XAen1Q==",
9216
"funding": [
9217
{
9218
"type": "opencollective",
@@ -9216,6 +9537,15 @@
9537
}
9538
]
9539
},
9540
+ "node_modules/rc9": {
9541
+ "version": "2.1.2",
9542
+ "resolved": "https://registry.npmjs.org/rc9/-/rc9-2.1.2.tgz",
9543
+ "integrity": "sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg==",
9544
+ "dependencies": {
9545
+ "defu": "^6.1.4",
9546
+ "destr": "^2.0.3"
9547
+ }
9548
+ },
9549
"node_modules/read-cache": {
9550
"version": "1.0.0",
9551
"resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
@@ -9242,7 +9572,6 @@
9572
"version": "3.6.0",
9573
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
9574
"integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
9245
- "dev": true,
9575
"dependencies": {
9576
"picomatch": "^2.2.1"
9577
},
@@ -9542,7 +9871,7 @@
9871
"version": "4.21.0",
9872
"resolved": "https://registry.npmjs.org/rollup/-/rollup-4.21.0.tgz",
9873
"integrity": "sha512-vo+S/lfA2lMS7rZ2Qoubi6I5hwZwzXeUIctILZLbHI+laNtvhhOIon2S1JksA5UEDQ7l3vberd0fxK44lTYjbQ==",
9545
- "dev": true,
9874
+ "devOptional": true,
9875
"dependencies": {
9876
"@types/estree": "1.0.5"
9877
},
@@ -9705,9 +10034,9 @@
10034
"dev": true
10035
},
10036
"node_modules/sass": {
9708
- "version": "1.77.8",
9709
- "resolved": "https://registry.npmjs.org/sass/-/sass-1.77.8.tgz",
9710
- "integrity": "sha512-4UHg6prsrycW20fqLGPShtEvo/WyHRVRHwOP4DzkUrObWoWI05QBSfzU71TVB7PFaL104TwNaHpjlWXAZbQiNQ==",
10037
+ "version": "1.78.0",
10038
+ "resolved": "https://registry.npmjs.org/sass/-/sass-1.78.0.tgz",
10039
+ "integrity": "sha512-AaIqGSrjo5lA2Yg7RvFZrlXDBCp3nV4XP73GrLGvdRWWwk+8H3l0SDvq/5bA4eF+0RFPLuWUk3E+P1U/YqnpsQ==",
10040
"dev": true,
10041
"dependencies": {
10042
"chokidar": ">=3.0.0 <4.0.0",
@@ -9733,6 +10062,11 @@
10062
"node": ">=v12.22.7"
10063
}
10064
},
10065
+ "node_modules/scule": {
10066
+ "version": "1.3.0",
10067
+ "resolved": "https://registry.npmjs.org/scule/-/scule-1.3.0.tgz",
10068
+ "integrity": "sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g=="
10069
+ },
10070
"node_modules/secure-ls": {
10071
"version": "2.0.0",
10072
"resolved": "https://registry.npmjs.org/secure-ls/-/secure-ls-2.0.0.tgz",
@@ -9813,11 +10147,11 @@
10147
}
10148
},
10149
"node_modules/shiki": {
9816
- "version": "1.16.1",
9817
- "resolved": "https://registry.npmjs.org/shiki/-/shiki-1.16.1.tgz",
9818
- "integrity": "sha512-tCJIMaxDVB1mEIJ5TvfZU7kCPB5eo9fli5+21Olc/bmyv+w8kye3JOp+LZRmGkAyT71hrkefQhTiY+o9mBikRQ==",
10150
+ "version": "1.16.2",
10151
+ "resolved": "https://registry.npmjs.org/shiki/-/shiki-1.16.2.tgz",
10152
+ "integrity": "sha512-gSym0hZf5a1U0iDPsdoOAZbvoi+e0c6c3NKAi03FoSLTm7oG20tum29+gk0wzzivOasn3loxfGUPT+jZXIUbWg==",
10153
"dependencies": {
9820
- "@shikijs/core": "1.16.1",
10154
+ "@shikijs/core": "1.16.2",
10155
"@shikijs/vscode-textmate": "^9.2.0",
10156
"@types/hast": "^3.0.4"
10157
}
@@ -10137,8 +10471,7 @@
10471
"node_modules/std-env": {
10472
"version": "3.7.0",
10473
"resolved": "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz",
10140
- "integrity": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==",
10141
- "dev": true
10474
+ "integrity": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg=="
10475
},
10476
"node_modules/stream-combiner": {
10477
"version": "0.0.4",
@@ -10222,6 +10555,22 @@
10555
"url": "https://github.com/sponsors/sindresorhus"
10556
}
10557
},
10558
+ "node_modules/strip-literal": {
10559
+ "version": "2.1.0",
10560
+ "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-2.1.0.tgz",
10561
+ "integrity": "sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==",
10562
+ "dependencies": {
10563
+ "js-tokens": "^9.0.0"
10564
+ },
10565
+ "funding": {
10566
+ "url": "https://github.com/sponsors/antfu"
10567
+ }
10568
+ },
10569
+ "node_modules/strip-literal/node_modules/js-tokens": {
10570
+ "version": "9.0.0",
10571
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.0.tgz",
10572
+ "integrity": "sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ=="
10573
+ },
10574
"node_modules/sucrase": {
10575
"version": "3.35.0",
10576
"resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz",
@@ -10269,7 +10618,6 @@
10618
"version": "5.5.0",
10619
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
10620
"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
10272
- "dev": true,
10621
"dependencies": {
10622
"has-flag": "^3.0.0"
10623
},
@@ -10520,7 +10868,6 @@
10868
"version": "6.2.1",
10869
"resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz",
10870
"integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==",
10523
- "dev": true,
10871
"dependencies": {
10872
"chownr": "^2.0.0",
10873
"fs-minipass": "^2.0.0",
@@ -10537,7 +10884,6 @@
10884
"version": "2.1.0",
10885
"resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz",
10886
"integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==",
10540
- "dev": true,
10887
"dependencies": {
10888
"minipass": "^3.0.0"
10889
},
@@ -10549,7 +10895,6 @@
10895
"version": "3.3.6",
10896
"resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
10897
"integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
10552
- "dev": true,
10898
"dependencies": {
10899
"yallist": "^4.0.0"
10900
},
@@ -10561,7 +10906,6 @@
10906
"version": "5.0.0",
10907
"resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz",
10908
"integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==",
10564
- "dev": true,
10909
"engines": {
10910
"node": ">=8"
10911
}
@@ -10570,7 +10914,6 @@
10914
"version": "1.0.4",
10915
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
10916
"integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
10573
- "dev": true,
10917
"bin": {
10918
"mkdirp": "bin/cmd.js"
10919
},
@@ -10581,8 +10924,7 @@
10924
"node_modules/tar/node_modules/yallist": {
10925
"version": "4.0.0",
10926
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
10584
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
10585
- "dev": true
10927
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
10928
},
10929
"node_modules/taze": {
10930
"version": "0.16.7",
@@ -10912,8 +11254,7 @@
11254
"node_modules/ufo": {
11255
"version": "1.5.4",
11256
"resolved": "https://registry.npmjs.org/ufo/-/ufo-1.5.4.tgz",
10915
- "integrity": "sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==",
10916
- "dev": true
11257
+ "integrity": "sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ=="
11258
},
11259
"node_modules/unconfig": {
11260
"version": "0.3.13",
@@ -10928,12 +11269,86 @@
11269
"url": "https://github.com/sponsors/antfu"
11270
}
11271
},
11272
+ "node_modules/uncrypto": {
11273
+ "version": "0.1.3",
11274
+ "resolved": "https://registry.npmjs.org/uncrypto/-/uncrypto-0.1.3.tgz",
11275
+ "integrity": "sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q=="
11276
+ },
11277
+ "node_modules/unctx": {
11278
+ "version": "2.3.1",
11279
+ "resolved": "https://registry.npmjs.org/unctx/-/unctx-2.3.1.tgz",
11280
+ "integrity": "sha512-PhKke8ZYauiqh3FEMVNm7ljvzQiph0Mt3GBRve03IJm7ukfaON2OBK795tLwhbyfzknuRRkW0+Ze+CQUmzOZ+A==",
11281
+ "dependencies": {
11282
+ "acorn": "^8.8.2",
11283
+ "estree-walker": "^3.0.3",
11284
+ "magic-string": "^0.30.0",
11285
+ "unplugin": "^1.3.1"
11286
+ }
11287
+ },
11288
+ "node_modules/unctx/node_modules/estree-walker": {
11289
+ "version": "3.0.3",
11290
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz",
11291
+ "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==",
11292
+ "dependencies": {
11293
+ "@types/estree": "^1.0.0"
11294
+ }
11295
+ },
11296
"node_modules/undici-types": {
11297
"version": "6.19.6",
11298
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.6.tgz",
11299
"integrity": "sha512-e/vggGopEfTKSvj4ihnOLTsqhrKRN3LeO6qSN/GxohhuRv8qH9bNQ4B8W7e/vFL+0XTnmHPB4/kegunZGA4Org==",
11300
"dev": true
11301
},
11302
+ "node_modules/unicorn-magic": {
11303
+ "version": "0.1.0",
11304
+ "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz",
11305
+ "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==",
11306
+ "engines": {
11307
+ "node": ">=18"
11308
+ },
11309
+ "funding": {
11310
+ "url": "https://github.com/sponsors/sindresorhus"
11311
+ }
11312
+ },
11313
+ "node_modules/unimport": {
11314
+ "version": "3.11.1",
11315
+ "resolved": "https://registry.npmjs.org/unimport/-/unimport-3.11.1.tgz",
11316
+ "integrity": "sha512-DuB1Uoq01LrrXTScxnwOoMSlTXxyKcULguFxbLrMDFcE/CO0ZWHpEiyhovN0mycPt7K6luAHe8laqvwvuoeUPg==",
11317
+ "dependencies": {
11318
+ "@rollup/pluginutils": "^5.1.0",
11319
+ "acorn": "^8.12.1",
11320
+ "escape-string-regexp": "^5.0.0",
11321
+ "estree-walker": "^3.0.3",
11322
+ "fast-glob": "^3.3.2",
11323
+ "local-pkg": "^0.5.0",
11324
+ "magic-string": "^0.30.11",
11325
+ "mlly": "^1.7.1",
11326
+ "pathe": "^1.1.2",
11327
+ "pkg-types": "^1.2.0",
11328
+ "scule": "^1.3.0",
11329
+ "strip-literal": "^2.1.0",
11330
+ "unplugin": "^1.12.2"
11331
+ }
11332
+ },
11333
+ "node_modules/unimport/node_modules/escape-string-regexp": {
11334
+ "version": "5.0.0",
11335
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz",
11336
+ "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==",
11337
+ "engines": {
11338
+ "node": ">=12"
11339
+ },
11340
+ "funding": {
11341
+ "url": "https://github.com/sponsors/sindresorhus"
11342
+ }
11343
+ },
11344
+ "node_modules/unimport/node_modules/estree-walker": {
11345
+ "version": "3.0.3",
11346
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz",
11347
+ "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==",
11348
+ "dependencies": {
11349
+ "@types/estree": "^1.0.0"
11350
+ }
11351
+ },
11352
"node_modules/unique-filename": {
11353
"version": "3.0.0",
11354
"resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz",
@@ -10968,18 +11383,23 @@
11383
}
11384
},
11385
"node_modules/unplugin": {
10971
- "version": "1.12.1",
10972
- "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.12.1.tgz",
10973
- "integrity": "sha512-aXEH9c5qi3uYZHo0niUtxDlT9ylG/luMW/dZslSCkbtC31wCyFkmM0kyoBBh+Grhn7CL+/kvKLfN61/EdxPxMQ==",
10974
- "dev": true,
11386
+ "version": "1.13.1",
11387
+ "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.13.1.tgz",
11388
+ "integrity": "sha512-6Kq1iSSwg7KyjcThRUks9LuqDAKvtnioxbL9iEtB9ctTyBA5OmrB8gZd/d225VJu1w3UpUsKV7eGrvf59J7+VA==",
11389
"dependencies": {
11390
"acorn": "^8.12.1",
10977
- "chokidar": "^3.6.0",
10978
- "webpack-sources": "^3.2.3",
11391
"webpack-virtual-modules": "^0.6.2"
11392
},
11393
"engines": {
11394
"node": ">=14.0.0"
11395
+ },
11396
+ "peerDependencies": {
11397
+ "webpack-sources": "^3"
11398
+ },
11399
+ "peerDependenciesMeta": {
11400
+ "webpack-sources": {
11401
+ "optional": true
11402
+ }
11403
}
11404
},
11405
"node_modules/unplugin-vue-components": {
@@ -11043,11 +11463,27 @@
11463
"node": ">=8"
11464
}
11465
},
11466
+ "node_modules/untyped": {
11467
+ "version": "1.4.2",
11468
+ "resolved": "https://registry.npmjs.org/untyped/-/untyped-1.4.2.tgz",
11469
+ "integrity": "sha512-nC5q0DnPEPVURPhfPQLahhSTnemVtPzdx7ofiRxXpOB2SYnb3MfdU3DVGyJdS8Lx+tBWeAePO8BfU/3EgksM7Q==",
11470
+ "dependencies": {
11471
+ "@babel/core": "^7.23.7",
11472
+ "@babel/standalone": "^7.23.8",
11473
+ "@babel/types": "^7.23.6",
11474
+ "defu": "^6.1.4",
11475
+ "jiti": "^1.21.0",
11476
+ "mri": "^1.2.0",
11477
+ "scule": "^1.2.0"
11478
+ },
11479
+ "bin": {
11480
+ "untyped": "dist/cli.mjs"
11481
+ }
11482
+ },
11483
"node_modules/update-browserslist-db": {
11484
"version": "1.1.0",
11485
"resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz",
11486
"integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==",
11050
- "dev": true,
11487
"funding": [
11488
{
11489
"type": "opencollective",
@@ -11274,15 +11710,15 @@
11710
}
11711
},
11712
"node_modules/vite-plugin-inspect": {
11277
- "version": "0.8.5",
11278
- "resolved": "https://registry.npmjs.org/vite-plugin-inspect/-/vite-plugin-inspect-0.8.5.tgz",
11279
- "integrity": "sha512-JvTUqsP1JNDw0lMZ5Z/r5cSj81VK2B7884LO1DC3GMBhdcjcsAnJjdWq7bzQL01Xbh+v60d3lju3g+z7eAtNew==",
11713
+ "version": "0.8.7",
11714
+ "resolved": "https://registry.npmjs.org/vite-plugin-inspect/-/vite-plugin-inspect-0.8.7.tgz",
11715
+ "integrity": "sha512-/XXou3MVc13A5O9/2Nd6xczjrUwt7ZyI9h8pTnUMkr5SshLcb0PJUOVq2V+XVkdeU4njsqAtmK87THZuO2coGA==",
11716
"dev": true,
11717
"dependencies": {
11718
"@antfu/utils": "^0.7.10",
11719
"@rollup/pluginutils": "^5.1.0",
11284
- "debug": "^4.3.5",
11285
- "error-stack-parser-es": "^0.1.4",
11720
+ "debug": "^4.3.6",
11721
+ "error-stack-parser-es": "^0.1.5",
11722
"fs-extra": "^11.2.0",
11723
"open": "^10.1.0",
11724
"perfect-debounce": "^1.0.0",
@@ -11350,18 +11786,18 @@
11786
}
11787
},
11788
"node_modules/vite-plugin-vue-devtools": {
11353
- "version": "7.3.9",
11354
- "resolved": "https://registry.npmjs.org/vite-plugin-vue-devtools/-/vite-plugin-vue-devtools-7.3.9.tgz",
11355
- "integrity": "sha512-ybDV2kepW0NpusvtfbRKHs0pvyrReNcFtL572gyZ6Alox6u5uebYefd2eAG/7mJSU3NPI5UxUH1e/Mof5exdlw==",
11789
+ "version": "7.4.4",
11790
+ "resolved": "https://registry.npmjs.org/vite-plugin-vue-devtools/-/vite-plugin-vue-devtools-7.4.4.tgz",
11791
+ "integrity": "sha512-lJ7Vr6gznv1nf2S75XJTpXl4XcwnHfyvqJQ7szOvTUfumQALDGo772TEH69wx8gkY/ZWZQea4DZR5IQZMOZKUA==",
11792
"dev": true,
11793
"dependencies": {
11358
- "@vue/devtools-core": "^7.3.9",
11359
- "@vue/devtools-kit": "^7.3.9",
11360
- "@vue/devtools-shared": "^7.3.9",
11794
+ "@vue/devtools-core": "^7.4.4",
11795
+ "@vue/devtools-kit": "^7.4.4",
11796
+ "@vue/devtools-shared": "^7.4.4",
11797
"execa": "^8.0.1",
11798
"sirv": "^2.0.4",
11363
- "vite-plugin-inspect": "^0.8.5",
11364
- "vite-plugin-vue-inspector": "^5.1.3"
11799
+ "vite-plugin-inspect": "^0.8.7",
11800
+ "vite-plugin-vue-inspector": "^5.2.0"
11801
},
11802
"engines": {
11803
"node": ">=v14.21.3"
@@ -11505,9 +11941,9 @@
11941
}
11942
},
11943
"node_modules/vite-plugin-vue-inspector": {
11508
- "version": "5.1.3",
11509
- "resolved": "https://registry.npmjs.org/vite-plugin-vue-inspector/-/vite-plugin-vue-inspector-5.1.3.tgz",
11510
- "integrity": "sha512-pMrseXIDP1Gb38mOevY+BvtNGNqiqmqa2pKB99lnLsADQww9w9xMbAfT4GB6RUoaOkSPrtlXqpq2Fq+Dj2AgFg==",
11944
+ "version": "5.2.0",
11945
+ "resolved": "https://registry.npmjs.org/vite-plugin-vue-inspector/-/vite-plugin-vue-inspector-5.2.0.tgz",
11946
+ "integrity": "sha512-wWxyb9XAtaIvV/Lr7cqB1HIzmHZFVUJsTNm3yAxkS87dgh/Ky4qr2wDEWNxF23fdhVa3jQ8MZREpr4XyiuaRqA==",
11947
"dev": true,
11948
"dependencies": {
11949
"@babel/core": "^7.23.0",
@@ -11752,15 +12188,15 @@
12188
"dev": true
12189
},
12190
"node_modules/vue": {
11755
- "version": "3.5.0",
11756
- "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.0.tgz",
11757
- "integrity": "sha512-1t70favYoFijwfWJ7g81aTd32obGaAnKYE9FNyMgnEzn3F4YncRi/kqAHHKloG0VXTD8vBYMhbgLKCA+Sk6QDw==",
12191
+ "version": "3.5.3",
12192
+ "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.3.tgz",
12193
+ "integrity": "sha512-xvRbd0HpuLovYbOHXRHlSBsSvmUJbo0pzbkKTApWnQGf3/cu5Z39mQeA5cZdLRVIoNf3zI6MSoOgHUT5i2jO+Q==",
12194
"dependencies": {
11759
- "@vue/compiler-dom": "3.5.0",
11760
- "@vue/compiler-sfc": "3.5.0",
11761
- "@vue/runtime-dom": "3.5.0",
11762
- "@vue/server-renderer": "3.5.0",
11763
- "@vue/shared": "3.5.0"
12195
+ "@vue/compiler-dom": "3.5.3",
12196
+ "@vue/compiler-sfc": "3.5.3",
12197
+ "@vue/runtime-dom": "3.5.3",
12198
+ "@vue/server-renderer": "3.5.3",
12199
+ "@vue/shared": "3.5.3"
12200
},
12201
"peerDependencies": {
12202
"typescript": "*"
@@ -11901,14 +12337,13 @@
12337
}
12338
},
12339
"node_modules/vue-tsc": {
11904
- "version": "2.1.5",
11905
- "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-2.1.5.tgz",
11906
- "integrity": "sha512-r4uljp8HQkGXPnNHR0qKkoE/g5OYYycr9Kfblxg0pLaPAxVr7SU/wmYhD7Y/ETApDl4+ZwvgFgn3RTOE7Xgy0Q==",
11907
- "deprecated": "use 2.1.4 instead",
12340
+ "version": "2.1.6",
12341
+ "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-2.1.6.tgz",
12342
+ "integrity": "sha512-f98dyZp5FOukcYmbFpuSCJ4Z0vHSOSmxGttZJCsFeX0M4w/Rsq0s4uKXjcSRsZqsRgQa6z7SfuO+y0HVICE57Q==",
12343
"dev": true,
12344
"dependencies": {
12345
"@volar/typescript": "~2.4.1",
11911
- "@vue/language-core": "2.1.5",
12346
+ "@vue/language-core": "2.1.6",
12347
"semver": "^7.5.4"
12348
},
12349
"bin": {
@@ -12019,7 +12454,8 @@
12454
"version": "3.2.3",
12455
"resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz",
12456
"integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==",
12022
- "dev": true,
12457
+ "optional": true,
12458
+ "peer": true,
12459
"engines": {
12460
"node": ">=10.13.0"
12461
}
@@ -12027,8 +12463,7 @@
12463
"node_modules/webpack-virtual-modules": {
12464
"version": "0.6.2",
12465
"resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.6.2.tgz",
12030
- "integrity": "sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==",
12031
- "dev": true
12466
+ "integrity": "sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ=="
12467
},
12468
"node_modules/whatwg-encoding": {
12469
"version": "3.1.1",
@@ -12285,8 +12720,7 @@
12720
"node_modules/yallist": {
12721
"version": "3.1.1",
12722
"resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
12288
- "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
12289
- "dev": true
12723
+ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="
12724
},
12725
"node_modules/yaml": {
12726
"version": "2.5.0",
frontend/package.json
+10
-10
@@ -36,7 +36,7 @@
36
"@fontsource/lexend": "^5.0.21",
37
"@fontsource/public-sans": "^5.0.18",
38
"@popperjs/core": "^2.11.8",
39
- "@shikijs/markdown-it": "^1.16.1",
39
+ "@shikijs/markdown-it": "^1.16.2",
40
"@vueuse/components": "^11.0.3",
41
"@vueuse/core": "^11.0.3",
42
"apexcharts": "^3.53.0",
@@ -56,11 +56,11 @@
56
"naive-ui": "^2.39.0",
57
"password-validator": "^5.3.0",
58
"pinia": "^2.2.2",
59
- "pinia-plugin-persistedstate": "^3.2.3",
59
+ "pinia-plugin-persistedstate": "^4.0.0",
60
"secure-ls": "^2.0.0",
61
- "shiki": "^1.16.1",
61
+ "shiki": "^1.16.2",
62
"validator": "^13.12.0",
63
- "vue": "^3.5.0",
63
+ "vue": "^3.5.3",
64
"vue-advanced-cropper": "^2.8.9",
65
"vue-highlight-words": "^3.0.1",
66
"vue-i18n": "^9.14.0",
@@ -80,7 +80,7 @@
80
"@types/inquirer": "^9.0.7",
81
"@types/jsdom": "^21.1.7",
82
"@types/lodash": "^4.17.7",
83
- "@types/node": "^22.5.2",
83
+ "@types/node": "^22.5.4",
84
"@types/validator": "^13.12.1",
85
"@vitejs/plugin-vue": "^5.1.3",
86
"@vitejs/plugin-vue-jsx": "^4.0.1",
@@ -89,7 +89,7 @@
89
"@vue/test-utils": "^2.4.6",
90
"@vue/tsconfig": "^0.5.1",
91
"autoprefixer": "^10.4.20",
92
- "cypress": "^13.14.1",
92
+ "cypress": "^13.14.2",
93
"eslint": "^9.9.1",
94
"eslint-plugin-cypress": "^3.5.0",
95
"eslint-plugin-vue": "^9.28.0",
@@ -100,9 +100,9 @@
100
"json5": "^2.2.3",
101
"npm-run-all2": "^6.2.2",
102
"picocolors": "^1.1.0",
103
- "postcss": "^8.4.44",
103
+ "postcss": "^8.4.45",
104
"prettier": "^3.3.3",
105
- "sass": "^1.77.8",
105
+ "sass": "^1.78.0",
106
"start-server-and-test": "^2.0.5",
107
"tailwind-config-viewer": "^2.0.4",
108
"tailwindcss": "^3.4.10",
@@ -112,10 +112,10 @@
112
"vite": "^5.4.3",
113
"vite-bundle-analyzer": "^0.10.6",
114
"vite-bundle-visualizer": "^1.2.1",
115
- "vite-plugin-vue-devtools": "^7.3.9",
115
+ "vite-plugin-vue-devtools": "^7.4.4",
116
"vite-svg-loader": "^5.1.0",
117
"vitest": "^2.0.5",
118
- "vue-tsc": "^2.1.5"
118
+ "vue-tsc": "^2.1.6"
119
},
120
"optionalDependencies": {
121
"@rollup/rollup-linux-x64-gnu": "^4.21.2"
frontend/src/api/endpoints/incidentManagement.ts
+5
-2
@@ -10,7 +10,7 @@ import type {
10
AlertTag,
11
AlertTimeline
12
} from "@/types/incidentManagement/alerts.d"
13
-import type { Case } from "@/types/incidentManagement/cases.d"
13
+import type { Case, CasePayload } from "@/types/incidentManagement/cases.d"
14
import type { IncidentNotification, IncidentNotificationPayload } from "@/types/incidentManagement/notifications.d"
15
16
export type AlertsFilter =
@@ -192,7 +192,10 @@ export default {
192
getCase(caseId: number) {
193
return HttpClient.get<FlaskBaseResponse & { cases: Case[] }>(`/incidents/db_operations/case/${caseId}`)
194
},
195
- createCase(alertId: number) {
195
+ createCase(payload: CasePayload) {
196
+ return HttpClient.post<FlaskBaseResponse & { case: Case }>(`/incidents/db_operations/case/create`, payload)
197
+ },
198
+ createCaseFromAlert(alertId: number) {
199
return HttpClient.post<FlaskBaseResponse & { case_alert_link: { case_id: number; alert_id: number } }>(
200
`/incidents/db_operations/case/from-alert`,
201
{
frontend/src/components/cloudSecurityAssessment/AvailableReportsList.vue
+7
-7
@@ -30,8 +30,8 @@
30
</div>
31
</div>
32
<n-spin :show="loading" class="min-h-32">
33
- <div class="list grid gap-4 grid-auto-fill-250">
34
- <template v-if="reportsList.length">
33
+ <template v-if="reportsList.length">
34
+ <div class="list grid gap-4 grid-auto-fill-250">
35
<AvailableReportsItem
36
v-for="report of reportsList"
37
:key="report"
@@ -39,11 +39,11 @@
39
class="item-appear item-appear-bottom item-appear-005"
40
@deleted="getReports()"
41
/>
42
- </template>
43
- <template v-else>
44
- <n-empty description="No items found" class="justify-center h-48" v-if="!loading" />
45
- </template>
46
- </div>
42
+ </div>
43
+ </template>
44
+ <template v-else>
45
+ <n-empty description="No items found" class="justify-center h-48" v-if="!loading" />
46
+ </template>
47
</n-spin>
48
49
<n-modal
frontend/src/components/incidentManagement/alerts/AlertCreateCaseButton.vue
+1
-1
@@ -32,7 +32,7 @@ function createCase() {
32
creating.value = true
33
34
Api.incidentManagement
35
- .createCase(alert.value.id)
35
+ .createCaseFromAlert(alert.value.id)
36
.then(res => {
37
if (res.data.success) {
38
updateAlert({
frontend/src/components/incidentManagement/cases/CaseCreationButton.vue
new
+50
@@ -0,0 +1,50 @@
1
+<template>
2
+ <n-button size="small" type="primary" @click="showForm = true" :loading="loading">
3
+ <template #icon>
4
+ <Icon :name="NewCaseIcon" :size="14"></Icon>
5
+ </template>
6
+ <span v-if="!onlyIcon">Create Case</span>
7
+ </n-button>
8
+
9
+ <n-modal
10
+ v-model:show="showForm"
11
+ display-directive="show"
12
+ preset="card"
13
+ :style="{ maxWidth: 'min(600px, 90vw)', minHeight: 'min(300px, 90vh)', overflow: 'hidden' }"
14
+ title="Create a new Case"
15
+ :bordered="false"
16
+ segmented
17
+ >
18
+ <CaseCreationForm
19
+ @mounted="formCTX = $event"
20
+ v-model:loading="loading"
21
+ @submitted="emit('submitted', $event)"
22
+ />
23
+ </n-modal>
24
+</template>
25
+
26
+<script setup lang="ts">
27
+import { ref, toRefs, watch } from "vue"
28
+import { NButton, NModal } from "naive-ui"
29
+import Icon from "@/components/common/Icon.vue"
30
+import CaseCreationForm from "./CaseCreationForm.vue"
31
+import type { Case } from "@/types/incidentManagement/cases"
32
+
33
+const emit = defineEmits<{
34
+ (e: "submitted", value: Case): void
35
+}>()
36
+
37
+const props = defineProps<{ onlyIcon?: boolean }>()
38
+const { onlyIcon } = toRefs(props)
39
+
40
+const NewCaseIcon = "carbon:fetch-upload-cloud"
41
+const formCTX = ref<{ load: () => void } | null>(null)
42
+const showForm = ref(false)
43
+const loading = ref(false)
44
+
45
+watch(showForm, val => {
46
+ if (val) {
47
+ formCTX.value?.load()
48
+ }
49
+})
50
+</script>
frontend/src/components/incidentManagement/cases/CaseCreationForm.vue
new
+242
@@ -0,0 +1,242 @@
1
+<template>
2
+ <n-spin :show="loading" class="customer-provisioning-default-settings-form">
3
+ <n-form :label-width="80" :model="form" :rules="rules" ref="formRef">
4
+ <div class="flex flex-col gap-3">
5
+ <div>
6
+ <n-form-item label="Name" path="case_name">
7
+ <n-input v-model:value.trim="form.case_name" placeholder="Input the case name..." clearable />
8
+ </n-form-item>
9
+ </div>
10
+ <div>
11
+ <n-form-item label="Description" path="case_description">
12
+ <n-input
13
+ v-model:value.trim="form.case_description"
14
+ placeholder="Input the case description..."
15
+ clearable
16
+ type="textarea"
17
+ :autosize="{
18
+ minRows: 5,
19
+ maxRows: 15
20
+ }"
21
+ />
22
+ </n-form-item>
23
+ </div>
24
+ <div class="flex gap-3">
25
+ <n-form-item label="Status" path="case_status" class="basis-1/2">
26
+ <n-select
27
+ v-model:value="form.case_status"
28
+ :options="statusOptions"
29
+ placeholder="Value..."
30
+ clearable
31
+ to="body"
32
+ />
33
+ </n-form-item>
34
+ <n-form-item label="Assigned user" path="assigned_to" class="basis-1/2">
35
+ <n-select
36
+ v-model:value="form.assigned_to"
37
+ :options="usersOptions"
38
+ placeholder="Value..."
39
+ clearable
40
+ to="body"
41
+ />
42
+ </n-form-item>
43
+ </div>
44
+
45
+ <div class="flex justify-between gap-4">
46
+ <div class="flex gap-4">
47
+ <slot name="additionalActions"></slot>
48
+ </div>
49
+ <div class="flex gap-4">
50
+ <n-button @click="reset()" :disabled="loading">Reset</n-button>
51
+ <n-button type="primary" :disabled="!isValid" @click="validate()" :loading="submitting">
52
+ Submit
53
+ </n-button>
54
+ </div>
55
+ </div>
56
+ </div>
57
+ </n-form>
58
+ </n-spin>
59
+</template>
60
+
61
+<script setup lang="ts">
62
+import { computed, inject, onBeforeMount, onMounted, ref, watch, type Ref } from "vue"
63
+import {
64
+ NForm,
65
+ NFormItem,
66
+ NInput,
67
+ NButton,
68
+ NSpin,
69
+ NSelect,
70
+ useMessage,
71
+ type FormValidationError,
72
+ type FormInst,
73
+ type FormRules
74
+} from "naive-ui"
75
+import Api from "@/api"
76
+import _trim from "lodash/trim"
77
+import _get from "lodash/get"
78
+import type { AlertStatus } from "@/types/incidentManagement/alerts.d"
79
+import type { Case, CasePayload } from "@/types/incidentManagement/cases.d"
80
+
81
+const emit = defineEmits<{
82
+ (e: "update:loading", value: boolean): void
83
+ (e: "submitted", value: Case): void
84
+ (
85
+ e: "mounted",
86
+ value: {
87
+ load: () => void
88
+ }
89
+ ): void
90
+}>()
91
+
92
+const loadingAvailableUsers = ref(false)
93
+const submitting = ref(false)
94
+const loading = computed(() => loadingAvailableUsers.value || submitting.value)
95
+const message = useMessage()
96
+const form = ref<CasePayload>(getForm())
97
+const formRef = ref<FormInst | null>(null)
98
+const availableUsers = inject<Ref<string[]>>("assignable-users", ref([]))
99
+
100
+const rules: FormRules = {
101
+ case_name: {
102
+ message: "Please input the Name",
103
+ required: true,
104
+ trigger: ["input", "blur"]
105
+ },
106
+ case_description: {
107
+ message: "Please input the Description",
108
+ required: true,
109
+ trigger: ["input", "blur"]
110
+ },
111
+ assigned_to: {
112
+ message: "Please input the Assigned user",
113
+ required: true,
114
+ trigger: ["input", "blur"]
115
+ },
116
+ case_status: {
117
+ message: "Please input the Status",
118
+ required: true,
119
+ trigger: ["input", "blur"]
120
+ }
121
+}
122
+
123
+const statusOptions: { label: string; value: AlertStatus }[] = [
124
+ { label: "Open", value: "OPEN" },
125
+ { label: "Closed", value: "CLOSED" },
126
+ { label: "In progress", value: "IN_PROGRESS" }
127
+]
128
+
129
+const usersOptions = computed(() => availableUsers.value.map(o => ({ label: o, value: o })))
130
+
131
+const isValid = computed(() => {
132
+ let valid = true
133
+
134
+ for (const key in rules) {
135
+ const rule = rules[key] as FormRules
136
+
137
+ if (rule.required && !_trim(_get(form.value, key))) {
138
+ valid = false
139
+ }
140
+ }
141
+
142
+ return valid
143
+})
144
+
145
+function validate() {
146
+ if (!formRef.value) return
147
+
148
+ formRef.value.validate((errors?: Array<FormValidationError>) => {
149
+ if (!errors) {
150
+ submit()
151
+ } else {
152
+ message.warning("You must fill in the required fields correctly.")
153
+ return false
154
+ }
155
+ })
156
+}
157
+
158
+function getForm() {
159
+ const payload = {
160
+ case_name: "",
161
+ case_creation_time: new Date(),
162
+ case_description: "",
163
+ assigned_to: null,
164
+ case_status: null
165
+ }
166
+ return payload
167
+}
168
+
169
+function reset(force?: boolean) {
170
+ if (!loading.value || force) {
171
+ resetForm()
172
+ formRef.value?.restoreValidation()
173
+ }
174
+}
175
+
176
+function resetForm() {
177
+ form.value = getForm()
178
+}
179
+
180
+function submit() {
181
+ submitting.value = true
182
+
183
+ Api.incidentManagement
184
+ .createCase(form.value)
185
+ .then(res => {
186
+ if (res.data.success) {
187
+ message.success(res.data?.message || "Case created successfully")
188
+ reset(true)
189
+ emit("submitted", res.data.case)
190
+ } else {
191
+ message.warning(res.data?.message || "An error occurred. Please try again later.")
192
+ }
193
+ })
194
+ .catch(err => {
195
+ message.error(err.response?.data?.message || "An error occurred. Please try again later.")
196
+ })
197
+ .finally(() => {
198
+ submitting.value = false
199
+ })
200
+}
201
+
202
+function getAvailableUsers() {
203
+ loadingAvailableUsers.value = true
204
+
205
+ Api.incidentManagement
206
+ .getAvailableUsers()
207
+ .then(res => {
208
+ if (res.data.success) {
209
+ availableUsers.value = res.data?.available_users || []
210
+ } else {
211
+ message.warning(res.data?.message || "An error occurred. Please try again later.")
212
+ }
213
+ })
214
+ .catch(err => {
215
+ message.error(err.response?.data?.message || "An error occurred. Please try again later.")
216
+ })
217
+ .finally(() => {
218
+ loadingAvailableUsers.value = false
219
+ })
220
+}
221
+
222
+function load() {
223
+ if (!availableUsers.value.length) {
224
+ getAvailableUsers()
225
+ }
226
+ reset()
227
+}
228
+
229
+watch(loading, val => {
230
+ emit("update:loading", val)
231
+})
232
+
233
+onBeforeMount(() => {
234
+ load()
235
+})
236
+
237
+onMounted(() => {
238
+ emit("mounted", {
239
+ load
240
+ })
241
+})
242
+</script>
frontend/src/components/incidentManagement/cases/CaseDetails.vue
+14
-9
@@ -15,14 +15,19 @@
15
</n-tab-pane>
16
<n-tab-pane name="Alerts" tab="Alerts" display-directive="show:lazy">
17
<div class="p-7 pt-4 flex flex-col gap-2">
18
- <AlertItem
19
- v-for="alert of caseEntity.alerts"
20
- :key="alert.id"
21
- :alertData="alert"
22
- embedded
23
- @deleted="getCase(caseEntity.id)"
24
- @updated="getCase(caseEntity.id)"
25
- />
18
+ <template v-if="caseEntity.alerts.length">
19
+ <AlertItem
20
+ v-for="alert of caseEntity.alerts"
21
+ :key="alert.id"
22
+ :alertData="alert"
23
+ embedded
24
+ @deleted="getCase(caseEntity.id)"
25
+ @updated="getCase(caseEntity.id)"
26
+ />
27
+ </template>
28
+ <template v-else>
29
+ <n-empty description="No items found" class="justify-center h-48" v-if="!loading" />
30
+ </template>
31
</div>
32
</n-tab-pane>
33
</n-tabs>
@@ -31,7 +36,7 @@
36
37
<script setup lang="ts">
38
import { defineAsyncComponent, onBeforeMount, ref, toRefs } from "vue"
34
-import { NTabs, NTabPane, NSpin, useMessage } from "naive-ui"
39
+import { NTabs, NTabPane, NSpin, NEmpty, useMessage } from "naive-ui"
40
import _clone from "lodash/cloneDeep"
41
import Api from "@/api"
42
import type { Case } from "@/types/incidentManagement/cases.d"
frontend/src/components/incidentManagement/cases/CaseOverview.vue
+5
-1
@@ -89,7 +89,11 @@
89
<div class="px-7">
90
<KVCard>
91
<template #key>description</template>
92
- <template #value>{{ caseData.case_description ?? "-" }}</template>
92
+ <template #value>
93
+ <span class="whitespace-pre-wrap">
94
+ {{ caseData.case_description ?? "-" }}
95
+ </span>
96
+ </template>
97
</KVCard>
98
</div>
99
frontend/src/components/incidentManagement/cases/CasesList.vue
+7
-17
@@ -1,7 +1,7 @@
1
<template>
2
<div class="cases-list">
3
<div class="header flex items-center justify-end gap-2" ref="header">
4
- <div class="info grow flex gap-2 lg:!hidden">
4
+ <div class="info grow flex gap-2">
5
<n-popover overlap placement="left">
6
<template #trigger>
7
<div class="bg-color border-radius">
@@ -35,22 +35,8 @@
35
</div>
36
</div>
37
</n-popover>
38
- </div>
39
- <div class="info grow lg:flex gap-2 hidden text-sm">
40
- Total :
41
- <code>{{ total }}</code>
42
- <span>/</span>
43
- <span class="text-secondary-color">Open :</span>
44
- <code class="text-error-color">{{ statusOpenTotal }}</code>
45
- <span>/</span>
46
- <span class="text-secondary-color">In Progress :</span>
47
- <code class="text-warning-color">{{ statusInProgressTotal }}</code>
48
- <span>/</span>
49
- <span class="text-secondary-color">Close :</span>
50
- <code class="text-success-color">{{ statusCloseTotal }}</code>
51
- <span>/</span>
52
- <span class="text-secondary-color">N/D :</span>
53
- <code>{{ statusUndefinedTotal }}</code>
38
+
39
+ <CaseCreationButton @submitted="getData()" :only-icon="caseCreationButtonOnlyIcon" />
40
</div>
41
<n-pagination
42
v-model:page="currentPage"
@@ -176,6 +162,7 @@ import Api from "@/api"
162
import _cloneDeep from "lodash/cloneDeep"
163
import _orderBy from "lodash/orderBy"
164
import Icon from "@/components/common/Icon.vue"
165
+import CaseCreationButton from "./CaseCreationButton.vue"
166
import { useResizeObserver } from "@vueuse/core"
167
import type { AlertStatus } from "@/types/incidentManagement/alerts.d"
168
import type { Case } from "@/types/incidentManagement/cases.d"
@@ -199,6 +186,7 @@ const availableUsers = ref<string[]>([])
186
const pageSize = ref(25)
187
const currentPage = ref(1)
188
const simpleMode = ref(false)
189
+const caseCreationButtonOnlyIcon = ref(false)
190
const showSizePicker = ref(true)
191
const pageSizes = [10, 25, 50, 100]
192
const header = ref()
@@ -367,6 +355,8 @@ useResizeObserver(header, entries => {
355
356
pageSlot.value = width < 700 ? 5 : 8
357
simpleMode.value = width < 550
358
+
359
+ caseCreationButtonOnlyIcon.value = (width < 580 && width > 549) || width < 390
360
})
361
362
onBeforeMount(() => {
frontend/src/components/webVulnerabilityAssessment/ReportsList.vue
+7
-7
@@ -30,8 +30,8 @@
30
</div>
31
</div>
32
<n-spin :show="loading" class="min-h-32">
33
- <div class="list grid gap-4 grid-auto-fill-250">
34
- <template v-if="reportsList.length">
33
+ <template v-if="reportsList.length">
34
+ <div class="list grid gap-4 grid-auto-fill-250">
35
<ReportsItem
36
v-for="report of reportsList"
37
:key="report"
@@ -39,11 +39,11 @@
39
class="item-appear item-appear-bottom item-appear-005"
40
@deleted="getReports()"
41
/>
42
- </template>
43
- <template v-else>
44
- <n-empty description="No items found" class="justify-center h-48" v-if="!loading" />
45
- </template>
46
- </div>
42
+ </div>
43
+ </template>
44
+ <template v-else>
45
+ <n-empty description="No items found" class="justify-center h-48" v-if="!loading" />
46
+ </template>
47
</n-spin>
48
49
<n-modal
frontend/src/types/incidentManagement/cases.d.ts
+2
@@ -9,3 +9,5 @@ export interface Case {
9
alerts: Alert[]
10
case_status: null | AlertStatus
11
}
12
+
13
+export type CasePayload = Omit<Case, "id" | "alerts">