uomtiles 0.1.4 → 0.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.output/nitro.json +1 -1
- package/.output/public/_nuxt/87P1vrJx2.js +1 -0
- package/.output/public/_nuxt/{BA52uD81.js → B30iI6NY.js} +1 -1
- package/.output/public/_nuxt/{CD84FXNW.js → B3Fqmbvs.js} +1 -1
- package/.output/public/_nuxt/BhdViME82.js +1 -0
- package/.output/public/_nuxt/{D-IOtyQX.js → BryCauXl.js} +1 -1
- package/.output/public/_nuxt/{CkfS_Wbu.js → BsG4RgIF.js} +1 -1
- package/.output/public/_nuxt/{zUWhKXtw2.js → BvI0Fk652.js} +1 -1
- package/.output/public/_nuxt/Bw9ZfIEz.js +1 -0
- package/.output/public/_nuxt/BxH0LSKl2.js +1 -0
- package/.output/public/_nuxt/{C5Y76DD6.js → C0tXXd_q.js} +1 -1
- package/.output/public/_nuxt/{CVwoxklV.js → C3P9RWxN.js} +1 -1
- package/.output/public/_nuxt/{D3Us7gX72.js → C9NpqQyG2.js} +1 -1
- package/.output/public/_nuxt/CJxz3JZZ2.js +2 -0
- package/.output/public/_nuxt/{JdUwgqKv.js → CNw483Zj.js} +1 -1
- package/.output/public/_nuxt/{Hbp_Okvs.js → CQoH790U.js} +2 -2
- package/.output/public/_nuxt/{BndUkSHF.js → CS7MV-ad.js} +3 -3
- package/.output/public/_nuxt/{DnVJUY7B.js → CVIKhDCB.js} +1 -1
- package/.output/public/_nuxt/{CeHZqNQ0.js → CVfH720g.js} +1 -1
- package/.output/public/_nuxt/{DLIy3f3M.js → CZ6SZO_d.js} +1 -1
- package/.output/public/_nuxt/{Bpc1HTfh.js → CanHJd1e.js} +1 -1
- package/.output/public/_nuxt/CeHFmSjl.js +1 -0
- package/.output/public/_nuxt/CeVhOOkF2.js +1 -0
- package/.output/public/_nuxt/Cigra9s92.js +1 -0
- package/.output/public/_nuxt/{Bh2Uv1S7.js → ClKxITwT.js} +1 -1
- package/.output/public/_nuxt/{sMWyPZfC2.js → CsaKOXaj2.js} +1 -1
- package/.output/public/_nuxt/{GqgcWtrL.js → CttzcMfv.js} +1 -1
- package/.output/public/_nuxt/Cw2siAf_2.js +1 -0
- package/.output/public/_nuxt/{DQ8r1OSk.js → DE6808Yp.js} +1 -1
- package/.output/public/_nuxt/{CUJ4QmLF.js → DUBSg_Y2.js} +1 -1
- package/.output/public/_nuxt/{CxkDmpVY.js → DWmS9_5P.js} +1 -1
- package/.output/public/_nuxt/DYM416m_.js +1 -0
- package/.output/public/_nuxt/{D_9SjQFe.js → D_SGIxNl.js} +1 -1
- package/.output/public/_nuxt/{BHSn2vP72.js → DbaWJJIa2.js} +1 -1
- package/.output/public/_nuxt/{C-b4mqsD.js → DjVe4luM.js} +1 -1
- package/.output/public/_nuxt/{CoPjdBwX.js → Dv7uv3N72.js} +1 -1
- package/.output/public/_nuxt/{CM9IbYJz.js → P5kgsppB.js} +1 -1
- package/.output/public/_nuxt/{KttxEAyP2.js → XR4gtbmm.js} +1 -1
- package/.output/public/_nuxt/_5p6z8Bm.js +2 -0
- package/.output/public/_nuxt/builds/latest.json +1 -1
- package/.output/public/_nuxt/builds/meta/98e45168-6e30-460e-aa28-fab54f032a83.json +1 -0
- package/.output/public/_nuxt/entry.DaxLd-bD.css +1 -0
- package/.output/public/_nuxt/flight-area-analysis.worker-CWQYRs9s.js +26 -0
- package/.output/public/_nuxt/hB2w6SMP2.js +64 -0
- package/.output/public/_nuxt/hePW80VL.js +1 -0
- package/.output/public/_nuxt/{nearest-area.worker-iSLH0Y_s.js → nearest-area.worker-BYHYA0SF.js} +1 -1
- package/.output/public/_nuxt/uomtiles-validation.worker-BTXhap7R.js +2 -0
- package/.output/server/chunks/_/antigravity-nfz.mjs +16 -3
- package/.output/server/chunks/_/antigravity-nfz.mjs.map +1 -1
- package/.output/server/chunks/_/coerce.mjs +8 -0
- package/.output/server/chunks/_/coerce.mjs.map +1 -0
- package/.output/server/chunks/_/config.mjs +1 -1
- package/.output/server/chunks/_/error-500.mjs +2 -2
- package/.output/server/chunks/_/error-500.mjs.map +1 -1
- package/.output/server/chunks/_/file-workspace.mjs +57 -5
- package/.output/server/chunks/_/file-workspace.mjs.map +1 -1
- package/.output/server/chunks/_/map-service.mjs +1 -1
- package/.output/server/chunks/_/pixel-diff.mjs +1 -1
- package/.output/server/{node_modules/consola/dist/chunks → chunks/_}/prompt.mjs +2 -2
- package/.output/server/chunks/_/prompt.mjs.map +1 -0
- package/.output/server/chunks/_/schemas.mjs +5005 -0
- package/.output/server/chunks/_/schemas.mjs.map +1 -0
- package/.output/server/{node_modules/@vue/shared/dist/shared.cjs.prod.js → chunks/_/shared.cjs.prod.mjs} +90 -76
- package/.output/server/chunks/_/shared.cjs.prod.mjs.map +1 -0
- package/.output/server/chunks/_/uom-auth.mjs +42 -5
- package/.output/server/chunks/_/uom-auth.mjs.map +1 -1
- package/.output/server/chunks/build/{CompletedTaskSelect-Ba03kTs9.mjs → CompletedTaskSelect-nkBeLFh1.mjs} +768 -769
- package/.output/server/chunks/build/{CompletedTaskSelect-Ba03kTs9.mjs.map → CompletedTaskSelect-nkBeLFh1.mjs.map} +1 -1
- package/.output/server/chunks/build/Empty-Cq-rSwil.mjs +259 -0
- package/.output/server/chunks/build/Empty-Cq-rSwil.mjs.map +1 -0
- package/.output/server/chunks/build/{interval-i5OZnTaK.mjs → Form-6_bvrptP.mjs} +37 -43
- package/.output/server/chunks/build/Form-6_bvrptP.mjs.map +1 -0
- package/.output/server/chunks/build/FormField-DJWBDPj5.mjs +246 -0
- package/.output/server/chunks/build/FormField-DJWBDPj5.mjs.map +1 -0
- package/.output/server/chunks/build/{Input-DnAric-z.mjs → Input-BeUryJZ5.mjs} +67 -68
- package/.output/server/chunks/build/Input-BeUryJZ5.mjs.map +1 -0
- package/.output/server/chunks/build/{MapLayerControl-DpNmYvcU.mjs → MapLayerControl-DPdRMmuw.mjs} +771 -772
- package/.output/server/chunks/build/{MapLayerControl-DpNmYvcU.mjs.map → MapLayerControl-DPdRMmuw.mjs.map} +1 -1
- package/.output/server/chunks/build/Modal-BZfMeBGt.mjs +1319 -0
- package/.output/server/chunks/build/{Modal-BLhN9Eg2.mjs.map → Modal-BZfMeBGt.mjs.map} +1 -1
- package/.output/server/chunks/build/{OnlineMap-B-sCfHkC.mjs → OnlineMap-CYdaIiq1.mjs} +46 -23
- package/.output/server/chunks/build/OnlineMap-CYdaIiq1.mjs.map +1 -0
- package/.output/server/chunks/build/Pagination-5jGo7sr3.mjs +1024 -0
- package/.output/server/chunks/build/{Pagination-CUzoLc_-.mjs.map → Pagination-5jGo7sr3.mjs.map} +1 -1
- package/.output/server/chunks/build/{Tabs-cdLsZZoL.mjs → ScrollArea-1y_sQGDj.mjs} +951 -952
- package/.output/server/chunks/build/ScrollArea-1y_sQGDj.mjs.map +1 -0
- package/.output/server/chunks/build/{Skeleton-CHp-GjOx.mjs → Skeleton-hv0ZqADP.mjs} +10 -11
- package/.output/server/chunks/build/{Skeleton-CHp-GjOx.mjs.map → Skeleton-hv0ZqADP.mjs.map} +1 -1
- package/.output/server/chunks/build/{Slider-CrIUK3pl.mjs → Slider-DMNQ5v0F.mjs} +150 -151
- package/.output/server/chunks/build/{Slider-CrIUK3pl.mjs.map → Slider-DMNQ5v0F.mjs.map} +1 -1
- package/.output/server/chunks/build/{Tooltip-DExIlyhu.mjs → Tooltip-Da_m4qTB.mjs} +151 -152
- package/.output/server/chunks/build/{Tooltip-DExIlyhu.mjs.map → Tooltip-Da_m4qTB.mjs.map} +1 -1
- package/.output/server/chunks/build/advanced-CQaZH879.mjs +5011 -0
- package/.output/server/chunks/build/advanced-CQaZH879.mjs.map +1 -0
- package/.output/server/chunks/build/{compare-DaE10Dhp.mjs → compare-CXhy8zkR.mjs} +297 -306
- package/.output/server/chunks/build/compare-CXhy8zkR.mjs.map +1 -0
- package/.output/server/chunks/build/{cookie-CziAmOf1.mjs → cookie-B6O7_fHD.mjs} +6 -6
- package/.output/server/chunks/build/{cookie-CziAmOf1.mjs.map → cookie-B6O7_fHD.mjs.map} +1 -1
- package/.output/server/chunks/build/dashboard-m7MkDiLb.mjs +3229 -0
- package/.output/server/chunks/build/{dashboard-Dq8mphss.mjs.map → dashboard-m7MkDiLb.mjs.map} +1 -1
- package/.output/server/chunks/build/{details-DCNvSBgn.mjs → details-BuFz0zbq.mjs} +207 -216
- package/.output/server/chunks/build/details-BuFz0zbq.mjs.map +1 -0
- package/.output/server/chunks/build/error-404-D9aQjJRn.mjs +12 -21
- package/.output/server/chunks/build/error-404-D9aQjJRn.mjs.map +1 -1
- package/.output/server/chunks/build/error-500-BNyA3wrb.mjs +8 -17
- package/.output/server/chunks/build/error-500-BNyA3wrb.mjs.map +1 -1
- package/.output/server/chunks/build/esm-Dp2lJXbp.mjs +10 -10
- package/.output/server/chunks/build/esm-Dp2lJXbp.mjs.map +1 -1
- package/.output/server/chunks/build/{file-workspace-DMzPuPyG.mjs → file-workspace-C9v6Qocb.mjs} +4 -4
- package/.output/server/chunks/build/file-workspace-C9v6Qocb.mjs.map +1 -0
- package/.output/server/chunks/build/{layers-50nqoWES.mjs → layers-BXomRZx1.mjs} +107 -116
- package/.output/server/chunks/build/layers-BXomRZx1.mjs.map +1 -0
- package/.output/server/chunks/build/{login-BHSHtO-R.mjs → login-Bc6Roxwo.mjs} +149 -153
- package/.output/server/chunks/build/login-Bc6Roxwo.mjs.map +1 -0
- package/.output/server/chunks/build/{map-layers-C3HJoCLw.mjs → map-layers-CTSGZGmW.mjs} +6 -6
- package/.output/server/chunks/build/map-layers-CTSGZGmW.mjs.map +1 -0
- package/.output/server/chunks/build/{overlay-BS4_B29H.mjs → overlay-LIOZRR0G.mjs} +174 -154
- package/.output/server/chunks/build/{overlay-BS4_B29H.mjs.map → overlay-LIOZRR0G.mjs.map} +1 -1
- package/.output/server/chunks/build/pages-CBsYYFMD.mjs +210 -0
- package/.output/server/chunks/build/pages-CBsYYFMD.mjs.map +1 -0
- package/.output/server/chunks/build/{pages-5yYRS5nX.mjs → pages-DN0BdqEU.mjs} +5 -5
- package/.output/server/chunks/build/pages-DN0BdqEU.mjs.map +1 -0
- package/.output/server/chunks/build/{services-DWlDpsbi.mjs → services-DnEkW3P_.mjs} +255 -264
- package/.output/server/chunks/build/{services-DWlDpsbi.mjs.map → services-DnEkW3P_.mjs.map} +1 -1
- package/.output/server/chunks/build/{tasks-4b6D39Uy.mjs → tasks-Bbc6_UeW.mjs} +1084 -1084
- package/.output/server/chunks/build/{tasks-4b6D39Uy.mjs.map → tasks-Bbc6_UeW.mjs.map} +1 -1
- package/.output/server/chunks/build/tasks-BzxHEsMV.mjs +82 -0
- package/.output/server/chunks/build/tasks-BzxHEsMV.mjs.map +1 -0
- package/.output/server/chunks/nitro/nitro.mjs +1858 -307
- package/.output/server/chunks/nitro/nitro.mjs.map +1 -1
- package/.output/server/chunks/routes/api/auth/captcha.post.mjs +3 -2
- package/.output/server/chunks/routes/api/auth/captcha.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/auth/login.post.mjs +3 -2
- package/.output/server/chunks/routes/api/auth/login.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/auth/logout.post.mjs +3 -2
- package/.output/server/chunks/routes/api/auth/logout.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/auth/map-token.post.mjs +3 -2
- package/.output/server/chunks/routes/api/auth/map-token.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/auth/send-sms.post.mjs +3 -2
- package/.output/server/chunks/routes/api/auth/send-sms.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/auth/status.get.mjs +3 -2
- package/.output/server/chunks/routes/api/auth/status.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/map/base/_baseLayer/_zoom/_tileX/_tileY_.get.mjs +3 -2
- package/.output/server/chunks/routes/api/map/base/_baseLayer/_zoom/_tileX/_tileY_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/map/base/status.get.mjs +3 -2
- package/.output/server/chunks/routes/api/map/base/status.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/map/layers/_overlayLayer/update.get.mjs +3 -2
- package/.output/server/chunks/routes/api/map/layers/_overlayLayer/update.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/map/layers/_overlayLayer/update.post.mjs +3 -2
- package/.output/server/chunks/routes/api/map/layers/_overlayLayer/update.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/map/layers/_overlayLayer_.get.mjs +3 -2
- package/.output/server/chunks/routes/api/map/layers/_overlayLayer_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/map/layers/status.get.mjs +3 -2
- package/.output/server/chunks/routes/api/map/layers/status.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/map/live/status.get.mjs +3 -2
- package/.output/server/chunks/routes/api/map/live/status.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/map/online/_layerGroup/_zoom/_tileX/_tileY_.get.mjs +3 -2
- package/.output/server/chunks/routes/api/map/online/_layerGroup/_zoom/_tileX/_tileY_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/map/online-root/_layerGroup/_rootX/_rootY_.get.mjs +3 -2
- package/.output/server/chunks/routes/api/map/online-root/_layerGroup/_rootX/_rootY_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/map-service/config.post.mjs +8 -8
- package/.output/server/chunks/routes/api/map-service/config.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/map-service/file.post.mjs +3 -3
- package/.output/server/chunks/routes/api/map-service/source.post.mjs +5 -5
- package/.output/server/chunks/routes/api/map-service/source.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/map-service/status.get.mjs +3 -3
- package/.output/server/chunks/routes/api/uom/myspace.post.mjs +71 -0
- package/.output/server/chunks/routes/api/uom/myspace.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workspace/_filename/analysis.get.mjs +8 -13
- package/.output/server/chunks/routes/api/workspace/_filename/analysis.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workspace/_filename/download.get.mjs +3 -3
- package/.output/server/chunks/routes/api/workspace/_filename/export/_format_.get.mjs +8 -7
- package/.output/server/chunks/routes/api/workspace/_filename/export/_format_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workspace/_filename/export-estimate.get.mjs +9 -8
- package/.output/server/chunks/routes/api/workspace/_filename/export-estimate.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workspace/_filename/tile.get.mjs +6 -5
- package/.output/server/chunks/routes/api/workspace/_filename/tile.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workspace/_filename/tiles.get.mjs +7 -6
- package/.output/server/chunks/routes/api/workspace/_filename/tiles.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workspace/_filename_.delete.mjs +3 -3
- package/.output/server/chunks/routes/api/workspace/compare/batch.get.mjs +10 -9
- package/.output/server/chunks/routes/api/workspace/compare/batch.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workspace/compare.post.mjs +5 -5
- package/.output/server/chunks/routes/api/workspace/compare.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workspace/fetch.post.mjs +5 -5
- package/.output/server/chunks/routes/api/workspace/fetch.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workspace/files.get.mjs +3 -3
- package/.output/server/chunks/routes/api/workspace/files.post.mjs +4 -4
- package/.output/server/chunks/routes/api/workspace/stop.post.mjs +6 -6
- package/.output/server/chunks/routes/api/workspace/stop.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workspace/tasks.post.mjs +6 -6
- package/.output/server/chunks/routes/api/workspace/tasks.post.mjs.map +1 -1
- package/.output/server/chunks/routes/renderer.mjs +42597 -155
- package/.output/server/chunks/routes/renderer.mjs.map +1 -1
- package/.output/server/chunks/routes/services/wms.get.mjs +14 -13
- package/.output/server/chunks/routes/services/wms.get.mjs.map +1 -1
- package/.output/server/chunks/routes/services/wmts.get.mjs +14 -13
- package/.output/server/chunks/routes/services/wmts.get.mjs.map +1 -1
- package/.output/server/chunks/virtual/entry.mjs +1317 -1136
- package/.output/server/chunks/virtual/entry.mjs.map +1 -1
- package/.output/server/chunks/virtual/precomputed.mjs +1 -1
- package/.output/server/index.mjs +4 -3
- package/.output/server/index.mjs.map +1 -1
- package/dist/package.json +6 -1
- package/dist/src/cli.js +4 -3
- package/dist/src/core/fetch-process.js +11 -0
- package/package.json +6 -1
- package/.output/public/_nuxt/7KYNy7kZ.js +0 -1
- package/.output/public/_nuxt/7Rgc2iDI2.js +0 -1
- package/.output/public/_nuxt/BRsHq3Fz2.js +0 -1
- package/.output/public/_nuxt/BiRI-vq-.js +0 -1
- package/.output/public/_nuxt/CGkIG2vL2.js +0 -1
- package/.output/public/_nuxt/CUQ3MZqI.js +0 -1
- package/.output/public/_nuxt/CzRdWh7s2.js +0 -1
- package/.output/public/_nuxt/DK3Fl9T5.js +0 -1
- package/.output/public/_nuxt/D_Ggu6R_2.js +0 -1
- package/.output/public/_nuxt/DuGgjt-h2.js +0 -64
- package/.output/public/_nuxt/GEOST6As.js +0 -1
- package/.output/public/_nuxt/L0GXeO1Y2.js +0 -1
- package/.output/public/_nuxt/builds/meta/78b9349b-da32-49d9-b6c7-85727e6d8129.json +0 -1
- package/.output/public/_nuxt/entry.U-KS0GEu.css +0 -1
- package/.output/server/chunks/build/Empty-CKvANuoV.mjs +0 -260
- package/.output/server/chunks/build/Empty-CKvANuoV.mjs.map +0 -1
- package/.output/server/chunks/build/FormField-BJHVyy1m.mjs +0 -247
- package/.output/server/chunks/build/FormField-BJHVyy1m.mjs.map +0 -1
- package/.output/server/chunks/build/Input-DnAric-z.mjs.map +0 -1
- package/.output/server/chunks/build/Modal-BLhN9Eg2.mjs +0 -1320
- package/.output/server/chunks/build/OnlineMap-B-sCfHkC.mjs.map +0 -1
- package/.output/server/chunks/build/Pagination-CUzoLc_-.mjs +0 -1025
- package/.output/server/chunks/build/Tabs-cdLsZZoL.mjs.map +0 -1
- package/.output/server/chunks/build/advanced-DaSpS8Px.mjs +0 -1426
- package/.output/server/chunks/build/advanced-DaSpS8Px.mjs.map +0 -1
- package/.output/server/chunks/build/compare-DaE10Dhp.mjs.map +0 -1
- package/.output/server/chunks/build/dashboard-Dq8mphss.mjs +0 -3238
- package/.output/server/chunks/build/details-DCNvSBgn.mjs.map +0 -1
- package/.output/server/chunks/build/file-workspace-DMzPuPyG.mjs.map +0 -1
- package/.output/server/chunks/build/interval-i5OZnTaK.mjs.map +0 -1
- package/.output/server/chunks/build/layers-50nqoWES.mjs.map +0 -1
- package/.output/server/chunks/build/login-BHSHtO-R.mjs.map +0 -1
- package/.output/server/chunks/build/map-layers-C3HJoCLw.mjs.map +0 -1
- package/.output/server/chunks/build/pages-5yYRS5nX.mjs.map +0 -1
- package/.output/server/chunks/build/pages-DfOPr0fC.mjs +0 -219
- package/.output/server/chunks/build/pages-DfOPr0fC.mjs.map +0 -1
- package/.output/server/chunks/build/tasks-BPPx2UMG.mjs +0 -91
- package/.output/server/chunks/build/tasks-BPPx2UMG.mjs.map +0 -1
- package/.output/server/node_modules/@babel/parser/lib/index.js +0 -14611
- package/.output/server/node_modules/@babel/parser/package.json +0 -50
- package/.output/server/node_modules/@iconify/utils/lib/colors/index.js +0 -295
- package/.output/server/node_modules/@iconify/utils/lib/colors/keywords.js +0 -701
- package/.output/server/node_modules/@iconify/utils/lib/css/common.js +0 -75
- package/.output/server/node_modules/@iconify/utils/lib/css/format.js +0 -39
- package/.output/server/node_modules/@iconify/utils/lib/css/icon.js +0 -47
- package/.output/server/node_modules/@iconify/utils/lib/css/icons.js +0 -128
- package/.output/server/node_modules/@iconify/utils/lib/customisations/bool.js +0 -19
- package/.output/server/node_modules/@iconify/utils/lib/customisations/defaults.js +0 -13
- package/.output/server/node_modules/@iconify/utils/lib/customisations/flip.js +0 -17
- package/.output/server/node_modules/@iconify/utils/lib/customisations/merge.js +0 -16
- package/.output/server/node_modules/@iconify/utils/lib/customisations/rotate.js +0 -30
- package/.output/server/node_modules/@iconify/utils/lib/emoji/cleanup.js +0 -78
- package/.output/server/node_modules/@iconify/utils/lib/emoji/convert.js +0 -100
- package/.output/server/node_modules/@iconify/utils/lib/emoji/data.js +0 -28
- package/.output/server/node_modules/@iconify/utils/lib/emoji/format.js +0 -58
- package/.output/server/node_modules/@iconify/utils/lib/emoji/parse.js +0 -48
- package/.output/server/node_modules/@iconify/utils/lib/emoji/regex/base.js +0 -203
- package/.output/server/node_modules/@iconify/utils/lib/emoji/regex/create.js +0 -33
- package/.output/server/node_modules/@iconify/utils/lib/emoji/regex/numbers.js +0 -132
- package/.output/server/node_modules/@iconify/utils/lib/emoji/regex/similar.js +0 -165
- package/.output/server/node_modules/@iconify/utils/lib/emoji/regex/tree.js +0 -79
- package/.output/server/node_modules/@iconify/utils/lib/emoji/replace/find.js +0 -92
- package/.output/server/node_modules/@iconify/utils/lib/emoji/replace/replace.js +0 -26
- package/.output/server/node_modules/@iconify/utils/lib/emoji/test/components.js +0 -76
- package/.output/server/node_modules/@iconify/utils/lib/emoji/test/missing.js +0 -66
- package/.output/server/node_modules/@iconify/utils/lib/emoji/test/name.js +0 -45
- package/.output/server/node_modules/@iconify/utils/lib/emoji/test/parse.js +0 -103
- package/.output/server/node_modules/@iconify/utils/lib/emoji/test/similar.js +0 -36
- package/.output/server/node_modules/@iconify/utils/lib/emoji/test/tree.js +0 -92
- package/.output/server/node_modules/@iconify/utils/lib/emoji/test/variations.js +0 -62
- package/.output/server/node_modules/@iconify/utils/lib/icon/defaults.js +0 -25
- package/.output/server/node_modules/@iconify/utils/lib/icon/merge.js +0 -16
- package/.output/server/node_modules/@iconify/utils/lib/icon/name.js +0 -57
- package/.output/server/node_modules/@iconify/utils/lib/icon/square.js +0 -33
- package/.output/server/node_modules/@iconify/utils/lib/icon/transformations.js +0 -12
- package/.output/server/node_modules/@iconify/utils/lib/icon-set/convert-info.js +0 -125
- package/.output/server/node_modules/@iconify/utils/lib/icon-set/expand.js +0 -19
- package/.output/server/node_modules/@iconify/utils/lib/icon-set/get-icon.js +0 -25
- package/.output/server/node_modules/@iconify/utils/lib/icon-set/get-icons.js +0 -36
- package/.output/server/node_modules/@iconify/utils/lib/icon-set/minify.js +0 -91
- package/.output/server/node_modules/@iconify/utils/lib/icon-set/parse.js +0 -46
- package/.output/server/node_modules/@iconify/utils/lib/icon-set/tree.js +0 -23
- package/.output/server/node_modules/@iconify/utils/lib/icon-set/validate-basic.js +0 -42
- package/.output/server/node_modules/@iconify/utils/lib/icon-set/validate.js +0 -123
- package/.output/server/node_modules/@iconify/utils/lib/index.js +0 -52
- package/.output/server/node_modules/@iconify/utils/lib/loader/custom.js +0 -30
- package/.output/server/node_modules/@iconify/utils/lib/loader/loader.js +0 -26
- package/.output/server/node_modules/@iconify/utils/lib/loader/modern.js +0 -27
- package/.output/server/node_modules/@iconify/utils/lib/loader/utils.js +0 -105
- package/.output/server/node_modules/@iconify/utils/lib/misc/objects.js +0 -26
- package/.output/server/node_modules/@iconify/utils/lib/misc/strings.js +0 -26
- package/.output/server/node_modules/@iconify/utils/lib/misc/title.js +0 -9
- package/.output/server/node_modules/@iconify/utils/lib/svg/build.js +0 -113
- package/.output/server/node_modules/@iconify/utils/lib/svg/defs.js +0 -31
- package/.output/server/node_modules/@iconify/utils/lib/svg/encode-svg-for-css.js +0 -13
- package/.output/server/node_modules/@iconify/utils/lib/svg/html.js +0 -9
- package/.output/server/node_modules/@iconify/utils/lib/svg/id.js +0 -41
- package/.output/server/node_modules/@iconify/utils/lib/svg/inner-html.js +0 -22
- package/.output/server/node_modules/@iconify/utils/lib/svg/parse.js +0 -67
- package/.output/server/node_modules/@iconify/utils/lib/svg/pretty.js +0 -54
- package/.output/server/node_modules/@iconify/utils/lib/svg/size.js +0 -27
- package/.output/server/node_modules/@iconify/utils/lib/svg/trim.js +0 -7
- package/.output/server/node_modules/@iconify/utils/lib/svg/url.js +0 -22
- package/.output/server/node_modules/@iconify/utils/lib/svg/viewbox.js +0 -8
- package/.output/server/node_modules/@iconify/utils/package.json +0 -119
- package/.output/server/node_modules/@vue/compiler-core/dist/compiler-core.cjs.prod.js +0 -6801
- package/.output/server/node_modules/@vue/compiler-core/package.json +0 -58
- package/.output/server/node_modules/@vue/compiler-dom/dist/compiler-dom.cjs.prod.js +0 -692
- package/.output/server/node_modules/@vue/compiler-dom/package.json +0 -57
- package/.output/server/node_modules/@vue/compiler-ssr/dist/compiler-ssr.cjs.js +0 -1420
- package/.output/server/node_modules/@vue/compiler-ssr/package.json +0 -34
- package/.output/server/node_modules/@vue/reactivity/dist/reactivity.cjs.prod.js +0 -1903
- package/.output/server/node_modules/@vue/reactivity/package.json +0 -55
- package/.output/server/node_modules/@vue/runtime-core/dist/runtime-core.cjs.prod.js +0 -6976
- package/.output/server/node_modules/@vue/runtime-core/package.json +0 -52
- package/.output/server/node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.prod.js +0 -1841
- package/.output/server/node_modules/@vue/runtime-dom/package.json +0 -60
- package/.output/server/node_modules/@vue/server-renderer/dist/server-renderer.cjs.prod.js +0 -904
- package/.output/server/node_modules/@vue/server-renderer/package.json +0 -53
- package/.output/server/node_modules/@vue/shared/package.json +0 -47
- package/.output/server/node_modules/consola/dist/core.mjs +0 -512
- package/.output/server/node_modules/consola/dist/index.mjs +0 -651
- package/.output/server/node_modules/consola/dist/shared/consola.DRwqZj3T.mjs +0 -72
- package/.output/server/node_modules/consola/dist/shared/consola.DXBYu-KD.mjs +0 -288
- package/.output/server/node_modules/consola/package.json +0 -136
- package/.output/server/node_modules/devalue/index.js +0 -17
- package/.output/server/node_modules/devalue/package.json +0 -39
- package/.output/server/node_modules/devalue/src/base64.js +0 -60
- package/.output/server/node_modules/devalue/src/constants.js +0 -12
- package/.output/server/node_modules/devalue/src/operations.js +0 -193
- package/.output/server/node_modules/devalue/src/parse.js +0 -270
- package/.output/server/node_modules/devalue/src/stringify.js +0 -428
- package/.output/server/node_modules/devalue/src/uneval.js +0 -582
- package/.output/server/node_modules/devalue/src/utils.js +0 -185
- package/.output/server/node_modules/entities/dist/commonjs/decode-codepoint.js +0 -77
- package/.output/server/node_modules/entities/dist/commonjs/decode.js +0 -568
- package/.output/server/node_modules/entities/dist/commonjs/generated/decode-data-html.js +0 -7
- package/.output/server/node_modules/entities/dist/commonjs/generated/decode-data-xml.js +0 -7
- package/.output/server/node_modules/entities/dist/commonjs/internal/bin-trie-flags.js +0 -21
- package/.output/server/node_modules/entities/dist/commonjs/internal/decode-shared.js +0 -31
- package/.output/server/node_modules/entities/dist/commonjs/package.json +0 -3
- package/.output/server/node_modules/entities/package.json +0 -120
- package/.output/server/node_modules/estree-walker/dist/umd/estree-walker.js +0 -344
- package/.output/server/node_modules/estree-walker/package.json +0 -37
- package/.output/server/node_modules/fflate/esm/index.mjs +0 -2710
- package/.output/server/node_modules/fflate/package.json +0 -128
- package/.output/server/node_modules/fnv1a-64/dist/index.mjs +0 -95
- package/.output/server/node_modules/fnv1a-64/package.json +0 -75
- package/.output/server/node_modules/hookable/dist/index.mjs +0 -257
- package/.output/server/node_modules/hookable/package.json +0 -53
- package/.output/server/node_modules/nostics/dist/formatters/ansi.mjs +0 -19
- package/.output/server/node_modules/nostics/dist/index.mjs +0 -187
- package/.output/server/node_modules/nostics/package.json +0 -125
- package/.output/server/node_modules/object-identity/index.js +0 -60
- package/.output/server/node_modules/object-identity/package.json +0 -40
- package/.output/server/node_modules/p-limit/index.js +0 -104
- package/.output/server/node_modules/p-limit/package.json +0 -58
- package/.output/server/node_modules/pmtiles/dist/esm/index.js +0 -2
- package/.output/server/node_modules/pmtiles/package.json +0 -50
- package/.output/server/node_modules/source-map-js/lib/array-set.js +0 -121
- package/.output/server/node_modules/source-map-js/lib/base64-vlq.js +0 -140
- package/.output/server/node_modules/source-map-js/lib/base64.js +0 -67
- package/.output/server/node_modules/source-map-js/lib/binary-search.js +0 -111
- package/.output/server/node_modules/source-map-js/lib/mapping-list.js +0 -79
- package/.output/server/node_modules/source-map-js/lib/quick-sort.js +0 -132
- package/.output/server/node_modules/source-map-js/lib/source-map-consumer.js +0 -1188
- package/.output/server/node_modules/source-map-js/lib/source-map-generator.js +0 -444
- package/.output/server/node_modules/source-map-js/lib/source-node.js +0 -413
- package/.output/server/node_modules/source-map-js/lib/util.js +0 -594
- package/.output/server/node_modules/source-map-js/package.json +0 -71
- package/.output/server/node_modules/source-map-js/source-map.js +0 -8
- package/.output/server/node_modules/tailwindcss/dist/chunk-DCG7AFIE.mjs +0 -1
- package/.output/server/node_modules/tailwindcss/dist/colors.mjs +0 -1
- package/.output/server/node_modules/tailwindcss/package.json +0 -89
- package/.output/server/node_modules/ufo/dist/index.mjs +0 -645
- package/.output/server/node_modules/ufo/package.json +0 -48
- package/.output/server/node_modules/undici/index.js +0 -234
- package/.output/server/node_modules/undici/lib/api/abort-signal.js +0 -59
- package/.output/server/node_modules/undici/lib/api/api-connect.js +0 -110
- package/.output/server/node_modules/undici/lib/api/api-pipeline.js +0 -252
- package/.output/server/node_modules/undici/lib/api/api-request.js +0 -214
- package/.output/server/node_modules/undici/lib/api/api-stream.js +0 -209
- package/.output/server/node_modules/undici/lib/api/api-upgrade.js +0 -111
- package/.output/server/node_modules/undici/lib/api/index.js +0 -7
- package/.output/server/node_modules/undici/lib/api/readable.js +0 -580
- package/.output/server/node_modules/undici/lib/cache/memory-cache-store.js +0 -279
- package/.output/server/node_modules/undici/lib/cache/sqlite-cache-store.js +0 -467
- package/.output/server/node_modules/undici/lib/core/connect.js +0 -153
- package/.output/server/node_modules/undici/lib/core/constants.js +0 -143
- package/.output/server/node_modules/undici/lib/core/diagnostics.js +0 -227
- package/.output/server/node_modules/undici/lib/core/errors.js +0 -477
- package/.output/server/node_modules/undici/lib/core/request.js +0 -464
- package/.output/server/node_modules/undici/lib/core/socks5-client.js +0 -422
- package/.output/server/node_modules/undici/lib/core/socks5-utils.js +0 -212
- package/.output/server/node_modules/undici/lib/core/symbols.js +0 -75
- package/.output/server/node_modules/undici/lib/core/tree.js +0 -160
- package/.output/server/node_modules/undici/lib/core/util.js +0 -992
- package/.output/server/node_modules/undici/lib/dispatcher/agent.js +0 -158
- package/.output/server/node_modules/undici/lib/dispatcher/balanced-pool.js +0 -219
- package/.output/server/node_modules/undici/lib/dispatcher/client-h1.js +0 -1731
- package/.output/server/node_modules/undici/lib/dispatcher/client-h2.js +0 -995
- package/.output/server/node_modules/undici/lib/dispatcher/client.js +0 -664
- package/.output/server/node_modules/undici/lib/dispatcher/dispatcher-base.js +0 -184
- package/.output/server/node_modules/undici/lib/dispatcher/dispatcher.js +0 -48
- package/.output/server/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js +0 -146
- package/.output/server/node_modules/undici/lib/dispatcher/fixed-queue.js +0 -135
- package/.output/server/node_modules/undici/lib/dispatcher/h2c-client.js +0 -51
- package/.output/server/node_modules/undici/lib/dispatcher/pool-base.js +0 -214
- package/.output/server/node_modules/undici/lib/dispatcher/pool.js +0 -118
- package/.output/server/node_modules/undici/lib/dispatcher/proxy-agent.js +0 -319
- package/.output/server/node_modules/undici/lib/dispatcher/retry-agent.js +0 -35
- package/.output/server/node_modules/undici/lib/dispatcher/round-robin-pool.js +0 -137
- package/.output/server/node_modules/undici/lib/dispatcher/socks5-proxy-agent.js +0 -260
- package/.output/server/node_modules/undici/lib/encoding/index.js +0 -33
- package/.output/server/node_modules/undici/lib/global.js +0 -59
- package/.output/server/node_modules/undici/lib/handler/cache-handler.js +0 -760
- package/.output/server/node_modules/undici/lib/handler/cache-revalidation-handler.js +0 -124
- package/.output/server/node_modules/undici/lib/handler/decorator-handler.js +0 -67
- package/.output/server/node_modules/undici/lib/handler/deduplication-handler.js +0 -460
- package/.output/server/node_modules/undici/lib/handler/redirect-handler.js +0 -238
- package/.output/server/node_modules/undici/lib/handler/retry-handler.js +0 -418
- package/.output/server/node_modules/undici/lib/handler/unwrap-handler.js +0 -106
- package/.output/server/node_modules/undici/lib/handler/wrap-handler.js +0 -105
- package/.output/server/node_modules/undici/lib/interceptor/cache.js +0 -602
- package/.output/server/node_modules/undici/lib/interceptor/decompress.js +0 -259
- package/.output/server/node_modules/undici/lib/interceptor/deduplicate.js +0 -117
- package/.output/server/node_modules/undici/lib/interceptor/dns.js +0 -571
- package/.output/server/node_modules/undici/lib/interceptor/dump.js +0 -112
- package/.output/server/node_modules/undici/lib/interceptor/redirect.js +0 -21
- package/.output/server/node_modules/undici/lib/interceptor/response-error.js +0 -95
- package/.output/server/node_modules/undici/lib/interceptor/retry.js +0 -19
- package/.output/server/node_modules/undici/lib/llhttp/constants.js +0 -531
- package/.output/server/node_modules/undici/lib/llhttp/llhttp-wasm.js +0 -15
- package/.output/server/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js +0 -15
- package/.output/server/node_modules/undici/lib/llhttp/utils.js +0 -12
- package/.output/server/node_modules/undici/lib/mock/mock-agent.js +0 -232
- package/.output/server/node_modules/undici/lib/mock/mock-call-history.js +0 -248
- package/.output/server/node_modules/undici/lib/mock/mock-client.js +0 -68
- package/.output/server/node_modules/undici/lib/mock/mock-errors.js +0 -29
- package/.output/server/node_modules/undici/lib/mock/mock-interceptor.js +0 -209
- package/.output/server/node_modules/undici/lib/mock/mock-pool.js +0 -68
- package/.output/server/node_modules/undici/lib/mock/mock-symbols.js +0 -32
- package/.output/server/node_modules/undici/lib/mock/mock-utils.js +0 -486
- package/.output/server/node_modules/undici/lib/mock/pending-interceptors-formatter.js +0 -43
- package/.output/server/node_modules/undici/lib/mock/snapshot-agent.js +0 -353
- package/.output/server/node_modules/undici/lib/mock/snapshot-recorder.js +0 -588
- package/.output/server/node_modules/undici/lib/mock/snapshot-utils.js +0 -158
- package/.output/server/node_modules/undici/lib/util/cache.js +0 -676
- package/.output/server/node_modules/undici/lib/util/date.js +0 -670
- package/.output/server/node_modules/undici/lib/util/promise.js +0 -28
- package/.output/server/node_modules/undici/lib/util/runtime-features.js +0 -124
- package/.output/server/node_modules/undici/lib/util/stats.js +0 -32
- package/.output/server/node_modules/undici/lib/util/timers.js +0 -425
- package/.output/server/node_modules/undici/lib/web/cache/cache.js +0 -864
- package/.output/server/node_modules/undici/lib/web/cache/cachestorage.js +0 -152
- package/.output/server/node_modules/undici/lib/web/cache/util.js +0 -45
- package/.output/server/node_modules/undici/lib/web/cookies/constants.js +0 -12
- package/.output/server/node_modules/undici/lib/web/cookies/index.js +0 -199
- package/.output/server/node_modules/undici/lib/web/cookies/parse.js +0 -314
- package/.output/server/node_modules/undici/lib/web/cookies/util.js +0 -352
- package/.output/server/node_modules/undici/lib/web/eventsource/eventsource-stream.js +0 -399
- package/.output/server/node_modules/undici/lib/web/eventsource/eventsource.js +0 -501
- package/.output/server/node_modules/undici/lib/web/eventsource/util.js +0 -29
- package/.output/server/node_modules/undici/lib/web/fetch/body.js +0 -509
- package/.output/server/node_modules/undici/lib/web/fetch/constants.js +0 -131
- package/.output/server/node_modules/undici/lib/web/fetch/data-url.js +0 -596
- package/.output/server/node_modules/undici/lib/web/fetch/formdata-parser.js +0 -586
- package/.output/server/node_modules/undici/lib/web/fetch/formdata.js +0 -259
- package/.output/server/node_modules/undici/lib/web/fetch/global.js +0 -40
- package/.output/server/node_modules/undici/lib/web/fetch/headers.js +0 -719
- package/.output/server/node_modules/undici/lib/web/fetch/index.js +0 -2413
- package/.output/server/node_modules/undici/lib/web/fetch/request.js +0 -1115
- package/.output/server/node_modules/undici/lib/web/fetch/response.js +0 -641
- package/.output/server/node_modules/undici/lib/web/fetch/util.js +0 -1522
- package/.output/server/node_modules/undici/lib/web/infra/index.js +0 -229
- package/.output/server/node_modules/undici/lib/web/subresource-integrity/subresource-integrity.js +0 -307
- package/.output/server/node_modules/undici/lib/web/webidl/index.js +0 -1006
- package/.output/server/node_modules/undici/lib/web/websocket/connection.js +0 -329
- package/.output/server/node_modules/undici/lib/web/websocket/constants.js +0 -126
- package/.output/server/node_modules/undici/lib/web/websocket/events.js +0 -331
- package/.output/server/node_modules/undici/lib/web/websocket/frame.js +0 -133
- package/.output/server/node_modules/undici/lib/web/websocket/permessage-deflate.js +0 -100
- package/.output/server/node_modules/undici/lib/web/websocket/receiver.js +0 -507
- package/.output/server/node_modules/undici/lib/web/websocket/sender.js +0 -109
- package/.output/server/node_modules/undici/lib/web/websocket/stream/websocketerror.js +0 -104
- package/.output/server/node_modules/undici/lib/web/websocket/stream/websocketstream.js +0 -498
- package/.output/server/node_modules/undici/lib/web/websocket/util.js +0 -347
- package/.output/server/node_modules/undici/lib/web/websocket/websocket.js +0 -758
- package/.output/server/node_modules/undici/package.json +0 -152
- package/.output/server/node_modules/unhead/dist/client.mjs +0 -22
- package/.output/server/node_modules/unhead/dist/index.mjs +0 -52
- package/.output/server/node_modules/unhead/dist/legacy.mjs +0 -33
- package/.output/server/node_modules/unhead/dist/minify.mjs +0 -183
- package/.output/server/node_modules/unhead/dist/parser.mjs +0 -518
- package/.output/server/node_modules/unhead/dist/plugins.mjs +0 -631
- package/.output/server/node_modules/unhead/dist/scripts.node.mjs +0 -6
- package/.output/server/node_modules/unhead/dist/server.mjs +0 -99
- package/.output/server/node_modules/unhead/dist/shared/unhead.BEmVMkeA.mjs +0 -673
- package/.output/server/node_modules/unhead/dist/shared/unhead.BGFxPGPQ.mjs +0 -47
- package/.output/server/node_modules/unhead/dist/shared/unhead.BQWSw36o.mjs +0 -192
- package/.output/server/node_modules/unhead/dist/shared/unhead.Bb4d5b9h.mjs +0 -67
- package/.output/server/node_modules/unhead/dist/shared/unhead.BdK3SLPN.mjs +0 -585
- package/.output/server/node_modules/unhead/dist/shared/unhead.Bf_fPVYA.mjs +0 -6
- package/.output/server/node_modules/unhead/dist/shared/unhead.Bm4Y6XQI.mjs +0 -17
- package/.output/server/node_modules/unhead/dist/shared/unhead.C3b2Ipoj.mjs +0 -223
- package/.output/server/node_modules/unhead/dist/shared/unhead.CGPOfp5O.mjs +0 -32
- package/.output/server/node_modules/unhead/dist/shared/unhead.CHEy9ana.mjs +0 -7
- package/.output/server/node_modules/unhead/dist/shared/unhead.CTjuIdzk.mjs +0 -27
- package/.output/server/node_modules/unhead/dist/shared/unhead.CfKy3Kuq.mjs +0 -196
- package/.output/server/node_modules/unhead/dist/shared/unhead.D7HkBzZn.mjs +0 -59
- package/.output/server/node_modules/unhead/dist/shared/unhead.DNKiVLV7.mjs +0 -400
- package/.output/server/node_modules/unhead/dist/shared/unhead.MC5RsXLj.mjs +0 -19
- package/.output/server/node_modules/unhead/dist/shared/unhead.jEy9BmRq.mjs +0 -264
- package/.output/server/node_modules/unhead/dist/shared/unhead.tQnRaXfX.mjs +0 -240
- package/.output/server/node_modules/unhead/dist/stream/client.mjs +0 -28
- package/.output/server/node_modules/unhead/dist/stream/iife.mjs +0 -2
- package/.output/server/node_modules/unhead/dist/stream/server.mjs +0 -264
- package/.output/server/node_modules/unhead/dist/utils.mjs +0 -7
- package/.output/server/node_modules/unhead/package.json +0 -179
- package/.output/server/node_modules/vue/dist/vue.cjs.js +0 -80
- package/.output/server/node_modules/vue/dist/vue.cjs.prod.js +0 -66
- package/.output/server/node_modules/vue/index.js +0 -7
- package/.output/server/node_modules/vue/index.mjs +0 -1
- package/.output/server/node_modules/vue/package.json +0 -112
- package/.output/server/node_modules/vue/server-renderer/index.mjs +0 -1
- package/.output/server/node_modules/vue-bundle-renderer/dist/runtime.mjs +0 -278
- package/.output/server/node_modules/vue-bundle-renderer/package.json +0 -54
- package/.output/server/node_modules/yocto-queue/index.js +0 -90
- package/.output/server/node_modules/yocto-queue/package.json +0 -48
- package/.output/server/node_modules/zod/index.js +0 -4
- package/.output/server/node_modules/zod/package.json +0 -135
- package/.output/server/node_modules/zod/v4/classic/checks.js +0 -1
- package/.output/server/node_modules/zod/v4/classic/coerce.js +0 -17
- package/.output/server/node_modules/zod/v4/classic/compat.js +0 -31
- package/.output/server/node_modules/zod/v4/classic/errors.js +0 -48
- package/.output/server/node_modules/zod/v4/classic/external.js +0 -20
- package/.output/server/node_modules/zod/v4/classic/from-json-schema.js +0 -599
- package/.output/server/node_modules/zod/v4/classic/iso.js +0 -30
- package/.output/server/node_modules/zod/v4/classic/package.json +0 -7
- package/.output/server/node_modules/zod/v4/classic/parse.js +0 -15
- package/.output/server/node_modules/zod/v4/classic/schemas.js +0 -1395
- package/.output/server/node_modules/zod/v4/core/api.js +0 -1087
- package/.output/server/node_modules/zod/v4/core/checks.js +0 -575
- package/.output/server/node_modules/zod/v4/core/core.js +0 -78
- package/.output/server/node_modules/zod/v4/core/doc.js +0 -35
- package/.output/server/node_modules/zod/v4/core/errors.js +0 -185
- package/.output/server/node_modules/zod/v4/core/index.js +0 -16
- package/.output/server/node_modules/zod/v4/core/json-schema-generator.js +0 -95
- package/.output/server/node_modules/zod/v4/core/json-schema-processors.js +0 -601
- package/.output/server/node_modules/zod/v4/core/json-schema.js +0 -1
- package/.output/server/node_modules/zod/v4/core/package.json +0 -7
- package/.output/server/node_modules/zod/v4/core/parse.js +0 -93
- package/.output/server/node_modules/zod/v4/core/regexes.js +0 -139
- package/.output/server/node_modules/zod/v4/core/registries.js +0 -51
- package/.output/server/node_modules/zod/v4/core/schemas.js +0 -2239
- package/.output/server/node_modules/zod/v4/core/to-json-schema.js +0 -448
- package/.output/server/node_modules/zod/v4/core/util.js +0 -674
- package/.output/server/node_modules/zod/v4/core/versions.js +0 -5
- package/.output/server/node_modules/zod/v4/locales/ar.js +0 -106
- package/.output/server/node_modules/zod/v4/locales/az.js +0 -105
- package/.output/server/node_modules/zod/v4/locales/be.js +0 -156
- package/.output/server/node_modules/zod/v4/locales/bg.js +0 -120
- package/.output/server/node_modules/zod/v4/locales/ca.js +0 -107
- package/.output/server/node_modules/zod/v4/locales/cs.js +0 -111
- package/.output/server/node_modules/zod/v4/locales/da.js +0 -115
- package/.output/server/node_modules/zod/v4/locales/de.js +0 -108
- package/.output/server/node_modules/zod/v4/locales/el.js +0 -109
- package/.output/server/node_modules/zod/v4/locales/en.js +0 -113
- package/.output/server/node_modules/zod/v4/locales/eo.js +0 -109
- package/.output/server/node_modules/zod/v4/locales/es.js +0 -132
- package/.output/server/node_modules/zod/v4/locales/fa.js +0 -114
- package/.output/server/node_modules/zod/v4/locales/fi.js +0 -112
- package/.output/server/node_modules/zod/v4/locales/fr-CA.js +0 -107
- package/.output/server/node_modules/zod/v4/locales/fr.js +0 -125
- package/.output/server/node_modules/zod/v4/locales/he.js +0 -214
- package/.output/server/node_modules/zod/v4/locales/hr.js +0 -122
- package/.output/server/node_modules/zod/v4/locales/hu.js +0 -108
- package/.output/server/node_modules/zod/v4/locales/hy.js +0 -147
- package/.output/server/node_modules/zod/v4/locales/id.js +0 -106
- package/.output/server/node_modules/zod/v4/locales/index.js +0 -52
- package/.output/server/node_modules/zod/v4/locales/is.js +0 -109
- package/.output/server/node_modules/zod/v4/locales/it.js +0 -108
- package/.output/server/node_modules/zod/v4/locales/ja.js +0 -107
- package/.output/server/node_modules/zod/v4/locales/ka.js +0 -112
- package/.output/server/node_modules/zod/v4/locales/kh.js +0 -5
- package/.output/server/node_modules/zod/v4/locales/km.js +0 -110
- package/.output/server/node_modules/zod/v4/locales/ko.js +0 -111
- package/.output/server/node_modules/zod/v4/locales/lt.js +0 -203
- package/.output/server/node_modules/zod/v4/locales/mk.js +0 -109
- package/.output/server/node_modules/zod/v4/locales/ms.js +0 -107
- package/.output/server/node_modules/zod/v4/locales/nl.js +0 -110
- package/.output/server/node_modules/zod/v4/locales/no.js +0 -108
- package/.output/server/node_modules/zod/v4/locales/ota.js +0 -109
- package/.output/server/node_modules/zod/v4/locales/package.json +0 -7
- package/.output/server/node_modules/zod/v4/locales/pl.js +0 -109
- package/.output/server/node_modules/zod/v4/locales/ps.js +0 -114
- package/.output/server/node_modules/zod/v4/locales/pt.js +0 -108
- package/.output/server/node_modules/zod/v4/locales/ro.js +0 -119
- package/.output/server/node_modules/zod/v4/locales/ru.js +0 -156
- package/.output/server/node_modules/zod/v4/locales/sl.js +0 -109
- package/.output/server/node_modules/zod/v4/locales/sv.js +0 -110
- package/.output/server/node_modules/zod/v4/locales/ta.js +0 -110
- package/.output/server/node_modules/zod/v4/locales/th.js +0 -110
- package/.output/server/node_modules/zod/v4/locales/tr.js +0 -105
- package/.output/server/node_modules/zod/v4/locales/ua.js +0 -5
- package/.output/server/node_modules/zod/v4/locales/uk.js +0 -108
- package/.output/server/node_modules/zod/v4/locales/ur.js +0 -110
- package/.output/server/node_modules/zod/v4/locales/uz.js +0 -110
- package/.output/server/node_modules/zod/v4/locales/vi.js +0 -108
- package/.output/server/node_modules/zod/v4/locales/yo.js +0 -107
- package/.output/server/node_modules/zod/v4/locales/zh-CN.js +0 -109
- package/.output/server/node_modules/zod/v4/locales/zh-TW.js +0 -107
- package/.output/server/package.json +0 -38
|
@@ -1,422 +0,0 @@
|
|
|
1
|
-
'use strict'
|
|
2
|
-
|
|
3
|
-
const { EventEmitter } = require('node:events')
|
|
4
|
-
const { Buffer } = require('node:buffer')
|
|
5
|
-
const { InvalidArgumentError, Socks5ProxyError } = require('./errors')
|
|
6
|
-
const { debuglog } = require('node:util')
|
|
7
|
-
const { parseAddress } = require('./socks5-utils')
|
|
8
|
-
|
|
9
|
-
const debug = debuglog('undici:socks5')
|
|
10
|
-
const EMPTY_BUFFER = Buffer.alloc(0)
|
|
11
|
-
|
|
12
|
-
// SOCKS5 constants
|
|
13
|
-
const SOCKS_VERSION = 0x05
|
|
14
|
-
|
|
15
|
-
// Authentication methods
|
|
16
|
-
const AUTH_METHODS = {
|
|
17
|
-
NO_AUTH: 0x00,
|
|
18
|
-
GSSAPI: 0x01,
|
|
19
|
-
USERNAME_PASSWORD: 0x02,
|
|
20
|
-
NO_ACCEPTABLE: 0xFF
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
// SOCKS5 commands
|
|
24
|
-
const COMMANDS = {
|
|
25
|
-
CONNECT: 0x01,
|
|
26
|
-
BIND: 0x02,
|
|
27
|
-
UDP_ASSOCIATE: 0x03
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
// Address types
|
|
31
|
-
const ADDRESS_TYPES = {
|
|
32
|
-
IPV4: 0x01,
|
|
33
|
-
DOMAIN: 0x03,
|
|
34
|
-
IPV6: 0x04
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
// Reply codes
|
|
38
|
-
const REPLY_CODES = {
|
|
39
|
-
SUCCEEDED: 0x00,
|
|
40
|
-
GENERAL_FAILURE: 0x01,
|
|
41
|
-
CONNECTION_NOT_ALLOWED: 0x02,
|
|
42
|
-
NETWORK_UNREACHABLE: 0x03,
|
|
43
|
-
HOST_UNREACHABLE: 0x04,
|
|
44
|
-
CONNECTION_REFUSED: 0x05,
|
|
45
|
-
TTL_EXPIRED: 0x06,
|
|
46
|
-
COMMAND_NOT_SUPPORTED: 0x07,
|
|
47
|
-
ADDRESS_TYPE_NOT_SUPPORTED: 0x08
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
// State machine states
|
|
51
|
-
const STATES = {
|
|
52
|
-
INITIAL: 'initial',
|
|
53
|
-
HANDSHAKING: 'handshaking',
|
|
54
|
-
AUTHENTICATING: 'authenticating',
|
|
55
|
-
AUTHENTICATED: 'authenticated',
|
|
56
|
-
CONNECTING: 'connecting',
|
|
57
|
-
CONNECTED: 'connected',
|
|
58
|
-
ERROR: 'error',
|
|
59
|
-
CLOSED: 'closed'
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
/**
|
|
63
|
-
* SOCKS5 client implementation
|
|
64
|
-
* Handles SOCKS5 protocol negotiation and connection establishment
|
|
65
|
-
*/
|
|
66
|
-
class Socks5Client extends EventEmitter {
|
|
67
|
-
constructor (socket, options = {}) {
|
|
68
|
-
super()
|
|
69
|
-
|
|
70
|
-
if (!socket) {
|
|
71
|
-
throw new InvalidArgumentError('socket is required')
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
this.socket = socket
|
|
75
|
-
this.options = options
|
|
76
|
-
this.state = STATES.INITIAL
|
|
77
|
-
this.buffer = EMPTY_BUFFER
|
|
78
|
-
this.onSocketData = this.onData.bind(this)
|
|
79
|
-
this.onSocketError = this.onError.bind(this)
|
|
80
|
-
this.onSocketClose = this.onClose.bind(this)
|
|
81
|
-
|
|
82
|
-
// Authentication settings
|
|
83
|
-
this.authMethods = []
|
|
84
|
-
if (options.username && options.password) {
|
|
85
|
-
this.authMethods.push(AUTH_METHODS.USERNAME_PASSWORD)
|
|
86
|
-
}
|
|
87
|
-
this.authMethods.push(AUTH_METHODS.NO_AUTH)
|
|
88
|
-
|
|
89
|
-
// Socket event handlers
|
|
90
|
-
this.socket.on('data', this.onSocketData)
|
|
91
|
-
this.socket.on('error', this.onSocketError)
|
|
92
|
-
this.socket.on('close', this.onSocketClose)
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
/**
|
|
96
|
-
* Handle incoming data from the socket
|
|
97
|
-
*/
|
|
98
|
-
onData (data) {
|
|
99
|
-
debug('received data', data.length, 'bytes in state', this.state)
|
|
100
|
-
this.buffer = Buffer.concat([this.buffer, data])
|
|
101
|
-
|
|
102
|
-
try {
|
|
103
|
-
switch (this.state) {
|
|
104
|
-
case STATES.HANDSHAKING:
|
|
105
|
-
this.handleHandshakeResponse()
|
|
106
|
-
break
|
|
107
|
-
case STATES.AUTHENTICATING:
|
|
108
|
-
this.handleAuthResponse()
|
|
109
|
-
break
|
|
110
|
-
case STATES.CONNECTING:
|
|
111
|
-
this.handleConnectResponse()
|
|
112
|
-
break
|
|
113
|
-
}
|
|
114
|
-
} catch (err) {
|
|
115
|
-
this.onError(err)
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
/**
|
|
120
|
-
* Handle socket errors
|
|
121
|
-
*/
|
|
122
|
-
onError (err) {
|
|
123
|
-
debug('socket error', err)
|
|
124
|
-
this.state = STATES.ERROR
|
|
125
|
-
this.emit('error', err)
|
|
126
|
-
this.destroy()
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
/**
|
|
130
|
-
* Handle socket close
|
|
131
|
-
*/
|
|
132
|
-
onClose () {
|
|
133
|
-
debug('socket closed')
|
|
134
|
-
this.state = STATES.CLOSED
|
|
135
|
-
this.emit('close')
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
/**
|
|
139
|
-
* Destroy the client and underlying socket
|
|
140
|
-
*/
|
|
141
|
-
destroy () {
|
|
142
|
-
if (this.socket && !this.socket.destroyed) {
|
|
143
|
-
this.socket.destroy()
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
markAuthenticated () {
|
|
148
|
-
this.state = STATES.AUTHENTICATED
|
|
149
|
-
this.emit('authenticated')
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
/**
|
|
153
|
-
* Start the SOCKS5 handshake
|
|
154
|
-
*/
|
|
155
|
-
handshake () {
|
|
156
|
-
if (this.state !== STATES.INITIAL) {
|
|
157
|
-
throw new InvalidArgumentError('Handshake already started')
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
debug('starting handshake with', this.authMethods.length, 'auth methods')
|
|
161
|
-
this.state = STATES.HANDSHAKING
|
|
162
|
-
|
|
163
|
-
// Build handshake request
|
|
164
|
-
// +----+----------+----------+
|
|
165
|
-
// |VER | NMETHODS | METHODS |
|
|
166
|
-
// +----+----------+----------+
|
|
167
|
-
// | 1 | 1 | 1 to 255 |
|
|
168
|
-
// +----+----------+----------+
|
|
169
|
-
const request = Buffer.alloc(2 + this.authMethods.length)
|
|
170
|
-
request[0] = SOCKS_VERSION
|
|
171
|
-
request[1] = this.authMethods.length
|
|
172
|
-
this.authMethods.forEach((method, i) => {
|
|
173
|
-
request[2 + i] = method
|
|
174
|
-
})
|
|
175
|
-
|
|
176
|
-
this.socket.write(request)
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
/**
|
|
180
|
-
* Handle handshake response from server
|
|
181
|
-
*/
|
|
182
|
-
handleHandshakeResponse () {
|
|
183
|
-
if (this.buffer.length < 2) {
|
|
184
|
-
return // Not enough data yet
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
const version = this.buffer[0]
|
|
188
|
-
const method = this.buffer[1]
|
|
189
|
-
|
|
190
|
-
if (version !== SOCKS_VERSION) {
|
|
191
|
-
throw new Socks5ProxyError(`Invalid SOCKS version: ${version}`, 'UND_ERR_SOCKS5_VERSION')
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
if (method === AUTH_METHODS.NO_ACCEPTABLE) {
|
|
195
|
-
throw new Socks5ProxyError('No acceptable authentication method', 'UND_ERR_SOCKS5_AUTH_REJECTED')
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
this.buffer = this.buffer.subarray(2)
|
|
199
|
-
debug('server selected auth method', method)
|
|
200
|
-
|
|
201
|
-
if (method === AUTH_METHODS.NO_AUTH) {
|
|
202
|
-
this.markAuthenticated()
|
|
203
|
-
} else if (method === AUTH_METHODS.USERNAME_PASSWORD) {
|
|
204
|
-
this.state = STATES.AUTHENTICATING
|
|
205
|
-
this.sendAuthRequest()
|
|
206
|
-
} else {
|
|
207
|
-
throw new Socks5ProxyError(`Unsupported authentication method: ${method}`, 'UND_ERR_SOCKS5_AUTH_METHOD')
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
/**
|
|
212
|
-
* Send username/password authentication request
|
|
213
|
-
*/
|
|
214
|
-
sendAuthRequest () {
|
|
215
|
-
const { username, password } = this.options
|
|
216
|
-
|
|
217
|
-
if (!username || !password) {
|
|
218
|
-
throw new InvalidArgumentError('Username and password required for authentication')
|
|
219
|
-
}
|
|
220
|
-
|
|
221
|
-
debug('sending username/password auth')
|
|
222
|
-
|
|
223
|
-
// Username/Password authentication request (RFC 1929)
|
|
224
|
-
// +----+------+----------+------+----------+
|
|
225
|
-
// |VER | ULEN | UNAME | PLEN | PASSWD |
|
|
226
|
-
// +----+------+----------+------+----------+
|
|
227
|
-
// | 1 | 1 | 1 to 255 | 1 | 1 to 255 |
|
|
228
|
-
// +----+------+----------+------+----------+
|
|
229
|
-
const usernameBuffer = Buffer.from(username)
|
|
230
|
-
const passwordBuffer = Buffer.from(password)
|
|
231
|
-
|
|
232
|
-
if (usernameBuffer.length > 255 || passwordBuffer.length > 255) {
|
|
233
|
-
throw new InvalidArgumentError('Username or password too long')
|
|
234
|
-
}
|
|
235
|
-
|
|
236
|
-
const request = Buffer.alloc(3 + usernameBuffer.length + passwordBuffer.length)
|
|
237
|
-
request[0] = 0x01 // Sub-negotiation version
|
|
238
|
-
request[1] = usernameBuffer.length
|
|
239
|
-
usernameBuffer.copy(request, 2)
|
|
240
|
-
request[2 + usernameBuffer.length] = passwordBuffer.length
|
|
241
|
-
passwordBuffer.copy(request, 3 + usernameBuffer.length)
|
|
242
|
-
|
|
243
|
-
this.socket.write(request)
|
|
244
|
-
}
|
|
245
|
-
|
|
246
|
-
/**
|
|
247
|
-
* Handle authentication response
|
|
248
|
-
*/
|
|
249
|
-
handleAuthResponse () {
|
|
250
|
-
if (this.buffer.length < 2) {
|
|
251
|
-
return // Not enough data yet
|
|
252
|
-
}
|
|
253
|
-
|
|
254
|
-
const version = this.buffer[0]
|
|
255
|
-
const status = this.buffer[1]
|
|
256
|
-
|
|
257
|
-
if (version !== 0x01) {
|
|
258
|
-
throw new Socks5ProxyError(`Invalid auth sub-negotiation version: ${version}`, 'UND_ERR_SOCKS5_AUTH_VERSION')
|
|
259
|
-
}
|
|
260
|
-
|
|
261
|
-
if (status !== 0x00) {
|
|
262
|
-
throw new Socks5ProxyError('Authentication failed', 'UND_ERR_SOCKS5_AUTH_FAILED')
|
|
263
|
-
}
|
|
264
|
-
|
|
265
|
-
this.buffer = this.buffer.subarray(2)
|
|
266
|
-
debug('authentication successful')
|
|
267
|
-
this.markAuthenticated()
|
|
268
|
-
}
|
|
269
|
-
|
|
270
|
-
/**
|
|
271
|
-
* Send CONNECT command
|
|
272
|
-
* @param {string} address - Target address (IP or domain)
|
|
273
|
-
* @param {number} port - Target port
|
|
274
|
-
*/
|
|
275
|
-
connect (address, port) {
|
|
276
|
-
if (this.state === STATES.CONNECTING || this.state === STATES.CONNECTED) {
|
|
277
|
-
throw new InvalidArgumentError('Connection already in progress')
|
|
278
|
-
}
|
|
279
|
-
|
|
280
|
-
if (this.state !== STATES.AUTHENTICATED) {
|
|
281
|
-
throw new InvalidArgumentError('Client must be authenticated before CONNECT')
|
|
282
|
-
}
|
|
283
|
-
|
|
284
|
-
debug('connecting to', address, port)
|
|
285
|
-
this.state = STATES.CONNECTING
|
|
286
|
-
|
|
287
|
-
const request = this.buildConnectRequest(COMMANDS.CONNECT, address, port)
|
|
288
|
-
this.socket.write(request)
|
|
289
|
-
}
|
|
290
|
-
|
|
291
|
-
/**
|
|
292
|
-
* Build a SOCKS5 request
|
|
293
|
-
*/
|
|
294
|
-
buildConnectRequest (command, address, port) {
|
|
295
|
-
// Parse address to determine type and buffer
|
|
296
|
-
const { type: addressType, buffer: addressBuffer } = parseAddress(address)
|
|
297
|
-
|
|
298
|
-
// Build request
|
|
299
|
-
// +----+-----+-------+------+----------+----------+
|
|
300
|
-
// |VER | CMD | RSV | ATYP | DST.ADDR | DST.PORT |
|
|
301
|
-
// +----+-----+-------+------+----------+----------+
|
|
302
|
-
// | 1 | 1 | X'00' | 1 | Variable | 2 |
|
|
303
|
-
// +----+-----+-------+------+----------+----------+
|
|
304
|
-
const request = Buffer.alloc(4 + addressBuffer.length + 2)
|
|
305
|
-
request[0] = SOCKS_VERSION
|
|
306
|
-
request[1] = command
|
|
307
|
-
request[2] = 0x00 // Reserved
|
|
308
|
-
request[3] = addressType
|
|
309
|
-
addressBuffer.copy(request, 4)
|
|
310
|
-
request.writeUInt16BE(port, 4 + addressBuffer.length)
|
|
311
|
-
|
|
312
|
-
return request
|
|
313
|
-
}
|
|
314
|
-
|
|
315
|
-
/**
|
|
316
|
-
* Handle CONNECT response
|
|
317
|
-
*/
|
|
318
|
-
handleConnectResponse () {
|
|
319
|
-
if (this.buffer.length < 4) {
|
|
320
|
-
return // Not enough data for header
|
|
321
|
-
}
|
|
322
|
-
|
|
323
|
-
const version = this.buffer[0]
|
|
324
|
-
const reply = this.buffer[1]
|
|
325
|
-
const addressType = this.buffer[3]
|
|
326
|
-
|
|
327
|
-
if (version !== SOCKS_VERSION) {
|
|
328
|
-
throw new Socks5ProxyError(`Invalid SOCKS version in reply: ${version}`, 'UND_ERR_SOCKS5_REPLY_VERSION')
|
|
329
|
-
}
|
|
330
|
-
|
|
331
|
-
// Calculate the expected response length
|
|
332
|
-
let responseLength = 4 // VER + REP + RSV + ATYP
|
|
333
|
-
if (addressType === ADDRESS_TYPES.IPV4) {
|
|
334
|
-
responseLength += 4 + 2 // IPv4 + port
|
|
335
|
-
} else if (addressType === ADDRESS_TYPES.DOMAIN) {
|
|
336
|
-
if (this.buffer.length < 5) {
|
|
337
|
-
return // Need domain length byte
|
|
338
|
-
}
|
|
339
|
-
responseLength += 1 + this.buffer[4] + 2 // length byte + domain + port
|
|
340
|
-
} else if (addressType === ADDRESS_TYPES.IPV6) {
|
|
341
|
-
responseLength += 16 + 2 // IPv6 + port
|
|
342
|
-
} else {
|
|
343
|
-
throw new Socks5ProxyError(`Invalid address type in reply: ${addressType}`, 'UND_ERR_SOCKS5_ADDR_TYPE')
|
|
344
|
-
}
|
|
345
|
-
|
|
346
|
-
if (this.buffer.length < responseLength) {
|
|
347
|
-
return // Not enough data for full response
|
|
348
|
-
}
|
|
349
|
-
|
|
350
|
-
if (reply !== REPLY_CODES.SUCCEEDED) {
|
|
351
|
-
const errorMessage = this.getReplyErrorMessage(reply)
|
|
352
|
-
throw new Socks5ProxyError(`SOCKS5 connection failed: ${errorMessage}`, `UND_ERR_SOCKS5_REPLY_${reply}`)
|
|
353
|
-
}
|
|
354
|
-
|
|
355
|
-
// Parse bound address and port
|
|
356
|
-
let boundAddress
|
|
357
|
-
let offset = 4
|
|
358
|
-
|
|
359
|
-
if (addressType === ADDRESS_TYPES.IPV4) {
|
|
360
|
-
boundAddress = Array.from(this.buffer.subarray(offset, offset + 4)).join('.')
|
|
361
|
-
offset += 4
|
|
362
|
-
} else if (addressType === ADDRESS_TYPES.DOMAIN) {
|
|
363
|
-
const domainLength = this.buffer[offset]
|
|
364
|
-
offset += 1
|
|
365
|
-
boundAddress = this.buffer.subarray(offset, offset + domainLength).toString()
|
|
366
|
-
offset += domainLength
|
|
367
|
-
} else if (addressType === ADDRESS_TYPES.IPV6) {
|
|
368
|
-
// Parse IPv6 address from 16-byte buffer
|
|
369
|
-
const parts = []
|
|
370
|
-
for (let i = 0; i < 8; i++) {
|
|
371
|
-
const value = this.buffer.readUInt16BE(offset + i * 2)
|
|
372
|
-
parts.push(value.toString(16))
|
|
373
|
-
}
|
|
374
|
-
boundAddress = parts.join(':')
|
|
375
|
-
offset += 16
|
|
376
|
-
}
|
|
377
|
-
|
|
378
|
-
const boundPort = this.buffer.readUInt16BE(offset)
|
|
379
|
-
|
|
380
|
-
this.buffer = EMPTY_BUFFER
|
|
381
|
-
this.state = STATES.CONNECTED
|
|
382
|
-
this.socket.removeListener('data', this.onSocketData)
|
|
383
|
-
|
|
384
|
-
debug('connected, bound address:', boundAddress, 'port:', boundPort)
|
|
385
|
-
this.emit('connected', { address: boundAddress, port: boundPort })
|
|
386
|
-
}
|
|
387
|
-
|
|
388
|
-
/**
|
|
389
|
-
* Get human-readable error message for reply code
|
|
390
|
-
*/
|
|
391
|
-
getReplyErrorMessage (reply) {
|
|
392
|
-
switch (reply) {
|
|
393
|
-
case REPLY_CODES.GENERAL_FAILURE:
|
|
394
|
-
return 'General SOCKS server failure'
|
|
395
|
-
case REPLY_CODES.CONNECTION_NOT_ALLOWED:
|
|
396
|
-
return 'Connection not allowed by ruleset'
|
|
397
|
-
case REPLY_CODES.NETWORK_UNREACHABLE:
|
|
398
|
-
return 'Network unreachable'
|
|
399
|
-
case REPLY_CODES.HOST_UNREACHABLE:
|
|
400
|
-
return 'Host unreachable'
|
|
401
|
-
case REPLY_CODES.CONNECTION_REFUSED:
|
|
402
|
-
return 'Connection refused'
|
|
403
|
-
case REPLY_CODES.TTL_EXPIRED:
|
|
404
|
-
return 'TTL expired'
|
|
405
|
-
case REPLY_CODES.COMMAND_NOT_SUPPORTED:
|
|
406
|
-
return 'Command not supported'
|
|
407
|
-
case REPLY_CODES.ADDRESS_TYPE_NOT_SUPPORTED:
|
|
408
|
-
return 'Address type not supported'
|
|
409
|
-
default:
|
|
410
|
-
return `Unknown error code: ${reply}`
|
|
411
|
-
}
|
|
412
|
-
}
|
|
413
|
-
}
|
|
414
|
-
|
|
415
|
-
module.exports = {
|
|
416
|
-
Socks5Client,
|
|
417
|
-
AUTH_METHODS,
|
|
418
|
-
COMMANDS,
|
|
419
|
-
ADDRESS_TYPES,
|
|
420
|
-
REPLY_CODES,
|
|
421
|
-
STATES
|
|
422
|
-
}
|
|
@@ -1,212 +0,0 @@
|
|
|
1
|
-
'use strict'
|
|
2
|
-
|
|
3
|
-
const { Buffer } = require('node:buffer')
|
|
4
|
-
const net = require('node:net')
|
|
5
|
-
const { InvalidArgumentError } = require('./errors')
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* Parse an address and determine its type
|
|
9
|
-
* @param {string} address - The address to parse
|
|
10
|
-
* @returns {{type: number, buffer: Buffer}} Address type and buffer
|
|
11
|
-
*/
|
|
12
|
-
function parseAddress (address) {
|
|
13
|
-
// Check if it's an IPv4 address
|
|
14
|
-
if (net.isIPv4(address)) {
|
|
15
|
-
const parts = address.split('.').map(Number)
|
|
16
|
-
return {
|
|
17
|
-
type: 0x01, // IPv4
|
|
18
|
-
buffer: Buffer.from(parts)
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
// Check if it's an IPv6 address
|
|
23
|
-
if (net.isIPv6(address)) {
|
|
24
|
-
return {
|
|
25
|
-
type: 0x04, // IPv6
|
|
26
|
-
buffer: parseIPv6(address)
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
// Otherwise, treat as domain name
|
|
31
|
-
const domainBuffer = Buffer.from(address, 'utf8')
|
|
32
|
-
if (domainBuffer.length > 255) {
|
|
33
|
-
throw new InvalidArgumentError('Domain name too long (max 255 bytes)')
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
return {
|
|
37
|
-
type: 0x03, // Domain
|
|
38
|
-
buffer: Buffer.concat([Buffer.from([domainBuffer.length]), domainBuffer])
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
* Parse IPv6 address to buffer
|
|
44
|
-
* @param {string} address - IPv6 address string
|
|
45
|
-
* @returns {Buffer} 16-byte buffer
|
|
46
|
-
*/
|
|
47
|
-
function parseIPv6 (address) {
|
|
48
|
-
const buffer = Buffer.alloc(16)
|
|
49
|
-
let normalizedAddress = address
|
|
50
|
-
|
|
51
|
-
// Expand an embedded IPv4 tail into the last two IPv6 groups.
|
|
52
|
-
if (address.includes('.')) {
|
|
53
|
-
const lastColonIndex = address.lastIndexOf(':')
|
|
54
|
-
const ipv4Part = address.slice(lastColonIndex + 1)
|
|
55
|
-
|
|
56
|
-
if (net.isIPv4(ipv4Part)) {
|
|
57
|
-
const octets = ipv4Part.split('.').map(Number)
|
|
58
|
-
const high = ((octets[0] << 8) | octets[1]).toString(16)
|
|
59
|
-
const low = ((octets[2] << 8) | octets[3]).toString(16)
|
|
60
|
-
normalizedAddress = `${address.slice(0, lastColonIndex)}:${high}:${low}`
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
// Handle compressed notation (::)
|
|
65
|
-
const doubleColonIndex = normalizedAddress.indexOf('::')
|
|
66
|
-
if (doubleColonIndex !== -1) {
|
|
67
|
-
const before = normalizedAddress.slice(0, doubleColonIndex)
|
|
68
|
-
const after = normalizedAddress.slice(doubleColonIndex + 2)
|
|
69
|
-
const beforeParts = before === '' ? [] : before.split(':')
|
|
70
|
-
const afterParts = after === '' ? [] : after.split(':')
|
|
71
|
-
|
|
72
|
-
let bufferIndex = 0
|
|
73
|
-
for (const part of beforeParts) {
|
|
74
|
-
buffer.writeUInt16BE(parseInt(part, 16), bufferIndex)
|
|
75
|
-
bufferIndex += 2
|
|
76
|
-
}
|
|
77
|
-
bufferIndex = 16 - afterParts.length * 2
|
|
78
|
-
for (const part of afterParts) {
|
|
79
|
-
buffer.writeUInt16BE(parseInt(part, 16), bufferIndex)
|
|
80
|
-
bufferIndex += 2
|
|
81
|
-
}
|
|
82
|
-
} else {
|
|
83
|
-
const parts = normalizedAddress.split(':')
|
|
84
|
-
for (let i = 0; i < parts.length; i++) {
|
|
85
|
-
buffer.writeUInt16BE(parseInt(parts[i], 16), i * 2)
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
return buffer
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
/**
|
|
93
|
-
* Build a SOCKS5 address buffer
|
|
94
|
-
* @param {number} type - Address type (1=IPv4, 3=Domain, 4=IPv6)
|
|
95
|
-
* @param {Buffer} addressBuffer - The address data
|
|
96
|
-
* @param {number} port - Port number
|
|
97
|
-
* @returns {Buffer} Complete address buffer including type, address, and port
|
|
98
|
-
*/
|
|
99
|
-
function buildAddressBuffer (type, addressBuffer, port) {
|
|
100
|
-
const portBuffer = Buffer.allocUnsafe(2)
|
|
101
|
-
portBuffer.writeUInt16BE(port, 0)
|
|
102
|
-
|
|
103
|
-
return Buffer.concat([
|
|
104
|
-
Buffer.from([type]),
|
|
105
|
-
addressBuffer,
|
|
106
|
-
portBuffer
|
|
107
|
-
])
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
/**
|
|
111
|
-
* Parse address from SOCKS5 response
|
|
112
|
-
* @param {Buffer} buffer - Buffer containing the address
|
|
113
|
-
* @param {number} offset - Starting offset in buffer
|
|
114
|
-
* @returns {{address: string, port: number, bytesRead: number}}
|
|
115
|
-
*/
|
|
116
|
-
function parseResponseAddress (buffer, offset = 0) {
|
|
117
|
-
if (buffer.length < offset + 1) {
|
|
118
|
-
throw new InvalidArgumentError('Buffer too small to contain address type')
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
const addressType = buffer[offset]
|
|
122
|
-
let address
|
|
123
|
-
let currentOffset = offset + 1
|
|
124
|
-
|
|
125
|
-
switch (addressType) {
|
|
126
|
-
case 0x01: { // IPv4
|
|
127
|
-
if (buffer.length < currentOffset + 6) {
|
|
128
|
-
throw new InvalidArgumentError('Buffer too small for IPv4 address')
|
|
129
|
-
}
|
|
130
|
-
address = Array.from(buffer.subarray(currentOffset, currentOffset + 4)).join('.')
|
|
131
|
-
currentOffset += 4
|
|
132
|
-
break
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
case 0x03: { // Domain
|
|
136
|
-
if (buffer.length < currentOffset + 1) {
|
|
137
|
-
throw new InvalidArgumentError('Buffer too small for domain length')
|
|
138
|
-
}
|
|
139
|
-
const domainLength = buffer[currentOffset]
|
|
140
|
-
currentOffset += 1
|
|
141
|
-
|
|
142
|
-
if (buffer.length < currentOffset + domainLength + 2) {
|
|
143
|
-
throw new InvalidArgumentError('Buffer too small for domain address')
|
|
144
|
-
}
|
|
145
|
-
address = buffer.subarray(currentOffset, currentOffset + domainLength).toString('utf8')
|
|
146
|
-
currentOffset += domainLength
|
|
147
|
-
break
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
case 0x04: { // IPv6
|
|
151
|
-
if (buffer.length < currentOffset + 18) {
|
|
152
|
-
throw new InvalidArgumentError('Buffer too small for IPv6 address')
|
|
153
|
-
}
|
|
154
|
-
// Convert buffer to IPv6 string
|
|
155
|
-
const parts = []
|
|
156
|
-
for (let i = 0; i < 8; i++) {
|
|
157
|
-
const value = buffer.readUInt16BE(currentOffset + i * 2)
|
|
158
|
-
parts.push(value.toString(16))
|
|
159
|
-
}
|
|
160
|
-
address = parts.join(':')
|
|
161
|
-
currentOffset += 16
|
|
162
|
-
break
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
default:
|
|
166
|
-
throw new InvalidArgumentError(`Invalid address type: ${addressType}`)
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
// Parse port
|
|
170
|
-
if (buffer.length < currentOffset + 2) {
|
|
171
|
-
throw new InvalidArgumentError('Buffer too small for port')
|
|
172
|
-
}
|
|
173
|
-
const port = buffer.readUInt16BE(currentOffset)
|
|
174
|
-
currentOffset += 2
|
|
175
|
-
|
|
176
|
-
return {
|
|
177
|
-
address,
|
|
178
|
-
port,
|
|
179
|
-
bytesRead: currentOffset - offset
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
/**
|
|
184
|
-
* Create error for SOCKS5 reply code
|
|
185
|
-
* @param {number} replyCode - SOCKS5 reply code
|
|
186
|
-
* @returns {Error} Appropriate error object
|
|
187
|
-
*/
|
|
188
|
-
function createReplyError (replyCode) {
|
|
189
|
-
const messages = {
|
|
190
|
-
0x01: 'General SOCKS server failure',
|
|
191
|
-
0x02: 'Connection not allowed by ruleset',
|
|
192
|
-
0x03: 'Network unreachable',
|
|
193
|
-
0x04: 'Host unreachable',
|
|
194
|
-
0x05: 'Connection refused',
|
|
195
|
-
0x06: 'TTL expired',
|
|
196
|
-
0x07: 'Command not supported',
|
|
197
|
-
0x08: 'Address type not supported'
|
|
198
|
-
}
|
|
199
|
-
|
|
200
|
-
const message = messages[replyCode] || `Unknown SOCKS5 error code: ${replyCode}`
|
|
201
|
-
const error = new Error(message)
|
|
202
|
-
error.code = `SOCKS5_${replyCode}`
|
|
203
|
-
return error
|
|
204
|
-
}
|
|
205
|
-
|
|
206
|
-
module.exports = {
|
|
207
|
-
parseAddress,
|
|
208
|
-
parseIPv6,
|
|
209
|
-
buildAddressBuffer,
|
|
210
|
-
parseResponseAddress,
|
|
211
|
-
createReplyError
|
|
212
|
-
}
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
'use strict'
|
|
2
|
-
|
|
3
|
-
module.exports = {
|
|
4
|
-
kClose: Symbol('close'),
|
|
5
|
-
kDestroy: Symbol('destroy'),
|
|
6
|
-
kDispatch: Symbol('dispatch'),
|
|
7
|
-
kUrl: Symbol('url'),
|
|
8
|
-
kWriting: Symbol('writing'),
|
|
9
|
-
kResuming: Symbol('resuming'),
|
|
10
|
-
kQueue: Symbol('queue'),
|
|
11
|
-
kConnect: Symbol('connect'),
|
|
12
|
-
kConnecting: Symbol('connecting'),
|
|
13
|
-
kKeepAliveDefaultTimeout: Symbol('default keep alive timeout'),
|
|
14
|
-
kKeepAliveMaxTimeout: Symbol('max keep alive timeout'),
|
|
15
|
-
kKeepAliveTimeoutThreshold: Symbol('keep alive timeout threshold'),
|
|
16
|
-
kKeepAliveTimeoutValue: Symbol('keep alive timeout'),
|
|
17
|
-
kKeepAlive: Symbol('keep alive'),
|
|
18
|
-
kHeadersTimeout: Symbol('headers timeout'),
|
|
19
|
-
kBodyTimeout: Symbol('body timeout'),
|
|
20
|
-
kServerName: Symbol('server name'),
|
|
21
|
-
kLocalAddress: Symbol('local address'),
|
|
22
|
-
kHost: Symbol('host'),
|
|
23
|
-
kNoRef: Symbol('no ref'),
|
|
24
|
-
kBodyUsed: Symbol('used'),
|
|
25
|
-
kBody: Symbol('abstracted request body'),
|
|
26
|
-
kRunning: Symbol('running'),
|
|
27
|
-
kBlocking: Symbol('blocking'),
|
|
28
|
-
kPending: Symbol('pending'),
|
|
29
|
-
kSize: Symbol('size'),
|
|
30
|
-
kBusy: Symbol('busy'),
|
|
31
|
-
kQueued: Symbol('queued'),
|
|
32
|
-
kFree: Symbol('free'),
|
|
33
|
-
kConnected: Symbol('connected'),
|
|
34
|
-
kClosed: Symbol('closed'),
|
|
35
|
-
kNeedDrain: Symbol('need drain'),
|
|
36
|
-
kReset: Symbol('reset'),
|
|
37
|
-
kDestroyed: Symbol.for('nodejs.stream.destroyed'),
|
|
38
|
-
kResume: Symbol('resume'),
|
|
39
|
-
kOnError: Symbol('on error'),
|
|
40
|
-
kMaxHeadersSize: Symbol('max headers size'),
|
|
41
|
-
kRunningIdx: Symbol('running index'),
|
|
42
|
-
kPendingIdx: Symbol('pending index'),
|
|
43
|
-
kError: Symbol('error'),
|
|
44
|
-
kClients: Symbol('clients'),
|
|
45
|
-
kClient: Symbol('client'),
|
|
46
|
-
kParser: Symbol('parser'),
|
|
47
|
-
kOnDestroyed: Symbol('destroy callbacks'),
|
|
48
|
-
kPipelining: Symbol('pipelining'),
|
|
49
|
-
kSocket: Symbol('socket'),
|
|
50
|
-
kHostHeader: Symbol('host header'),
|
|
51
|
-
kConnector: Symbol('connector'),
|
|
52
|
-
kStrictContentLength: Symbol('strict content length'),
|
|
53
|
-
kMaxRedirections: Symbol('maxRedirections'),
|
|
54
|
-
kMaxRequests: Symbol('maxRequestsPerClient'),
|
|
55
|
-
kProxy: Symbol('proxy agent options'),
|
|
56
|
-
kCounter: Symbol('socket request counter'),
|
|
57
|
-
kMaxResponseSize: Symbol('max response size'),
|
|
58
|
-
kHTTP2Session: Symbol('http2Session'),
|
|
59
|
-
kHTTP2SessionState: Symbol('http2Session state'),
|
|
60
|
-
kRetryHandlerDefaultRetry: Symbol('retry agent default retry'),
|
|
61
|
-
kConstruct: Symbol('constructable'),
|
|
62
|
-
kListeners: Symbol('listeners'),
|
|
63
|
-
kHTTPContext: Symbol('http context'),
|
|
64
|
-
kMaxConcurrentStreams: Symbol('max concurrent streams'),
|
|
65
|
-
kHTTP2InitialWindowSize: Symbol('http2 initial window size'),
|
|
66
|
-
kHTTP2ConnectionWindowSize: Symbol('http2 connection window size'),
|
|
67
|
-
kEnableConnectProtocol: Symbol('http2session connect protocol'),
|
|
68
|
-
kRemoteSettings: Symbol('http2session remote settings'),
|
|
69
|
-
kHTTP2Stream: Symbol('http2session client stream'),
|
|
70
|
-
kPingInterval: Symbol('ping interval'),
|
|
71
|
-
kNoProxyAgent: Symbol('no proxy agent'),
|
|
72
|
-
kHttpProxyAgent: Symbol('http proxy agent'),
|
|
73
|
-
kHttpsProxyAgent: Symbol('https proxy agent'),
|
|
74
|
-
kSocks5ProxyAgent: Symbol('socks5 proxy agent')
|
|
75
|
-
}
|