diff --git a/changelog.md b/changelog.md index 91c5c84..f8b5b11 100644 --- a/changelog.md +++ b/changelog.md @@ -1,5 +1,14 @@ # Changelog +## 2026-04-07 - 13.1.0 - feat(vpn,target-profiles,migrations) +add startup data migrations, support scoped VPN route allow entries, and rename target profile hosts to ips + +- runs smartmigration at startup before configuration is loaded and adds a migration for target profile targets from host to ip +- changes VPN client routing to always force traffic through SmartProxy while allowing direct target bypasses from target profiles +- supports domain-scoped VPN ipAllowList entries for vpnOnly routes based on matching target profile domains +- updates certificate reprovisioning to reapply routes so renewed certificates are loaded into the running proxy +- removes the forceDestinationSmartproxy VPN client option from API, persistence, manager, and web UI + ## 2026-04-06 - 13.0.11 - fix(routing) serialize route updates and correct VPN-gated route application diff --git a/package.json b/package.json index 102dd32..4ecad05 100644 --- a/package.json +++ b/package.json @@ -35,25 +35,26 @@ "@api.global/typedserver": "^8.4.6", "@api.global/typedsocket": "^4.1.2", "@apiclient.xyz/cloudflare": "^7.1.0", - "@design.estate/dees-catalog": "^3.61.1", + "@design.estate/dees-catalog": "^3.66.0", "@design.estate/dees-element": "^2.2.4", "@push.rocks/lik": "^6.4.0", "@push.rocks/projectinfo": "^5.1.0", "@push.rocks/qenv": "^6.1.3", "@push.rocks/smartacme": "^9.5.0", - "@push.rocks/smartdata": "^7.1.6", - "@push.rocks/smartdb": "^2.5.9", + "@push.rocks/smartdata": "^7.1.7", + "@push.rocks/smartdb": "^2.6.2", "@push.rocks/smartdns": "^7.9.0", "@push.rocks/smartfs": "^1.5.0", "@push.rocks/smartguard": "^3.1.0", "@push.rocks/smartjwt": "^2.2.1", - "@push.rocks/smartlog": "^3.2.1", + "@push.rocks/smartlog": "^3.2.2", "@push.rocks/smartmetrics": "^3.0.3", + "@push.rocks/smartmigration": "1.1.1", "@push.rocks/smartmta": "^5.3.1", "@push.rocks/smartnetwork": "^4.5.2", "@push.rocks/smartpath": "^6.0.0", "@push.rocks/smartpromise": "^4.2.3", - "@push.rocks/smartproxy": "^27.4.0", + "@push.rocks/smartproxy": "^27.5.0", "@push.rocks/smartradius": "^1.1.1", "@push.rocks/smartrequest": "^5.0.1", "@push.rocks/smartrx": "^3.0.10", @@ -66,7 +67,7 @@ "@serve.zone/remoteingress": "^4.15.3", "@tsclass/tsclass": "^9.5.0", "@types/qrcode": "^1.5.6", - "lru-cache": "^11.2.7", + "lru-cache": "^11.3.2", "qrcode": "^1.5.4", "uuid": "^13.0.0" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c80ff60..2cbfdea 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -24,8 +24,8 @@ importers: specifier: ^7.1.0 version: 7.1.0 '@design.estate/dees-catalog': - specifier: ^3.61.1 - version: 3.61.1(@tiptap/pm@2.27.2) + specifier: ^3.66.0 + version: 3.66.0(@tiptap/pm@2.27.2) '@design.estate/dees-element': specifier: ^2.2.4 version: 2.2.4 @@ -42,11 +42,11 @@ importers: specifier: ^9.5.0 version: 9.5.0(socks@2.8.7) '@push.rocks/smartdata': - specifier: ^7.1.6 - version: 7.1.6(socks@2.8.7) + specifier: ^7.1.7 + version: 7.1.7(socks@2.8.7) '@push.rocks/smartdb': - specifier: ^2.5.9 - version: 2.5.9(@tiptap/pm@2.27.2)(socks@2.8.7) + specifier: ^2.6.2 + version: 2.6.2(@tiptap/pm@2.27.2)(socks@2.8.7) '@push.rocks/smartdns': specifier: ^7.9.0 version: 7.9.0 @@ -60,11 +60,14 @@ importers: specifier: ^2.2.1 version: 2.2.1 '@push.rocks/smartlog': - specifier: ^3.2.1 - version: 3.2.1 + specifier: ^3.2.2 + version: 3.2.2 '@push.rocks/smartmetrics': specifier: ^3.0.3 version: 3.0.3 + '@push.rocks/smartmigration': + specifier: 1.1.1 + version: 1.1.1(@push.rocks/smartbucket@4.6.0)(@push.rocks/smartdata@7.1.7(socks@2.8.7)) '@push.rocks/smartmta': specifier: ^5.3.1 version: 5.3.1 @@ -78,8 +81,8 @@ importers: specifier: ^4.2.3 version: 4.2.3 '@push.rocks/smartproxy': - specifier: ^27.4.0 - version: 27.4.0 + specifier: ^27.5.0 + version: 27.5.0 '@push.rocks/smartradius': specifier: ^1.1.1 version: 1.1.1 @@ -117,8 +120,8 @@ importers: specifier: ^1.5.6 version: 1.5.6 lru-cache: - specifier: ^11.2.7 - version: 11.2.7 + specifier: ^11.3.2 + version: 11.3.2 qrcode: specifier: ^1.5.4 version: 1.5.4 @@ -131,16 +134,16 @@ importers: version: 4.4.0 '@git.zone/tsbundle': specifier: ^2.10.0 - version: 2.10.0 + version: 2.10.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) '@git.zone/tsrun': specifier: ^2.0.2 version: 2.0.2 '@git.zone/tstest': specifier: ^3.6.3 - version: 3.6.3(socks@2.8.7)(typescript@6.0.2) + version: 3.6.3(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(socks@2.8.7)(typescript@6.0.2) '@git.zone/tswatch': specifier: ^3.3.2 - version: 3.3.2(@tiptap/pm@2.27.2) + version: 3.3.2(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(@tiptap/pm@2.27.2) '@types/node': specifier: ^25.5.2 version: 25.5.2 @@ -190,127 +193,127 @@ packages: '@aws-crypto/util@5.2.0': resolution: {integrity: sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==} - '@aws-sdk/client-s3@3.1018.0': - resolution: {integrity: sha512-BiGKMjrkAJkyse1ECpVyxVYugf82FB3cM9zgKpx3boFuWobyolG5ri6XjoMIY8fpHddaO8ZClXEedACyelSLWA==} + '@aws-sdk/client-s3@3.1026.0': + resolution: {integrity: sha512-tMP+s641FLSXdJazvYvuf38F7suWWv+wagTvShykPTffuFpBj5J9f7Rw0eKsauBcsjPSntiwBz9Gm0Tlh+cKfQ==} engines: {node: '>=20.0.0'} - '@aws-sdk/core@3.973.25': - resolution: {integrity: sha512-TNrx7eq6nKNOO62HWPqoBqPLXEkW6nLZQGwjL6lq1jZtigWYbK1NbCnT7mKDzbLMHZfuOECUt3n6CzxjUW9HWQ==} + '@aws-sdk/core@3.973.27': + resolution: {integrity: sha512-CUZ5m8hwMCH6OYI4Li/WgMfIEx10Q2PLI9Y3XOUTPGZJ53aZ0007jCv+X/ywsaERyKPdw5MRZWk877roQksQ4A==} engines: {node: '>=20.0.0'} - '@aws-sdk/crc64-nvme@3.972.5': - resolution: {integrity: sha512-2VbTstbjKdT+yKi8m7b3a9CiVac+pL/IY2PHJwsaGkkHmuuqkJZIErPck1h6P3T9ghQMLSdMPyW6Qp7Di5swFg==} + '@aws-sdk/crc64-nvme@3.972.6': + resolution: {integrity: sha512-NMbiqKdruhwwgI6nzBVe2jWMkXjaoQz2YOs3rFX+2F3gGyrJDkDPwMpV/RsTFeq2vAQ055wZNtOXFK4NYSkM8g==} engines: {node: '>=20.0.0'} - '@aws-sdk/credential-provider-env@3.972.23': - resolution: {integrity: sha512-EamaclJcCEaPHp6wiVknNMM2RlsPMjAHSsYSFLNENBM8Wz92QPc6cOn3dif6vPDQt0Oo4IEghDy3NMDCzY/IvA==} + '@aws-sdk/credential-provider-env@3.972.25': + resolution: {integrity: sha512-6QfI0wv4jpG5CrdO/AO0JfZ2ux+tKwJPrUwmvxXF50vI5KIypKVGNF6b4vlkYEnKumDTI1NX2zUBi8JoU5QU3A==} engines: {node: '>=20.0.0'} - '@aws-sdk/credential-provider-http@3.972.25': - resolution: {integrity: sha512-qPymamdPcLp6ugoVocG1y5r69ScNiRzb0hogX25/ij+Wz7c7WnsgjLTaz7+eB5BfRxeyUwuw5hgULMuwOGOpcw==} + '@aws-sdk/credential-provider-http@3.972.27': + resolution: {integrity: sha512-3V3Usj9Gs93h865DqN4M2NWJhC5kXU9BvZskfN3+69omuYlE3TZxOEcVQtBGLOloJB7BVfJKXVLqeNhOzHqSlQ==} engines: {node: '>=20.0.0'} - '@aws-sdk/credential-provider-ini@3.972.25': - resolution: {integrity: sha512-G/v/PicYn4qs7xCv4vT6I4QKdvMyRvsgIFNBkUueCGlbLo7/PuKcNKgUozmLSsaYnE7jIl6UrfkP07EUubr48w==} + '@aws-sdk/credential-provider-ini@3.972.29': + resolution: {integrity: sha512-SiBuAnXecCbT/OpAf3vqyI/AVE3mTaYr9ShXLybxZiPLBiPCCOIWSGAtYYGQWMRvobBTiqOewaB+wcgMMZI2Aw==} engines: {node: '>=20.0.0'} - '@aws-sdk/credential-provider-login@3.972.25': - resolution: {integrity: sha512-bUdmyJeVua7SmD+g2a65x2/0YqsGn4K2k4GawI43js0odaNaIzpIhLtHehUnPnfLuyhPWbJR1NyuIO4iMVfM0w==} + '@aws-sdk/credential-provider-login@3.972.29': + resolution: {integrity: sha512-OGOslTbOlxXexKMqhxCEbBQbUIfuhGxU5UXw3Fm56ypXHvrXH4aTt/xb5Y884LOoteP1QST1lVZzHfcTnWhiPQ==} engines: {node: '>=20.0.0'} - '@aws-sdk/credential-provider-node@3.972.26': - resolution: {integrity: sha512-5XSK74rCXxCNj+UWv5bjq1EccYkiyW4XOHFU9NXnsCcQF8dJuHdua1qFg0m/LIwVOWklbKsrcnMtfxIXwgvwzQ==} + '@aws-sdk/credential-provider-node@3.972.30': + resolution: {integrity: sha512-FMnAnWxc8PG+ZrZ2OBKzY4luCUJhe9CG0B9YwYr4pzrYGLXBS2rl+UoUvjGbAwiptxRL6hyA3lFn03Bv1TLqTw==} engines: {node: '>=20.0.0'} - '@aws-sdk/credential-provider-process@3.972.23': - resolution: {integrity: sha512-IL/TFW59++b7MpHserjUblGrdP5UXy5Ekqqx1XQkERXBFJcZr74I7VaSrQT5dxdRMU16xGK4L0RQ5fQG1pMgnA==} + '@aws-sdk/credential-provider-process@3.972.25': + resolution: {integrity: sha512-HR7ynNRdNhNsdVCOCegy1HsfsRzozCOPtD3RzzT1JouuaHobWyRfJzCBue/3jP7gECHt+kQyZUvwg/cYLWurNQ==} engines: {node: '>=20.0.0'} - '@aws-sdk/credential-provider-sso@3.972.25': - resolution: {integrity: sha512-r4OGAfHmlEa1QBInHWz+/dOD4tRljcjVNQe9wJ/AJNXEj1d2WdsRLppvRFImRV6FIs+bTpjtL0a23V5ELQpRPw==} + '@aws-sdk/credential-provider-sso@3.972.29': + resolution: {integrity: sha512-HWv4SEq3jZDYPlwryZVef97+U8CxxRos5mK8sgGO1dQaFZpV5giZLzqGE5hkDmh2csYcBO2uf5XHjPTpZcJlig==} engines: {node: '>=20.0.0'} - '@aws-sdk/credential-provider-web-identity@3.972.25': - resolution: {integrity: sha512-uM1OtoJgj+yK3MlAmda8uR9WJJCdm5HB25JyCeFL5a5q1Fbafalf4uKidFO3/L0Pgd+Fsflkb4cM6jHIswi3QQ==} + '@aws-sdk/credential-provider-web-identity@3.972.29': + resolution: {integrity: sha512-PdMBza1WEKEUPFEmMGCfnU2RYCz9MskU2e8JxjyUOsMKku7j9YaDKvbDi2dzC0ihFoM6ods2SbhfAAro+Gwlew==} engines: {node: '>=20.0.0'} - '@aws-sdk/middleware-bucket-endpoint@3.972.8': - resolution: {integrity: sha512-WR525Rr2QJSETa9a050isktyWi/4yIGcmY3BQ1kpHqb0LqUglQHCS8R27dTJxxWNZvQ0RVGtEZjTCbZJpyF3Aw==} + '@aws-sdk/middleware-bucket-endpoint@3.972.9': + resolution: {integrity: sha512-COToYKgquDyligbcAep7ygs48RK+mwe/IYprq4+TSrVFzNOYmzWvHf6werpnKV5VYpRiwdn+Wa5ZXkPqLVwcTg==} engines: {node: '>=20.0.0'} - '@aws-sdk/middleware-expect-continue@3.972.8': - resolution: {integrity: sha512-5DTBTiotEES1e2jOHAq//zyzCjeMB78lEHd35u15qnrid4Nxm7diqIf9fQQ3Ov0ChH1V3Vvt13thOnrACmfGVQ==} + '@aws-sdk/middleware-expect-continue@3.972.9': + resolution: {integrity: sha512-V/FNCjFxnh4VGu+HdSiW4Yg5GELihA1MIDSAdsEPvuayXBVmr0Jaa6jdLAZLH38KYXl/vVjri9DQJWnTAujHEA==} engines: {node: '>=20.0.0'} - '@aws-sdk/middleware-flexible-checksums@3.974.5': - resolution: {integrity: sha512-SPSvF0G1t8m8CcB0L+ClNFszzQOvXaxmRj25oRWDf6aU+TuN2PXPFAJ9A6lt1IvX4oGAqqbTdMPTYs/SSHUYYQ==} + '@aws-sdk/middleware-flexible-checksums@3.974.7': + resolution: {integrity: sha512-uU4/ch2CLHB8Phu1oTKnnQ4e8Ujqi49zEnQYBhWYT53zfFvtJCdGsaOoypBr8Fm/pmCBssRmGoIQ4sixgdLP9w==} engines: {node: '>=20.0.0'} - '@aws-sdk/middleware-host-header@3.972.8': - resolution: {integrity: sha512-wAr2REfKsqoKQ+OkNqvOShnBoh+nkPurDKW7uAeVSu6kUECnWlSJiPvnoqxGlfousEY/v9LfS9sNc46hjSYDIQ==} + '@aws-sdk/middleware-host-header@3.972.9': + resolution: {integrity: sha512-je5vRdNw4SkuTnmRbFZLdye4sQ0faLt8kwka5wnnSU30q1mHO4X+idGEJOOE+Tn1ME7Oryn05xxkDvIb3UaLaQ==} engines: {node: '>=20.0.0'} - '@aws-sdk/middleware-location-constraint@3.972.8': - resolution: {integrity: sha512-KaUoFuoFPziIa98DSQsTPeke1gvGXlc5ZGMhy+b+nLxZ4A7jmJgLzjEF95l8aOQN2T/qlPP3MrAyELm8ExXucw==} + '@aws-sdk/middleware-location-constraint@3.972.9': + resolution: {integrity: sha512-TyfOi2XNdOZpNKeTJwRUsVAGa+14nkyMb2VVGG+eDgcWG/ed6+NUo72N3hT6QJioxym80NSinErD+LBRF0Ir1w==} engines: {node: '>=20.0.0'} - '@aws-sdk/middleware-logger@3.972.8': - resolution: {integrity: sha512-CWl5UCM57WUFaFi5kB7IBY1UmOeLvNZAZ2/OZ5l20ldiJ3TiIz1pC65gYj8X0BCPWkeR1E32mpsCk1L1I4n+lA==} + '@aws-sdk/middleware-logger@3.972.9': + resolution: {integrity: sha512-HsVgDrruhqI28RkaXALm8grJ7Agc1wF6Et0xh6pom8NdO2VdO/SD9U/tPwUjewwK/pVoka+EShBxyCvgsPCtog==} engines: {node: '>=20.0.0'} - '@aws-sdk/middleware-recursion-detection@3.972.9': - resolution: {integrity: sha512-/Wt5+CT8dpTFQxEJ9iGy/UGrXr7p2wlIOEHvIr/YcHYByzoLjrqkYqXdJjd9UIgWjv7eqV2HnFJen93UTuwfTQ==} + '@aws-sdk/middleware-recursion-detection@3.972.10': + resolution: {integrity: sha512-RVQQbq5orQ/GHUnXvqEOj2HHPBJm+mM+ySwZKS5UaLBwra5ugRtiH09PLUoOZRl7a1YzaOzXSuGbn9iD5j60WQ==} engines: {node: '>=20.0.0'} - '@aws-sdk/middleware-sdk-s3@3.972.26': - resolution: {integrity: sha512-5q7UGSTtt7/KF0Os8wj2VZtlLxeWJVb0e2eDrDJlWot2EIxUNKDDMPFq/FowUqrwZ40rO2bu6BypxaKNvQhI+g==} + '@aws-sdk/middleware-sdk-s3@3.972.28': + resolution: {integrity: sha512-qJHcJQH9UNPUrnPlRtCozKjtqAaypQ5IgQxTNoPsVYIQeuwNIA8Rwt3NvGij1vCDYDfCmZaPLpnJEHlZXeFqmg==} engines: {node: '>=20.0.0'} - '@aws-sdk/middleware-ssec@3.972.8': - resolution: {integrity: sha512-wqlK0yO/TxEC2UsY9wIlqeeutF6jjLe0f96Pbm40XscTo57nImUk9lBcw0dPgsm0sppFtAkSlDrfpK+pC30Wqw==} + '@aws-sdk/middleware-ssec@3.972.9': + resolution: {integrity: sha512-wSA2BR7L0CyBNDJeSrleIIzC+DzL93YNTdfU0KPGLiocK6YsRv1nPAzPF+BFSdcs0Qa5ku5Kcf4KvQcWwKGenQ==} engines: {node: '>=20.0.0'} - '@aws-sdk/middleware-user-agent@3.972.26': - resolution: {integrity: sha512-AilFIh4rI/2hKyyGN6XrB0yN96W2o7e7wyrPWCM6QjZM1mcC/pVkW3IWWRvuBWMpVP8Fg+rMpbzeLQ6dTM4gig==} + '@aws-sdk/middleware-user-agent@3.972.29': + resolution: {integrity: sha512-f/sIRzuTfEjg6NsbMYvye2VsmnQoNgntntleQyx5uGacUYzszbfIlO3GcI6G6daWUmTm0IDZc11qMHWwF0o0mQ==} engines: {node: '>=20.0.0'} - '@aws-sdk/nested-clients@3.996.15': - resolution: {integrity: sha512-k6WAVNkub5DrU46iPQvH1m0xc1n+0dX79+i287tYJzf5g1yU2rX3uf4xNeL5JvK1NtYgfwMnsxHqhOXFBn367A==} + '@aws-sdk/nested-clients@3.996.19': + resolution: {integrity: sha512-uFkmCDXvmQYLanlYdOFS0+MQWkrj9wPMt/ZCc/0J0fjPim6F5jBVBmEomvGY/j77ILW6GTPwN22Jc174Mhkw6Q==} engines: {node: '>=20.0.0'} - '@aws-sdk/region-config-resolver@3.972.10': - resolution: {integrity: sha512-1dq9ToC6e070QvnVhhbAs3bb5r6cQ10gTVc6cyRV5uvQe7P138TV2uG2i6+Yok4bAkVAcx5AqkTEBUvWEtBlsQ==} + '@aws-sdk/region-config-resolver@3.972.11': + resolution: {integrity: sha512-6Q8B1dcx6BBqUTY1Mc/eROKA0FImEEY5VPSd6AGPEUf0ErjExz4snVqa9kNJSoVDV1rKaNf3qrWojgcKW+SdDg==} engines: {node: '>=20.0.0'} - '@aws-sdk/signature-v4-multi-region@3.996.14': - resolution: {integrity: sha512-4nZSrBr1NO+48HCM/6BRU8mnRjuHZjcpziCvLXZk5QVftwWz5Mxqbhwdz4xf7WW88buaTB8uRO2MHklSX1m0vg==} + '@aws-sdk/signature-v4-multi-region@3.996.16': + resolution: {integrity: sha512-EMdXYB4r/k5RWq86fugjRhid5JA+Z6MpS7n4sij4u5/C+STrkvuf9aFu41rJA9MjUzxCLzv8U2XL8cH2GSRYpQ==} engines: {node: '>=20.0.0'} - '@aws-sdk/token-providers@3.1018.0': - resolution: {integrity: sha512-97OPNJHy37wmGOX44xAcu6E9oSTiqK9uPcy/fWpmN5uB3JuEp1f6x60Xot/jp+FxwhQWIFUsVJFnm3QKqt7T6Q==} + '@aws-sdk/token-providers@3.1026.0': + resolution: {integrity: sha512-Ieq/HiRrbEtrYP387Nes0XlR7H1pJiJOZKv+QyQzMYpvTiDs0VKy2ZB3E2Zf+aFovWmeE7lRE4lXyF7dYM6GgA==} engines: {node: '>=20.0.0'} - '@aws-sdk/types@3.973.6': - resolution: {integrity: sha512-Atfcy4E++beKtwJHiDln2Nby8W/mam64opFPTiHEqgsthqeydFS1pY+OUlN1ouNOmf8ArPU/6cDS65anOP3KQw==} + '@aws-sdk/types@3.973.7': + resolution: {integrity: sha512-reXRwoJ6CfChoqAsBszUYajAF8Z2LRE+CRcKocvFSMpIiLOtYU3aJ9trmn6VVPAzbbY5LXF+FfmUslbXk1SYFg==} engines: {node: '>=20.0.0'} '@aws-sdk/util-arn-parser@3.972.3': resolution: {integrity: sha512-HzSD8PMFrvgi2Kserxuff5VitNq2sgf3w9qxmskKDiDTThWfVteJxuCS9JXiPIPtmCrp+7N9asfIaVhBFORllA==} engines: {node: '>=20.0.0'} - '@aws-sdk/util-endpoints@3.996.5': - resolution: {integrity: sha512-Uh93L5sXFNbyR5sEPMzUU8tJ++Ku97EY4udmC01nB8Zu+xfBPwpIwJ6F7snqQeq8h2pf+8SGN5/NoytfKgYPIw==} + '@aws-sdk/util-endpoints@3.996.6': + resolution: {integrity: sha512-2nUQ+2ih7CShuKHpGSIYvvAIOHy52dOZguYG36zptBukhw6iFwcvGfG0tes0oZFWQqEWvgZe9HLWaNlvXGdOrg==} engines: {node: '>=20.0.0'} '@aws-sdk/util-locate-window@3.965.5': resolution: {integrity: sha512-WhlJNNINQB+9qtLtZJcpQdgZw3SCDCpXdUJP7cToGwHbCWCnRckGlc6Bx/OhWwIYFNAn+FIydY8SZ0QmVu3xTQ==} engines: {node: '>=20.0.0'} - '@aws-sdk/util-user-agent-browser@3.972.8': - resolution: {integrity: sha512-B3KGXJviV2u6Cdw2SDY2aDhoJkVfY/Q/Trwk2CMSkikE1Oi6gRzxhvhIfiRpHfmIsAhV4EA54TVEX8K6CbHbkA==} + '@aws-sdk/util-user-agent-browser@3.972.9': + resolution: {integrity: sha512-sn/LMzTbGjYqCCF24390WxPd6hkpoSptiUn5DzVp4cD71yqw+yGEGm1YCxyEoPXyc8qciM8UzLJcZBFslxo5Uw==} - '@aws-sdk/util-user-agent-node@3.973.12': - resolution: {integrity: sha512-8phW0TS8ntENJgDcFewYT/Q8dOmarpvSxEjATu2GUBAutiHr++oEGCiBUwxslCMNvwW2cAPZNT53S/ym8zm/gg==} + '@aws-sdk/util-user-agent-node@3.973.15': + resolution: {integrity: sha512-fYn3s9PtKdgQkczGZCFMgkNEe8aq1JCVbnRqjqN9RSVW43xn2RV9xdcZ3z01a48Jpkuh/xCmBKJxdLOo4Ozg7w==} engines: {node: '>=20.0.0'} peerDependencies: aws-crt: '>=1.0.0' @@ -318,8 +321,8 @@ packages: aws-crt: optional: true - '@aws-sdk/xml-builder@3.972.16': - resolution: {integrity: sha512-iu2pyvaqmeatIJLURLqx9D+4jKAdTH20ntzB6BFwjyN7V960r4jK32mx0Zf7YbtOYAbmbtQfDNuL60ONinyw7A==} + '@aws-sdk/xml-builder@3.972.17': + resolution: {integrity: sha512-Ra7hjqAZf1OXRRMueB13qex7mFJRDK/pgCvdSFemXBT8KCGnQDPoKzHY1SjN+TjJVmnpSF14W5tJ1vDamFu+Gg==} engines: {node: '>=20.0.0'} '@aws/lambda-invoke-store@0.2.4': @@ -344,21 +347,18 @@ packages: '@cfworker/json-schema@4.1.1': resolution: {integrity: sha512-gAmrUZSGtKc3AiBL71iNWxDsyUC5uMaKKGdvzYsBoTW/xi42JQHl7eKV2OYzCUqvc+D2RCcf7EXY2iCyFIk6og==} - '@cloudflare/workers-types@4.20260317.1': - resolution: {integrity: sha512-+G4eVwyCpm8Au1ex8vQBCuA9wnwqetz4tPNRoB/53qvktERWBRMQnrtvC1k584yRE3emMThtuY0gWshvSJ++PQ==} + '@cloudflare/workers-types@4.20260405.1': + resolution: {integrity: sha512-PokTmySa+D6MY01R1UfYH48korsN462NK/fl3aw47Hg7XuLuSo/RTpjT0vtWaJhJoFY5tHGOBBIbDcIc8wltLg==} '@configvault.io/interfaces@1.0.17': resolution: {integrity: sha512-bEcCUR2VBDJsTin8HQh8Uw/mlYl2v8A3jMIaQ+MTB9Hrqd6CZL2dL7iJdWyFl/3EIX+LDxWFR+Oq7liIq7w+1Q==} - '@design.estate/dees-catalog@3.61.1': - resolution: {integrity: sha512-RA85O87pRM3QPlncBNB27wJTl+UVGaGtx8l5DaeOhru78agu4+y+ByAdUgS9Ahdpr/ZZVYSAADkZETsf/l08UQ==} + '@design.estate/dees-catalog@3.66.0': + resolution: {integrity: sha512-jF6/cmCFjIuDJsjstrcwR0gOaqtxAPIen0SFew2APw071qGdzC2eIYmJF1SltF6OV/nMhMi8sIApH40Ak0rMJQ==} '@design.estate/dees-comms@1.0.30': resolution: {integrity: sha512-KchMlklJfKAjQiJiR0xmofXtQ27VgZtBIxcMwPE9d+h3jJRv+lPZxzBQVOM0eyM0uS44S5vJMZ11IeV4uDXSHg==} - '@design.estate/dees-domtools@2.5.3': - resolution: {integrity: sha512-E30vu4Cl49nSQAFlazT2Eo9VVR3VG3RGc2NLmVe7i8NMC/Sm2HQisXlpKMZYBOoY8YwdG8W2MiXaD0lbGyibCw==} - '@design.estate/dees-domtools@2.5.4': resolution: {integrity: sha512-IGyVKl1XMXHVCpPQXX6wSnGbD4S2Q1XkJCuuXZotu4Q86HTiALyfyZi0RouCKv3zxCSMvZHpFWVoh2DgF/3R3g==} @@ -368,167 +368,167 @@ packages: '@design.estate/dees-wcctools@3.8.0': resolution: {integrity: sha512-CC14iVKUrguzD9jIrdPBd9fZ4egVJEZMxl5y8iy0l7WLumeoYvGsoXj5INVkRPLRVLqziIdi4Je1hXqHt2NU+g==} - '@emnapi/core@1.9.1': - resolution: {integrity: sha512-mukuNALVsoix/w1BJwFzwXBN/dHeejQtuVzcDsfOEsdpCumXb/E9j8w11h5S54tT1xhifGfbbSm/ICrObRb3KA==} + '@emnapi/core@1.9.2': + resolution: {integrity: sha512-UC+ZhH3XtczQYfOlu3lNEkdW/p4dsJ1r/bP7H8+rhao3TTTMO1ATq/4DdIi23XuGoFY+Cz0JmCbdVl0hz9jZcA==} - '@emnapi/runtime@1.9.1': - resolution: {integrity: sha512-VYi5+ZVLhpgK4hQ0TAjiQiZ6ol0oe4mBx7mVv7IflsiEp0OWoVsp/+f9Vc1hOhE0TtkORVrI1GvzyreqpgWtkA==} + '@emnapi/runtime@1.9.2': + resolution: {integrity: sha512-3U4+MIWHImeyu1wnmVygh5WlgfYDtyf0k8AbLhMFxOipihf6nrWC4syIm/SwEeec0mNSafiiNnMJwbza/Is6Lw==} - '@emnapi/wasi-threads@1.2.0': - resolution: {integrity: sha512-N10dEJNSsUx41Z6pZsXU8FjPjpBEplgH24sfkmITrBED1/U2Esum9F3lfLrMjKHHjmi557zQn7kR9R+XWXu5Rg==} + '@emnapi/wasi-threads@1.2.1': + resolution: {integrity: sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==} - '@esbuild/aix-ppc64@0.27.4': - resolution: {integrity: sha512-cQPwL2mp2nSmHHJlCyoXgHGhbEPMrEEU5xhkcy3Hs/O7nGZqEpZ2sUtLaL9MORLtDfRvVl2/3PAuEkYZH0Ty8Q==} + '@esbuild/aix-ppc64@0.27.7': + resolution: {integrity: sha512-EKX3Qwmhz1eMdEJokhALr0YiD0lhQNwDqkPYyPhiSwKrh7/4KRjQc04sZ8db+5DVVnZ1LmbNDI1uAMPEUBnQPg==} engines: {node: '>=18'} cpu: [ppc64] os: [aix] - '@esbuild/android-arm64@0.27.4': - resolution: {integrity: sha512-gdLscB7v75wRfu7QSm/zg6Rx29VLdy9eTr2t44sfTW7CxwAtQghZ4ZnqHk3/ogz7xao0QAgrkradbBzcqFPasw==} + '@esbuild/android-arm64@0.27.7': + resolution: {integrity: sha512-62dPZHpIXzvChfvfLJow3q5dDtiNMkwiRzPylSCfriLvZeq0a1bWChrGx/BbUbPwOrsWKMn8idSllklzBy+dgQ==} engines: {node: '>=18'} cpu: [arm64] os: [android] - '@esbuild/android-arm@0.27.4': - resolution: {integrity: sha512-X9bUgvxiC8CHAGKYufLIHGXPJWnr0OCdR0anD2e21vdvgCI8lIfqFbnoeOz7lBjdrAGUhqLZLcQo6MLhTO2DKQ==} + '@esbuild/android-arm@0.27.7': + resolution: {integrity: sha512-jbPXvB4Yj2yBV7HUfE2KHe4GJX51QplCN1pGbYjvsyCZbQmies29EoJbkEc+vYuU5o45AfQn37vZlyXy4YJ8RQ==} engines: {node: '>=18'} cpu: [arm] os: [android] - '@esbuild/android-x64@0.27.4': - resolution: {integrity: sha512-PzPFnBNVF292sfpfhiyiXCGSn9HZg5BcAz+ivBuSsl6Rk4ga1oEXAamhOXRFyMcjwr2DVtm40G65N3GLeH1Lvw==} + '@esbuild/android-x64@0.27.7': + resolution: {integrity: sha512-x5VpMODneVDb70PYV2VQOmIUUiBtY3D3mPBG8NxVk5CogneYhkR7MmM3yR/uMdITLrC1ml/NV1rj4bMJuy9MCg==} engines: {node: '>=18'} cpu: [x64] os: [android] - '@esbuild/darwin-arm64@0.27.4': - resolution: {integrity: sha512-b7xaGIwdJlht8ZFCvMkpDN6uiSmnxxK56N2GDTMYPr2/gzvfdQN8rTfBsvVKmIVY/X7EM+/hJKEIbbHs9oA4tQ==} + '@esbuild/darwin-arm64@0.27.7': + resolution: {integrity: sha512-5lckdqeuBPlKUwvoCXIgI2D9/ABmPq3Rdp7IfL70393YgaASt7tbju3Ac+ePVi3KDH6N2RqePfHnXkaDtY9fkw==} engines: {node: '>=18'} cpu: [arm64] os: [darwin] - '@esbuild/darwin-x64@0.27.4': - resolution: {integrity: sha512-sR+OiKLwd15nmCdqpXMnuJ9W2kpy0KigzqScqHI3Hqwr7IXxBp3Yva+yJwoqh7rE8V77tdoheRYataNKL4QrPw==} + '@esbuild/darwin-x64@0.27.7': + resolution: {integrity: sha512-rYnXrKcXuT7Z+WL5K980jVFdvVKhCHhUwid+dDYQpH+qu+TefcomiMAJpIiC2EM3Rjtq0sO3StMV/+3w3MyyqQ==} engines: {node: '>=18'} cpu: [x64] os: [darwin] - '@esbuild/freebsd-arm64@0.27.4': - resolution: {integrity: sha512-jnfpKe+p79tCnm4GVav68A7tUFeKQwQyLgESwEAUzyxk/TJr4QdGog9sqWNcUbr/bZt/O/HXouspuQDd9JxFSw==} + '@esbuild/freebsd-arm64@0.27.7': + resolution: {integrity: sha512-B48PqeCsEgOtzME2GbNM2roU29AMTuOIN91dsMO30t+Ydis3z/3Ngoj5hhnsOSSwNzS+6JppqWsuhTp6E82l2w==} engines: {node: '>=18'} cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-x64@0.27.4': - resolution: {integrity: sha512-2kb4ceA/CpfUrIcTUl1wrP/9ad9Atrp5J94Lq69w7UwOMolPIGrfLSvAKJp0RTvkPPyn6CIWrNy13kyLikZRZQ==} + '@esbuild/freebsd-x64@0.27.7': + resolution: {integrity: sha512-jOBDK5XEjA4m5IJK3bpAQF9/Lelu/Z9ZcdhTRLf4cajlB+8VEhFFRjWgfy3M1O4rO2GQ/b2dLwCUGpiF/eATNQ==} engines: {node: '>=18'} cpu: [x64] os: [freebsd] - '@esbuild/linux-arm64@0.27.4': - resolution: {integrity: sha512-7nQOttdzVGth1iz57kxg9uCz57dxQLHWxopL6mYuYthohPKEK0vU0C3O21CcBK6KDlkYVcnDXY099HcCDXd9dA==} + '@esbuild/linux-arm64@0.27.7': + resolution: {integrity: sha512-RZPHBoxXuNnPQO9rvjh5jdkRmVizktkT7TCDkDmQ0W2SwHInKCAV95GRuvdSvA7w4VMwfCjUiPwDi0ZO6Nfe9A==} engines: {node: '>=18'} cpu: [arm64] os: [linux] - '@esbuild/linux-arm@0.27.4': - resolution: {integrity: sha512-aBYgcIxX/wd5n2ys0yESGeYMGF+pv6g0DhZr3G1ZG4jMfruU9Tl1i2Z+Wnj9/KjGz1lTLCcorqE2viePZqj4Eg==} + '@esbuild/linux-arm@0.27.7': + resolution: {integrity: sha512-RkT/YXYBTSULo3+af8Ib0ykH8u2MBh57o7q/DAs3lTJlyVQkgQvlrPTnjIzzRPQyavxtPtfg0EopvDyIt0j1rA==} engines: {node: '>=18'} cpu: [arm] os: [linux] - '@esbuild/linux-ia32@0.27.4': - resolution: {integrity: sha512-oPtixtAIzgvzYcKBQM/qZ3R+9TEUd1aNJQu0HhGyqtx6oS7qTpvjheIWBbes4+qu1bNlo2V4cbkISr8q6gRBFA==} + '@esbuild/linux-ia32@0.27.7': + resolution: {integrity: sha512-GA48aKNkyQDbd3KtkplYWT102C5sn/EZTY4XROkxONgruHPU72l+gW+FfF8tf2cFjeHaRbWpOYa/uRBz/Xq1Pg==} engines: {node: '>=18'} cpu: [ia32] os: [linux] - '@esbuild/linux-loong64@0.27.4': - resolution: {integrity: sha512-8mL/vh8qeCoRcFH2nM8wm5uJP+ZcVYGGayMavi8GmRJjuI3g1v6Z7Ni0JJKAJW+m0EtUuARb6Lmp4hMjzCBWzA==} + '@esbuild/linux-loong64@0.27.7': + resolution: {integrity: sha512-a4POruNM2oWsD4WKvBSEKGIiWQF8fZOAsycHOt6JBpZ+JN2n2JH9WAv56SOyu9X5IqAjqSIPTaJkqN8F7XOQ5Q==} engines: {node: '>=18'} cpu: [loong64] os: [linux] - '@esbuild/linux-mips64el@0.27.4': - resolution: {integrity: sha512-1RdrWFFiiLIW7LQq9Q2NES+HiD4NyT8Itj9AUeCl0IVCA459WnPhREKgwrpaIfTOe+/2rdntisegiPWn/r/aAw==} + '@esbuild/linux-mips64el@0.27.7': + resolution: {integrity: sha512-KabT5I6StirGfIz0FMgl1I+R1H73Gp0ofL9A3nG3i/cYFJzKHhouBV5VWK1CSgKvVaG4q1RNpCTR2LuTVB3fIw==} engines: {node: '>=18'} cpu: [mips64el] os: [linux] - '@esbuild/linux-ppc64@0.27.4': - resolution: {integrity: sha512-tLCwNG47l3sd9lpfyx9LAGEGItCUeRCWeAx6x2Jmbav65nAwoPXfewtAdtbtit/pJFLUWOhpv0FpS6GQAmPrHA==} + '@esbuild/linux-ppc64@0.27.7': + resolution: {integrity: sha512-gRsL4x6wsGHGRqhtI+ifpN/vpOFTQtnbsupUF5R5YTAg+y/lKelYR1hXbnBdzDjGbMYjVJLJTd2OFmMewAgwlQ==} engines: {node: '>=18'} cpu: [ppc64] os: [linux] - '@esbuild/linux-riscv64@0.27.4': - resolution: {integrity: sha512-BnASypppbUWyqjd1KIpU4AUBiIhVr6YlHx/cnPgqEkNoVOhHg+YiSVxM1RLfiy4t9cAulbRGTNCKOcqHrEQLIw==} + '@esbuild/linux-riscv64@0.27.7': + resolution: {integrity: sha512-hL25LbxO1QOngGzu2U5xeXtxXcW+/GvMN3ejANqXkxZ/opySAZMrc+9LY/WyjAan41unrR3YrmtTsUpwT66InQ==} engines: {node: '>=18'} cpu: [riscv64] os: [linux] - '@esbuild/linux-s390x@0.27.4': - resolution: {integrity: sha512-+eUqgb/Z7vxVLezG8bVB9SfBie89gMueS+I0xYh2tJdw3vqA/0ImZJ2ROeWwVJN59ihBeZ7Tu92dF/5dy5FttA==} + '@esbuild/linux-s390x@0.27.7': + resolution: {integrity: sha512-2k8go8Ycu1Kb46vEelhu1vqEP+UeRVj2zY1pSuPdgvbd5ykAw82Lrro28vXUrRmzEsUV0NzCf54yARIK8r0fdw==} engines: {node: '>=18'} cpu: [s390x] os: [linux] - '@esbuild/linux-x64@0.27.4': - resolution: {integrity: sha512-S5qOXrKV8BQEzJPVxAwnryi2+Iq5pB40gTEIT69BQONqR7JH1EPIcQ/Uiv9mCnn05jff9umq/5nqzxlqTOg9NA==} + '@esbuild/linux-x64@0.27.7': + resolution: {integrity: sha512-hzznmADPt+OmsYzw1EE33ccA+HPdIqiCRq7cQeL1Jlq2gb1+OyWBkMCrYGBJ+sxVzve2ZJEVeePbLM2iEIZSxA==} engines: {node: '>=18'} cpu: [x64] os: [linux] - '@esbuild/netbsd-arm64@0.27.4': - resolution: {integrity: sha512-xHT8X4sb0GS8qTqiwzHqpY00C95DPAq7nAwX35Ie/s+LO9830hrMd3oX0ZMKLvy7vsonee73x0lmcdOVXFzd6Q==} + '@esbuild/netbsd-arm64@0.27.7': + resolution: {integrity: sha512-b6pqtrQdigZBwZxAn1UpazEisvwaIDvdbMbmrly7cDTMFnw/+3lVxxCTGOrkPVnsYIosJJXAsILG9XcQS+Yu6w==} engines: {node: '>=18'} cpu: [arm64] os: [netbsd] - '@esbuild/netbsd-x64@0.27.4': - resolution: {integrity: sha512-RugOvOdXfdyi5Tyv40kgQnI0byv66BFgAqjdgtAKqHoZTbTF2QqfQrFwa7cHEORJf6X2ht+l9ABLMP0dnKYsgg==} + '@esbuild/netbsd-x64@0.27.7': + resolution: {integrity: sha512-OfatkLojr6U+WN5EDYuoQhtM+1xco+/6FSzJJnuWiUw5eVcicbyK3dq5EeV/QHT1uy6GoDhGbFpprUiHUYggrw==} engines: {node: '>=18'} cpu: [x64] os: [netbsd] - '@esbuild/openbsd-arm64@0.27.4': - resolution: {integrity: sha512-2MyL3IAaTX+1/qP0O1SwskwcwCoOI4kV2IBX1xYnDDqthmq5ArrW94qSIKCAuRraMgPOmG0RDTA74mzYNQA9ow==} + '@esbuild/openbsd-arm64@0.27.7': + resolution: {integrity: sha512-AFuojMQTxAz75Fo8idVcqoQWEHIXFRbOc1TrVcFSgCZtQfSdc1RXgB3tjOn/krRHENUB4j00bfGjyl2mJrU37A==} engines: {node: '>=18'} cpu: [arm64] os: [openbsd] - '@esbuild/openbsd-x64@0.27.4': - resolution: {integrity: sha512-u8fg/jQ5aQDfsnIV6+KwLOf1CmJnfu1ShpwqdwC0uA7ZPwFws55Ngc12vBdeUdnuWoQYx/SOQLGDcdlfXhYmXQ==} + '@esbuild/openbsd-x64@0.27.7': + resolution: {integrity: sha512-+A1NJmfM8WNDv5CLVQYJ5PshuRm/4cI6WMZRg1by1GwPIQPCTs1GLEUHwiiQGT5zDdyLiRM/l1G0Pv54gvtKIg==} engines: {node: '>=18'} cpu: [x64] os: [openbsd] - '@esbuild/openharmony-arm64@0.27.4': - resolution: {integrity: sha512-JkTZrl6VbyO8lDQO3yv26nNr2RM2yZzNrNHEsj9bm6dOwwu9OYN28CjzZkH57bh4w0I2F7IodpQvUAEd1mbWXg==} + '@esbuild/openharmony-arm64@0.27.7': + resolution: {integrity: sha512-+KrvYb/C8zA9CU/g0sR6w2RBw7IGc5J2BPnc3dYc5VJxHCSF1yNMxTV5LQ7GuKteQXZtspjFbiuW5/dOj7H4Yw==} engines: {node: '>=18'} cpu: [arm64] os: [openharmony] - '@esbuild/sunos-x64@0.27.4': - resolution: {integrity: sha512-/gOzgaewZJfeJTlsWhvUEmUG4tWEY2Spp5M20INYRg2ZKl9QPO3QEEgPeRtLjEWSW8FilRNacPOg8R1uaYkA6g==} + '@esbuild/sunos-x64@0.27.7': + resolution: {integrity: sha512-ikktIhFBzQNt/QDyOL580ti9+5mL/YZeUPKU2ivGtGjdTYoqz6jObj6nOMfhASpS4GU4Q/Clh1QtxWAvcYKamA==} engines: {node: '>=18'} cpu: [x64] os: [sunos] - '@esbuild/win32-arm64@0.27.4': - resolution: {integrity: sha512-Z9SExBg2y32smoDQdf1HRwHRt6vAHLXcxD2uGgO/v2jK7Y718Ix4ndsbNMU/+1Qiem9OiOdaqitioZwxivhXYg==} + '@esbuild/win32-arm64@0.27.7': + resolution: {integrity: sha512-7yRhbHvPqSpRUV7Q20VuDwbjW5kIMwTHpptuUzV+AA46kiPze5Z7qgt6CLCK3pWFrHeNfDd1VKgyP4O+ng17CA==} engines: {node: '>=18'} cpu: [arm64] os: [win32] - '@esbuild/win32-ia32@0.27.4': - resolution: {integrity: sha512-DAyGLS0Jz5G5iixEbMHi5KdiApqHBWMGzTtMiJ72ZOLhbu/bzxgAe8Ue8CTS3n3HbIUHQz/L51yMdGMeoxXNJw==} + '@esbuild/win32-ia32@0.27.7': + resolution: {integrity: sha512-SmwKXe6VHIyZYbBLJrhOoCJRB/Z1tckzmgTLfFYOfpMAx63BJEaL9ExI8x7v0oAO3Zh6D/Oi1gVxEYr5oUCFhw==} engines: {node: '>=18'} cpu: [ia32] os: [win32] - '@esbuild/win32-x64@0.27.4': - resolution: {integrity: sha512-+knoa0BDoeXgkNvvV1vvbZX4+hizelrkwmGJBdT17t8FNPwG2lKemmuMZlmaNQ3ws3DKKCxpb4zRZEIp3UxFCg==} + '@esbuild/win32-x64@0.27.7': + resolution: {integrity: sha512-56hiAJPhwQ1R4i+21FVF7V8kSD5zZTdHcVuRFMW0hn753vVfQN8xlx4uOPT4xoGH0Z/oVATuR82AiqSTDIpaHg==} engines: {node: '>=18'} cpu: [x64] os: [win32] @@ -794,116 +794,116 @@ packages: resolution: {integrity: sha512-AokJm4tuBHillT+FpMtxQ60n8ObyXBatq7jD2/JA9dxbDDokKQm8KMht5ibGzLVU9IJDIKK4TPKgMHEYMn3lMg==} engines: {node: '>=18'} - '@jimp/core@1.6.0': - resolution: {integrity: sha512-EQQlKU3s9QfdJqiSrZWNTxBs3rKXgO2W+GxNXDtwchF3a4IqxDheFX1ti+Env9hdJXDiYLp2jTRjlxhPthsk8w==} + '@jimp/core@1.6.1': + resolution: {integrity: sha512-+BoKC5G6hkrSy501zcJ2EpfnllP+avPevcBfRcZe/CW+EwEfY6X1EZ8QWyT7NpDIvEEJb1fdJnMMfUnFkxmw9A==} engines: {node: '>=18'} - '@jimp/diff@1.6.0': - resolution: {integrity: sha512-+yUAQ5gvRC5D1WHYxjBHZI7JBRusGGSLf8AmPRPCenTzh4PA+wZ1xv2+cYqQwTfQHU5tXYOhA0xDytfHUf1Zyw==} + '@jimp/diff@1.6.1': + resolution: {integrity: sha512-YkKDPdHjLgo1Api3+Bhc0GLAygldlpt97NfOKoNg1U6IUNXA6X2MgosCjPfSBiSvJvrrz1fsIR+/4cfYXBI/HQ==} engines: {node: '>=18'} - '@jimp/file-ops@1.6.0': - resolution: {integrity: sha512-Dx/bVDmgnRe1AlniRpCKrGRm5YvGmUwbDzt+MAkgmLGf+jvBT75hmMEZ003n9HQI/aPnm/YKnXjg/hOpzNCpHQ==} + '@jimp/file-ops@1.6.1': + resolution: {integrity: sha512-T+gX6osHjprbDRad0/B71Evyre7ZdVY1z/gFGEG9Z8KOtZPKboWvPeP2UjbZYWQLy9UKCPQX1FNAnDiOPkJL7w==} engines: {node: '>=18'} - '@jimp/js-bmp@1.6.0': - resolution: {integrity: sha512-FU6Q5PC/e3yzLyBDXupR3SnL3htU7S3KEs4e6rjDP6gNEOXRFsWs6YD3hXuXd50jd8ummy+q2WSwuGkr8wi+Gw==} + '@jimp/js-bmp@1.6.1': + resolution: {integrity: sha512-xzWzNT4/u5zGrTT3Tme9sGU7YzIKxi13+BCQwLqACbt5DXf9SAfdzRkopZQnmDko+6In5nqaT89Gjs43/WdnYQ==} engines: {node: '>=18'} - '@jimp/js-gif@1.6.0': - resolution: {integrity: sha512-N9CZPHOrJTsAUoWkWZstLPpwT5AwJ0wge+47+ix3++SdSL/H2QzyMqxbcDYNFe4MoI5MIhATfb0/dl/wmX221g==} + '@jimp/js-gif@1.6.1': + resolution: {integrity: sha512-YjY2W26rQa05XhanYhRZ7dingCiNN+T2Ymb1JiigIbABY0B28wHE3v3Cf1/HZPWGu0hOg36ylaKgV5KxF2M58w==} engines: {node: '>=18'} - '@jimp/js-jpeg@1.6.0': - resolution: {integrity: sha512-6vgFDqeusblf5Pok6B2DUiMXplH8RhIKAryj1yn+007SIAQ0khM1Uptxmpku/0MfbClx2r7pnJv9gWpAEJdMVA==} + '@jimp/js-jpeg@1.6.1': + resolution: {integrity: sha512-HT9H3yOmlOFzYmdI15IYdfy6ggQhSRIaHeA+OTJSEORXBqEo97sUZu/DsgHIcX5NJ7TkJBTgZ9BZXsV6UbsyMg==} engines: {node: '>=18'} - '@jimp/js-png@1.6.0': - resolution: {integrity: sha512-AbQHScy3hDDgMRNfG0tPjL88AV6qKAILGReIa3ATpW5QFjBKpisvUaOqhzJ7Reic1oawx3Riyv152gaPfqsBVg==} + '@jimp/js-png@1.6.1': + resolution: {integrity: sha512-SZ/KVhI5UjcSzzlXsXdIi/LhJ7UShf2NkMOtVrbZQcGzsqNtynAelrOXeoTxcanfVqmNhAoVHg8yR2cYoqrYjA==} engines: {node: '>=18'} - '@jimp/js-tiff@1.6.0': - resolution: {integrity: sha512-zhReR8/7KO+adijj3h0ZQUOiun3mXUv79zYEAKvE0O+rP7EhgtKvWJOZfRzdZSNv0Pu1rKtgM72qgtwe2tFvyw==} + '@jimp/js-tiff@1.6.1': + resolution: {integrity: sha512-jDG/eJquID1M4MBlKMmDRBmz2TpXMv7TUyu2nIRUxhlUc2ogC82T+VQUkca9GJH1BBJ9dx5sSE5dGkWNjIbZxw==} engines: {node: '>=18'} - '@jimp/plugin-blit@1.6.0': - resolution: {integrity: sha512-M+uRWl1csi7qilnSK8uxK4RJMSuVeBiO1AY0+7APnfUbQNZm6hCe0CCFv1Iyw1D/Dhb8ph8fQgm5mwM0eSxgVA==} + '@jimp/plugin-blit@1.6.1': + resolution: {integrity: sha512-MwnI7C7K81uWddY9FLw1fCOIy6SsPIUftUz36Spt7jisCn8/40DhQMlSxpxTNelnZb/2SnloFimQfRZAmHLOqQ==} engines: {node: '>=18'} - '@jimp/plugin-blur@1.6.0': - resolution: {integrity: sha512-zrM7iic1OTwUCb0g/rN5y+UnmdEsT3IfuCXCJJNs8SZzP0MkZ1eTvuwK9ZidCuMo4+J3xkzCidRwYXB5CyGZTw==} + '@jimp/plugin-blur@1.6.1': + resolution: {integrity: sha512-lIo7Tzp5jQu30EFFSK/phXANK3citKVEjepDjQ6ljHoIFtuMRrnybnmI2Md24ulvWlDaz+hh3n6qrMb8ydwhZQ==} engines: {node: '>=18'} - '@jimp/plugin-circle@1.6.0': - resolution: {integrity: sha512-xt1Gp+LtdMKAXfDp3HNaG30SPZW6AQ7dtAtTnoRKorRi+5yCJjKqXRgkewS5bvj8DEh87Ko1ydJfzqS3P2tdWw==} + '@jimp/plugin-circle@1.6.1': + resolution: {integrity: sha512-kK1PavY6cKHNNKce37vdV4Tmpc1/zDKngGoeOV3j+EMatoHFZUinV3s6F9aWryPs3A0xhCLZgdJ6Zeea1d5LCQ==} engines: {node: '>=18'} - '@jimp/plugin-color@1.6.0': - resolution: {integrity: sha512-J5q8IVCpkBsxIXM+45XOXTrsyfblyMZg3a9eAo0P7VPH4+CrvyNQwaYatbAIamSIN1YzxmO3DkIZXzRjFSz1SA==} + '@jimp/plugin-color@1.6.1': + resolution: {integrity: sha512-LtUN1vAP+LRlZAtTNVhDRSiXx+26Kbz3zJaG6a5k59gQ95jgT5mknnF8lxkHcqJthM4MEk3/tPxkdJpEybyF/A==} engines: {node: '>=18'} - '@jimp/plugin-contain@1.6.0': - resolution: {integrity: sha512-oN/n+Vdq/Qg9bB4yOBOxtY9IPAtEfES8J1n9Ddx+XhGBYT1/QTU/JYkGaAkIGoPnyYvmLEDqMz2SGihqlpqfzQ==} + '@jimp/plugin-contain@1.6.1': + resolution: {integrity: sha512-m0qhrfA8jkTqretGv4w+T/ADFR4GwBpE0sCOC2uJ0dzr44/ddOMsIdrpi89kabqYiPYIrxkgdCVCLm3zn1Vkkg==} engines: {node: '>=18'} - '@jimp/plugin-cover@1.6.0': - resolution: {integrity: sha512-Iow0h6yqSC269YUJ8HC3Q/MpCi2V55sMlbkkTTx4zPvd8mWZlC0ykrNDeAy9IJegrQ7v5E99rJwmQu25lygKLA==} + '@jimp/plugin-cover@1.6.1': + resolution: {integrity: sha512-hZytnsth0zoll6cPf434BrT+p/v569Wr5tyO6Dp0dH1IDPhzhB5F38sZGMLDo7bzQiN9JFVB3fxkcJ/WYCJ3Mg==} engines: {node: '>=18'} - '@jimp/plugin-crop@1.6.0': - resolution: {integrity: sha512-KqZkEhvs+21USdySCUDI+GFa393eDIzbi1smBqkUPTE+pRwSWMAf01D5OC3ZWB+xZsNla93BDS9iCkLHA8wang==} + '@jimp/plugin-crop@1.6.1': + resolution: {integrity: sha512-EerRSLlclXyKDnYc/H9w/1amZW7b7v3OGi/VlerPd2M/pAu5X8TkyYWtfqYCXnNp1Ixtd8oCo9zGfY9zoXT4rg==} engines: {node: '>=18'} - '@jimp/plugin-displace@1.6.0': - resolution: {integrity: sha512-4Y10X9qwr5F+Bo5ME356XSACEF55485j5nGdiyJ9hYzjQP9nGgxNJaZ4SAOqpd+k5sFaIeD7SQ0Occ26uIng5Q==} + '@jimp/plugin-displace@1.6.1': + resolution: {integrity: sha512-K07QVl7xQwIfD6KfxRV/c3E9e7ZBXxUXdWuvoTWcKHL2qV48MOF5Nqbz/aJW4ThnQARIsxvYlZjPFiqkCjlU+g==} engines: {node: '>=18'} - '@jimp/plugin-dither@1.6.0': - resolution: {integrity: sha512-600d1RxY0pKwgyU0tgMahLNKsqEcxGdbgXadCiVCoGd6V6glyCvkNrnnwC0n5aJ56Htkj88PToSdF88tNVZEEQ==} + '@jimp/plugin-dither@1.6.1': + resolution: {integrity: sha512-+2V+GCV2WycMoX1/z977TkZ8Zq/4MVSKElHYatgUqtwXMi2fDK2gKYU2g9V39IqFvTJsTIsK0+58VFz/ROBVew==} engines: {node: '>=18'} - '@jimp/plugin-fisheye@1.6.0': - resolution: {integrity: sha512-E5QHKWSCBFtpgZarlmN3Q6+rTQxjirFqo44ohoTjzYVrDI6B6beXNnPIThJgPr0Y9GwfzgyarKvQuQuqCnnfbA==} + '@jimp/plugin-fisheye@1.6.1': + resolution: {integrity: sha512-XtS5ZyoZ0vxZxJ6gkqI63SivhtI58vX95foMPM+cyzYkRsJXMOYCr8DScxF5bp4Xr003NjYm/P+7+08tibwzHA==} engines: {node: '>=18'} - '@jimp/plugin-flip@1.6.0': - resolution: {integrity: sha512-/+rJVDuBIVOgwoyVkBjUFHtP+wmW0r+r5OQ2GpatQofToPVbJw1DdYWXlwviSx7hvixTWLKVgRWQ5Dw862emDg==} + '@jimp/plugin-flip@1.6.1': + resolution: {integrity: sha512-ws38W/sGj7LobNRayQ83garxiktOyWxM5vO/y4a/2cy9v65SLEUzVkrj+oeAaUSSObdz4HcCEla7XtGlnAGAaA==} engines: {node: '>=18'} - '@jimp/plugin-hash@1.6.0': - resolution: {integrity: sha512-wWzl0kTpDJgYVbZdajTf+4NBSKvmI3bRI8q6EH9CVeIHps9VWVsUvEyb7rpbcwVLWYuzDtP2R0lTT6WeBNQH9Q==} + '@jimp/plugin-hash@1.6.1': + resolution: {integrity: sha512-sZt6ZcMX6i8vFWb4GYnw0pR/o9++ef0dTVcboTB5B/g7nrxCODIB4wfEkJ/YqZM5wUvol77K1qeS0/rVO6z21A==} engines: {node: '>=18'} - '@jimp/plugin-mask@1.6.0': - resolution: {integrity: sha512-Cwy7ExSJMZszvkad8NV8o/Z92X2kFUFM8mcDAhNVxU0Q6tA0op2UKRJY51eoK8r6eds/qak3FQkXakvNabdLnA==} + '@jimp/plugin-mask@1.6.1': + resolution: {integrity: sha512-SIG0/FcmEj3tkwFxc7fAGLO8o4uNzMpSOdQOhbCgxefQKq5wOVMk9BQx/sdMPBwtMLr9WLq0GzLA/rk6t2v20A==} engines: {node: '>=18'} - '@jimp/plugin-print@1.6.0': - resolution: {integrity: sha512-zarTIJi8fjoGMSI/M3Xh5yY9T65p03XJmPsuNet19K/Q7mwRU6EV2pfj+28++2PV2NJ+htDF5uecAlnGyxFN2A==} + '@jimp/plugin-print@1.6.1': + resolution: {integrity: sha512-BYVz/X3Xzv8XYilVeDy11NOp0h7BTDjlOtu0BekIFHP1yHVd24AXNzbOy52XlzYZWQ0Dl36HOHEpl/nSNrzc6w==} engines: {node: '>=18'} - '@jimp/plugin-quantize@1.6.0': - resolution: {integrity: sha512-EmzZ/s9StYQwbpG6rUGBCisc3f64JIhSH+ncTJd+iFGtGo0YvSeMdAd+zqgiHpfZoOL54dNavZNjF4otK+mvlg==} + '@jimp/plugin-quantize@1.6.1': + resolution: {integrity: sha512-J2En9PLURfP+vwYDtuZ9T8yBW6BWYZBScydAjRiPBmJfEhTcNQqiiQODrZf7EqbbX/Sy5H6dAeRiqkgoV9N6Ww==} engines: {node: '>=18'} - '@jimp/plugin-resize@1.6.0': - resolution: {integrity: sha512-uSUD1mqXN9i1SGSz5ov3keRZ7S9L32/mAQG08wUwZiEi5FpbV0K8A8l1zkazAIZi9IJzLlTauRNU41Mi8IF9fA==} + '@jimp/plugin-resize@1.6.1': + resolution: {integrity: sha512-CLkrtJoIz2HdWnpYiN6p8KYcPc00rCH/SUu6o+lfZL05Q4uhecJlnvXuj9x+U6mDn3ldPmJj6aZqMHuUJzdVqg==} engines: {node: '>=18'} - '@jimp/plugin-rotate@1.6.0': - resolution: {integrity: sha512-JagdjBLnUZGSG4xjCLkIpQOZZ3Mjbg8aGCCi4G69qR+OjNpOeGI7N2EQlfK/WE8BEHOW5vdjSyglNqcYbQBWRw==} + '@jimp/plugin-rotate@1.6.1': + resolution: {integrity: sha512-nOjVjbbj705B02ksysKnh0POAwEBXZtJ9zQ5qC+X7Tavl3JNn+P3BzQovbBxLPSbUSld6XID9z5ijin4PtOAUg==} engines: {node: '>=18'} - '@jimp/plugin-threshold@1.6.0': - resolution: {integrity: sha512-M59m5dzLoHOVWdM41O8z9SyySzcDn43xHseOH0HavjsfQsT56GGCC4QzU1banJidbUrePhzoEdS42uFE8Fei8w==} + '@jimp/plugin-threshold@1.6.1': + resolution: {integrity: sha512-JOKv9F8s6tnVLf4sB/2fF0F339EFnHvgEdFYugO6VhowKLsap0pEZmLyE/DlRnYtIj2RddHZVxVMp/eKJ04l2Q==} engines: {node: '>=18'} - '@jimp/types@1.6.0': - resolution: {integrity: sha512-7UfRsiKo5GZTAATxm2qQ7jqmUXP0DxTArztllTcYdyw6Xi5oT4RaoXynVtCD4UyLK5gJgkZJcwonoijrhYFKfg==} + '@jimp/types@1.6.1': + resolution: {integrity: sha512-leI7YbveTNi565m910XgIOwXyuu074H5qazAD1357HImJSv2hqxnWXpwxQbadGWZ7goZRYBDZy5lpqud0p7q5w==} engines: {node: '>=18'} - '@jimp/utils@1.6.0': - resolution: {integrity: sha512-gqFTGEosKbOkYF/WFj26jMHOI5OH2jeP1MmC/zbK6BF6VJBf8rIC5898dPfSzZEbSA0wbbV5slbntWVc5PKLFA==} + '@jimp/utils@1.6.1': + resolution: {integrity: sha512-veFPRd93FCnS7AgmCkPgARVGoDRrJ9cm1ujuNyA+UfQ5VKbED2002sm5XfFLFwTsKC8j04heTrwe+tU1dluXOw==} engines: {node: '>=18'} '@lit-labs/ssr-dom-shim@1.5.1': @@ -1014,8 +1014,11 @@ packages: '@napi-rs/wasm-runtime@1.0.7': resolution: {integrity: sha512-SeDnOO0Tk7Okiq6DbXmmBODgOAb9dp9gjlphokTUxmt8U3liIP1ZsozBahH69j/RJv+Rfs6IwUKHTgQYJ/HBAw==} - '@napi-rs/wasm-runtime@1.1.1': - resolution: {integrity: sha512-p64ah1M1ld8xjWv3qbvFwHiFVWrq1yFvV4f7w+mzaqiR4IlSgkqhcRdHwsGgomwzBH51sRY4NEowLxnaBjcW/A==} + '@napi-rs/wasm-runtime@1.1.2': + resolution: {integrity: sha512-sNXv5oLJ7ob93xkZ1XnxisYhGYXfaG9f65/ZgYuAu3qt7b3NadcOEhLvx28hv31PgX8SZJRYrAIPQilQmFpLVw==} + peerDependencies: + '@emnapi/core': ^1.7.1 + '@emnapi/runtime': ^1.7.1 '@oxc-project/types@0.122.0': resolution: {integrity: sha512-oLAl5kBpV4w69UtFZ9xqcmTi+GENWOcPF7FCrczTiBbmC0ibXxCwyvZGbO39rCVEuLGAZM84DH0pUIyyv/YJzA==} @@ -1093,8 +1096,8 @@ packages: '@push.rocks/isounique@1.0.5': resolution: {integrity: sha512-Z0BVqZZOCif1THTbIKWMgg0wxCzt9CyBtBBqQJiZ+jJ0KlQFrQHNHrPt81/LXe/L4x0cxWsn0bpL6W5DNSvNLw==} - '@push.rocks/levelcache@3.2.0': - resolution: {integrity: sha512-Ch0Oguta2I0SVi704kHghhBcgfyfS92ua1elRu9d8X1/9LMRYuqvvBAnyXyFxQzI3S8q8QC6EkRdd8CAAYSzRg==} + '@push.rocks/levelcache@3.2.1': + resolution: {integrity: sha512-6yCdeJm7dwUjlFP12/AjMInyFI9vD1trA4VUgoK6k68KpI73JkaLFyrQq3l5G+WBgFC4/g4EBP8aEmMpPkBevw==} '@push.rocks/lik@6.4.0': resolution: {integrity: sha512-GCdXyF2a6NP+i0W6Mib1PjtA6JGrl6Ae17SbaQwqTscn4JHNta6xm9r+D8/b83XGZsoU903FlJZli3YqJCxT9Q==} @@ -1117,15 +1120,12 @@ packages: '@push.rocks/smartbrowser@2.0.11': resolution: {integrity: sha512-Rj3+VodlFbW7CkvXqYxH4dEhtbYy987gVY7wsM76B+ipvnkSfjfEGuKUeMfKe4DscUBSmhlbJVYEYaH8RafUoQ==} - '@push.rocks/smartbucket@3.3.10': - resolution: {integrity: sha512-0H2MioALspC8Aj0Q1FPCs2w4k2u9oJg7Q5yM8+1TZo7aRfrdxgM5HQ7z3apUaqC3ZEDewW6vSlttjHFHhMEC3A==} + '@push.rocks/smartbucket@4.6.0': + resolution: {integrity: sha512-F45ydPscGN71eIvSzX9axiBWWSOT79S8YwfaaUC3OciYTYiEm7nvJf6ox16ZOGsOw+s5ZDMNOs7IhZTZ4npCBA==} '@push.rocks/smartbuffer@3.0.5': resolution: {integrity: sha512-pWYF08Mn8s/KF/9nHRk7pZPzuMjmYVQay2c5gGexdayxn1W4eCSYYhWH73vR2JBfGeGq/izbRNuUuEaIEeTIKA==} - '@push.rocks/smartcache@1.0.18': - resolution: {integrity: sha512-3+cmLu9chbnmi4yD4kjlFP/Tn4NReaZIoicEcGTtwbcokTrSDMs3YPdJzIpDZkAs83PW7OcVSHa3Ak5KU5OWzA==} - '@push.rocks/smartcli@4.0.20': resolution: {integrity: sha512-gCo4ItvsPj8WoVAJw/6vkuoGA5FtIoACux2ktcCeH0nrFe7/xGR6waJ1aZcYAi7QN4gi52TlsgwuKz7BzXqhmQ==} @@ -1141,11 +1141,11 @@ packages: '@push.rocks/smartdata@7.1.5': resolution: {integrity: sha512-7x7VedEg6RocWndqUPuTbY2Bh85Q/x0LOVHL4o/NVXyh3IGNtiVQ8ple4WR0qYqlHRAojX4eDSBPMiYzIasqAg==} - '@push.rocks/smartdata@7.1.6': - resolution: {integrity: sha512-GraeLUc/EKjMGwVwD4VWQxkpnF/Tcy0k9n0642kSiM7bRPZWh4IXLMo1bJGPesl1ofsHPR1kXIUsB9LVfUpQsw==} + '@push.rocks/smartdata@7.1.7': + resolution: {integrity: sha512-HDI/Q9dKybfsJ68oCzlE+S63Xpij9qXnMfi28yznKP0Li1ECVZZMDDGIW5IjsXlHjO+Q+RJMcVd72Pjt3QLY5Q==} - '@push.rocks/smartdb@2.5.9': - resolution: {integrity: sha512-8GVR0zPi6khm7xFSirhOkD6V1QrikEPW0JCRriGMictNkGb3DhMg8KswSDOYTUlEuvx4ldrJCRZ7CmQu3uiUuQ==} + '@push.rocks/smartdb@2.6.2': + resolution: {integrity: sha512-yF7c4A/o3P9paGIvhksORwi35Aen8Cc3+UBzqQdVB3r6DX3ReEFVYpA9x8o8ZTlq7X9bQpM7MxzN+pLN+l7/2g==} '@push.rocks/smartdelay@3.0.5': resolution: {integrity: sha512-mUuI7kj2f7ztjpic96FvRIlf2RsKBa5arw81AHNsndbxO6asRcxuWL8dTVxouEIK8YsBUlj0AsrCkHhMbLQdHw==} @@ -1159,12 +1159,6 @@ packages: '@push.rocks/smartenv@6.0.0': resolution: {integrity: sha512-ktW5MqOFs0492sB4vrvl4lgRFQ/sQ4AyREgB+sCIzGqszHWGVvGXR95Y2a3z66jkLPYML2CUWHzmMlfv8fkG+A==} - '@push.rocks/smarterror@2.0.1': - resolution: {integrity: sha512-iCcH1D8tlDJgMFsaJ6lhdOTKhbU0KoprNv9MRP9o7691QOx4JEDXiHtr/lNtxVo8BUtdb9CF6kazaknO9KuORA==} - - '@push.rocks/smartexit@1.1.1': - resolution: {integrity: sha512-UwcVJbp7vzzDM9RQmnfTaVOJ+DK127lAC5gwyfKU2GfPAv0Jng62Sv601otP+jnly9nRt5fUuttNHDl34Mjn3g==} - '@push.rocks/smartexit@2.0.3': resolution: {integrity: sha512-ZWpZ3Elorpv/rKtUcCUejUHG4BIE5B3QWysBAgb7lTcA7y0vGdFY32Y5/Q5tHpZM6PPxl/WTdUOYtSojQTq+pA==} @@ -1219,8 +1213,8 @@ packages: '@push.rocks/smartlog-interfaces@3.0.2': resolution: {integrity: sha512-8hGRTJehbsFSJxLhCQkA018mZtXVPxPTblbg9VaE/EqISRzUw+eosJ2EJV7M4Qu0eiTJZjnWnNLn8CkD77ziWw==} - '@push.rocks/smartlog@3.2.1': - resolution: {integrity: sha512-x9/P59pfzY6HOGYmYrhqmoRl/pliTVx44g2Vbb8dIr/0zA39cAJHlPze1+UGncn37XKGmutK2iLSsJLEsexD0A==} + '@push.rocks/smartlog@3.2.2': + resolution: {integrity: sha512-3Nw/Ki/jZ4vrrWnEtpcGPF28jQ+fr9/9Edc7ytaEA6ZWIpojtwacJ5qihMvHbIei+zjpD35w6tZP2mQjvw5VRQ==} '@push.rocks/smartmail@2.2.0': resolution: {integrity: sha512-28K4HAcda7ODUUpFCgbS/uA+eqwVRcmLJERIdM9AvLHXaHAPLHH97HmwPPcAu9Sp3z05Um0inmDF51X6yVVkcw==} @@ -1237,6 +1231,17 @@ packages: '@push.rocks/smartmetrics@3.0.3': resolution: {integrity: sha512-RYY4NOla3kraZYVF9TBHgIz4/hSkqVDVNP7tLwhLK5mGBPBy8I/9NWXX6txZKQw6QihP85YD8mWUuUu2xS4D6Q==} + '@push.rocks/smartmigration@1.1.1': + resolution: {integrity: sha512-K/eLN9cNy+CLOT73rhI93vOy/vGwpV46iJpjRUyPwHsMcQcV6po2idk5+XZQzeuq2x7KpKuUPtZ6gXMtf5Y/ig==} + peerDependencies: + '@push.rocks/smartbucket': ^4.6.0 + '@push.rocks/smartdata': ^7.1.7 + peerDependenciesMeta: + '@push.rocks/smartbucket': + optional: true + '@push.rocks/smartdata': + optional: true + '@push.rocks/smartmime@2.0.4': resolution: {integrity: sha512-mG6lRBLr5nF+GLZmgCcdjhdDsmTtJWBFZDCa1eJ8Au9TvUzbPW0fY5aqJBb3UwfyZzH6St8Th9cJSXjagOQkYA==} @@ -1255,9 +1260,6 @@ packages: '@push.rocks/smartnetwork@4.5.2': resolution: {integrity: sha512-lbMMyc2f/WWd5+qzZyF1ynXndjCtasxPWmj/d8GUuis9rDrW7sLIT1PlAPC2F6Qsy4H/K32JrYU+01d/6sWObg==} - '@push.rocks/smartnftables@1.0.1': - resolution: {integrity: sha512-o822GH4J8dlEBvNLbm+CwU4h6isMUEh03tf2ZnOSWXc5iewRDdKdOCDwI/e+WdnGYWyv7gvH0DHztCmne6rTCg==} - '@push.rocks/smartnftables@1.1.0': resolution: {integrity: sha512-7JNzerlW20HEl2wKMBIHltwneCQRpXiD2lJkXZZc02ctnfjgFejXVDIeWomhPx6PZ0Z6zmqdF6rrFDtDHyqqfA==} @@ -1282,8 +1284,8 @@ packages: '@push.rocks/smartpromise@4.2.3': resolution: {integrity: sha512-Ycg/TJR+tMt+S3wSFurOpEoW6nXv12QBtKXgBcjMZ4RsdO28geN46U09osPn9N9WuwQy1PkmTV5J/V4F9U8qEw==} - '@push.rocks/smartproxy@27.4.0': - resolution: {integrity: sha512-r6ym6+FpiHHLFgCdY0KfCe8s2eLuLUU/daXIcKwsmMHNY3BOlBIxwN5CL17+v2Hvh7Lg2JWBY+1L7/7ehYXj1w==} + '@push.rocks/smartproxy@27.5.0': + resolution: {integrity: sha512-QIXrVQtAoqBCv+9ScLOdGcizN55svJuGCfMDsDaBVtwS3Tva30IxuEL3usNTHABveuI8slaWzSxTabmTULDOwA==} '@push.rocks/smartpuppeteer@2.0.5': resolution: {integrity: sha512-yK/qSeWVHIGWRp3c8S5tfdGP6WCKllZC4DR8d8CQlEjszOSBmHtlTdyyqOMBZ/BA4kd+eU5f3A1r4K2tGYty1g==} @@ -1342,8 +1344,8 @@ packages: '@push.rocks/smarturl@3.1.0': resolution: {integrity: sha512-ij73Q4GERojdPSHxAvYKvspimcpAJC6GGQCWsC4b+1sAiOSByjfmkUHK8yiEEOPRU9AeGuyaIVqK6ZzKLEZ3vA==} - '@push.rocks/smartversion@3.0.5': - resolution: {integrity: sha512-8MZSo1yqyaKxKq0Q5N188l4un++9GFWVbhCAX5mXJwewZHn97ujffTeL+eOQYpWFTEpUhaq1QhL4NhqObBCt1Q==} + '@push.rocks/smartversion@3.1.0': + resolution: {integrity: sha512-qsJb82p8aQzJQ04fLiZsrxarhn+IoOn6v1B869NjH06vOCbCHXNKoS8WPssE6E6zge4NPCCD5WQ2hkyzqxCv9A==} '@push.rocks/smartvpn@1.19.2': resolution: {integrity: sha512-ygy7jnd4lfXmsHpdL0jS2k6bQAicSSoYcz7OzRpD0jQ970ghAnq2TgC3ccDl23YT9pt0QJPQLkGbVXN5+adQVg==} @@ -1512,64 +1514,64 @@ packages: '@rolldown/pluginutils@1.0.0-rc.11': resolution: {integrity: sha512-xQO9vbwBecJRv9EUcQ/y0dzSTJgA7Q6UVN7xp6B81+tBGSLVAK03yJ9NkJaUA7JFD91kbjxRSC/mDnmvXzbHoQ==} - '@rspack/binding-darwin-arm64@1.7.10': - resolution: {integrity: sha512-bsXi7I6TpH+a4L6okIUh1JDvwT+XcK/L7Yvhu5G2t5YYyd2fl5vMM5O9cePRpEb0RdqJZ3Z8i9WIWHap9aQ8Gw==} + '@rspack/binding-darwin-arm64@1.7.11': + resolution: {integrity: sha512-oduECiZVqbO5zlVw+q7Vy65sJFth99fWPTyucwvLJJtJkPL5n17Uiql2cYP6Ijn0pkqtf1SXgK8WjiKLG5bIig==} cpu: [arm64] os: [darwin] - '@rspack/binding-darwin-x64@1.7.10': - resolution: {integrity: sha512-h/kOGL1bUflDDYnbiUjaRE9kagJpour4FatGihueV03+cRGQ6jpde+BjUakqzMx65CeDbeYI6jAiPhElnlAtRw==} + '@rspack/binding-darwin-x64@1.7.11': + resolution: {integrity: sha512-a1+TtTE9ap6RalgFi7FGIgkJP6O4Vy6ctv+9WGJy53E4kuqHR0RygzaiVxCI/GMc/vBT9vY23hyrpWb3d1vtXA==} cpu: [x64] os: [darwin] - '@rspack/binding-linux-arm64-gnu@1.7.10': - resolution: {integrity: sha512-Z4reus7UxGM4+JuhiIht8KuGP1KgM7nNhOlXUHcQCMswP/Rymj5oJQN3TDWgijFUZs09ULl8t3T+AQAVTd/WvA==} + '@rspack/binding-linux-arm64-gnu@1.7.11': + resolution: {integrity: sha512-P0QrGRPbTWu6RKWfN0bDtbnEps3rXH0MWIMreZABoUrVmNQKtXR6e73J3ub6a+di5s2+K0M2LJ9Bh2/H4UsDUA==} cpu: [arm64] os: [linux] libc: [glibc] - '@rspack/binding-linux-arm64-musl@1.7.10': - resolution: {integrity: sha512-LYaoVmWizG4oQ3g+St3eM5qxsyfH07kLirP7NJcDMgvu3eQ29MeyTZ3ugkgW6LvlmJue7eTQyf6CZlanoF5SSg==} + '@rspack/binding-linux-arm64-musl@1.7.11': + resolution: {integrity: sha512-6ky7R43VMjWwmx3Yx7Jl7faLBBMAgMDt+/bN35RgwjiPgsIByz65EwytUVuW9rikB43BGHvA/eqlnjLrUzNBqw==} cpu: [arm64] os: [linux] libc: [musl] - '@rspack/binding-linux-x64-gnu@1.7.10': - resolution: {integrity: sha512-aIm2G4Kcm3qxDTNqKarK0oaLY2iXnCmpRQQhAcMlR0aS2LmxL89XzVeRr9GFA1MzGrAsZONWCLkxQvn3WUbm4Q==} + '@rspack/binding-linux-x64-gnu@1.7.11': + resolution: {integrity: sha512-cuOJMfCOvb2Wgsry5enXJ3iT1FGUjdPqtGUBVupQlEG4ntSYsQ2PtF4wIDVasR3wdxC5nQbipOrDiN/u6fYsdQ==} cpu: [x64] os: [linux] libc: [glibc] - '@rspack/binding-linux-x64-musl@1.7.10': - resolution: {integrity: sha512-SIHQbAgB9IPH0H3H+i5rN5jo9yA/yTMq8b7XfRkTMvZ7P7MXxJ0dE8EJu3BmCLM19sqnTc2eX+SVfE8ZMDzghA==} + '@rspack/binding-linux-x64-musl@1.7.11': + resolution: {integrity: sha512-CoK37hva4AmHGh3VCsQXmGr40L36m1/AdnN5LEjUX6kx5rEH7/1nEBN6Ii72pejqDVvk9anEROmPDiPw10tpFg==} cpu: [x64] os: [linux] libc: [musl] - '@rspack/binding-wasm32-wasi@1.7.10': - resolution: {integrity: sha512-J9HDXHD1tj+9FmX4+K3CTkO7dCE2bootlR37YuC2Owc0Lwl1/i2oGT71KHnMqI9faF/hipAaQM5OywkiiuNB7w==} + '@rspack/binding-wasm32-wasi@1.7.11': + resolution: {integrity: sha512-OtrmnPUVJMxjNa3eDMfHyPdtlLRmmp/aIm0fQHlAOATbZvlGm12q7rhPW5BXTu1yh+1rQ1/uqvz+SzKEZXuJaQ==} cpu: [wasm32] - '@rspack/binding-win32-arm64-msvc@1.7.10': - resolution: {integrity: sha512-FaQGSCXH89nMOYW0bVp0bKQDQbrOEFFm7yedla7g6mkWlFVQo5UyBxid5wJUCqGJBtJepRxeRfByWiaI5nVGvg==} + '@rspack/binding-win32-arm64-msvc@1.7.11': + resolution: {integrity: sha512-lObFW6e5lCWNgTBNwT//yiEDbsxm9QG4BYUojqeXxothuzJ/L6ibXz6+gLMvbOvLGV3nKgkXmx8GvT9WDKR0mA==} cpu: [arm64] os: [win32] - '@rspack/binding-win32-ia32-msvc@1.7.10': - resolution: {integrity: sha512-/66TNLOeM4R5dHhRWRVbMTgWghgxz+32ym0c/zGGXQRoMbz7210EoL40ALUgdBdeeREO8LoV+Mn7v8/QZCwHzw==} + '@rspack/binding-win32-ia32-msvc@1.7.11': + resolution: {integrity: sha512-0pYGnZd8PPqNR68zQ8skamqNAXEA1sUfXuAdYcknIIRq2wsbiwFzIc0Pov1cIfHYab37G7sSIPBiOUdOWF5Ivw==} cpu: [ia32] os: [win32] - '@rspack/binding-win32-x64-msvc@1.7.10': - resolution: {integrity: sha512-SUa3v1W7PGFCy6AHRmDsm43/tkfaZFi1TN2oIk5aCdT9T51baDVBjAbehRDu9xFbK4piL3k7uqIVSIrKgVqk1g==} + '@rspack/binding-win32-x64-msvc@1.7.11': + resolution: {integrity: sha512-EeQXayoQk/uBkI3pdoXfQBXNIUrADq56L3s/DFyM2pJeUDrWmhfIw2UFIGkYPTMSCo8F2JcdcGM32FGJrSnU0Q==} cpu: [x64] os: [win32] - '@rspack/binding@1.7.10': - resolution: {integrity: sha512-j+DPEaSJLRgasxXNpYQpvC7wUkQF5WoWPiTfm4fLczwlAmYwGSVkJiyWDrOlvVPiGGYiXIaXEjVWTw6fT6/vnA==} + '@rspack/binding@1.7.11': + resolution: {integrity: sha512-2MGdy2s2HimsDT444Bp5XnALzNRxuBNc7y0JzyuqKbHBywd4x2NeXyhWXXoxufaCFu5PBc9Qq9jyfjW2Aeh06Q==} - '@rspack/core@1.7.10': - resolution: {integrity: sha512-dO7J0aHSa9Fg2kGT0+ZsM500lMdlNIyCHavIaz7dTDn6KXvFz1qbWQ/48x3OlNFw1mA0jxAjjw9e7h3sWQZUNg==} + '@rspack/core@1.7.11': + resolution: {integrity: sha512-rsD9b+Khmot5DwCMiB3cqTQo53ioPG3M/A7BySu8+0+RS7GCxKm+Z+mtsjtG/vsu4Tn2tcqCdZtA3pgLoJB+ew==} engines: {node: '>=18.12.0'} peerDependencies: '@swc/helpers': '>=0.5.1' @@ -1599,10 +1601,6 @@ packages: resolution: {integrity: sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==} engines: {node: '>=14.16'} - '@smithy/abort-controller@4.2.12': - resolution: {integrity: sha512-xolrFw6b+2iYGl6EcOL7IJY71vvyZ0DJ3mcKtpykqPe2uscwtzDZJa1uVQXyP7w9Dd+kGwYnPbMsJrGISKiY/Q==} - engines: {node: '>=18.0.0'} - '@smithy/chunked-blob-reader-native@4.2.3': resolution: {integrity: sha512-jA5k5Udn7Y5717L86h4EIv06wIr3xn8GM1qHRi/Nf31annXcXHJjBKvgztnbn2TxH3xWrPBfgwHsOwZf0UmQWw==} engines: {node: '>=18.0.0'} @@ -1611,56 +1609,56 @@ packages: resolution: {integrity: sha512-St+kVicSyayWQca+I1rGitaOEH6uKgE8IUWoYnnEX26SWdWQcL6LvMSD19Lg+vYHKdT9B2Zuu7rd3i6Wnyb/iw==} engines: {node: '>=18.0.0'} - '@smithy/config-resolver@4.4.13': - resolution: {integrity: sha512-iIzMC5NmOUP6WL6o8iPBjFhUhBZ9pPjpUpQYWMUFQqKyXXzOftbfK8zcQCz/jFV1Psmf05BK5ypx4K2r4Tnwdg==} + '@smithy/config-resolver@4.4.14': + resolution: {integrity: sha512-N55f8mPEccpzKetUagdvmAy8oohf0J5cuj9jLI1TaSceRlq0pJsIZepY3kmAXAhyxqXPV6hDerDQhqQPKWgAoQ==} engines: {node: '>=18.0.0'} - '@smithy/core@3.23.12': - resolution: {integrity: sha512-o9VycsYNtgC+Dy3I0yrwCqv9CWicDnke0L7EVOrZtJpjb2t0EjaEofmMrYc0T1Kn3yk32zm6cspxF9u9Bj7e5w==} + '@smithy/core@3.23.14': + resolution: {integrity: sha512-vJ0IhpZxZAkFYOegMKSrxw7ujhhT2pass/1UEcZ4kfl5srTAqtPU5I7MdYQoreVas3204ykCiNhY1o7Xlz6Yyg==} engines: {node: '>=18.0.0'} - '@smithy/credential-provider-imds@4.2.12': - resolution: {integrity: sha512-cr2lR792vNZcYMriSIj+Um3x9KWrjcu98kn234xA6reOAFMmbRpQMOv8KPgEmLLtx3eldU6c5wALKFqNOhugmg==} + '@smithy/credential-provider-imds@4.2.13': + resolution: {integrity: sha512-wboCPijzf6RJKLOvnjDAiBxGSmSnGXj35o5ZAWKDaHa/cvQ5U3ZJ13D4tMCE8JG4dxVAZFy/P0x/V9CwwdfULQ==} engines: {node: '>=18.0.0'} - '@smithy/eventstream-codec@4.2.12': - resolution: {integrity: sha512-FE3bZdEl62ojmy8x4FHqxq2+BuOHlcxiH5vaZ6aqHJr3AIZzwF5jfx8dEiU/X0a8RboyNDjmXjlbr8AdEyLgiA==} + '@smithy/eventstream-codec@4.2.13': + resolution: {integrity: sha512-vYahwBAtRaAcFbOmE9aLr12z7RiHYDSLcnogSdxfm7kKfsNa3wH+NU5r7vTeB5rKvLsWyPjVX8iH94brP7umiQ==} engines: {node: '>=18.0.0'} - '@smithy/eventstream-serde-browser@4.2.12': - resolution: {integrity: sha512-XUSuMxlTxV5pp4VpqZf6Sa3vT/Q75FVkLSpSSE3KkWBvAQWeuWt1msTv8fJfgA4/jcJhrbrbMzN1AC/hvPmm5A==} + '@smithy/eventstream-serde-browser@4.2.13': + resolution: {integrity: sha512-wwybfcOX0tLqCcBP378TIU9IqrDuZq/tDV48LlZNydMpCnqnYr+hWBAYbRE+rFFf/p7IkDJySM3bgiMKP2ihPg==} engines: {node: '>=18.0.0'} - '@smithy/eventstream-serde-config-resolver@4.3.12': - resolution: {integrity: sha512-7epsAZ3QvfHkngz6RXQYseyZYHlmWXSTPOfPmXkiS+zA6TBNo1awUaMFL9vxyXlGdoELmCZyZe1nQE+imbmV+Q==} + '@smithy/eventstream-serde-config-resolver@4.3.13': + resolution: {integrity: sha512-ied1lO559PtAsMJzg2TKRlctLnEi1PfkNeMMpdwXDImk1zV9uvS/Oxoy/vcy9uv1GKZAjDAB5xT6ziE9fzm5wA==} engines: {node: '>=18.0.0'} - '@smithy/eventstream-serde-node@4.2.12': - resolution: {integrity: sha512-D1pFuExo31854eAvg89KMn9Oab/wEeJR6Buy32B49A9Ogdtx5fwZPqBHUlDzaCDpycTFk2+fSQgX689Qsk7UGA==} + '@smithy/eventstream-serde-node@4.2.13': + resolution: {integrity: sha512-hFyK+ORJrxAN3RYoaD6+gsGDQjeix8HOEkosoajvXYZ4VeqonM3G4jd9IIRm/sWGXUKmudkY9KdYjzosUqdM8A==} engines: {node: '>=18.0.0'} - '@smithy/eventstream-serde-universal@4.2.12': - resolution: {integrity: sha512-+yNuTiyBACxOJUTvbsNsSOfH9G9oKbaJE1lNL3YHpGcuucl6rPZMi3nrpehpVOVR2E07YqFFmtwpImtpzlouHQ==} + '@smithy/eventstream-serde-universal@4.2.13': + resolution: {integrity: sha512-kRrq4EKLGeOxhC2CBEhRNcu1KSzNJzYY7RK3S7CxMPgB5dRrv55WqQOtRwQxQLC04xqORFLUgnDlc6xrNUULaA==} engines: {node: '>=18.0.0'} - '@smithy/fetch-http-handler@5.3.15': - resolution: {integrity: sha512-T4jFU5N/yiIfrtrsb9uOQn7RdELdM/7HbyLNr6uO/mpkj1ctiVs7CihVr51w4LyQlXWDpXFn4BElf1WmQvZu/A==} + '@smithy/fetch-http-handler@5.3.16': + resolution: {integrity: sha512-nYDRUIvNd4mFmuXraRWt6w5UsZTNqtj4hXJA/iiOD4tuseIdLP9Lq38teH/SZTcIFCa2f+27o7hYpIsWktJKEQ==} engines: {node: '>=18.0.0'} - '@smithy/hash-blob-browser@4.2.13': - resolution: {integrity: sha512-YrF4zWKh+ghLuquldj6e/RzE3xZYL8wIPfkt0MqCRphVICjyyjH8OwKD7LLlKpVEbk4FLizFfC1+gwK6XQdR3g==} + '@smithy/hash-blob-browser@4.2.14': + resolution: {integrity: sha512-rtQ5es8r/5v4rav7q5QTsfx9CtCyzrz/g7ZZZBH2xtMmd6G/KQrLOWfSHTvFOUPlVy59RQvxeBYJaLRoybMEyA==} engines: {node: '>=18.0.0'} - '@smithy/hash-node@4.2.12': - resolution: {integrity: sha512-QhBYbGrbxTkZ43QoTPrK72DoYviDeg6YKDrHTMJbbC+A0sml3kSjzFtXP7BtbyJnXojLfTQldGdUR0RGD8dA3w==} + '@smithy/hash-node@4.2.13': + resolution: {integrity: sha512-4/oy9h0jjmY80a2gOIo75iLl8TOPhmtx4E2Hz+PfMjvx/vLtGY4TMU/35WRyH2JHPfT5CVB38u4JRow7gnmzJA==} engines: {node: '>=18.0.0'} - '@smithy/hash-stream-node@4.2.12': - resolution: {integrity: sha512-O3YbmGExeafuM/kP7Y8r6+1y0hIh3/zn6GROx0uNlB54K9oihAL75Qtc+jFfLNliTi6pxOAYZrRKD9A7iA6UFw==} + '@smithy/hash-stream-node@4.2.13': + resolution: {integrity: sha512-WdQ7HwUjINXETeh6dqUeob1UHIYx8kAn9PSp1HhM2WWegiZBYVy2WXIs1lB07SZLan/udys9SBnQGt9MQbDpdg==} engines: {node: '>=18.0.0'} - '@smithy/invalid-dependency@4.2.12': - resolution: {integrity: sha512-/4F1zb7Z8LOu1PalTdESFHR0RbPwHd3FcaG1sI3UEIriQTWakysgJr65lc1jj6QY5ye7aFsisajotH6UhWfm/g==} + '@smithy/invalid-dependency@4.2.13': + resolution: {integrity: sha512-jvC0RB/8BLj2SMIkY0Npl425IdnxZJxInpZJbu563zIRnVjpDMXevU3VMCRSabaLB0kf/eFIOusdGstrLJ8IDg==} engines: {node: '>=18.0.0'} '@smithy/is-array-buffer@2.2.0': @@ -1671,76 +1669,76 @@ packages: resolution: {integrity: sha512-n6rQ4N8Jj4YTQO3YFrlgZuwKodf4zUFs7EJIWH86pSCWBaAtAGBFfCM7Wx6D2bBJ2xqFNxGBSrUWswT3M0VJow==} engines: {node: '>=18.0.0'} - '@smithy/md5-js@4.2.12': - resolution: {integrity: sha512-W/oIpHCpWU2+iAkfZYyGWE+qkpuf3vEXHLxQQDx9FPNZTTdnul0dZ2d/gUFrtQ5je1G2kp4cjG0/24YueG2LbQ==} + '@smithy/md5-js@4.2.13': + resolution: {integrity: sha512-cNm7I9NXolFxtS20ojROddOEpSAeI1Obq6pd1Kj5HtHws3s9Fkk8DdHDfQSs5KuxCewZuVK6UqrJnfJmiMzDuQ==} engines: {node: '>=18.0.0'} - '@smithy/middleware-content-length@4.2.12': - resolution: {integrity: sha512-YE58Yz+cvFInWI/wOTrB+DbvUVz/pLn5mC5MvOV4fdRUc6qGwygyngcucRQjAhiCEbmfLOXX0gntSIcgMvAjmA==} + '@smithy/middleware-content-length@4.2.13': + resolution: {integrity: sha512-IPMLm/LE4AZwu6qiE8Rr8vJsWhs9AtOdySRXrOM7xnvclp77Tyh7hMs/FRrMf26kgIe67vFJXXOSmVxS7oKeig==} engines: {node: '>=18.0.0'} - '@smithy/middleware-endpoint@4.4.27': - resolution: {integrity: sha512-T3TFfUgXQlpcg+UdzcAISdZpj4Z+XECZ/cefgA6wLBd6V4lRi0svN2hBouN/be9dXQ31X4sLWz3fAQDf+nt6BA==} + '@smithy/middleware-endpoint@4.4.29': + resolution: {integrity: sha512-R9Q/58U+qBiSARGWbAbFLczECg/RmysRksX6Q8BaQEpt75I7LI6WGDZnjuC9GXSGKljEbA7N118LhGaMbfrTXw==} engines: {node: '>=18.0.0'} - '@smithy/middleware-retry@4.4.44': - resolution: {integrity: sha512-Y1Rav7m5CFRPQyM4CI0koD/bXjyjJu3EQxZZhtLGD88WIrBrQ7kqXM96ncd6rYnojwOo/u9MXu57JrEvu/nLrA==} + '@smithy/middleware-retry@4.5.0': + resolution: {integrity: sha512-/NzISn4grj/BRFVua/xnQwF+7fakYZgimpw2dfmlPgcqecBMKxpB9g5mLYRrmBD5OrPoODokw4Vi1hrSR4zRyw==} engines: {node: '>=18.0.0'} - '@smithy/middleware-serde@4.2.15': - resolution: {integrity: sha512-ExYhcltZSli0pgAKOpQQe1DLFBLryeZ22605y/YS+mQpdNWekum9Ujb/jMKfJKgjtz1AZldtwA/wCYuKJgjjlg==} + '@smithy/middleware-serde@4.2.17': + resolution: {integrity: sha512-0T2mcaM6v9W1xku86Dk0bEW7aEseG6KenFkPK98XNw0ZhOqOiD1MrMsdnQw9QsL3/Oa85T53iSMlm0SZdSuIEQ==} engines: {node: '>=18.0.0'} - '@smithy/middleware-stack@4.2.12': - resolution: {integrity: sha512-kruC5gRHwsCOuyCd4ouQxYjgRAym2uDlCvQ5acuMtRrcdfg7mFBg6blaxcJ09STpt3ziEkis6bhg1uwrWU7txw==} + '@smithy/middleware-stack@4.2.13': + resolution: {integrity: sha512-g72jN/sGDLyTanrCLH9fhg3oysO3f7tQa6eWWsMyn2BiYNCgjF24n4/I9wff/5XidFvjj9ilipAoQrurTUrLvw==} engines: {node: '>=18.0.0'} - '@smithy/node-config-provider@4.3.12': - resolution: {integrity: sha512-tr2oKX2xMcO+rBOjobSwVAkV05SIfUKz8iI53rzxEmgW3GOOPOv0UioSDk+J8OpRQnpnhsO3Af6IEBabQBVmiw==} + '@smithy/node-config-provider@4.3.13': + resolution: {integrity: sha512-iGxQ04DsKXLckbgnX4ipElrOTk+IHgTyu0q0WssZfYhDm9CQWHmu6cOeI5wmWRxpXbBDhIIfXMWz5tPEtcVqbw==} engines: {node: '>=18.0.0'} - '@smithy/node-http-handler@4.5.0': - resolution: {integrity: sha512-Rnq9vQWiR1+/I6NZZMNzJHV6pZYyEHt2ZnuV3MG8z2NNenC4i/8Kzttz7CjZiHSmsN5frhXhg17z3Zqjjhmz1A==} + '@smithy/node-http-handler@4.5.2': + resolution: {integrity: sha512-/oD7u8M0oj2ZTFw7GkuuHWpIxtWdLlnyNkbrWcyVYhd5RJNDuczdkb0wfnQICyNFrVPlr8YHOhamjNy3zidhmA==} engines: {node: '>=18.0.0'} - '@smithy/property-provider@4.2.12': - resolution: {integrity: sha512-jqve46eYU1v7pZ5BM+fmkbq3DerkSluPr5EhvOcHxygxzD05ByDRppRwRPPpFrsFo5yDtCYLKu+kreHKVrvc7A==} + '@smithy/property-provider@4.2.13': + resolution: {integrity: sha512-bGzUCthxRmezuxkbu9wD33wWg9KX3hJpCXpQ93vVkPrHn9ZW6KNNdY5xAUWNuRCwQ+VyboFuWirG1lZhhkcyRQ==} engines: {node: '>=18.0.0'} - '@smithy/protocol-http@5.3.12': - resolution: {integrity: sha512-fit0GZK9I1xoRlR4jXmbLhoN0OdEpa96ul8M65XdmXnxXkuMxM0Y8HDT0Fh0Xb4I85MBvBClOzgSrV1X2s1Hxw==} + '@smithy/protocol-http@5.3.13': + resolution: {integrity: sha512-+HsmuJUF4u8POo6s8/a2Yb/AQ5t/YgLovCuHF9oxbocqv+SZ6gd8lC2duBFiCA/vFHoHQhoq7QjqJqZC6xOxxg==} engines: {node: '>=18.0.0'} - '@smithy/querystring-builder@4.2.12': - resolution: {integrity: sha512-6wTZjGABQufekycfDGMEB84BgtdOE/rCVTov+EDXQ8NHKTUNIp/j27IliwP7tjIU9LR+sSzyGBOXjeEtVgzCHg==} + '@smithy/querystring-builder@4.2.13': + resolution: {integrity: sha512-tG4aOYFCZdPMjbgfhnIQ322H//ojujldp1SrHPHpBSb3NqgUp3dwiUGRJzie87hS1DYwWGqDuPaowoDF+rYCbQ==} engines: {node: '>=18.0.0'} - '@smithy/querystring-parser@4.2.12': - resolution: {integrity: sha512-P2OdvrgiAKpkPNKlKUtWbNZKB1XjPxM086NeVhK+W+wI46pIKdWBe5QyXvhUm3MEcyS/rkLvY8rZzyUdmyDZBw==} + '@smithy/querystring-parser@4.2.13': + resolution: {integrity: sha512-hqW3Q4P+CDzUyQ87GrboGMeD7XYNMOF+CuTwu936UQRB/zeYn3jys8C3w+wMkDfY7CyyyVwZQ5cNFoG0x1pYmA==} engines: {node: '>=18.0.0'} - '@smithy/service-error-classification@4.2.12': - resolution: {integrity: sha512-LlP29oSQN0Tw0b6D0Xo6BIikBswuIiGYbRACy5ujw/JgWSzTdYj46U83ssf6Ux0GyNJVivs2uReU8pt7Eu9okQ==} + '@smithy/service-error-classification@4.2.13': + resolution: {integrity: sha512-a0s8XZMfOC/qpqq7RCPvJlk93rWFrElH6O++8WJKz0FqnA4Y7fkNi/0mnGgSH1C4x6MFsuBA8VKu4zxFrMe5Vw==} engines: {node: '>=18.0.0'} - '@smithy/shared-ini-file-loader@4.4.7': - resolution: {integrity: sha512-HrOKWsUb+otTeo1HxVWeEb99t5ER1XrBi/xka2Wv6NVmTbuCUC1dvlrksdvxFtODLBjsC+PHK+fuy2x/7Ynyiw==} + '@smithy/shared-ini-file-loader@4.4.8': + resolution: {integrity: sha512-VZCZx2bZasxdqxVgEAhREvDSlkatTPnkdWy1+Kiy8w7kYPBosW0V5IeDwzDUMvWBt56zpK658rx1cOBFOYaPaw==} engines: {node: '>=18.0.0'} - '@smithy/signature-v4@5.3.12': - resolution: {integrity: sha512-B/FBwO3MVOL00DaRSXfXfa/TRXRheagt/q5A2NM13u7q+sHS59EOVGQNfG7DkmVtdQm5m3vOosoKAXSqn/OEgw==} + '@smithy/signature-v4@5.3.13': + resolution: {integrity: sha512-YpYSyM0vMDwKbHD/JA7bVOF6kToVRpa+FM5ateEVRpsTNu564g1muBlkTubXhSKKYXInhpADF46FPyrZcTLpXg==} engines: {node: '>=18.0.0'} - '@smithy/smithy-client@4.12.7': - resolution: {integrity: sha512-q3gqnwml60G44FECaEEsdQMplYhDMZYCtYhMCzadCnRnnHIobZJjegmdoUo6ieLQlPUzvrMdIJUpx6DoPmzANQ==} + '@smithy/smithy-client@4.12.9': + resolution: {integrity: sha512-ovaLEcTU5olSeHcRXcxV6viaKtpkHZumn6Ps0yn7dRf2rRSfy794vpjOtrWDO0d1auDSvAqxO+lyhERSXQ03EQ==} engines: {node: '>=18.0.0'} - '@smithy/types@4.13.1': - resolution: {integrity: sha512-787F3yzE2UiJIQ+wYW1CVg2odHjmaWLGksnKQHUrK/lYZSEcy1msuLVvxaR/sI2/aDe9U+TBuLsXnr3vod1g0g==} + '@smithy/types@4.14.0': + resolution: {integrity: sha512-OWgntFLW88kx2qvf/c/67Vno1yuXm/f9M7QFAtVkkO29IJXGBIg0ycEaBTH0kvCtwmvZxRujrgP5a86RvsXJAQ==} engines: {node: '>=18.0.0'} - '@smithy/url-parser@4.2.12': - resolution: {integrity: sha512-wOPKPEpso+doCZGIlr+e1lVI6+9VAKfL4kZWFgzVgGWY2hZxshNKod4l2LXS3PRC9otH/JRSjtEHqQ/7eLciRA==} + '@smithy/url-parser@4.2.13': + resolution: {integrity: sha512-2G03yoboIRZlZze2+PT4GZEjgwQsJjUgn6iTsvxA02bVceHR6vp4Cuk7TUnPFWKF+ffNUk3kj4COwkENS2K3vw==} engines: {node: '>=18.0.0'} '@smithy/util-base64@4.3.2': @@ -1767,32 +1765,32 @@ packages: resolution: {integrity: sha512-dWU03V3XUprJwaUIFVv4iOnS1FC9HnMHDfUrlNDSh4315v0cWyaIErP8KiqGVbf5z+JupoVpNM7ZB3jFiTejvQ==} engines: {node: '>=18.0.0'} - '@smithy/util-defaults-mode-browser@4.3.43': - resolution: {integrity: sha512-Qd/0wCKMaXxev/z00TvNzGCH2jlKKKxXP1aDxB6oKwSQthe3Og2dMhSayGCnsma1bK/kQX1+X7SMP99t6FgiiQ==} + '@smithy/util-defaults-mode-browser@4.3.45': + resolution: {integrity: sha512-ag9sWc6/nWZAuK3Wm9KlFJUnRkXLrXn33RFjIAmCTFThqLHY+7wCst10BGq56FxslsDrjhSie46c8OULS+BiIw==} engines: {node: '>=18.0.0'} - '@smithy/util-defaults-mode-node@4.2.47': - resolution: {integrity: sha512-qSRbYp1EQ7th+sPFuVcVO05AE0QH635hycdEXlpzIahqHHf2Fyd/Zl+8v0XYMJ3cgDVPa0lkMefU7oNUjAP+DQ==} + '@smithy/util-defaults-mode-node@4.2.49': + resolution: {integrity: sha512-jlN6vHwE8gY5AfiFBavtD3QtCX2f7lM3BKkz7nFKSNfFR5nXLXLg6sqXTJEEyDwtxbztIDBQCfjsGVXlIru2lQ==} engines: {node: '>=18.0.0'} - '@smithy/util-endpoints@3.3.3': - resolution: {integrity: sha512-VACQVe50j0HZPjpwWcjyT51KUQ4AnsvEaQ2lKHOSL4mNLD0G9BjEniQ+yCt1qqfKfiAHRAts26ud7hBjamrwig==} + '@smithy/util-endpoints@3.3.4': + resolution: {integrity: sha512-BKoR/ubPp9KNKFxPpg1J28N1+bgu8NGAtJblBP7yHy8yQPBWhIAv9+l92SlQLpolGm71CVO+btB60gTgzT0wog==} engines: {node: '>=18.0.0'} '@smithy/util-hex-encoding@4.2.2': resolution: {integrity: sha512-Qcz3W5vuHK4sLQdyT93k/rfrUwdJ8/HZ+nMUOyGdpeGA1Wxt65zYwi3oEl9kOM+RswvYq90fzkNDahPS8K0OIg==} engines: {node: '>=18.0.0'} - '@smithy/util-middleware@4.2.12': - resolution: {integrity: sha512-Er805uFUOvgc0l8nv0e0su0VFISoxhJ/AwOn3gL2NWNY2LUEldP5WtVcRYSQBcjg0y9NfG8JYrCJaYDpupBHJQ==} + '@smithy/util-middleware@4.2.13': + resolution: {integrity: sha512-GTooyrlmRTqvUen4eK7/K1p6kryF7bnDfq6XsAbIsf2mo51B/utaH+XThY6dKgNCWzMAaH/+OLmqaBuLhLWRow==} engines: {node: '>=18.0.0'} - '@smithy/util-retry@4.2.12': - resolution: {integrity: sha512-1zopLDUEOwumjcHdJ1mwBHddubYF8GMQvstVCLC54Y46rqoHwlIU+8ZzUeaBcD+WCJHyDGSeZ2ml9YSe9aqcoQ==} + '@smithy/util-retry@4.3.0': + resolution: {integrity: sha512-tSOPQNT/4KfbvqeMovWC3g23KSYy8czHd3tlN+tOYVNIDLSfxIsrPJihYi5TpNcoV789KWtgChUVedh2y6dDPg==} engines: {node: '>=18.0.0'} - '@smithy/util-stream@4.5.20': - resolution: {integrity: sha512-4yXLm5n/B5SRBR2p8cZ90Sbv4zL4NKsgxdzCzp/83cXw2KxLEumt5p+GAVyRNZgQOSrzXn9ARpO0lUe8XSlSDw==} + '@smithy/util-stream@4.5.22': + resolution: {integrity: sha512-3H8iq/0BfQjUs2/4fbHZ9aG9yNzcuZs24LPkcX1Q7Z+qpqaGM8+qbGmE8zo9m2nCRgamyvS98cHdcWvR6YUsew==} engines: {node: '>=18.0.0'} '@smithy/util-uri-escape@4.2.2': @@ -1807,8 +1805,8 @@ packages: resolution: {integrity: sha512-75MeYpjdWRe8M5E3AW0O4Cx3UadweS+cwdXjwYGBW5h/gxxnbeZ877sLPX/ZJA9GVTlL/qG0dXP29JWFCD1Ayw==} engines: {node: '>=18.0.0'} - '@smithy/util-waiter@4.2.13': - resolution: {integrity: sha512-2zdZ9DTHngRtcYxJK1GUDxruNr53kv5W2Lupe0LMU+Imr6ohQg8M2T14MNkj1Y0wS3FFwpgpGQyvuaMF7CiTmQ==} + '@smithy/util-waiter@4.2.15': + resolution: {integrity: sha512-oUt9o7n8hBv3BL56sLSneL0XeigZSuem0Hr78JaoK33D9oKieyCvVP8eTSe3j7g2mm/S1DvzxKieG7JEWNJUNg==} engines: {node: '>=18.0.0'} '@smithy/uuid@1.1.2': @@ -2178,8 +2176,8 @@ packages: resolution: {integrity: sha512-zJAaP9zxTcvTHRlejau3ZOY4V7SRpiByf3/dxx2uyKxxor19tpmpV2QRsTKikckwhaPmr2dVpxxMr7jOCYVp5g==} engines: {node: '>=6.0.0'} - axios@1.13.6: - resolution: {integrity: sha512-ChTCHMouEe2kn713WHbQGcuYrr6fXTBiu460OTwWrWob16g1bXn4vtz07Ope7ewMozJAnEquLk5lWQWtBig9DQ==} + axios@1.14.0: + resolution: {integrity: sha512-3Y8yrqLSwjuzpXuZ0oIYZ/XGgLwUIBU3uLvbcpb0pidD9ctpShJd43KSlEEkVQg6DS0G9NKyzOvBfUtDKEyHvQ==} b4a@1.8.0: resolution: {integrity: sha512-qRuSmNSkGQaHwNbM7J78Wwy+ghLEYF1zNrSeMxj4Kgw6y33O3mXcQ6Ie9fRvfU/YnxWkOchPXbaLb73TkIsfdg==} @@ -2207,8 +2205,8 @@ packages: bare-abort-controller: optional: true - bare-fs@4.5.6: - resolution: {integrity: sha512-1QovqDrR80Pmt5HPAsMsXTCFcDYr+NSUKW6nd6WO5v0JBmnItc/irNRzm2KOQ5oZ69P37y+AMujNyNtG+1Rggw==} + bare-fs@4.6.0: + resolution: {integrity: sha512-2YkS7NuiJceSEbyEOdSNLE9tsGd+f4+f7C+Nik/MCk27SYdwIMPT/yRKvg++FZhQXgk0KWJKJyXX9RhVV0RGqA==} engines: {bare: '>=1.16.0'} peerDependencies: bare-buffer: '*' @@ -2216,15 +2214,15 @@ packages: bare-buffer: optional: true - bare-os@3.8.0: - resolution: {integrity: sha512-Dc9/SlwfxkXIGYhvMQNUtKaXCaGkZYGcd1vuNUUADVqzu4/vQfvnMkYYOUnt2VwQ2AqKr/8qAVFRtwETljgeFg==} + bare-os@3.8.7: + resolution: {integrity: sha512-G4Gr1UsGeEy2qtDTZwL7JFLo2wapUarz7iTMcYcMFdS89AIQuBoyjgXZz0Utv7uHs3xA9LckhVbeBi8lEQrC+w==} engines: {bare: '>=1.14.0'} bare-path@3.0.0: resolution: {integrity: sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw==} - bare-stream@2.11.0: - resolution: {integrity: sha512-Y/+iQ49fL3rIn6w/AVxI/2+BRrpmzJvdWt5Jv8Za6Ngqc6V227c+pYjYYgLdpR3MwQ9ObVXD0ZrqoBztakM0rw==} + bare-stream@2.12.0: + resolution: {integrity: sha512-w28i8lkBgREV3rPXGbgK+BO66q+ZpKqRWrZLiCdmmUlLPrQ45CzkvRhN+7lnv00Gpi2zy5naRxnUFAxCECDm9g==} peerDependencies: bare-abort-controller: '*' bare-buffer: '*' @@ -2349,10 +2347,6 @@ packages: resolution: {integrity: sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==} engines: {node: '>= 4.0'} - clean-stack@1.3.0: - resolution: {integrity: sha1-noIVAa6XmYbEax1m0tQy2y/UrjE=} - engines: {node: '>=4'} - cli-width@4.1.0: resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} engines: {node: '>= 12'} @@ -2559,8 +2553,8 @@ packages: resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} engines: {node: '>= 0.4'} - esbuild@0.27.4: - resolution: {integrity: sha512-Rq4vbHnYkK5fws5NF7MYTU68FPRE1ajX7heQ/8QXXWqNgqqJ/GkmmyxIzUnf2Sr/bakf8l54716CcMGHYhMrrQ==} + esbuild@0.27.7: + resolution: {integrity: sha512-IxpibTjyVnmrIQo5aqNpCgoACA/dTKLTlhMHihVHhdkxKyPO1uBBthumT0rdHmcsk9uMonIWS0m4FljWzILh3w==} engines: {node: '>=18'} hasBin: true @@ -2608,10 +2602,6 @@ packages: events-universal@1.0.1: resolution: {integrity: sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw==} - events@3.3.0: - resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} - engines: {node: '>=0.8.x'} - exif-parser@0.1.12: resolution: {integrity: sha512-c2bQfLNbMzLPmzQuOr8fy0csy84WmwnER81W88DzTp9CYNPJ6yzOj2EZAh9pywYpqHnshVLHQJ8WzldAyfY+Iw==} @@ -2646,18 +2636,18 @@ packages: fast-xml-builder@1.1.4: resolution: {integrity: sha512-f2jhpN4Eccy0/Uz9csxh3Nu6q4ErKxf0XIsasomfOihuSUa3/xw6w8dnOtCDgEItQFJG8KyXPzQXzcODDrrbOg==} - fast-xml-parser@4.5.5: - resolution: {integrity: sha512-cK9c5I/DwIOI7/Q7AlGN3DuTdwN61gwSfL8rvuVPK+0mcCNHHGxRrpiFtaZZRfRMJL3Gl8B2AFlBG6qXf03w9A==} + fast-xml-parser@4.5.6: + resolution: {integrity: sha512-Yd4vkROfJf8AuJrDIVMVmYfULKmIJszVsMv7Vo71aocsKgFxpdlpSHXSaInvyYfgw2PRuObQSW2GFpVMUjxu9A==} + hasBin: true + + fast-xml-parser@5.5.10: + resolution: {integrity: sha512-go2J2xODMc32hT+4Xr/bBGXMaIoiCwrwp2mMtAvKyvEFW6S/v5Gn2pBmE4nvbwNjGhpcAiOwEv7R6/GZ6XRa9w==} hasBin: true fast-xml-parser@5.5.8: resolution: {integrity: sha512-Z7Fh2nVQSb2d+poDViM063ix2ZGt9jmY1nWhPfHBOK2Hgnb/OW3P4Et3P/81SEej0J7QbWtJqxO05h8QYfK7LQ==} hasBin: true - fast-xml-parser@5.5.9: - resolution: {integrity: sha512-jldvxr1MC6rtiZKgrFnDSvT8xuH+eJqxqOBThUVjYrxssYTo1avZLGql5l0a0BAERR01CadYzZ83kVEkbyDg+g==} - hasBin: true - fault@2.0.1: resolution: {integrity: sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==} @@ -2671,10 +2661,6 @@ packages: resolution: {integrity: sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==} engines: {node: '>=18'} - file-type@16.5.4: - resolution: {integrity: sha512-/yFHK0aGjFEgDJjEKP0pWCplsPFPhwyfwevf/pVxiN0tmE4L9LmwWxWukdJSHdoCli4VgQLehjJtwQBnqmsKcw==} - engines: {node: '>=10'} - file-type@19.6.0: resolution: {integrity: sha512-VZR5I7k5wkD0HgFnMsq5hOsSc710MJMu5Nc5QYsbe38NN5iPV/XTObYLc/cpttRTf6lX538+5uO1ZQRhYibiZQ==} engines: {node: '>=18'} @@ -2972,8 +2958,8 @@ packages: resolution: {integrity: sha512-ykkVRwrYvFm1nb2AJfKKYPr0emF6IiXDYUaFx4Zn9ZuIH7MrzEZ3sD5RlqGXNRpHtvUHJyOnCEFxOlNDtGo7wg==} engines: {node: 20 || >=22} - jimp@1.6.0: - resolution: {integrity: sha512-YcwCHw1kiqEeI5xRpDlPPBGL2EOpBKLwO4yIBJcXWHPj5PnA5urGq0jbyhM5KoNpypQ6VboSoxc9D8HyfvngSg==} + jimp@1.6.1: + resolution: {integrity: sha512-hNQh6rZtWfSVWSNVmvq87N5BPJsNH7k7I7qyrXf9DOma9xATQk3fsyHazCQe51nCjdkoWdTmh0vD7bjVSLoxxw==} engines: {node: '>=18'} jpeg-js@0.4.4: @@ -3090,8 +3076,8 @@ packages: resolution: {integrity: sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - lru-cache@11.2.7: - resolution: {integrity: sha512-aY/R+aEsRelme17KGQa/1ZSIpLpNYYrhcrepKTZgE+W3WM16YMCaPwOHLHsmopZHELU0Ojin1lPVxKR0MihncA==} + lru-cache@11.3.2: + resolution: {integrity: sha512-wgWa6FWQ3QRRJbIjbsldRJZxdxYngT/dO0I5Ynmlnin8qy7tC6xYzbcJjtN4wHLXtkbVwHzk0C+OejVw1XM+DQ==} engines: {node: 20 || >=22} lru-cache@7.18.3: @@ -3108,12 +3094,6 @@ packages: resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} engines: {node: '>=8'} - make-error-cause@2.3.0: - resolution: {integrity: sha512-etgt+n4LlOkGSJbBTV9VROHA5R7ekIPS4vfh+bCAoJgRrJWdqJCBbpS3osRJ/HrT7R68MzMiY3L3sDJ/Fd8aBg==} - - make-error@1.3.6: - resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} - markdown-it@14.1.1: resolution: {integrity: sha512-BuU2qnTti9YKgK5N+IeMubp14ZUKUUw7yeJbkjtosvHiP0AZ5c8IAgEMk79D0eC8F23r4Ac/q8cAIFdm2FtyoA==} hasBin: true @@ -3137,8 +3117,8 @@ packages: math-random@1.0.4: resolution: {integrity: sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==} - maxmind@5.0.5: - resolution: {integrity: sha512-1lcH2kMjbBpCFhuHaMU32vz8CuOsKttRcWMQyXvtlklopCzN7NNHSVR/h9RYa8JPuFTGmkn2vYARm+7cIGuqDw==} + maxmind@5.0.6: + resolution: {integrity: sha512-5bvd/u+kIaTqaGM+xkXjatzQw1dQfSmlLggr2W1EKMyMxSgx2woZyusLpNpZ4DdPmL+1bbJWeo4LXsi6bC0Iew==} engines: {node: '>=12', npm: '>=6'} mdast-util-find-and-replace@3.0.2: @@ -3299,12 +3279,8 @@ packages: resolution: {integrity: sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - mingo@7.2.0: - resolution: {integrity: sha512-UeX942qZpofn5L97h295SkS7j/ADf7Qac8gdRCMBPxi0/1m70aeB2owLFvWbyuMj1dowonlivlVRQVDx+6h+7Q==} - - minimatch@10.2.4: - resolution: {integrity: sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==} - engines: {node: 18 || 20 || >=22} + mingo@7.2.1: + resolution: {integrity: sha512-MEIQPOSJS2sVCueyQeE2rzgEeW3HpIIhizPbeuwD4v7+miVj7NI3ZVPqqw8t3YPIWCivpIaXA4KsoRI7koyNOA==} minimatch@10.2.5: resolution: {integrity: sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==} @@ -3418,8 +3394,8 @@ packages: neo-async@2.6.2: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} - netmask@2.0.2: - resolution: {integrity: sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==} + netmask@2.1.0: + resolution: {integrity: sha512-z9sZrk6wyf8/NDKKqe+Tyl58XtgkYrV4kgt1O8xrzYvpl1LvPacPo0imMLHfpStk3kgCIq1ksJ2bmJn9hue2lQ==} engines: {node: '>= 0.4.0'} new-find-package-json@2.0.0: @@ -3567,8 +3543,8 @@ packages: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} - path-expression-matcher@1.2.0: - resolution: {integrity: sha512-DwmPWeFn+tq7TiyJ2CxezCAirXjFxvaiD03npak3cRjlP9+OjTmSy1EpIrEbh+l6JgUundniloMLDQ/6VTdhLQ==} + path-expression-matcher@1.4.0: + resolution: {integrity: sha512-s4DQMxIdhj3jLFWd9LxHOplj4p9yQ4ffMGowFf3cpEgrrJjEhN0V5nxw4Ye1EViAGDoL4/1AeO6qHpqYPOzE4Q==} engines: {node: '>=14.0.0'} path-is-absolute@1.0.1: @@ -3583,8 +3559,8 @@ packages: resolution: {integrity: sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==} engines: {node: 18 || 20 || >=22} - path-to-regexp@8.4.0: - resolution: {integrity: sha512-PuseHIvAnz3bjrM2rGJtSgo1zjgxapTLZ7x2pjhzWwlp4SJQgK3f3iZIQwkpEnBaKz6seKBADpM4B4ySkuYypg==} + path-to-regexp@8.4.2: + resolution: {integrity: sha512-qRcuIdP69NPm4qbACK+aDogI5CBDMi1jKe0ry5rSQJz8JVLsC7jV8XpiJjGRLLol3N+R5ihGYcrPLTno6pAdBA==} pdf-lib@1.17.1: resolution: {integrity: sha512-V/mpyJAoTsN4cnP31vc0wfNA1+p20evqqnap0KLoRUN0Yk/p3wN52DOEsL4oBFcLdb76hlpKPtzJIgo67j/XLw==} @@ -3602,10 +3578,6 @@ packages: peberminta@0.9.0: resolution: {integrity: sha512-XIxfHpEuSJbITd1H3EeQwpcZbTLHc+VVr8ANI9t5sit565tsI4/xK3KWTUFE2e6QiangUkh3B0jihzmGnNrRsQ==} - peek-readable@4.1.0: - resolution: {integrity: sha512-ZI3LnwUv5nOGbQzD9c2iDG6toheuXSZP5esSHBjopsXH4dg19soufvpUGA3uohi5anFtGb2lhAVdHzH6R/Evvg==} - engines: {node: '>=8'} - peek-readable@5.4.2: resolution: {integrity: sha512-peBp3qZyuS6cNIJ2akRNG1uo1WJ1d0wTxg/fxMdZ0BqCVhx242bSFHM9eNqflfJVS9SsgkzgT/1UgnsurBOTMg==} engines: {node: '>=14.16'} @@ -3644,10 +3616,6 @@ packages: resolution: {integrity: sha512-gjVS5hOP+M3wMm5nmNOucbIrqudzs9v/57bWRHQWLYklXqoXKrVfYW2W9+glfGsqtPgpiz5WwyEEB+ksXIx3gQ==} engines: {node: '>=18'} - process@0.11.10: - resolution: {integrity: sha1-czIwDoQBYb2j5podHZGn1LwW8YI=} - engines: {node: '>= 0.6.0'} - progress@2.0.3: resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} engines: {node: '>=0.4.0'} @@ -3723,6 +3691,10 @@ packages: proxy-from-env@1.1.0: resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + proxy-from-env@2.1.0: + resolution: {integrity: sha512-cJ+oHTW1VAEa8cJslgmUZrc+sjRKgAKl3Zyse6+PV38hZe/V6Z14TbCuXcan9F9ghlz4QrFr2c92TNF82UkYHA==} + engines: {node: '>=10'} + pump@3.0.4: resolution: {integrity: sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA==} @@ -3778,14 +3750,6 @@ packages: resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} engines: {node: '>= 6'} - readable-stream@4.7.0: - resolution: {integrity: sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - - readable-web-to-node-stream@3.0.4: - resolution: {integrity: sha512-9nX56alTf5bwXQ3ZDipHJhusu9NTQJ/CVPtb/XHAJCXihZeitfJvIRS4GqQ/mfIoOE3IelHMrpayVrosdHBuLw==} - engines: {node: '>=8'} - readdirp@5.0.0: resolution: {integrity: sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==} engines: {node: '>= 20.19.0'} @@ -3928,8 +3892,8 @@ packages: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} - simple-xml-to-json@1.2.4: - resolution: {integrity: sha512-3MY16e0ocMHL7N1ufpdObURGyX+lCo0T/A+y6VCwosLdH1HSda4QZl1Sdt/O+2qWp48WFi26XEp5rF0LoaL0Dg==} + simple-xml-to-json@1.2.7: + resolution: {integrity: sha512-mz9VXphOxQWX3eQ/uXCtm6upltoN0DLx8Zb5T4TFC4FHB7S9FDPGre8CfLWqPWQQH/GrQYd2AXhhVM5LDpYx6Q==} engines: {node: '>=20.12.2'} smart-buffer@4.2.0: @@ -3989,17 +3953,13 @@ packages: strnum@1.1.2: resolution: {integrity: sha512-vrN+B7DBIoTTZjnPNewwhx6cBA/H+IS7rfW68n7XxC1y7uoiGQBxaKzqucGUgavX15dJgiGztLJ8vxuEzwqBdA==} - strnum@2.2.2: - resolution: {integrity: sha512-DnR90I+jtXNSTXWdwrEy9FakW7UX+qUZg28gj5fk2vxxl7uS/3bpI4fjFYVmdK9etptYBPNkpahuQnEwhwECqA==} + strnum@2.2.3: + resolution: {integrity: sha512-oKx6RUCuHfT3oyVjtnrmn19H1SiCqgJSg+54XqURKp5aCMbrXrhLjRN9TjuwMjiYstZ0MzDrHqkGZ5dFTKd+zg==} strtok3@10.3.5: resolution: {integrity: sha512-ki4hZQfh5rX0QDLLkOCj+h+CVNkqmp/CMf8v8kZpkNVK6jGQooMytqzLZYUVYIZcFZ6yDB70EfD8POcFXiF5oA==} engines: {node: '>=18'} - strtok3@6.3.0: - resolution: {integrity: sha512-fZtbhtvI9I48xDSywd/somNqgUHl2L2cstmXCCif0itOf96jeW18MBSyrLuNicYQVkvpOxkZtkzujiTJ9LW5Jw==} - engines: {node: '>=10'} - strtok3@9.1.1: resolution: {integrity: sha512-FhwotcEqjr241ZbjFzjlIYg6c5/L/s4yBGWSMvJ9UoExiSqL+FnFA/CaeZx17WGaZMS/4SOZp8wH18jSS4R4lw==} engines: {node: '>=16'} @@ -4032,9 +3992,9 @@ packages: through2@4.0.2: resolution: {integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==} - tiny-lru@11.4.7: - resolution: {integrity: sha512-w/Te7uMUVeH0CR8vZIjr+XiN41V+30lkDdK+NRIDCUYKKuL9VcmaUEmaPISuwGhLlrTGh5yu18lENtR9axSxYw==} - engines: {node: '>=12'} + tiny-lru@13.0.0: + resolution: {integrity: sha512-xDHxKKS1FdF0Tv2P+QT7IeSEg74K/8cEDzbv3Tv6UyHHUgBOjOiQiBp818MGj66dhurQus/IBcoAbwIKtSGc6Q==} + engines: {node: '>=14'} tiny-worker@2.3.0: resolution: {integrity: sha512-pJ70wq5EAqTAEl9IkGzA+fN0836rycEuz2Cn6yeZ6FRzlVS5IDOkFHpIoEsksPRQV34GDqXm65+OlnZqUSyK2g==} @@ -4050,10 +4010,6 @@ packages: resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} engines: {node: '>=0.6.0'} - token-types@4.2.1: - resolution: {integrity: sha512-6udB24Q737UD/SDsKAHI9FCRP7Bqc9D/MQUV02ORQg5iskjtLJlZJNdN4kKtcdtwCeWIwIHDGaUsTsCCAa8sFQ==} - engines: {node: '>=10'} - token-types@6.1.2: resolution: {integrity: sha512-dRXchy+C0IgK8WPC6xvCHFRIWYUbqqdEIKPaKo/AcTUNzwLTK6AH7RjdLWsEZcAN/TBdtfUw3PYEgPr5VPr6ww==} engines: {node: '>=14.16'} @@ -4096,8 +4052,9 @@ packages: turndown-plugin-gfm@1.0.2: resolution: {integrity: sha512-vwz9tfvF7XN/jE0dGoBei3FXWuvll78ohzCZQuOb+ZjWrs3a0XhQVomJEb2Qh4VHTPNRO4GPZh0V7VRbiWwkRg==} - turndown@7.2.2: - resolution: {integrity: sha512-1F7db8BiExOKxjSMU2b7if62D/XOyQyZbPKq/nUwopfgnHlqXHqQ0lvfUTeUIr1lZJzOPFn43dODyMSIfvWRKQ==} + turndown@7.2.4: + resolution: {integrity: sha512-I8yFsfRzmzK0WV1pNNOA4A7y4RDfFxPRxb3t+e3ui14qSGOxGtiSP6GjeX+Y6CHb7HYaFj7ECUD7VE5kQMZWGQ==} + engines: {node: '>=18', npm: '>=9'} type-fest@0.21.3: resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} @@ -4317,8 +4274,8 @@ packages: yauzl@2.10.0: resolution: {integrity: sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=} - yauzl@3.2.1: - resolution: {integrity: sha512-k1isifdbpNSFEHFJ1ZY4YDewv0IH9FR61lDetaRMD3j2ae3bIXGV+7c+LHCqtQGofSd8PIyV4X6+dHMAnSr60A==} + yauzl@3.3.0: + resolution: {integrity: sha512-PtGEvEP30p7sbIBJKUBjUnqgTVOyMURc4dLo9iNyAJnNIEz9pm88cCXF21w94Kg3k6RXkeZh5DHOGS0qEONvNQ==} engines: {node: '>=12'} yoctocolors-cjs@2.1.3: @@ -4357,8 +4314,8 @@ snapshots: '@api.global/typedrequest': 3.3.0 '@api.global/typedrequest-interfaces': 3.0.19 '@api.global/typedsocket': 4.1.2(@push.rocks/smartserve@2.0.3) - '@cloudflare/workers-types': 4.20260317.1 - '@design.estate/dees-catalog': 3.61.1(@tiptap/pm@2.27.2) + '@cloudflare/workers-types': 4.20260405.1 + '@design.estate/dees-catalog': 3.66.0(@tiptap/pm@2.27.2) '@design.estate/dees-comms': 1.0.30 '@push.rocks/lik': 6.4.0 '@push.rocks/smartdelay': 3.0.5 @@ -4367,7 +4324,7 @@ snapshots: '@push.rocks/smartfile': 13.1.2 '@push.rocks/smartfs': 1.5.0 '@push.rocks/smartjson': 6.0.0 - '@push.rocks/smartlog': 3.2.1 + '@push.rocks/smartlog': 3.2.2 '@push.rocks/smartlog-destination-devtools': 1.0.12 '@push.rocks/smartlog-interfaces': 3.0.2 '@push.rocks/smartmanifest': 2.0.2 @@ -4414,7 +4371,7 @@ snapshots: '@apiclient.xyz/cloudflare@7.1.0': dependencies: '@push.rocks/smartdelay': 3.0.5 - '@push.rocks/smartlog': 3.2.1 + '@push.rocks/smartlog': 3.2.2 '@push.rocks/smartpromise': 4.2.3 '@push.rocks/smartrequest': 5.0.1 '@push.rocks/smartstring': 4.1.0 @@ -4426,20 +4383,20 @@ snapshots: '@aws-crypto/crc32@5.2.0': dependencies: '@aws-crypto/util': 5.2.0 - '@aws-sdk/types': 3.973.6 + '@aws-sdk/types': 3.973.7 tslib: 2.8.1 '@aws-crypto/crc32c@5.2.0': dependencies: '@aws-crypto/util': 5.2.0 - '@aws-sdk/types': 3.973.6 + '@aws-sdk/types': 3.973.7 tslib: 2.8.1 '@aws-crypto/sha1-browser@5.2.0': dependencies: '@aws-crypto/supports-web-crypto': 5.2.0 '@aws-crypto/util': 5.2.0 - '@aws-sdk/types': 3.973.6 + '@aws-sdk/types': 3.973.7 '@aws-sdk/util-locate-window': 3.965.5 '@smithy/util-utf8': 2.3.0 tslib: 2.8.1 @@ -4449,7 +4406,7 @@ snapshots: '@aws-crypto/sha256-js': 5.2.0 '@aws-crypto/supports-web-crypto': 5.2.0 '@aws-crypto/util': 5.2.0 - '@aws-sdk/types': 3.973.6 + '@aws-sdk/types': 3.973.7 '@aws-sdk/util-locate-window': 3.965.5 '@smithy/util-utf8': 2.3.0 tslib: 2.8.1 @@ -4457,7 +4414,7 @@ snapshots: '@aws-crypto/sha256-js@5.2.0': dependencies: '@aws-crypto/util': 5.2.0 - '@aws-sdk/types': 3.973.6 + '@aws-sdk/types': 3.973.7 tslib: 2.8.1 '@aws-crypto/supports-web-crypto@5.2.0': @@ -4466,402 +4423,402 @@ snapshots: '@aws-crypto/util@5.2.0': dependencies: - '@aws-sdk/types': 3.973.6 + '@aws-sdk/types': 3.973.7 '@smithy/util-utf8': 2.3.0 tslib: 2.8.1 - '@aws-sdk/client-s3@3.1018.0': + '@aws-sdk/client-s3@3.1026.0': dependencies: '@aws-crypto/sha1-browser': 5.2.0 '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/core': 3.973.25 - '@aws-sdk/credential-provider-node': 3.972.26 - '@aws-sdk/middleware-bucket-endpoint': 3.972.8 - '@aws-sdk/middleware-expect-continue': 3.972.8 - '@aws-sdk/middleware-flexible-checksums': 3.974.5 - '@aws-sdk/middleware-host-header': 3.972.8 - '@aws-sdk/middleware-location-constraint': 3.972.8 - '@aws-sdk/middleware-logger': 3.972.8 - '@aws-sdk/middleware-recursion-detection': 3.972.9 - '@aws-sdk/middleware-sdk-s3': 3.972.26 - '@aws-sdk/middleware-ssec': 3.972.8 - '@aws-sdk/middleware-user-agent': 3.972.26 - '@aws-sdk/region-config-resolver': 3.972.10 - '@aws-sdk/signature-v4-multi-region': 3.996.14 - '@aws-sdk/types': 3.973.6 - '@aws-sdk/util-endpoints': 3.996.5 - '@aws-sdk/util-user-agent-browser': 3.972.8 - '@aws-sdk/util-user-agent-node': 3.973.12 - '@smithy/config-resolver': 4.4.13 - '@smithy/core': 3.23.12 - '@smithy/eventstream-serde-browser': 4.2.12 - '@smithy/eventstream-serde-config-resolver': 4.3.12 - '@smithy/eventstream-serde-node': 4.2.12 - '@smithy/fetch-http-handler': 5.3.15 - '@smithy/hash-blob-browser': 4.2.13 - '@smithy/hash-node': 4.2.12 - '@smithy/hash-stream-node': 4.2.12 - '@smithy/invalid-dependency': 4.2.12 - '@smithy/md5-js': 4.2.12 - '@smithy/middleware-content-length': 4.2.12 - '@smithy/middleware-endpoint': 4.4.27 - '@smithy/middleware-retry': 4.4.44 - '@smithy/middleware-serde': 4.2.15 - '@smithy/middleware-stack': 4.2.12 - '@smithy/node-config-provider': 4.3.12 - '@smithy/node-http-handler': 4.5.0 - '@smithy/protocol-http': 5.3.12 - '@smithy/smithy-client': 4.12.7 - '@smithy/types': 4.13.1 - '@smithy/url-parser': 4.2.12 + '@aws-sdk/core': 3.973.27 + '@aws-sdk/credential-provider-node': 3.972.30 + '@aws-sdk/middleware-bucket-endpoint': 3.972.9 + '@aws-sdk/middleware-expect-continue': 3.972.9 + '@aws-sdk/middleware-flexible-checksums': 3.974.7 + '@aws-sdk/middleware-host-header': 3.972.9 + '@aws-sdk/middleware-location-constraint': 3.972.9 + '@aws-sdk/middleware-logger': 3.972.9 + '@aws-sdk/middleware-recursion-detection': 3.972.10 + '@aws-sdk/middleware-sdk-s3': 3.972.28 + '@aws-sdk/middleware-ssec': 3.972.9 + '@aws-sdk/middleware-user-agent': 3.972.29 + '@aws-sdk/region-config-resolver': 3.972.11 + '@aws-sdk/signature-v4-multi-region': 3.996.16 + '@aws-sdk/types': 3.973.7 + '@aws-sdk/util-endpoints': 3.996.6 + '@aws-sdk/util-user-agent-browser': 3.972.9 + '@aws-sdk/util-user-agent-node': 3.973.15 + '@smithy/config-resolver': 4.4.14 + '@smithy/core': 3.23.14 + '@smithy/eventstream-serde-browser': 4.2.13 + '@smithy/eventstream-serde-config-resolver': 4.3.13 + '@smithy/eventstream-serde-node': 4.2.13 + '@smithy/fetch-http-handler': 5.3.16 + '@smithy/hash-blob-browser': 4.2.14 + '@smithy/hash-node': 4.2.13 + '@smithy/hash-stream-node': 4.2.13 + '@smithy/invalid-dependency': 4.2.13 + '@smithy/md5-js': 4.2.13 + '@smithy/middleware-content-length': 4.2.13 + '@smithy/middleware-endpoint': 4.4.29 + '@smithy/middleware-retry': 4.5.0 + '@smithy/middleware-serde': 4.2.17 + '@smithy/middleware-stack': 4.2.13 + '@smithy/node-config-provider': 4.3.13 + '@smithy/node-http-handler': 4.5.2 + '@smithy/protocol-http': 5.3.13 + '@smithy/smithy-client': 4.12.9 + '@smithy/types': 4.14.0 + '@smithy/url-parser': 4.2.13 '@smithy/util-base64': 4.3.2 '@smithy/util-body-length-browser': 4.2.2 '@smithy/util-body-length-node': 4.2.3 - '@smithy/util-defaults-mode-browser': 4.3.43 - '@smithy/util-defaults-mode-node': 4.2.47 - '@smithy/util-endpoints': 3.3.3 - '@smithy/util-middleware': 4.2.12 - '@smithy/util-retry': 4.2.12 - '@smithy/util-stream': 4.5.20 + '@smithy/util-defaults-mode-browser': 4.3.45 + '@smithy/util-defaults-mode-node': 4.2.49 + '@smithy/util-endpoints': 3.3.4 + '@smithy/util-middleware': 4.2.13 + '@smithy/util-retry': 4.3.0 + '@smithy/util-stream': 4.5.22 '@smithy/util-utf8': 4.2.2 - '@smithy/util-waiter': 4.2.13 + '@smithy/util-waiter': 4.2.15 tslib: 2.8.1 transitivePeerDependencies: - aws-crt - '@aws-sdk/core@3.973.25': + '@aws-sdk/core@3.973.27': dependencies: - '@aws-sdk/types': 3.973.6 - '@aws-sdk/xml-builder': 3.972.16 - '@smithy/core': 3.23.12 - '@smithy/node-config-provider': 4.3.12 - '@smithy/property-provider': 4.2.12 - '@smithy/protocol-http': 5.3.12 - '@smithy/signature-v4': 5.3.12 - '@smithy/smithy-client': 4.12.7 - '@smithy/types': 4.13.1 + '@aws-sdk/types': 3.973.7 + '@aws-sdk/xml-builder': 3.972.17 + '@smithy/core': 3.23.14 + '@smithy/node-config-provider': 4.3.13 + '@smithy/property-provider': 4.2.13 + '@smithy/protocol-http': 5.3.13 + '@smithy/signature-v4': 5.3.13 + '@smithy/smithy-client': 4.12.9 + '@smithy/types': 4.14.0 '@smithy/util-base64': 4.3.2 - '@smithy/util-middleware': 4.2.12 + '@smithy/util-middleware': 4.2.13 '@smithy/util-utf8': 4.2.2 tslib: 2.8.1 - '@aws-sdk/crc64-nvme@3.972.5': + '@aws-sdk/crc64-nvme@3.972.6': dependencies: - '@smithy/types': 4.13.1 + '@smithy/types': 4.14.0 tslib: 2.8.1 - '@aws-sdk/credential-provider-env@3.972.23': + '@aws-sdk/credential-provider-env@3.972.25': dependencies: - '@aws-sdk/core': 3.973.25 - '@aws-sdk/types': 3.973.6 - '@smithy/property-provider': 4.2.12 - '@smithy/types': 4.13.1 + '@aws-sdk/core': 3.973.27 + '@aws-sdk/types': 3.973.7 + '@smithy/property-provider': 4.2.13 + '@smithy/types': 4.14.0 tslib: 2.8.1 - '@aws-sdk/credential-provider-http@3.972.25': + '@aws-sdk/credential-provider-http@3.972.27': dependencies: - '@aws-sdk/core': 3.973.25 - '@aws-sdk/types': 3.973.6 - '@smithy/fetch-http-handler': 5.3.15 - '@smithy/node-http-handler': 4.5.0 - '@smithy/property-provider': 4.2.12 - '@smithy/protocol-http': 5.3.12 - '@smithy/smithy-client': 4.12.7 - '@smithy/types': 4.13.1 - '@smithy/util-stream': 4.5.20 + '@aws-sdk/core': 3.973.27 + '@aws-sdk/types': 3.973.7 + '@smithy/fetch-http-handler': 5.3.16 + '@smithy/node-http-handler': 4.5.2 + '@smithy/property-provider': 4.2.13 + '@smithy/protocol-http': 5.3.13 + '@smithy/smithy-client': 4.12.9 + '@smithy/types': 4.14.0 + '@smithy/util-stream': 4.5.22 tslib: 2.8.1 - '@aws-sdk/credential-provider-ini@3.972.25': + '@aws-sdk/credential-provider-ini@3.972.29': dependencies: - '@aws-sdk/core': 3.973.25 - '@aws-sdk/credential-provider-env': 3.972.23 - '@aws-sdk/credential-provider-http': 3.972.25 - '@aws-sdk/credential-provider-login': 3.972.25 - '@aws-sdk/credential-provider-process': 3.972.23 - '@aws-sdk/credential-provider-sso': 3.972.25 - '@aws-sdk/credential-provider-web-identity': 3.972.25 - '@aws-sdk/nested-clients': 3.996.15 - '@aws-sdk/types': 3.973.6 - '@smithy/credential-provider-imds': 4.2.12 - '@smithy/property-provider': 4.2.12 - '@smithy/shared-ini-file-loader': 4.4.7 - '@smithy/types': 4.13.1 + '@aws-sdk/core': 3.973.27 + '@aws-sdk/credential-provider-env': 3.972.25 + '@aws-sdk/credential-provider-http': 3.972.27 + '@aws-sdk/credential-provider-login': 3.972.29 + '@aws-sdk/credential-provider-process': 3.972.25 + '@aws-sdk/credential-provider-sso': 3.972.29 + '@aws-sdk/credential-provider-web-identity': 3.972.29 + '@aws-sdk/nested-clients': 3.996.19 + '@aws-sdk/types': 3.973.7 + '@smithy/credential-provider-imds': 4.2.13 + '@smithy/property-provider': 4.2.13 + '@smithy/shared-ini-file-loader': 4.4.8 + '@smithy/types': 4.14.0 tslib: 2.8.1 transitivePeerDependencies: - aws-crt - '@aws-sdk/credential-provider-login@3.972.25': + '@aws-sdk/credential-provider-login@3.972.29': dependencies: - '@aws-sdk/core': 3.973.25 - '@aws-sdk/nested-clients': 3.996.15 - '@aws-sdk/types': 3.973.6 - '@smithy/property-provider': 4.2.12 - '@smithy/protocol-http': 5.3.12 - '@smithy/shared-ini-file-loader': 4.4.7 - '@smithy/types': 4.13.1 + '@aws-sdk/core': 3.973.27 + '@aws-sdk/nested-clients': 3.996.19 + '@aws-sdk/types': 3.973.7 + '@smithy/property-provider': 4.2.13 + '@smithy/protocol-http': 5.3.13 + '@smithy/shared-ini-file-loader': 4.4.8 + '@smithy/types': 4.14.0 tslib: 2.8.1 transitivePeerDependencies: - aws-crt - '@aws-sdk/credential-provider-node@3.972.26': + '@aws-sdk/credential-provider-node@3.972.30': dependencies: - '@aws-sdk/credential-provider-env': 3.972.23 - '@aws-sdk/credential-provider-http': 3.972.25 - '@aws-sdk/credential-provider-ini': 3.972.25 - '@aws-sdk/credential-provider-process': 3.972.23 - '@aws-sdk/credential-provider-sso': 3.972.25 - '@aws-sdk/credential-provider-web-identity': 3.972.25 - '@aws-sdk/types': 3.973.6 - '@smithy/credential-provider-imds': 4.2.12 - '@smithy/property-provider': 4.2.12 - '@smithy/shared-ini-file-loader': 4.4.7 - '@smithy/types': 4.13.1 + '@aws-sdk/credential-provider-env': 3.972.25 + '@aws-sdk/credential-provider-http': 3.972.27 + '@aws-sdk/credential-provider-ini': 3.972.29 + '@aws-sdk/credential-provider-process': 3.972.25 + '@aws-sdk/credential-provider-sso': 3.972.29 + '@aws-sdk/credential-provider-web-identity': 3.972.29 + '@aws-sdk/types': 3.973.7 + '@smithy/credential-provider-imds': 4.2.13 + '@smithy/property-provider': 4.2.13 + '@smithy/shared-ini-file-loader': 4.4.8 + '@smithy/types': 4.14.0 tslib: 2.8.1 transitivePeerDependencies: - aws-crt - '@aws-sdk/credential-provider-process@3.972.23': + '@aws-sdk/credential-provider-process@3.972.25': dependencies: - '@aws-sdk/core': 3.973.25 - '@aws-sdk/types': 3.973.6 - '@smithy/property-provider': 4.2.12 - '@smithy/shared-ini-file-loader': 4.4.7 - '@smithy/types': 4.13.1 + '@aws-sdk/core': 3.973.27 + '@aws-sdk/types': 3.973.7 + '@smithy/property-provider': 4.2.13 + '@smithy/shared-ini-file-loader': 4.4.8 + '@smithy/types': 4.14.0 tslib: 2.8.1 - '@aws-sdk/credential-provider-sso@3.972.25': + '@aws-sdk/credential-provider-sso@3.972.29': dependencies: - '@aws-sdk/core': 3.973.25 - '@aws-sdk/nested-clients': 3.996.15 - '@aws-sdk/token-providers': 3.1018.0 - '@aws-sdk/types': 3.973.6 - '@smithy/property-provider': 4.2.12 - '@smithy/shared-ini-file-loader': 4.4.7 - '@smithy/types': 4.13.1 + '@aws-sdk/core': 3.973.27 + '@aws-sdk/nested-clients': 3.996.19 + '@aws-sdk/token-providers': 3.1026.0 + '@aws-sdk/types': 3.973.7 + '@smithy/property-provider': 4.2.13 + '@smithy/shared-ini-file-loader': 4.4.8 + '@smithy/types': 4.14.0 tslib: 2.8.1 transitivePeerDependencies: - aws-crt - '@aws-sdk/credential-provider-web-identity@3.972.25': + '@aws-sdk/credential-provider-web-identity@3.972.29': dependencies: - '@aws-sdk/core': 3.973.25 - '@aws-sdk/nested-clients': 3.996.15 - '@aws-sdk/types': 3.973.6 - '@smithy/property-provider': 4.2.12 - '@smithy/shared-ini-file-loader': 4.4.7 - '@smithy/types': 4.13.1 + '@aws-sdk/core': 3.973.27 + '@aws-sdk/nested-clients': 3.996.19 + '@aws-sdk/types': 3.973.7 + '@smithy/property-provider': 4.2.13 + '@smithy/shared-ini-file-loader': 4.4.8 + '@smithy/types': 4.14.0 tslib: 2.8.1 transitivePeerDependencies: - aws-crt - '@aws-sdk/middleware-bucket-endpoint@3.972.8': + '@aws-sdk/middleware-bucket-endpoint@3.972.9': dependencies: - '@aws-sdk/types': 3.973.6 + '@aws-sdk/types': 3.973.7 '@aws-sdk/util-arn-parser': 3.972.3 - '@smithy/node-config-provider': 4.3.12 - '@smithy/protocol-http': 5.3.12 - '@smithy/types': 4.13.1 + '@smithy/node-config-provider': 4.3.13 + '@smithy/protocol-http': 5.3.13 + '@smithy/types': 4.14.0 '@smithy/util-config-provider': 4.2.2 tslib: 2.8.1 - '@aws-sdk/middleware-expect-continue@3.972.8': + '@aws-sdk/middleware-expect-continue@3.972.9': dependencies: - '@aws-sdk/types': 3.973.6 - '@smithy/protocol-http': 5.3.12 - '@smithy/types': 4.13.1 + '@aws-sdk/types': 3.973.7 + '@smithy/protocol-http': 5.3.13 + '@smithy/types': 4.14.0 tslib: 2.8.1 - '@aws-sdk/middleware-flexible-checksums@3.974.5': + '@aws-sdk/middleware-flexible-checksums@3.974.7': dependencies: '@aws-crypto/crc32': 5.2.0 '@aws-crypto/crc32c': 5.2.0 '@aws-crypto/util': 5.2.0 - '@aws-sdk/core': 3.973.25 - '@aws-sdk/crc64-nvme': 3.972.5 - '@aws-sdk/types': 3.973.6 + '@aws-sdk/core': 3.973.27 + '@aws-sdk/crc64-nvme': 3.972.6 + '@aws-sdk/types': 3.973.7 '@smithy/is-array-buffer': 4.2.2 - '@smithy/node-config-provider': 4.3.12 - '@smithy/protocol-http': 5.3.12 - '@smithy/types': 4.13.1 - '@smithy/util-middleware': 4.2.12 - '@smithy/util-stream': 4.5.20 + '@smithy/node-config-provider': 4.3.13 + '@smithy/protocol-http': 5.3.13 + '@smithy/types': 4.14.0 + '@smithy/util-middleware': 4.2.13 + '@smithy/util-stream': 4.5.22 '@smithy/util-utf8': 4.2.2 tslib: 2.8.1 - '@aws-sdk/middleware-host-header@3.972.8': + '@aws-sdk/middleware-host-header@3.972.9': dependencies: - '@aws-sdk/types': 3.973.6 - '@smithy/protocol-http': 5.3.12 - '@smithy/types': 4.13.1 + '@aws-sdk/types': 3.973.7 + '@smithy/protocol-http': 5.3.13 + '@smithy/types': 4.14.0 tslib: 2.8.1 - '@aws-sdk/middleware-location-constraint@3.972.8': + '@aws-sdk/middleware-location-constraint@3.972.9': dependencies: - '@aws-sdk/types': 3.973.6 - '@smithy/types': 4.13.1 + '@aws-sdk/types': 3.973.7 + '@smithy/types': 4.14.0 tslib: 2.8.1 - '@aws-sdk/middleware-logger@3.972.8': + '@aws-sdk/middleware-logger@3.972.9': dependencies: - '@aws-sdk/types': 3.973.6 - '@smithy/types': 4.13.1 + '@aws-sdk/types': 3.973.7 + '@smithy/types': 4.14.0 tslib: 2.8.1 - '@aws-sdk/middleware-recursion-detection@3.972.9': + '@aws-sdk/middleware-recursion-detection@3.972.10': dependencies: - '@aws-sdk/types': 3.973.6 + '@aws-sdk/types': 3.973.7 '@aws/lambda-invoke-store': 0.2.4 - '@smithy/protocol-http': 5.3.12 - '@smithy/types': 4.13.1 + '@smithy/protocol-http': 5.3.13 + '@smithy/types': 4.14.0 tslib: 2.8.1 - '@aws-sdk/middleware-sdk-s3@3.972.26': + '@aws-sdk/middleware-sdk-s3@3.972.28': dependencies: - '@aws-sdk/core': 3.973.25 - '@aws-sdk/types': 3.973.6 + '@aws-sdk/core': 3.973.27 + '@aws-sdk/types': 3.973.7 '@aws-sdk/util-arn-parser': 3.972.3 - '@smithy/core': 3.23.12 - '@smithy/node-config-provider': 4.3.12 - '@smithy/protocol-http': 5.3.12 - '@smithy/signature-v4': 5.3.12 - '@smithy/smithy-client': 4.12.7 - '@smithy/types': 4.13.1 + '@smithy/core': 3.23.14 + '@smithy/node-config-provider': 4.3.13 + '@smithy/protocol-http': 5.3.13 + '@smithy/signature-v4': 5.3.13 + '@smithy/smithy-client': 4.12.9 + '@smithy/types': 4.14.0 '@smithy/util-config-provider': 4.2.2 - '@smithy/util-middleware': 4.2.12 - '@smithy/util-stream': 4.5.20 + '@smithy/util-middleware': 4.2.13 + '@smithy/util-stream': 4.5.22 '@smithy/util-utf8': 4.2.2 tslib: 2.8.1 - '@aws-sdk/middleware-ssec@3.972.8': + '@aws-sdk/middleware-ssec@3.972.9': dependencies: - '@aws-sdk/types': 3.973.6 - '@smithy/types': 4.13.1 + '@aws-sdk/types': 3.973.7 + '@smithy/types': 4.14.0 tslib: 2.8.1 - '@aws-sdk/middleware-user-agent@3.972.26': + '@aws-sdk/middleware-user-agent@3.972.29': dependencies: - '@aws-sdk/core': 3.973.25 - '@aws-sdk/types': 3.973.6 - '@aws-sdk/util-endpoints': 3.996.5 - '@smithy/core': 3.23.12 - '@smithy/protocol-http': 5.3.12 - '@smithy/types': 4.13.1 - '@smithy/util-retry': 4.2.12 + '@aws-sdk/core': 3.973.27 + '@aws-sdk/types': 3.973.7 + '@aws-sdk/util-endpoints': 3.996.6 + '@smithy/core': 3.23.14 + '@smithy/protocol-http': 5.3.13 + '@smithy/types': 4.14.0 + '@smithy/util-retry': 4.3.0 tslib: 2.8.1 - '@aws-sdk/nested-clients@3.996.15': + '@aws-sdk/nested-clients@3.996.19': dependencies: '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/core': 3.973.25 - '@aws-sdk/middleware-host-header': 3.972.8 - '@aws-sdk/middleware-logger': 3.972.8 - '@aws-sdk/middleware-recursion-detection': 3.972.9 - '@aws-sdk/middleware-user-agent': 3.972.26 - '@aws-sdk/region-config-resolver': 3.972.10 - '@aws-sdk/types': 3.973.6 - '@aws-sdk/util-endpoints': 3.996.5 - '@aws-sdk/util-user-agent-browser': 3.972.8 - '@aws-sdk/util-user-agent-node': 3.973.12 - '@smithy/config-resolver': 4.4.13 - '@smithy/core': 3.23.12 - '@smithy/fetch-http-handler': 5.3.15 - '@smithy/hash-node': 4.2.12 - '@smithy/invalid-dependency': 4.2.12 - '@smithy/middleware-content-length': 4.2.12 - '@smithy/middleware-endpoint': 4.4.27 - '@smithy/middleware-retry': 4.4.44 - '@smithy/middleware-serde': 4.2.15 - '@smithy/middleware-stack': 4.2.12 - '@smithy/node-config-provider': 4.3.12 - '@smithy/node-http-handler': 4.5.0 - '@smithy/protocol-http': 5.3.12 - '@smithy/smithy-client': 4.12.7 - '@smithy/types': 4.13.1 - '@smithy/url-parser': 4.2.12 + '@aws-sdk/core': 3.973.27 + '@aws-sdk/middleware-host-header': 3.972.9 + '@aws-sdk/middleware-logger': 3.972.9 + '@aws-sdk/middleware-recursion-detection': 3.972.10 + '@aws-sdk/middleware-user-agent': 3.972.29 + '@aws-sdk/region-config-resolver': 3.972.11 + '@aws-sdk/types': 3.973.7 + '@aws-sdk/util-endpoints': 3.996.6 + '@aws-sdk/util-user-agent-browser': 3.972.9 + '@aws-sdk/util-user-agent-node': 3.973.15 + '@smithy/config-resolver': 4.4.14 + '@smithy/core': 3.23.14 + '@smithy/fetch-http-handler': 5.3.16 + '@smithy/hash-node': 4.2.13 + '@smithy/invalid-dependency': 4.2.13 + '@smithy/middleware-content-length': 4.2.13 + '@smithy/middleware-endpoint': 4.4.29 + '@smithy/middleware-retry': 4.5.0 + '@smithy/middleware-serde': 4.2.17 + '@smithy/middleware-stack': 4.2.13 + '@smithy/node-config-provider': 4.3.13 + '@smithy/node-http-handler': 4.5.2 + '@smithy/protocol-http': 5.3.13 + '@smithy/smithy-client': 4.12.9 + '@smithy/types': 4.14.0 + '@smithy/url-parser': 4.2.13 '@smithy/util-base64': 4.3.2 '@smithy/util-body-length-browser': 4.2.2 '@smithy/util-body-length-node': 4.2.3 - '@smithy/util-defaults-mode-browser': 4.3.43 - '@smithy/util-defaults-mode-node': 4.2.47 - '@smithy/util-endpoints': 3.3.3 - '@smithy/util-middleware': 4.2.12 - '@smithy/util-retry': 4.2.12 + '@smithy/util-defaults-mode-browser': 4.3.45 + '@smithy/util-defaults-mode-node': 4.2.49 + '@smithy/util-endpoints': 3.3.4 + '@smithy/util-middleware': 4.2.13 + '@smithy/util-retry': 4.3.0 '@smithy/util-utf8': 4.2.2 tslib: 2.8.1 transitivePeerDependencies: - aws-crt - '@aws-sdk/region-config-resolver@3.972.10': + '@aws-sdk/region-config-resolver@3.972.11': dependencies: - '@aws-sdk/types': 3.973.6 - '@smithy/config-resolver': 4.4.13 - '@smithy/node-config-provider': 4.3.12 - '@smithy/types': 4.13.1 + '@aws-sdk/types': 3.973.7 + '@smithy/config-resolver': 4.4.14 + '@smithy/node-config-provider': 4.3.13 + '@smithy/types': 4.14.0 tslib: 2.8.1 - '@aws-sdk/signature-v4-multi-region@3.996.14': + '@aws-sdk/signature-v4-multi-region@3.996.16': dependencies: - '@aws-sdk/middleware-sdk-s3': 3.972.26 - '@aws-sdk/types': 3.973.6 - '@smithy/protocol-http': 5.3.12 - '@smithy/signature-v4': 5.3.12 - '@smithy/types': 4.13.1 + '@aws-sdk/middleware-sdk-s3': 3.972.28 + '@aws-sdk/types': 3.973.7 + '@smithy/protocol-http': 5.3.13 + '@smithy/signature-v4': 5.3.13 + '@smithy/types': 4.14.0 tslib: 2.8.1 - '@aws-sdk/token-providers@3.1018.0': + '@aws-sdk/token-providers@3.1026.0': dependencies: - '@aws-sdk/core': 3.973.25 - '@aws-sdk/nested-clients': 3.996.15 - '@aws-sdk/types': 3.973.6 - '@smithy/property-provider': 4.2.12 - '@smithy/shared-ini-file-loader': 4.4.7 - '@smithy/types': 4.13.1 + '@aws-sdk/core': 3.973.27 + '@aws-sdk/nested-clients': 3.996.19 + '@aws-sdk/types': 3.973.7 + '@smithy/property-provider': 4.2.13 + '@smithy/shared-ini-file-loader': 4.4.8 + '@smithy/types': 4.14.0 tslib: 2.8.1 transitivePeerDependencies: - aws-crt - '@aws-sdk/types@3.973.6': + '@aws-sdk/types@3.973.7': dependencies: - '@smithy/types': 4.13.1 + '@smithy/types': 4.14.0 tslib: 2.8.1 '@aws-sdk/util-arn-parser@3.972.3': dependencies: tslib: 2.8.1 - '@aws-sdk/util-endpoints@3.996.5': + '@aws-sdk/util-endpoints@3.996.6': dependencies: - '@aws-sdk/types': 3.973.6 - '@smithy/types': 4.13.1 - '@smithy/url-parser': 4.2.12 - '@smithy/util-endpoints': 3.3.3 + '@aws-sdk/types': 3.973.7 + '@smithy/types': 4.14.0 + '@smithy/url-parser': 4.2.13 + '@smithy/util-endpoints': 3.3.4 tslib: 2.8.1 '@aws-sdk/util-locate-window@3.965.5': dependencies: tslib: 2.8.1 - '@aws-sdk/util-user-agent-browser@3.972.8': + '@aws-sdk/util-user-agent-browser@3.972.9': dependencies: - '@aws-sdk/types': 3.973.6 - '@smithy/types': 4.13.1 + '@aws-sdk/types': 3.973.7 + '@smithy/types': 4.14.0 bowser: 2.14.1 tslib: 2.8.1 - '@aws-sdk/util-user-agent-node@3.973.12': + '@aws-sdk/util-user-agent-node@3.973.15': dependencies: - '@aws-sdk/middleware-user-agent': 3.972.26 - '@aws-sdk/types': 3.973.6 - '@smithy/node-config-provider': 4.3.12 - '@smithy/types': 4.13.1 + '@aws-sdk/middleware-user-agent': 3.972.29 + '@aws-sdk/types': 3.973.7 + '@smithy/node-config-provider': 4.3.13 + '@smithy/types': 4.14.0 '@smithy/util-config-provider': 4.2.2 tslib: 2.8.1 - '@aws-sdk/xml-builder@3.972.16': + '@aws-sdk/xml-builder@3.972.17': dependencies: - '@smithy/types': 4.13.1 + '@smithy/types': 4.14.0 fast-xml-parser: 5.5.8 tslib: 2.8.1 @@ -4881,13 +4838,13 @@ snapshots: '@cfworker/json-schema@4.1.1': {} - '@cloudflare/workers-types@4.20260317.1': {} + '@cloudflare/workers-types@4.20260405.1': {} '@configvault.io/interfaces@1.0.17': dependencies: '@api.global/typedrequest-interfaces': 3.0.19 - '@design.estate/dees-catalog@3.61.1(@tiptap/pm@2.27.2)': + '@design.estate/dees-catalog@3.66.0(@tiptap/pm@2.27.2)': dependencies: '@design.estate/dees-domtools': 2.5.4 '@design.estate/dees-element': 2.2.4 @@ -4930,32 +4887,6 @@ snapshots: '@push.rocks/smartdelay': 3.0.5 broadcast-channel: 7.3.0 - '@design.estate/dees-domtools@2.5.3': - dependencies: - '@api.global/typedrequest': 3.3.0 - '@design.estate/dees-comms': 1.0.30 - '@push.rocks/lik': 6.4.0 - '@push.rocks/smartdelay': 3.0.5 - '@push.rocks/smartjson': 6.0.0 - '@push.rocks/smartmarkdown': 3.0.3 - '@push.rocks/smartpromise': 4.2.3 - '@push.rocks/smartrouter': 1.3.3 - '@push.rocks/smartrx': 3.0.10 - '@push.rocks/smartstate': 2.3.0 - '@push.rocks/smartstring': 4.1.0 - '@push.rocks/smarturl': 3.1.0 - '@push.rocks/webrequest': 4.0.5 - '@push.rocks/websetup': 3.0.19 - '@push.rocks/webstore': 2.0.21 - '@tempfix/lenis': 1.3.20 - lit: 3.3.2 - sweet-scroll: 4.0.0 - transitivePeerDependencies: - - '@nuxt/kit' - - react - - supports-color - - vue - '@design.estate/dees-domtools@2.5.4': dependencies: '@api.global/typedrequest': 3.3.0 @@ -4984,7 +4915,7 @@ snapshots: '@design.estate/dees-element@2.2.4': dependencies: - '@design.estate/dees-domtools': 2.5.3 + '@design.estate/dees-domtools': 2.5.4 '@push.rocks/isounique': 1.0.5 '@push.rocks/smartrx': 3.0.10 lit: 3.3.2 @@ -5006,98 +4937,98 @@ snapshots: - supports-color - vue - '@emnapi/core@1.9.1': + '@emnapi/core@1.9.2': dependencies: - '@emnapi/wasi-threads': 1.2.0 + '@emnapi/wasi-threads': 1.2.1 tslib: 2.8.1 optional: true - '@emnapi/runtime@1.9.1': + '@emnapi/runtime@1.9.2': dependencies: tslib: 2.8.1 optional: true - '@emnapi/wasi-threads@1.2.0': + '@emnapi/wasi-threads@1.2.1': dependencies: tslib: 2.8.1 optional: true - '@esbuild/aix-ppc64@0.27.4': + '@esbuild/aix-ppc64@0.27.7': optional: true - '@esbuild/android-arm64@0.27.4': + '@esbuild/android-arm64@0.27.7': optional: true - '@esbuild/android-arm@0.27.4': + '@esbuild/android-arm@0.27.7': optional: true - '@esbuild/android-x64@0.27.4': + '@esbuild/android-x64@0.27.7': optional: true - '@esbuild/darwin-arm64@0.27.4': + '@esbuild/darwin-arm64@0.27.7': optional: true - '@esbuild/darwin-x64@0.27.4': + '@esbuild/darwin-x64@0.27.7': optional: true - '@esbuild/freebsd-arm64@0.27.4': + '@esbuild/freebsd-arm64@0.27.7': optional: true - '@esbuild/freebsd-x64@0.27.4': + '@esbuild/freebsd-x64@0.27.7': optional: true - '@esbuild/linux-arm64@0.27.4': + '@esbuild/linux-arm64@0.27.7': optional: true - '@esbuild/linux-arm@0.27.4': + '@esbuild/linux-arm@0.27.7': optional: true - '@esbuild/linux-ia32@0.27.4': + '@esbuild/linux-ia32@0.27.7': optional: true - '@esbuild/linux-loong64@0.27.4': + '@esbuild/linux-loong64@0.27.7': optional: true - '@esbuild/linux-mips64el@0.27.4': + '@esbuild/linux-mips64el@0.27.7': optional: true - '@esbuild/linux-ppc64@0.27.4': + '@esbuild/linux-ppc64@0.27.7': optional: true - '@esbuild/linux-riscv64@0.27.4': + '@esbuild/linux-riscv64@0.27.7': optional: true - '@esbuild/linux-s390x@0.27.4': + '@esbuild/linux-s390x@0.27.7': optional: true - '@esbuild/linux-x64@0.27.4': + '@esbuild/linux-x64@0.27.7': optional: true - '@esbuild/netbsd-arm64@0.27.4': + '@esbuild/netbsd-arm64@0.27.7': optional: true - '@esbuild/netbsd-x64@0.27.4': + '@esbuild/netbsd-x64@0.27.7': optional: true - '@esbuild/openbsd-arm64@0.27.4': + '@esbuild/openbsd-arm64@0.27.7': optional: true - '@esbuild/openbsd-x64@0.27.4': + '@esbuild/openbsd-x64@0.27.7': optional: true - '@esbuild/openharmony-arm64@0.27.4': + '@esbuild/openharmony-arm64@0.27.7': optional: true - '@esbuild/sunos-x64@0.27.4': + '@esbuild/sunos-x64@0.27.7': optional: true - '@esbuild/win32-arm64@0.27.4': + '@esbuild/win32-arm64@0.27.7': optional: true - '@esbuild/win32-ia32@0.27.4': + '@esbuild/win32-ia32@0.27.7': optional: true - '@esbuild/win32-x64@0.27.4': + '@esbuild/win32-x64@0.27.7': optional: true '@fortawesome/fontawesome-common-types@7.2.0': {} @@ -5126,7 +5057,7 @@ snapshots: '@push.rocks/smartdelay': 3.0.5 '@push.rocks/smartfile': 13.1.2 '@push.rocks/smartfs': 1.5.0 - '@push.rocks/smartlog': 3.2.1 + '@push.rocks/smartlog': 3.2.2 '@push.rocks/smartpath': 6.0.0 '@push.rocks/smartpromise': 4.2.3 typescript: 6.0.2 @@ -5140,7 +5071,7 @@ snapshots: - supports-color - vue - '@git.zone/tsbundle@2.10.0': + '@git.zone/tsbundle@2.10.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)': dependencies: '@push.rocks/early': 4.0.4 '@push.rocks/smartcli': 4.0.20 @@ -5148,18 +5079,20 @@ snapshots: '@push.rocks/smartdelay': 3.0.5 '@push.rocks/smartfs': 1.5.0 '@push.rocks/smartinteract': 2.0.16 - '@push.rocks/smartlog': 3.2.1 + '@push.rocks/smartlog': 3.2.2 '@push.rocks/smartlog-destination-local': 9.0.2 '@push.rocks/smartpath': 6.0.0 '@push.rocks/smartpromise': 4.2.3 '@push.rocks/smartspawn': 3.0.3 - '@rspack/core': 1.7.10 + '@rspack/core': 1.7.11 '@types/html-minifier': 4.0.6 - esbuild: 0.27.4 + esbuild: 0.27.7 html-minifier: 4.0.0 - rolldown: 1.0.0-rc.11 + rolldown: 1.0.0-rc.11(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) typescript: 6.0.2 transitivePeerDependencies: + - '@emnapi/core' + - '@emnapi/runtime' - '@nuxt/kit' - '@swc/helpers' - react @@ -5174,7 +5107,7 @@ snapshots: '@push.rocks/smartdelay': 3.0.5 '@push.rocks/smartfile': 13.1.2 '@push.rocks/smartfs': 1.5.0 - '@push.rocks/smartlog': 3.2.1 + '@push.rocks/smartlog': 3.2.2 '@push.rocks/smartnpm': 2.0.6 '@push.rocks/smartpath': 6.0.0 '@push.rocks/smartrequest': 5.0.1 @@ -5195,9 +5128,9 @@ snapshots: '@push.rocks/smartshell': 3.3.8 tsx: 4.21.0 - '@git.zone/tstest@3.6.3(socks@2.8.7)(typescript@6.0.2)': + '@git.zone/tstest@3.6.3(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(socks@2.8.7)(typescript@6.0.2)': dependencies: - '@git.zone/tsbundle': 2.10.0 + '@git.zone/tsbundle': 2.10.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) '@git.zone/tsrun': 2.0.2 '@push.rocks/consolecolor': 2.0.3 '@push.rocks/qenv': 6.1.3 @@ -5209,7 +5142,7 @@ snapshots: '@push.rocks/smartfile': 13.1.2 '@push.rocks/smartfs': 1.5.0 '@push.rocks/smartjson': 6.0.0 - '@push.rocks/smartlog': 3.2.1 + '@push.rocks/smartlog': 3.2.2 '@push.rocks/smartmongo': 5.1.1(socks@2.8.7) '@push.rocks/smartnetwork': 4.5.2 '@push.rocks/smartpath': 6.0.0 @@ -5225,6 +5158,8 @@ snapshots: ws: 8.20.0 transitivePeerDependencies: - '@aws-sdk/credential-providers' + - '@emnapi/core' + - '@emnapi/runtime' - '@mongodb-js/zstd' - '@nuxt/kit' - '@swc/helpers' @@ -5244,10 +5179,10 @@ snapshots: - utf-8-validate - vue - '@git.zone/tswatch@3.3.2(@tiptap/pm@2.27.2)': + '@git.zone/tswatch@3.3.2(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(@tiptap/pm@2.27.2)': dependencies: '@api.global/typedserver': 8.4.6(@tiptap/pm@2.27.2) - '@git.zone/tsbundle': 2.10.0 + '@git.zone/tsbundle': 2.10.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) '@git.zone/tsrun': 2.0.2 '@push.rocks/early': 4.0.4 '@push.rocks/lik': 6.4.0 @@ -5257,11 +5192,13 @@ snapshots: '@push.rocks/smartexit': 2.0.3 '@push.rocks/smartfs': 1.5.0 '@push.rocks/smartinteract': 2.0.16 - '@push.rocks/smartlog': 3.2.1 + '@push.rocks/smartlog': 3.2.2 '@push.rocks/smartlog-destination-local': 9.0.2 '@push.rocks/smartshell': 3.3.8 '@push.rocks/smartwatch': 6.4.0 transitivePeerDependencies: + - '@emnapi/core' + - '@emnapi/runtime' - '@nuxt/kit' - '@swc/helpers' - '@tiptap/pm' @@ -5359,7 +5296,7 @@ snapshots: '@img/sharp-wasm32@0.34.5': dependencies: - '@emnapi/runtime': 1.9.1 + '@emnapi/runtime': 1.9.2 optional: true '@img/sharp-win32-arm64@0.34.5': @@ -5469,193 +5406,227 @@ snapshots: '@isaacs/cliui@9.0.0': {} - '@jimp/core@1.6.0': + '@jimp/core@1.6.1': dependencies: - '@jimp/file-ops': 1.6.0 - '@jimp/types': 1.6.0 - '@jimp/utils': 1.6.0 + '@jimp/file-ops': 1.6.1 + '@jimp/types': 1.6.1 + '@jimp/utils': 1.6.1 await-to-js: 3.0.0 exif-parser: 0.1.12 - file-type: 16.5.4 + file-type: 21.3.4 mime: 3.0.0 + transitivePeerDependencies: + - supports-color - '@jimp/diff@1.6.0': + '@jimp/diff@1.6.1': dependencies: - '@jimp/plugin-resize': 1.6.0 - '@jimp/types': 1.6.0 - '@jimp/utils': 1.6.0 + '@jimp/plugin-resize': 1.6.1 + '@jimp/types': 1.6.1 + '@jimp/utils': 1.6.1 pixelmatch: 5.3.0 + transitivePeerDependencies: + - supports-color - '@jimp/file-ops@1.6.0': {} + '@jimp/file-ops@1.6.1': {} - '@jimp/js-bmp@1.6.0': + '@jimp/js-bmp@1.6.1': dependencies: - '@jimp/core': 1.6.0 - '@jimp/types': 1.6.0 - '@jimp/utils': 1.6.0 + '@jimp/core': 1.6.1 + '@jimp/types': 1.6.1 + '@jimp/utils': 1.6.1 bmp-ts: 1.0.9 + transitivePeerDependencies: + - supports-color - '@jimp/js-gif@1.6.0': + '@jimp/js-gif@1.6.1': dependencies: - '@jimp/core': 1.6.0 - '@jimp/types': 1.6.0 + '@jimp/core': 1.6.1 + '@jimp/types': 1.6.1 gifwrap: 0.10.1 omggif: 1.0.10 + transitivePeerDependencies: + - supports-color - '@jimp/js-jpeg@1.6.0': + '@jimp/js-jpeg@1.6.1': dependencies: - '@jimp/core': 1.6.0 - '@jimp/types': 1.6.0 + '@jimp/core': 1.6.1 + '@jimp/types': 1.6.1 jpeg-js: 0.4.4 + transitivePeerDependencies: + - supports-color - '@jimp/js-png@1.6.0': + '@jimp/js-png@1.6.1': dependencies: - '@jimp/core': 1.6.0 - '@jimp/types': 1.6.0 + '@jimp/core': 1.6.1 + '@jimp/types': 1.6.1 pngjs: 7.0.0 + transitivePeerDependencies: + - supports-color - '@jimp/js-tiff@1.6.0': + '@jimp/js-tiff@1.6.1': dependencies: - '@jimp/core': 1.6.0 - '@jimp/types': 1.6.0 + '@jimp/core': 1.6.1 + '@jimp/types': 1.6.1 utif2: 4.1.0 + transitivePeerDependencies: + - supports-color - '@jimp/plugin-blit@1.6.0': + '@jimp/plugin-blit@1.6.1': dependencies: - '@jimp/types': 1.6.0 - '@jimp/utils': 1.6.0 + '@jimp/types': 1.6.1 + '@jimp/utils': 1.6.1 zod: 3.25.76 - '@jimp/plugin-blur@1.6.0': + '@jimp/plugin-blur@1.6.1': dependencies: - '@jimp/core': 1.6.0 - '@jimp/utils': 1.6.0 + '@jimp/core': 1.6.1 + '@jimp/utils': 1.6.1 + transitivePeerDependencies: + - supports-color - '@jimp/plugin-circle@1.6.0': + '@jimp/plugin-circle@1.6.1': dependencies: - '@jimp/types': 1.6.0 + '@jimp/types': 1.6.1 zod: 3.25.76 - '@jimp/plugin-color@1.6.0': + '@jimp/plugin-color@1.6.1': dependencies: - '@jimp/core': 1.6.0 - '@jimp/types': 1.6.0 - '@jimp/utils': 1.6.0 + '@jimp/core': 1.6.1 + '@jimp/types': 1.6.1 + '@jimp/utils': 1.6.1 tinycolor2: 1.6.0 zod: 3.25.76 + transitivePeerDependencies: + - supports-color - '@jimp/plugin-contain@1.6.0': + '@jimp/plugin-contain@1.6.1': dependencies: - '@jimp/core': 1.6.0 - '@jimp/plugin-blit': 1.6.0 - '@jimp/plugin-resize': 1.6.0 - '@jimp/types': 1.6.0 - '@jimp/utils': 1.6.0 + '@jimp/core': 1.6.1 + '@jimp/plugin-blit': 1.6.1 + '@jimp/plugin-resize': 1.6.1 + '@jimp/types': 1.6.1 + '@jimp/utils': 1.6.1 + zod: 3.25.76 + transitivePeerDependencies: + - supports-color + + '@jimp/plugin-cover@1.6.1': + dependencies: + '@jimp/core': 1.6.1 + '@jimp/plugin-crop': 1.6.1 + '@jimp/plugin-resize': 1.6.1 + '@jimp/types': 1.6.1 + zod: 3.25.76 + transitivePeerDependencies: + - supports-color + + '@jimp/plugin-crop@1.6.1': + dependencies: + '@jimp/core': 1.6.1 + '@jimp/types': 1.6.1 + '@jimp/utils': 1.6.1 + zod: 3.25.76 + transitivePeerDependencies: + - supports-color + + '@jimp/plugin-displace@1.6.1': + dependencies: + '@jimp/types': 1.6.1 + '@jimp/utils': 1.6.1 zod: 3.25.76 - '@jimp/plugin-cover@1.6.0': + '@jimp/plugin-dither@1.6.1': dependencies: - '@jimp/core': 1.6.0 - '@jimp/plugin-crop': 1.6.0 - '@jimp/plugin-resize': 1.6.0 - '@jimp/types': 1.6.0 + '@jimp/types': 1.6.1 + + '@jimp/plugin-fisheye@1.6.1': + dependencies: + '@jimp/types': 1.6.1 + '@jimp/utils': 1.6.1 zod: 3.25.76 - '@jimp/plugin-crop@1.6.0': + '@jimp/plugin-flip@1.6.1': dependencies: - '@jimp/core': 1.6.0 - '@jimp/types': 1.6.0 - '@jimp/utils': 1.6.0 + '@jimp/types': 1.6.1 zod: 3.25.76 - '@jimp/plugin-displace@1.6.0': + '@jimp/plugin-hash@1.6.1': dependencies: - '@jimp/types': 1.6.0 - '@jimp/utils': 1.6.0 - zod: 3.25.76 - - '@jimp/plugin-dither@1.6.0': - dependencies: - '@jimp/types': 1.6.0 - - '@jimp/plugin-fisheye@1.6.0': - dependencies: - '@jimp/types': 1.6.0 - '@jimp/utils': 1.6.0 - zod: 3.25.76 - - '@jimp/plugin-flip@1.6.0': - dependencies: - '@jimp/types': 1.6.0 - zod: 3.25.76 - - '@jimp/plugin-hash@1.6.0': - dependencies: - '@jimp/core': 1.6.0 - '@jimp/js-bmp': 1.6.0 - '@jimp/js-jpeg': 1.6.0 - '@jimp/js-png': 1.6.0 - '@jimp/js-tiff': 1.6.0 - '@jimp/plugin-color': 1.6.0 - '@jimp/plugin-resize': 1.6.0 - '@jimp/types': 1.6.0 - '@jimp/utils': 1.6.0 + '@jimp/core': 1.6.1 + '@jimp/js-bmp': 1.6.1 + '@jimp/js-jpeg': 1.6.1 + '@jimp/js-png': 1.6.1 + '@jimp/js-tiff': 1.6.1 + '@jimp/plugin-color': 1.6.1 + '@jimp/plugin-resize': 1.6.1 + '@jimp/types': 1.6.1 + '@jimp/utils': 1.6.1 any-base: 1.1.0 + transitivePeerDependencies: + - supports-color - '@jimp/plugin-mask@1.6.0': + '@jimp/plugin-mask@1.6.1': dependencies: - '@jimp/types': 1.6.0 + '@jimp/types': 1.6.1 zod: 3.25.76 - '@jimp/plugin-print@1.6.0': + '@jimp/plugin-print@1.6.1': dependencies: - '@jimp/core': 1.6.0 - '@jimp/js-jpeg': 1.6.0 - '@jimp/js-png': 1.6.0 - '@jimp/plugin-blit': 1.6.0 - '@jimp/types': 1.6.0 + '@jimp/core': 1.6.1 + '@jimp/js-jpeg': 1.6.1 + '@jimp/js-png': 1.6.1 + '@jimp/plugin-blit': 1.6.1 + '@jimp/types': 1.6.1 parse-bmfont-ascii: 1.0.6 parse-bmfont-binary: 1.0.6 parse-bmfont-xml: 1.1.6 - simple-xml-to-json: 1.2.4 + simple-xml-to-json: 1.2.7 zod: 3.25.76 + transitivePeerDependencies: + - supports-color - '@jimp/plugin-quantize@1.6.0': + '@jimp/plugin-quantize@1.6.1': dependencies: image-q: 4.0.0 zod: 3.25.76 - '@jimp/plugin-resize@1.6.0': + '@jimp/plugin-resize@1.6.1': dependencies: - '@jimp/core': 1.6.0 - '@jimp/types': 1.6.0 + '@jimp/core': 1.6.1 + '@jimp/types': 1.6.1 zod: 3.25.76 + transitivePeerDependencies: + - supports-color - '@jimp/plugin-rotate@1.6.0': + '@jimp/plugin-rotate@1.6.1': dependencies: - '@jimp/core': 1.6.0 - '@jimp/plugin-crop': 1.6.0 - '@jimp/plugin-resize': 1.6.0 - '@jimp/types': 1.6.0 - '@jimp/utils': 1.6.0 + '@jimp/core': 1.6.1 + '@jimp/plugin-crop': 1.6.1 + '@jimp/plugin-resize': 1.6.1 + '@jimp/types': 1.6.1 + '@jimp/utils': 1.6.1 zod: 3.25.76 + transitivePeerDependencies: + - supports-color - '@jimp/plugin-threshold@1.6.0': + '@jimp/plugin-threshold@1.6.1': dependencies: - '@jimp/core': 1.6.0 - '@jimp/plugin-color': 1.6.0 - '@jimp/plugin-hash': 1.6.0 - '@jimp/types': 1.6.0 - '@jimp/utils': 1.6.0 + '@jimp/core': 1.6.1 + '@jimp/plugin-color': 1.6.1 + '@jimp/plugin-hash': 1.6.1 + '@jimp/types': 1.6.1 + '@jimp/utils': 1.6.1 zod: 3.25.76 + transitivePeerDependencies: + - supports-color - '@jimp/types@1.6.0': + '@jimp/types@1.6.1': dependencies: zod: 3.25.76 - '@jimp/utils@1.6.0': + '@jimp/utils@1.6.1': dependencies: - '@jimp/types': 1.6.0 + '@jimp/types': 1.6.1 tinycolor2: 1.6.0 '@lit-labs/ssr-dom-shim@1.5.1': {} @@ -5745,15 +5716,15 @@ snapshots: '@napi-rs/wasm-runtime@1.0.7': dependencies: - '@emnapi/core': 1.9.1 - '@emnapi/runtime': 1.9.1 + '@emnapi/core': 1.9.2 + '@emnapi/runtime': 1.9.2 '@tybys/wasm-util': 0.10.1 optional: true - '@napi-rs/wasm-runtime@1.1.1': + '@napi-rs/wasm-runtime@1.1.2(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)': dependencies: - '@emnapi/core': 1.9.1 - '@emnapi/runtime': 1.9.1 + '@emnapi/core': 1.9.2 + '@emnapi/runtime': 1.9.2 '@tybys/wasm-util': 0.10.1 optional: true @@ -5913,27 +5884,17 @@ snapshots: '@push.rocks/isounique@1.0.5': {} - '@push.rocks/levelcache@3.2.0': + '@push.rocks/levelcache@3.2.1': dependencies: '@push.rocks/lik': 6.4.0 - '@push.rocks/smartbucket': 3.3.10 - '@push.rocks/smartcache': 1.0.18 - '@push.rocks/smartenv': 5.0.13 - '@push.rocks/smartexit': 1.1.1 - '@push.rocks/smartfile': 11.2.7 - '@push.rocks/smartjson': 5.2.0 + '@push.rocks/smartbucket': 4.6.0 + '@push.rocks/smartfs': 1.5.0 + '@push.rocks/smartjson': 6.0.0 '@push.rocks/smartpath': 6.0.0 '@push.rocks/smartpromise': 4.2.3 - '@push.rocks/smartstring': 4.1.0 - '@push.rocks/smartunique': 3.0.9 - '@push.rocks/taskbuffer': 3.5.0 '@tsclass/tsclass': 9.5.0 transitivePeerDependencies: - - '@nuxt/kit' - aws-crt - - react - - supports-color - - vue '@push.rocks/lik@6.4.0': dependencies: @@ -5974,7 +5935,7 @@ snapshots: '@api.global/typedrequest': 3.3.0 '@configvault.io/interfaces': 1.0.17 '@push.rocks/smartfile': 11.2.7 - '@push.rocks/smartlog': 3.2.1 + '@push.rocks/smartlog': 3.2.2 '@push.rocks/smartpath': 6.0.0 '@push.rocks/smartacme@9.5.0(socks@2.8.7)': @@ -5982,10 +5943,10 @@ snapshots: '@apiclient.xyz/cloudflare': 7.1.0 '@peculiar/x509': 2.0.0 '@push.rocks/lik': 6.4.0 - '@push.rocks/smartdata': 7.1.6(socks@2.8.7) + '@push.rocks/smartdata': 7.1.7(socks@2.8.7) '@push.rocks/smartdelay': 3.0.5 '@push.rocks/smartdns': 7.9.0 - '@push.rocks/smartlog': 3.2.1 + '@push.rocks/smartlog': 3.2.2 '@push.rocks/smartnetwork': 4.5.2 '@push.rocks/smartstring': 4.1.0 '@push.rocks/smarttime': 4.2.3 @@ -5997,14 +5958,11 @@ snapshots: - '@aws-sdk/credential-providers' - '@mongodb-js/zstd' - '@nuxt/kit' - - bare-abort-controller - - bare-buffer - encoding - gcp-metadata - kerberos - mongodb-client-encryption - react - - react-native-b4a - snappy - socks - supports-color @@ -6038,21 +5996,18 @@ snapshots: '@push.rocks/smartpuppeteer': 2.0.5(typescript@6.0.2) '@push.rocks/smartunique': 3.0.9 transitivePeerDependencies: - - '@nuxt/kit' - aws-crt - bare-abort-controller - bare-buffer - bufferutil - - react - react-native-b4a - supports-color - typescript - utf-8-validate - - vue - '@push.rocks/smartbucket@3.3.10': + '@push.rocks/smartbucket@4.6.0': dependencies: - '@aws-sdk/client-s3': 3.1018.0 + '@aws-sdk/client-s3': 3.1026.0 '@push.rocks/smartmime': 2.0.4 '@push.rocks/smartpath': 6.0.0 '@push.rocks/smartpromise': 4.2.3 @@ -6061,6 +6016,7 @@ snapshots: '@push.rocks/smartstring': 4.1.0 '@push.rocks/smartunique': 3.0.9 '@tsclass/tsclass': 9.5.0 + minimatch: 10.2.5 transitivePeerDependencies: - aws-crt @@ -6068,18 +6024,10 @@ snapshots: dependencies: uint8array-extras: 1.5.0 - '@push.rocks/smartcache@1.0.18': - dependencies: - '@push.rocks/smartdelay': 3.0.5 - '@push.rocks/smarterror': 2.0.1 - '@push.rocks/smarthash': 3.2.6 - '@push.rocks/smartpromise': 4.2.3 - '@push.rocks/smarttime': 4.2.3 - '@push.rocks/smartcli@4.0.20': dependencies: '@push.rocks/lik': 6.4.0 - '@push.rocks/smartlog': 3.2.1 + '@push.rocks/smartlog': 3.2.2 '@push.rocks/smartobject': 1.0.12 '@push.rocks/smartpromise': 4.2.3 '@push.rocks/smartrx': 3.0.10 @@ -6099,7 +6047,7 @@ snapshots: '@push.rocks/qenv': 6.1.3 '@push.rocks/smartfile': 11.2.7 '@push.rocks/smartjson': 5.2.0 - '@push.rocks/smartlog': 3.2.1 + '@push.rocks/smartlog': 3.2.2 '@push.rocks/smartpath': 6.0.0 '@push.rocks/smartpromise': 4.2.3 '@push.rocks/smartrx': 3.0.10 @@ -6121,7 +6069,7 @@ snapshots: dependencies: '@push.rocks/lik': 6.4.0 '@push.rocks/smartdelay': 3.0.5 - '@push.rocks/smartlog': 3.2.1 + '@push.rocks/smartlog': 3.2.2 '@push.rocks/smartmongo': 5.1.1(socks@2.8.7) '@push.rocks/smartpromise': 4.2.3 '@push.rocks/smartrx': 3.0.10 @@ -6147,11 +6095,11 @@ snapshots: - supports-color - vue - '@push.rocks/smartdata@7.1.6(socks@2.8.7)': + '@push.rocks/smartdata@7.1.7(socks@2.8.7)': dependencies: '@push.rocks/lik': 6.4.0 '@push.rocks/smartdelay': 3.0.5 - '@push.rocks/smartlog': 3.2.1 + '@push.rocks/smartlog': 3.2.2 '@push.rocks/smartmongo': 5.1.1(socks@2.8.7) '@push.rocks/smartpromise': 4.2.3 '@push.rocks/smartrx': 3.0.10 @@ -6177,7 +6125,7 @@ snapshots: - supports-color - vue - '@push.rocks/smartdb@2.5.9(@tiptap/pm@2.27.2)(socks@2.8.7)': + '@push.rocks/smartdb@2.6.2(@tiptap/pm@2.27.2)(socks@2.8.7)': dependencies: '@api.global/typedserver': 8.4.6(@tiptap/pm@2.27.2) '@design.estate/dees-element': 2.2.4 @@ -6215,7 +6163,7 @@ snapshots: '@push.rocks/smartrust': 1.3.2 '@tsclass/tsclass': 9.5.0 acme-client: 5.4.0 - minimatch: 10.2.4 + minimatch: 10.2.5 transitivePeerDependencies: - supports-color @@ -6227,18 +6175,6 @@ snapshots: dependencies: '@push.rocks/smartpromise': 4.2.3 - '@push.rocks/smarterror@2.0.1': - dependencies: - clean-stack: 1.3.0 - make-error-cause: 2.3.0 - - '@push.rocks/smartexit@1.1.1': - dependencies: - '@push.rocks/lik': 6.4.0 - '@push.rocks/smartdelay': 3.0.5 - '@push.rocks/smartpromise': 4.2.3 - tree-kill: 1.2.2 - '@push.rocks/smartexit@2.0.3': dependencies: '@push.rocks/lik': 6.4.0 @@ -6253,7 +6189,7 @@ snapshots: '@push.rocks/smartfeed@1.4.0': dependencies: '@tsclass/tsclass': 9.5.0 - fast-xml-parser: 4.5.5 + fast-xml-parser: 4.5.6 '@push.rocks/smartfile-interfaces@1.0.7': {} @@ -6321,19 +6257,16 @@ snapshots: '@push.rocks/smartjimp@1.2.0': dependencies: - '@push.rocks/levelcache': 3.2.0 + '@push.rocks/levelcache': 3.2.1 '@push.rocks/smartfile': 11.2.7 '@push.rocks/smarthash': 3.2.6 '@push.rocks/smartpath': 6.0.0 '@push.rocks/smartrequest': 4.4.2 - jimp: 1.6.0 + jimp: 1.6.1 sharp: 0.34.5 transitivePeerDependencies: - - '@nuxt/kit' - aws-crt - - react - supports-color - - vue '@push.rocks/smartjson@5.2.0': dependencies: @@ -6373,13 +6306,12 @@ snapshots: '@api.global/typedrequest-interfaces': 2.0.2 '@tsclass/tsclass': 4.4.4 - '@push.rocks/smartlog@3.2.1': + '@push.rocks/smartlog@3.2.2': dependencies: '@api.global/typedrequest-interfaces': 3.0.19 '@push.rocks/consolecolor': 2.0.3 '@push.rocks/isounique': 1.0.5 '@push.rocks/smartclickhouse': 2.2.0 - '@push.rocks/smartfile': 11.2.7 '@push.rocks/smarthash': 3.2.6 '@push.rocks/smartpromise': 4.2.3 '@push.rocks/smarttime': 4.2.3 @@ -6407,7 +6339,7 @@ snapshots: remark-html: 16.0.1 remark-parse: 11.0.0 remark-stringify: 11.0.0 - turndown: 7.2.2 + turndown: 7.2.4 turndown-plugin-gfm: 1.0.2 unified: 11.0.5 transitivePeerDependencies: @@ -6420,7 +6352,15 @@ snapshots: '@push.rocks/smartmetrics@3.0.3': dependencies: '@push.rocks/smartdelay': 3.0.5 - '@push.rocks/smartlog': 3.2.1 + '@push.rocks/smartlog': 3.2.2 + + '@push.rocks/smartmigration@1.1.1(@push.rocks/smartbucket@4.6.0)(@push.rocks/smartdata@7.1.7(socks@2.8.7))': + dependencies: + '@push.rocks/smartlog': 3.2.2 + '@push.rocks/smartversion': 3.1.0 + optionalDependencies: + '@push.rocks/smartbucket': 4.6.0 + '@push.rocks/smartdata': 7.1.7(socks@2.8.7) '@push.rocks/smartmime@2.0.4': dependencies: @@ -6431,13 +6371,13 @@ snapshots: '@push.rocks/smartmongo@5.1.1(socks@2.8.7)': dependencies: '@push.rocks/mongodump': 1.1.0(socks@2.8.7) - '@push.rocks/smartdata': 7.1.6(socks@2.8.7) + '@push.rocks/smartdata': 7.1.7(socks@2.8.7) '@push.rocks/smartfs': 1.5.0 '@push.rocks/smartpath': 6.0.0 '@push.rocks/smartpromise': 4.2.3 '@push.rocks/smartrx': 3.0.10 bson: 7.2.0 - mingo: 7.2.0 + mingo: 7.2.1 mongodb-memory-server: 11.0.1(socks@2.8.7) transitivePeerDependencies: - '@aws-sdk/credential-providers' @@ -6459,12 +6399,12 @@ snapshots: dependencies: '@push.rocks/smartfile': 13.1.2 '@push.rocks/smartfs': 1.5.0 - '@push.rocks/smartlog': 3.2.1 + '@push.rocks/smartlog': 3.2.2 '@push.rocks/smartmail': 2.2.0 '@push.rocks/smartpath': 6.0.0 '@push.rocks/smartrust': 1.3.2 '@tsclass/tsclass': 9.5.0 - lru-cache: 11.2.7 + lru-cache: 11.3.2 mailparser: 3.9.6 uuid: 13.0.0 transitivePeerDependencies: @@ -6478,41 +6418,33 @@ snapshots: dependencies: '@push.rocks/smartdns': 7.9.0 '@push.rocks/smartrust': 1.3.2 - maxmind: 5.0.5 + maxmind: 5.0.6 transitivePeerDependencies: - supports-color - '@push.rocks/smartnftables@1.0.1': - dependencies: - '@push.rocks/smartlog': 3.2.1 - '@push.rocks/smartpromise': 4.2.3 - '@push.rocks/smartnftables@1.1.0': dependencies: - '@push.rocks/smartlog': 3.2.1 + '@push.rocks/smartlog': 3.2.2 '@push.rocks/smartpromise': 4.2.3 '@push.rocks/smartnpm@2.0.6': dependencies: '@push.rocks/consolecolor': 2.0.3 - '@push.rocks/levelcache': 3.2.0 + '@push.rocks/levelcache': 3.2.1 '@push.rocks/smartarchive': 4.2.4 '@push.rocks/smartfile': 11.2.7 '@push.rocks/smartpath': 6.0.0 '@push.rocks/smartpromise': 4.2.3 '@push.rocks/smartrequest': 4.4.2 '@push.rocks/smarttime': 4.2.3 - '@push.rocks/smartversion': 3.0.5 + '@push.rocks/smartversion': 3.1.0 package-json: 8.1.1 transitivePeerDependencies: - - '@nuxt/kit' - aws-crt - bare-abort-controller - bare-buffer - - react - react-native-b4a - supports-color - - vue '@push.rocks/smartntml@2.0.8': dependencies: @@ -6553,24 +6485,21 @@ snapshots: pdf-lib: 1.17.1 pdf2json: 4.0.2 transitivePeerDependencies: - - '@nuxt/kit' - aws-crt - bare-abort-controller - bare-buffer - bufferutil - - react - react-native-b4a - supports-color - typescript - utf-8-validate - - vue '@push.rocks/smartpromise@4.2.3': {} - '@push.rocks/smartproxy@27.4.0': + '@push.rocks/smartproxy@27.5.0': dependencies: '@push.rocks/smartcrypto': 2.0.4 - '@push.rocks/smartlog': 3.2.1 + '@push.rocks/smartlog': 3.2.2 '@push.rocks/smartnftables': 1.1.0 '@push.rocks/smartrust': 1.3.2 '@tsclass/tsclass': 9.5.0 @@ -6625,7 +6554,7 @@ snapshots: dependencies: '@push.rocks/lik': 6.4.0 '@push.rocks/smartrx': 3.0.10 - path-to-regexp: 8.4.0 + path-to-regexp: 8.4.2 '@push.rocks/smartrust@1.3.2': dependencies: @@ -6642,7 +6571,7 @@ snapshots: '@cfworker/json-schema': 4.1.1 '@push.rocks/lik': 6.4.0 '@push.rocks/smartenv': 6.0.0 - '@push.rocks/smartlog': 3.2.1 + '@push.rocks/smartlog': 3.2.2 '@push.rocks/smartpath': 6.0.0 ws: 8.20.0 transitivePeerDependencies: @@ -6718,7 +6647,7 @@ snapshots: '@push.rocks/smarturl@3.1.0': {} - '@push.rocks/smartversion@3.0.5': + '@push.rocks/smartversion@3.1.0': dependencies: '@types/semver': 7.7.1 semver: 7.7.4 @@ -6741,7 +6670,7 @@ snapshots: '@push.rocks/smartxml@2.0.0': dependencies: - fast-xml-parser: 5.5.9 + fast-xml-parser: 5.5.10 '@push.rocks/smartyaml@2.0.5': dependencies: @@ -6757,7 +6686,7 @@ snapshots: '@design.estate/dees-element': 2.2.4 '@push.rocks/lik': 6.4.0 '@push.rocks/smartdelay': 3.0.5 - '@push.rocks/smartlog': 3.2.1 + '@push.rocks/smartlog': 3.2.2 '@push.rocks/smartpromise': 4.2.3 '@push.rocks/smartrx': 3.0.10 '@push.rocks/smarttime': 4.2.3 @@ -6773,7 +6702,7 @@ snapshots: '@design.estate/dees-element': 2.2.4 '@push.rocks/lik': 6.4.0 '@push.rocks/smartdelay': 3.0.5 - '@push.rocks/smartlog': 3.2.1 + '@push.rocks/smartlog': 3.2.2 '@push.rocks/smartpromise': 4.2.3 '@push.rocks/smartrx': 3.0.10 '@push.rocks/smarttime': 4.2.3 @@ -6893,9 +6822,12 @@ snapshots: '@rolldown/binding-openharmony-arm64@1.0.0-rc.11': optional: true - '@rolldown/binding-wasm32-wasi@1.0.0-rc.11': + '@rolldown/binding-wasm32-wasi@1.0.0-rc.11(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)': dependencies: - '@napi-rs/wasm-runtime': 1.1.1 + '@napi-rs/wasm-runtime': 1.1.2(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) + transitivePeerDependencies: + - '@emnapi/core' + - '@emnapi/runtime' optional: true '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.11': @@ -6906,55 +6838,55 @@ snapshots: '@rolldown/pluginutils@1.0.0-rc.11': {} - '@rspack/binding-darwin-arm64@1.7.10': + '@rspack/binding-darwin-arm64@1.7.11': optional: true - '@rspack/binding-darwin-x64@1.7.10': + '@rspack/binding-darwin-x64@1.7.11': optional: true - '@rspack/binding-linux-arm64-gnu@1.7.10': + '@rspack/binding-linux-arm64-gnu@1.7.11': optional: true - '@rspack/binding-linux-arm64-musl@1.7.10': + '@rspack/binding-linux-arm64-musl@1.7.11': optional: true - '@rspack/binding-linux-x64-gnu@1.7.10': + '@rspack/binding-linux-x64-gnu@1.7.11': optional: true - '@rspack/binding-linux-x64-musl@1.7.10': + '@rspack/binding-linux-x64-musl@1.7.11': optional: true - '@rspack/binding-wasm32-wasi@1.7.10': + '@rspack/binding-wasm32-wasi@1.7.11': dependencies: '@napi-rs/wasm-runtime': 1.0.7 optional: true - '@rspack/binding-win32-arm64-msvc@1.7.10': + '@rspack/binding-win32-arm64-msvc@1.7.11': optional: true - '@rspack/binding-win32-ia32-msvc@1.7.10': + '@rspack/binding-win32-ia32-msvc@1.7.11': optional: true - '@rspack/binding-win32-x64-msvc@1.7.10': + '@rspack/binding-win32-x64-msvc@1.7.11': optional: true - '@rspack/binding@1.7.10': + '@rspack/binding@1.7.11': optionalDependencies: - '@rspack/binding-darwin-arm64': 1.7.10 - '@rspack/binding-darwin-x64': 1.7.10 - '@rspack/binding-linux-arm64-gnu': 1.7.10 - '@rspack/binding-linux-arm64-musl': 1.7.10 - '@rspack/binding-linux-x64-gnu': 1.7.10 - '@rspack/binding-linux-x64-musl': 1.7.10 - '@rspack/binding-wasm32-wasi': 1.7.10 - '@rspack/binding-win32-arm64-msvc': 1.7.10 - '@rspack/binding-win32-ia32-msvc': 1.7.10 - '@rspack/binding-win32-x64-msvc': 1.7.10 + '@rspack/binding-darwin-arm64': 1.7.11 + '@rspack/binding-darwin-x64': 1.7.11 + '@rspack/binding-linux-arm64-gnu': 1.7.11 + '@rspack/binding-linux-arm64-musl': 1.7.11 + '@rspack/binding-linux-x64-gnu': 1.7.11 + '@rspack/binding-linux-x64-musl': 1.7.11 + '@rspack/binding-wasm32-wasi': 1.7.11 + '@rspack/binding-win32-arm64-msvc': 1.7.11 + '@rspack/binding-win32-ia32-msvc': 1.7.11 + '@rspack/binding-win32-x64-msvc': 1.7.11 - '@rspack/core@1.7.10': + '@rspack/core@1.7.11': dependencies: '@module-federation/runtime-tools': 0.22.0 - '@rspack/binding': 1.7.10 + '@rspack/binding': 1.7.11 '@rspack/lite-tapable': 1.1.0 '@rspack/lite-tapable@1.1.0': {} @@ -6968,7 +6900,7 @@ snapshots: '@serve.zone/catalog@2.11.2(@tiptap/pm@2.27.2)': dependencies: - '@design.estate/dees-catalog': 3.61.1(@tiptap/pm@2.27.2) + '@design.estate/dees-catalog': 3.66.0(@tiptap/pm@2.27.2) '@design.estate/dees-domtools': 2.5.4 '@design.estate/dees-element': 2.2.4 '@design.estate/dees-wcctools': 3.8.0 @@ -6988,16 +6920,11 @@ snapshots: '@serve.zone/remoteingress@4.15.3': dependencies: '@push.rocks/qenv': 6.1.3 - '@push.rocks/smartnftables': 1.0.1 + '@push.rocks/smartnftables': 1.1.0 '@push.rocks/smartrust': 1.3.2 '@sindresorhus/is@5.6.0': {} - '@smithy/abort-controller@4.2.12': - dependencies: - '@smithy/types': 4.13.1 - tslib: 2.8.1 - '@smithy/chunked-blob-reader-native@4.2.3': dependencies: '@smithy/util-base64': 4.3.2 @@ -7007,97 +6934,97 @@ snapshots: dependencies: tslib: 2.8.1 - '@smithy/config-resolver@4.4.13': + '@smithy/config-resolver@4.4.14': dependencies: - '@smithy/node-config-provider': 4.3.12 - '@smithy/types': 4.13.1 + '@smithy/node-config-provider': 4.3.13 + '@smithy/types': 4.14.0 '@smithy/util-config-provider': 4.2.2 - '@smithy/util-endpoints': 3.3.3 - '@smithy/util-middleware': 4.2.12 + '@smithy/util-endpoints': 3.3.4 + '@smithy/util-middleware': 4.2.13 tslib: 2.8.1 - '@smithy/core@3.23.12': + '@smithy/core@3.23.14': dependencies: - '@smithy/protocol-http': 5.3.12 - '@smithy/types': 4.13.1 - '@smithy/url-parser': 4.2.12 + '@smithy/protocol-http': 5.3.13 + '@smithy/types': 4.14.0 + '@smithy/url-parser': 4.2.13 '@smithy/util-base64': 4.3.2 '@smithy/util-body-length-browser': 4.2.2 - '@smithy/util-middleware': 4.2.12 - '@smithy/util-stream': 4.5.20 + '@smithy/util-middleware': 4.2.13 + '@smithy/util-stream': 4.5.22 '@smithy/util-utf8': 4.2.2 '@smithy/uuid': 1.1.2 tslib: 2.8.1 - '@smithy/credential-provider-imds@4.2.12': + '@smithy/credential-provider-imds@4.2.13': dependencies: - '@smithy/node-config-provider': 4.3.12 - '@smithy/property-provider': 4.2.12 - '@smithy/types': 4.13.1 - '@smithy/url-parser': 4.2.12 + '@smithy/node-config-provider': 4.3.13 + '@smithy/property-provider': 4.2.13 + '@smithy/types': 4.14.0 + '@smithy/url-parser': 4.2.13 tslib: 2.8.1 - '@smithy/eventstream-codec@4.2.12': + '@smithy/eventstream-codec@4.2.13': dependencies: '@aws-crypto/crc32': 5.2.0 - '@smithy/types': 4.13.1 + '@smithy/types': 4.14.0 '@smithy/util-hex-encoding': 4.2.2 tslib: 2.8.1 - '@smithy/eventstream-serde-browser@4.2.12': + '@smithy/eventstream-serde-browser@4.2.13': dependencies: - '@smithy/eventstream-serde-universal': 4.2.12 - '@smithy/types': 4.13.1 + '@smithy/eventstream-serde-universal': 4.2.13 + '@smithy/types': 4.14.0 tslib: 2.8.1 - '@smithy/eventstream-serde-config-resolver@4.3.12': + '@smithy/eventstream-serde-config-resolver@4.3.13': dependencies: - '@smithy/types': 4.13.1 + '@smithy/types': 4.14.0 tslib: 2.8.1 - '@smithy/eventstream-serde-node@4.2.12': + '@smithy/eventstream-serde-node@4.2.13': dependencies: - '@smithy/eventstream-serde-universal': 4.2.12 - '@smithy/types': 4.13.1 + '@smithy/eventstream-serde-universal': 4.2.13 + '@smithy/types': 4.14.0 tslib: 2.8.1 - '@smithy/eventstream-serde-universal@4.2.12': + '@smithy/eventstream-serde-universal@4.2.13': dependencies: - '@smithy/eventstream-codec': 4.2.12 - '@smithy/types': 4.13.1 + '@smithy/eventstream-codec': 4.2.13 + '@smithy/types': 4.14.0 tslib: 2.8.1 - '@smithy/fetch-http-handler@5.3.15': + '@smithy/fetch-http-handler@5.3.16': dependencies: - '@smithy/protocol-http': 5.3.12 - '@smithy/querystring-builder': 4.2.12 - '@smithy/types': 4.13.1 + '@smithy/protocol-http': 5.3.13 + '@smithy/querystring-builder': 4.2.13 + '@smithy/types': 4.14.0 '@smithy/util-base64': 4.3.2 tslib: 2.8.1 - '@smithy/hash-blob-browser@4.2.13': + '@smithy/hash-blob-browser@4.2.14': dependencies: '@smithy/chunked-blob-reader': 5.2.2 '@smithy/chunked-blob-reader-native': 4.2.3 - '@smithy/types': 4.13.1 + '@smithy/types': 4.14.0 tslib: 2.8.1 - '@smithy/hash-node@4.2.12': + '@smithy/hash-node@4.2.13': dependencies: - '@smithy/types': 4.13.1 + '@smithy/types': 4.14.0 '@smithy/util-buffer-from': 4.2.2 '@smithy/util-utf8': 4.2.2 tslib: 2.8.1 - '@smithy/hash-stream-node@4.2.12': + '@smithy/hash-stream-node@4.2.13': dependencies: - '@smithy/types': 4.13.1 + '@smithy/types': 4.14.0 '@smithy/util-utf8': 4.2.2 tslib: 2.8.1 - '@smithy/invalid-dependency@4.2.12': + '@smithy/invalid-dependency@4.2.13': dependencies: - '@smithy/types': 4.13.1 + '@smithy/types': 4.14.0 tslib: 2.8.1 '@smithy/is-array-buffer@2.2.0': @@ -7108,127 +7035,127 @@ snapshots: dependencies: tslib: 2.8.1 - '@smithy/md5-js@4.2.12': + '@smithy/md5-js@4.2.13': dependencies: - '@smithy/types': 4.13.1 + '@smithy/types': 4.14.0 '@smithy/util-utf8': 4.2.2 tslib: 2.8.1 - '@smithy/middleware-content-length@4.2.12': + '@smithy/middleware-content-length@4.2.13': dependencies: - '@smithy/protocol-http': 5.3.12 - '@smithy/types': 4.13.1 + '@smithy/protocol-http': 5.3.13 + '@smithy/types': 4.14.0 tslib: 2.8.1 - '@smithy/middleware-endpoint@4.4.27': + '@smithy/middleware-endpoint@4.4.29': dependencies: - '@smithy/core': 3.23.12 - '@smithy/middleware-serde': 4.2.15 - '@smithy/node-config-provider': 4.3.12 - '@smithy/shared-ini-file-loader': 4.4.7 - '@smithy/types': 4.13.1 - '@smithy/url-parser': 4.2.12 - '@smithy/util-middleware': 4.2.12 + '@smithy/core': 3.23.14 + '@smithy/middleware-serde': 4.2.17 + '@smithy/node-config-provider': 4.3.13 + '@smithy/shared-ini-file-loader': 4.4.8 + '@smithy/types': 4.14.0 + '@smithy/url-parser': 4.2.13 + '@smithy/util-middleware': 4.2.13 tslib: 2.8.1 - '@smithy/middleware-retry@4.4.44': + '@smithy/middleware-retry@4.5.0': dependencies: - '@smithy/node-config-provider': 4.3.12 - '@smithy/protocol-http': 5.3.12 - '@smithy/service-error-classification': 4.2.12 - '@smithy/smithy-client': 4.12.7 - '@smithy/types': 4.13.1 - '@smithy/util-middleware': 4.2.12 - '@smithy/util-retry': 4.2.12 + '@smithy/core': 3.23.14 + '@smithy/node-config-provider': 4.3.13 + '@smithy/protocol-http': 5.3.13 + '@smithy/service-error-classification': 4.2.13 + '@smithy/smithy-client': 4.12.9 + '@smithy/types': 4.14.0 + '@smithy/util-middleware': 4.2.13 + '@smithy/util-retry': 4.3.0 '@smithy/uuid': 1.1.2 tslib: 2.8.1 - '@smithy/middleware-serde@4.2.15': + '@smithy/middleware-serde@4.2.17': dependencies: - '@smithy/core': 3.23.12 - '@smithy/protocol-http': 5.3.12 - '@smithy/types': 4.13.1 + '@smithy/core': 3.23.14 + '@smithy/protocol-http': 5.3.13 + '@smithy/types': 4.14.0 tslib: 2.8.1 - '@smithy/middleware-stack@4.2.12': + '@smithy/middleware-stack@4.2.13': dependencies: - '@smithy/types': 4.13.1 + '@smithy/types': 4.14.0 tslib: 2.8.1 - '@smithy/node-config-provider@4.3.12': + '@smithy/node-config-provider@4.3.13': dependencies: - '@smithy/property-provider': 4.2.12 - '@smithy/shared-ini-file-loader': 4.4.7 - '@smithy/types': 4.13.1 + '@smithy/property-provider': 4.2.13 + '@smithy/shared-ini-file-loader': 4.4.8 + '@smithy/types': 4.14.0 tslib: 2.8.1 - '@smithy/node-http-handler@4.5.0': + '@smithy/node-http-handler@4.5.2': dependencies: - '@smithy/abort-controller': 4.2.12 - '@smithy/protocol-http': 5.3.12 - '@smithy/querystring-builder': 4.2.12 - '@smithy/types': 4.13.1 + '@smithy/protocol-http': 5.3.13 + '@smithy/querystring-builder': 4.2.13 + '@smithy/types': 4.14.0 tslib: 2.8.1 - '@smithy/property-provider@4.2.12': + '@smithy/property-provider@4.2.13': dependencies: - '@smithy/types': 4.13.1 + '@smithy/types': 4.14.0 tslib: 2.8.1 - '@smithy/protocol-http@5.3.12': + '@smithy/protocol-http@5.3.13': dependencies: - '@smithy/types': 4.13.1 + '@smithy/types': 4.14.0 tslib: 2.8.1 - '@smithy/querystring-builder@4.2.12': + '@smithy/querystring-builder@4.2.13': dependencies: - '@smithy/types': 4.13.1 + '@smithy/types': 4.14.0 '@smithy/util-uri-escape': 4.2.2 tslib: 2.8.1 - '@smithy/querystring-parser@4.2.12': + '@smithy/querystring-parser@4.2.13': dependencies: - '@smithy/types': 4.13.1 + '@smithy/types': 4.14.0 tslib: 2.8.1 - '@smithy/service-error-classification@4.2.12': + '@smithy/service-error-classification@4.2.13': dependencies: - '@smithy/types': 4.13.1 + '@smithy/types': 4.14.0 - '@smithy/shared-ini-file-loader@4.4.7': + '@smithy/shared-ini-file-loader@4.4.8': dependencies: - '@smithy/types': 4.13.1 + '@smithy/types': 4.14.0 tslib: 2.8.1 - '@smithy/signature-v4@5.3.12': + '@smithy/signature-v4@5.3.13': dependencies: '@smithy/is-array-buffer': 4.2.2 - '@smithy/protocol-http': 5.3.12 - '@smithy/types': 4.13.1 + '@smithy/protocol-http': 5.3.13 + '@smithy/types': 4.14.0 '@smithy/util-hex-encoding': 4.2.2 - '@smithy/util-middleware': 4.2.12 + '@smithy/util-middleware': 4.2.13 '@smithy/util-uri-escape': 4.2.2 '@smithy/util-utf8': 4.2.2 tslib: 2.8.1 - '@smithy/smithy-client@4.12.7': + '@smithy/smithy-client@4.12.9': dependencies: - '@smithy/core': 3.23.12 - '@smithy/middleware-endpoint': 4.4.27 - '@smithy/middleware-stack': 4.2.12 - '@smithy/protocol-http': 5.3.12 - '@smithy/types': 4.13.1 - '@smithy/util-stream': 4.5.20 + '@smithy/core': 3.23.14 + '@smithy/middleware-endpoint': 4.4.29 + '@smithy/middleware-stack': 4.2.13 + '@smithy/protocol-http': 5.3.13 + '@smithy/types': 4.14.0 + '@smithy/util-stream': 4.5.22 tslib: 2.8.1 - '@smithy/types@4.13.1': + '@smithy/types@4.14.0': dependencies: tslib: 2.8.1 - '@smithy/url-parser@4.2.12': + '@smithy/url-parser@4.2.13': dependencies: - '@smithy/querystring-parser': 4.2.12 - '@smithy/types': 4.13.1 + '@smithy/querystring-parser': 4.2.13 + '@smithy/types': 4.14.0 tslib: 2.8.1 '@smithy/util-base64@4.3.2': @@ -7259,49 +7186,49 @@ snapshots: dependencies: tslib: 2.8.1 - '@smithy/util-defaults-mode-browser@4.3.43': + '@smithy/util-defaults-mode-browser@4.3.45': dependencies: - '@smithy/property-provider': 4.2.12 - '@smithy/smithy-client': 4.12.7 - '@smithy/types': 4.13.1 + '@smithy/property-provider': 4.2.13 + '@smithy/smithy-client': 4.12.9 + '@smithy/types': 4.14.0 tslib: 2.8.1 - '@smithy/util-defaults-mode-node@4.2.47': + '@smithy/util-defaults-mode-node@4.2.49': dependencies: - '@smithy/config-resolver': 4.4.13 - '@smithy/credential-provider-imds': 4.2.12 - '@smithy/node-config-provider': 4.3.12 - '@smithy/property-provider': 4.2.12 - '@smithy/smithy-client': 4.12.7 - '@smithy/types': 4.13.1 + '@smithy/config-resolver': 4.4.14 + '@smithy/credential-provider-imds': 4.2.13 + '@smithy/node-config-provider': 4.3.13 + '@smithy/property-provider': 4.2.13 + '@smithy/smithy-client': 4.12.9 + '@smithy/types': 4.14.0 tslib: 2.8.1 - '@smithy/util-endpoints@3.3.3': + '@smithy/util-endpoints@3.3.4': dependencies: - '@smithy/node-config-provider': 4.3.12 - '@smithy/types': 4.13.1 + '@smithy/node-config-provider': 4.3.13 + '@smithy/types': 4.14.0 tslib: 2.8.1 '@smithy/util-hex-encoding@4.2.2': dependencies: tslib: 2.8.1 - '@smithy/util-middleware@4.2.12': + '@smithy/util-middleware@4.2.13': dependencies: - '@smithy/types': 4.13.1 + '@smithy/types': 4.14.0 tslib: 2.8.1 - '@smithy/util-retry@4.2.12': + '@smithy/util-retry@4.3.0': dependencies: - '@smithy/service-error-classification': 4.2.12 - '@smithy/types': 4.13.1 + '@smithy/service-error-classification': 4.2.13 + '@smithy/types': 4.14.0 tslib: 2.8.1 - '@smithy/util-stream@4.5.20': + '@smithy/util-stream@4.5.22': dependencies: - '@smithy/fetch-http-handler': 5.3.15 - '@smithy/node-http-handler': 4.5.0 - '@smithy/types': 4.13.1 + '@smithy/fetch-http-handler': 5.3.16 + '@smithy/node-http-handler': 4.5.2 + '@smithy/types': 4.14.0 '@smithy/util-base64': 4.3.2 '@smithy/util-buffer-from': 4.2.2 '@smithy/util-hex-encoding': 4.2.2 @@ -7322,10 +7249,9 @@ snapshots: '@smithy/util-buffer-from': 4.2.2 tslib: 2.8.1 - '@smithy/util-waiter@4.2.13': + '@smithy/util-waiter@4.2.15': dependencies: - '@smithy/abort-controller': 4.2.12 - '@smithy/types': 4.13.1 + '@smithy/types': 4.14.0 tslib: 2.8.1 '@smithy/uuid@1.1.2': @@ -7666,7 +7592,7 @@ snapshots: dependencies: '@peculiar/x509': 1.14.3 asn1js: 3.0.7 - axios: 1.13.6(debug@4.4.3) + axios: 1.14.0(debug@4.4.3) debug: 4.4.3 node-forge: 1.4.0 transitivePeerDependencies: @@ -7716,11 +7642,11 @@ snapshots: await-to-js@3.0.0: {} - axios@1.13.6(debug@4.4.3): + axios@1.14.0(debug@4.4.3): dependencies: follow-redirects: 1.15.11(debug@4.4.3) form-data: 4.0.5 - proxy-from-env: 1.1.0 + proxy-from-env: 2.1.0 transitivePeerDependencies: - debug @@ -7734,24 +7660,24 @@ snapshots: bare-events@2.8.2: {} - bare-fs@4.5.6: + bare-fs@4.6.0: dependencies: bare-events: 2.8.2 bare-path: 3.0.0 - bare-stream: 2.11.0(bare-events@2.8.2) + bare-stream: 2.12.0(bare-events@2.8.2) bare-url: 2.4.0 fast-fifo: 1.3.2 transitivePeerDependencies: - bare-abort-controller - react-native-b4a - bare-os@3.8.0: {} + bare-os@3.8.7: {} bare-path@3.0.0: dependencies: - bare-os: 3.8.0 + bare-os: 3.8.7 - bare-stream@2.11.0(bare-events@2.8.2): + bare-stream@2.12.0(bare-events@2.8.2): dependencies: streamx: 2.25.0 teex: 1.0.1 @@ -7871,8 +7797,6 @@ snapshots: dependencies: source-map: 0.6.1 - clean-stack@1.3.0: {} - cli-width@4.1.0: {} cliui@6.0.0: @@ -8073,34 +7997,34 @@ snapshots: has-tostringtag: 1.0.2 hasown: 2.0.2 - esbuild@0.27.4: + esbuild@0.27.7: optionalDependencies: - '@esbuild/aix-ppc64': 0.27.4 - '@esbuild/android-arm': 0.27.4 - '@esbuild/android-arm64': 0.27.4 - '@esbuild/android-x64': 0.27.4 - '@esbuild/darwin-arm64': 0.27.4 - '@esbuild/darwin-x64': 0.27.4 - '@esbuild/freebsd-arm64': 0.27.4 - '@esbuild/freebsd-x64': 0.27.4 - '@esbuild/linux-arm': 0.27.4 - '@esbuild/linux-arm64': 0.27.4 - '@esbuild/linux-ia32': 0.27.4 - '@esbuild/linux-loong64': 0.27.4 - '@esbuild/linux-mips64el': 0.27.4 - '@esbuild/linux-ppc64': 0.27.4 - '@esbuild/linux-riscv64': 0.27.4 - '@esbuild/linux-s390x': 0.27.4 - '@esbuild/linux-x64': 0.27.4 - '@esbuild/netbsd-arm64': 0.27.4 - '@esbuild/netbsd-x64': 0.27.4 - '@esbuild/openbsd-arm64': 0.27.4 - '@esbuild/openbsd-x64': 0.27.4 - '@esbuild/openharmony-arm64': 0.27.4 - '@esbuild/sunos-x64': 0.27.4 - '@esbuild/win32-arm64': 0.27.4 - '@esbuild/win32-ia32': 0.27.4 - '@esbuild/win32-x64': 0.27.4 + '@esbuild/aix-ppc64': 0.27.7 + '@esbuild/android-arm': 0.27.7 + '@esbuild/android-arm64': 0.27.7 + '@esbuild/android-x64': 0.27.7 + '@esbuild/darwin-arm64': 0.27.7 + '@esbuild/darwin-x64': 0.27.7 + '@esbuild/freebsd-arm64': 0.27.7 + '@esbuild/freebsd-x64': 0.27.7 + '@esbuild/linux-arm': 0.27.7 + '@esbuild/linux-arm64': 0.27.7 + '@esbuild/linux-ia32': 0.27.7 + '@esbuild/linux-loong64': 0.27.7 + '@esbuild/linux-mips64el': 0.27.7 + '@esbuild/linux-ppc64': 0.27.7 + '@esbuild/linux-riscv64': 0.27.7 + '@esbuild/linux-s390x': 0.27.7 + '@esbuild/linux-x64': 0.27.7 + '@esbuild/netbsd-arm64': 0.27.7 + '@esbuild/netbsd-x64': 0.27.7 + '@esbuild/openbsd-arm64': 0.27.7 + '@esbuild/openbsd-x64': 0.27.7 + '@esbuild/openharmony-arm64': 0.27.7 + '@esbuild/sunos-x64': 0.27.7 + '@esbuild/win32-arm64': 0.27.7 + '@esbuild/win32-ia32': 0.27.7 + '@esbuild/win32-x64': 0.27.7 escalade@3.2.0: {} @@ -8134,8 +8058,6 @@ snapshots: transitivePeerDependencies: - bare-abort-controller - events@3.3.0: {} - exif-parser@0.1.12: {} extend@3.0.2: {} @@ -8168,23 +8090,23 @@ snapshots: fast-xml-builder@1.1.4: dependencies: - path-expression-matcher: 1.2.0 + path-expression-matcher: 1.4.0 - fast-xml-parser@4.5.5: + fast-xml-parser@4.5.6: dependencies: strnum: 1.1.2 + fast-xml-parser@5.5.10: + dependencies: + fast-xml-builder: 1.1.4 + path-expression-matcher: 1.4.0 + strnum: 2.2.3 + fast-xml-parser@5.5.8: dependencies: fast-xml-builder: 1.1.4 - path-expression-matcher: 1.2.0 - strnum: 2.2.2 - - fast-xml-parser@5.5.9: - dependencies: - fast-xml-builder: 1.1.4 - path-expression-matcher: 1.2.0 - strnum: 2.2.2 + path-expression-matcher: 1.4.0 + strnum: 2.2.3 fault@2.0.1: dependencies: @@ -8200,12 +8122,6 @@ snapshots: dependencies: is-unicode-supported: 2.1.0 - file-type@16.5.4: - dependencies: - readable-web-to-node-stream: 3.0.4 - strtok3: 6.3.0 - token-types: 4.2.1 - file-type@19.6.0: dependencies: get-stream: 9.0.1 @@ -8331,7 +8247,7 @@ snapshots: dependencies: foreground-child: 3.3.1 jackspeak: 4.2.3 - minimatch: 10.2.4 + minimatch: 10.2.5 minipass: 7.1.3 package-json-from-dist: 1.0.1 path-scurry: 2.0.2 @@ -8558,35 +8474,37 @@ snapshots: dependencies: '@isaacs/cliui': 9.0.0 - jimp@1.6.0: + jimp@1.6.1: dependencies: - '@jimp/core': 1.6.0 - '@jimp/diff': 1.6.0 - '@jimp/js-bmp': 1.6.0 - '@jimp/js-gif': 1.6.0 - '@jimp/js-jpeg': 1.6.0 - '@jimp/js-png': 1.6.0 - '@jimp/js-tiff': 1.6.0 - '@jimp/plugin-blit': 1.6.0 - '@jimp/plugin-blur': 1.6.0 - '@jimp/plugin-circle': 1.6.0 - '@jimp/plugin-color': 1.6.0 - '@jimp/plugin-contain': 1.6.0 - '@jimp/plugin-cover': 1.6.0 - '@jimp/plugin-crop': 1.6.0 - '@jimp/plugin-displace': 1.6.0 - '@jimp/plugin-dither': 1.6.0 - '@jimp/plugin-fisheye': 1.6.0 - '@jimp/plugin-flip': 1.6.0 - '@jimp/plugin-hash': 1.6.0 - '@jimp/plugin-mask': 1.6.0 - '@jimp/plugin-print': 1.6.0 - '@jimp/plugin-quantize': 1.6.0 - '@jimp/plugin-resize': 1.6.0 - '@jimp/plugin-rotate': 1.6.0 - '@jimp/plugin-threshold': 1.6.0 - '@jimp/types': 1.6.0 - '@jimp/utils': 1.6.0 + '@jimp/core': 1.6.1 + '@jimp/diff': 1.6.1 + '@jimp/js-bmp': 1.6.1 + '@jimp/js-gif': 1.6.1 + '@jimp/js-jpeg': 1.6.1 + '@jimp/js-png': 1.6.1 + '@jimp/js-tiff': 1.6.1 + '@jimp/plugin-blit': 1.6.1 + '@jimp/plugin-blur': 1.6.1 + '@jimp/plugin-circle': 1.6.1 + '@jimp/plugin-color': 1.6.1 + '@jimp/plugin-contain': 1.6.1 + '@jimp/plugin-cover': 1.6.1 + '@jimp/plugin-crop': 1.6.1 + '@jimp/plugin-displace': 1.6.1 + '@jimp/plugin-dither': 1.6.1 + '@jimp/plugin-fisheye': 1.6.1 + '@jimp/plugin-flip': 1.6.1 + '@jimp/plugin-hash': 1.6.1 + '@jimp/plugin-mask': 1.6.1 + '@jimp/plugin-print': 1.6.1 + '@jimp/plugin-quantize': 1.6.1 + '@jimp/plugin-resize': 1.6.1 + '@jimp/plugin-rotate': 1.6.1 + '@jimp/plugin-threshold': 1.6.1 + '@jimp/types': 1.6.1 + '@jimp/utils': 1.6.1 + transitivePeerDependencies: + - supports-color jpeg-js@0.4.4: {} @@ -8710,7 +8628,7 @@ snapshots: lowercase-keys@3.0.0: {} - lru-cache@11.2.7: {} + lru-cache@11.3.2: {} lru-cache@7.18.3: {} @@ -8733,12 +8651,6 @@ snapshots: dependencies: semver: 6.3.1 - make-error-cause@2.3.0: - dependencies: - make-error: 1.3.6 - - make-error@1.3.6: {} - markdown-it@14.1.1: dependencies: argparse: 2.0.1 @@ -8760,10 +8672,10 @@ snapshots: math-random@1.0.4: {} - maxmind@5.0.5: + maxmind@5.0.6: dependencies: mmdb-lib: 3.0.2 - tiny-lru: 11.4.7 + tiny-lru: 13.0.0 mdast-util-find-and-replace@3.0.2: dependencies: @@ -9106,11 +9018,7 @@ snapshots: mimic-response@4.0.0: {} - mingo@7.2.0: {} - - minimatch@10.2.4: - dependencies: - brace-expansion: 5.0.5 + mingo@7.2.1: {} minimatch@10.2.5: dependencies: @@ -9160,7 +9068,7 @@ snapshots: semver: 7.7.4 tar-stream: 3.1.8 tslib: 2.8.1 - yauzl: 3.2.1 + yauzl: 3.3.0 transitivePeerDependencies: - '@aws-sdk/credential-providers' - '@mongodb-js/zstd' @@ -9215,7 +9123,7 @@ snapshots: neo-async@2.6.2: {} - netmask@2.0.2: {} + netmask@2.1.0: {} new-find-package-json@2.0.0: dependencies: @@ -9306,7 +9214,7 @@ snapshots: pac-resolver@7.0.1: dependencies: degenerator: 5.0.1 - netmask: 2.0.2 + netmask: 2.1.0 package-json-from-dist@1.0.1: {} @@ -9352,7 +9260,7 @@ snapshots: path-exists@4.0.0: {} - path-expression-matcher@1.2.0: {} + path-expression-matcher@1.4.0: {} path-is-absolute@1.0.1: {} @@ -9360,10 +9268,10 @@ snapshots: path-scurry@2.0.2: dependencies: - lru-cache: 11.2.7 + lru-cache: 11.3.2 minipass: 7.1.3 - path-to-regexp@8.4.0: {} + path-to-regexp@8.4.2: {} pdf-lib@1.17.1: dependencies: @@ -9380,8 +9288,6 @@ snapshots: peberminta@0.9.0: {} - peek-readable@4.1.0: {} - peek-readable@5.4.2: {} pend@1.2.0: {} @@ -9408,8 +9314,6 @@ snapshots: dependencies: parse-ms: 4.0.0 - process@0.11.10: {} - progress@2.0.3: {} property-information@7.1.0: {} @@ -9534,6 +9438,8 @@ snapshots: proxy-from-env@1.1.0: {} + proxy-from-env@2.1.0: {} + pump@3.0.4: dependencies: end-of-stream: 1.4.5 @@ -9616,18 +9522,6 @@ snapshots: string_decoder: 1.3.0 util-deprecate: 1.0.2 - readable-stream@4.7.0: - dependencies: - abort-controller: 3.0.0 - buffer: 6.0.3 - events: 3.3.0 - process: 0.11.10 - string_decoder: 1.3.0 - - readable-web-to-node-stream@3.0.4: - dependencies: - readable-stream: 4.7.0 - readdirp@5.0.0: {} reflect-metadata@0.2.2: {} @@ -9705,7 +9599,7 @@ snapshots: dependencies: glob: 7.2.3 - rolldown@1.0.0-rc.11: + rolldown@1.0.0-rc.11(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2): dependencies: '@oxc-project/types': 0.122.0 '@rolldown/pluginutils': 1.0.0-rc.11 @@ -9722,9 +9616,12 @@ snapshots: '@rolldown/binding-linux-x64-gnu': 1.0.0-rc.11 '@rolldown/binding-linux-x64-musl': 1.0.0-rc.11 '@rolldown/binding-openharmony-arm64': 1.0.0-rc.11 - '@rolldown/binding-wasm32-wasi': 1.0.0-rc.11 + '@rolldown/binding-wasm32-wasi': 1.0.0-rc.11(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) '@rolldown/binding-win32-arm64-msvc': 1.0.0-rc.11 '@rolldown/binding-win32-x64-msvc': 1.0.0-rc.11 + transitivePeerDependencies: + - '@emnapi/core' + - '@emnapi/runtime' rope-sequence@1.3.4: {} @@ -9828,7 +9725,7 @@ snapshots: signal-exit@4.1.0: {} - simple-xml-to-json@1.2.4: {} + simple-xml-to-json@1.2.7: {} smart-buffer@4.2.0: {} @@ -9898,17 +9795,12 @@ snapshots: strnum@1.1.2: {} - strnum@2.2.2: {} + strnum@2.2.3: {} strtok3@10.3.5: dependencies: '@tokenizer/token': 0.3.0 - strtok3@6.3.0: - dependencies: - '@tokenizer/token': 0.3.0 - peek-readable: 4.1.0 - strtok3@9.1.1: dependencies: '@tokenizer/token': 0.3.0 @@ -9925,7 +9817,7 @@ snapshots: pump: 3.0.4 tar-stream: 3.1.8 optionalDependencies: - bare-fs: 4.5.6 + bare-fs: 4.6.0 bare-path: 3.0.0 transitivePeerDependencies: - bare-abort-controller @@ -9935,7 +9827,7 @@ snapshots: tar-stream@3.1.8: dependencies: b4a: 1.8.0 - bare-fs: 4.5.6 + bare-fs: 4.6.0 fast-fifo: 1.3.2 streamx: 2.25.0 transitivePeerDependencies: @@ -9971,7 +9863,7 @@ snapshots: dependencies: readable-stream: 3.6.2 - tiny-lru@11.4.7: {} + tiny-lru@13.0.0: {} tiny-worker@2.3.0: dependencies: @@ -9985,11 +9877,6 @@ snapshots: dependencies: os-tmpdir: 1.0.2 - token-types@4.2.1: - dependencies: - '@tokenizer/token': 0.3.0 - ieee754: 1.2.1 - token-types@6.1.2: dependencies: '@borewit/text-codec': 0.2.2 @@ -10016,7 +9903,7 @@ snapshots: tsx@4.21.0: dependencies: - esbuild: 0.27.4 + esbuild: 0.27.7 get-tsconfig: 4.13.7 optionalDependencies: fsevents: 2.3.3 @@ -10027,7 +9914,7 @@ snapshots: turndown-plugin-gfm@1.0.2: {} - turndown@7.2.2: + turndown@7.2.4: dependencies: '@mixmark-io/domino': 2.2.0 @@ -10230,7 +10117,7 @@ snapshots: buffer-crc32: 0.2.13 fd-slicer: 1.1.0 - yauzl@3.2.1: + yauzl@3.3.0: dependencies: buffer-crc32: 0.2.13 pend: 1.2.0 diff --git a/ts/00_commitinfo_data.ts b/ts/00_commitinfo_data.ts index 81fbbbd..56cec2a 100644 --- a/ts/00_commitinfo_data.ts +++ b/ts/00_commitinfo_data.ts @@ -3,6 +3,6 @@ */ export const commitinfo = { name: '@serve.zone/dcrouter', - version: '13.0.11', + version: '13.1.0', description: 'A multifaceted routing service handling mail and SMS delivery functions.' } diff --git a/ts/classes.dcrouter.ts b/ts/classes.dcrouter.ts index 48c2305..1db5532 100644 --- a/ts/classes.dcrouter.ts +++ b/ts/classes.dcrouter.ts @@ -15,6 +15,9 @@ import { StorageBackedCertManager } from './classes.storage-cert-manager.js'; import { CertProvisionScheduler } from './classes.cert-provision-scheduler.js'; // Import unified database import { DcRouterDb, type IDcRouterDbConfig, CacheCleaner, ProxyCertDoc, AcmeCertDoc } from './db/index.js'; +// Import migration runner and app version +import { createMigrationRunner } from '../ts_migrations/index.js'; +import { commitinfo } from './00_commitinfo_data.js'; import { OpsServer } from './opsserver/index.js'; import { MetricsManager } from './monitoring/index.js'; @@ -775,6 +778,19 @@ export class DcRouter { await this.dcRouterDb.start(); + // Run any pending data migrations before anything else reads from the DB. + // This must complete before ConfigManagers loads profiles. + const migration = await createMigrationRunner(this.dcRouterDb.getDb(), commitinfo.version); + const migrationResult = await migration.run(); + if (migrationResult.stepsApplied.length > 0) { + logger.log('info', + `smartmigration: ${migrationResult.currentVersionBefore ?? 'fresh'} → ${migrationResult.currentVersionAfter} ` + + `(${migrationResult.stepsApplied.length} step(s) applied in ${migrationResult.totalDurationMs}ms)`, + ); + } else if (migrationResult.wasFreshInstall) { + logger.log('info', `smartmigration: fresh install stamped to ${migrationResult.currentVersionAfter}`); + } + // Start the cache cleaner for TTL-based document cleanup const cleanupIntervalMs = (dbConfig.cleanupIntervalHours || 1) * 60 * 60 * 1000; this.cacheCleaner = new CacheCleaner(this.dcRouterDb, { @@ -1042,15 +1058,9 @@ export class DcRouter { }); }); - this.smartProxy.on('certificate-renewed', (event: plugins.smartproxy.ICertificateIssuedEvent) => { - logger.log('info', `Certificate renewed for ${event.domain} via ${event.source}, expires ${event.expiryDate}`); - const routeNames = this.findRouteNamesForDomain(event.domain); - this.certificateStatusMap.set(event.domain, { - status: 'valid', routeNames, - expiryDate: event.expiryDate, issuedAt: new Date().toISOString(), - source: event.source, - }); - }); + // Note: smartproxy v27.5.0 emits only 'certificate-issued' and 'certificate-failed'. + // Renewals come through 'certificate-issued' (with optional isRenewal? in the payload). + // The vestigial 'certificate-renewed' event from common-types.ts is never emitted. this.smartProxy.on('certificate-failed', (event: plugins.smartproxy.ICertificateFailedEvent) => { logger.log('error', `Certificate failed for ${event.domain} (${event.source}): ${event.error}`); diff --git a/ts/config/classes.route-config-manager.ts b/ts/config/classes.route-config-manager.ts index c948985..7bfa57e 100644 --- a/ts/config/classes.route-config-manager.ts +++ b/ts/config/classes.route-config-manager.ts @@ -12,6 +12,9 @@ import type { IDcRouterRouteConfig } from '../../ts_interfaces/data/remoteingres import { type IHttp3Config, augmentRouteWithHttp3 } from '../http3/index.js'; import type { ReferenceResolver } from './classes.reference-resolver.js'; +/** An IP allow entry: plain IP/CIDR or domain-scoped. */ +export type TIpAllowEntry = string | { ip: string; domains: string[] }; + /** * Simple async mutex — serializes concurrent applyRoutes() calls so the Rust engine * never receives rapid overlapping route updates that can churn UDP/QUIC listeners. @@ -52,7 +55,7 @@ export class RouteConfigManager { private getHardcodedRoutes: () => plugins.smartproxy.IRouteConfig[], private getSmartProxy: () => plugins.smartproxy.SmartProxy | undefined, private getHttp3Config?: () => IHttp3Config | undefined, - private getVpnClientIpsForRoute?: (route: IDcRouterRouteConfig, routeId?: string) => string[], + private getVpnClientIpsForRoute?: (route: IDcRouterRouteConfig, routeId?: string) => TIpAllowEntry[], private referenceResolver?: ReferenceResolver, private onRoutesApplied?: (routes: plugins.smartproxy.IRouteConfig[]) => void, ) {} @@ -402,13 +405,13 @@ export class RouteConfigManager { if (!vpnCallback) return route; const dcRoute = route as IDcRouterRouteConfig; if (!dcRoute.vpnOnly) return route; - const vpnIps = vpnCallback(dcRoute, routeId); - const existingIps = route.security?.ipAllowList || []; + const vpnEntries = vpnCallback(dcRoute, routeId); + const existingEntries = route.security?.ipAllowList || []; return { ...route, security: { ...route.security, - ipAllowList: [...existingIps, ...vpnIps], + ipAllowList: [...existingEntries, ...vpnEntries], }, }; }; diff --git a/ts/config/classes.target-profile-manager.ts b/ts/config/classes.target-profile-manager.ts index be12b76..802e183 100644 --- a/ts/config/classes.target-profile-manager.ts +++ b/ts/config/classes.target-profile-manager.ts @@ -146,7 +146,7 @@ export class TargetProfileManager { // ========================================================================= /** - * For a set of target profile IDs, collect all explicit target host IPs. + * For a set of target profile IDs, collect all explicit target IPs. * These IPs bypass the SmartProxy forceTarget rewrite — VPN clients can * connect to them directly through the tunnel. */ @@ -156,7 +156,7 @@ export class TargetProfileManager { const profile = this.profiles.get(profileId); if (!profile?.targets?.length) continue; for (const t of profile.targets) { - ips.add(t.host); + ips.add(t.ip); } } return [...ips]; @@ -168,32 +168,50 @@ export class TargetProfileManager { /** * For a vpnOnly route, find all enabled VPN clients whose assigned TargetProfile - * matches the route. Returns their assigned IPs for injection into ipAllowList. + * matches the route. Returns IP allow entries for injection into ipAllowList. + * + * Entries are domain-scoped when a profile matches via specific domains that are + * a subset of the route's wildcard. Plain IPs are returned for routeRef/target matches + * or when profile domains exactly equal the route's domains. */ public getMatchingClientIps( route: IDcRouterRouteConfig, routeId: string | undefined, clients: VpnClientDoc[], - ): string[] { - const ips: string[] = []; + ): Array { + const entries: Array = []; + const routeDomains: string[] = (route.match as any)?.domains || []; for (const client of clients) { if (!client.enabled || !client.assignedIp) continue; if (!client.targetProfileIds?.length) continue; - // Check if any of the client's profiles match this route - const matches = client.targetProfileIds.some((profileId) => { - const profile = this.profiles.get(profileId); - if (!profile) return false; - return this.routeMatchesProfile(route, routeId, profile); - }); + // Collect scoped domains from all matching profiles for this client + let fullAccess = false; + const scopedDomains = new Set(); - if (matches) { - ips.push(client.assignedIp); + for (const profileId of client.targetProfileIds) { + const profile = this.profiles.get(profileId); + if (!profile) continue; + + const matchResult = this.routeMatchesProfileDetailed(route, routeId, profile, routeDomains); + if (matchResult === 'full') { + fullAccess = true; + break; // No need to check more profiles + } + if (matchResult !== 'none') { + for (const d of matchResult.domains) scopedDomains.add(d); + } + } + + if (fullAccess) { + entries.push(client.assignedIp); + } else if (scopedDomains.size > 0) { + entries.push({ ip: client.assignedIp, domains: [...scopedDomains] }); } } - return ips; + return entries; } /** @@ -223,7 +241,7 @@ export class TargetProfileManager { // Direct target IP entries if (profile.targets?.length) { for (const t of profile.targets) { - targetIps.add(t.host); + targetIps.add(t.ip); } } @@ -264,34 +282,67 @@ export class TargetProfileManager { // ========================================================================= /** - * Check if a route matches a profile. A profile matches if ANY condition is true: - * 1. Profile's routeRefs contains the route's name or stored route id - * 2. Profile's domains overlaps with route.match.domains (wildcard matching) - * 3. Profile's targets overlaps with route.action.targets (host + port match) + * Check if a route matches a profile (boolean convenience wrapper). */ private routeMatchesProfile( route: IDcRouterRouteConfig, routeId: string | undefined, profile: ITargetProfile, ): boolean { - // 1. Route reference match + const routeDomains: string[] = (route.match as any)?.domains || []; + const result = this.routeMatchesProfileDetailed(route, routeId, profile, routeDomains); + return result !== 'none'; + } + + /** + * Detailed match: returns 'full' (plain IP, entire route), 'scoped' (domain-limited), + * or 'none' (no match). + * + * - routeRefs / target matches → 'full' (explicit reference = full access) + * - domain match where profile domains are a subset of route wildcard → 'scoped' + * - domain match where domains are identical or profile is a wildcard → 'full' + */ + private routeMatchesProfileDetailed( + route: IDcRouterRouteConfig, + routeId: string | undefined, + profile: ITargetProfile, + routeDomains: string[], + ): 'full' | { type: 'scoped'; domains: string[] } | 'none' { + // 1. Route reference match → full access if (profile.routeRefs?.length) { - if (routeId && profile.routeRefs.includes(routeId)) return true; - if (route.name && profile.routeRefs.includes(route.name)) return true; + if (routeId && profile.routeRefs.includes(routeId)) return 'full'; + if (route.name && profile.routeRefs.includes(route.name)) return 'full'; } - // 2. Domain match (bidirectional: profile-specific + route-wildcard, or vice versa) - if (profile.domains?.length) { - const routeDomains: string[] = (route.match as any)?.domains || []; + // 2. Domain match + if (profile.domains?.length && routeDomains.length) { + const matchedProfileDomains: string[] = []; + for (const profileDomain of profile.domains) { for (const routeDomain of routeDomains) { if (this.domainMatchesPattern(routeDomain, profileDomain) || - this.domainMatchesPattern(profileDomain, routeDomain)) return true; + this.domainMatchesPattern(profileDomain, routeDomain)) { + matchedProfileDomains.push(profileDomain); + break; // This profileDomain matched, move to the next + } } } + + if (matchedProfileDomains.length > 0) { + // Check if profile domains cover the route entirely (same wildcards = full access) + const isFullCoverage = routeDomains.every((rd) => + matchedProfileDomains.some((pd) => + rd === pd || this.domainMatchesPattern(rd, pd), + ), + ); + if (isFullCoverage) return 'full'; + + // Profile domains are a subset → scoped access to those specific domains + return { type: 'scoped', domains: matchedProfileDomains }; + } } - // 3. Target match (host + port) + // 3. Target match (host + port) → full access (precise by nature) if (profile.targets?.length) { const routeTargets = (route.action as any)?.targets; if (Array.isArray(routeTargets)) { @@ -299,15 +350,15 @@ export class TargetProfileManager { for (const routeTarget of routeTargets) { const routeHost = routeTarget.host; const routePort = routeTarget.port; - if (routeHost === profileTarget.host && routePort === profileTarget.port) { - return true; + if (routeHost === profileTarget.ip && routePort === profileTarget.port) { + return 'full'; } } } } } - return false; + return 'none'; } /** diff --git a/ts/db/documents/classes.vpn-client.doc.ts b/ts/db/documents/classes.vpn-client.doc.ts index bb62644..870ec22 100644 --- a/ts/db/documents/classes.vpn-client.doc.ts +++ b/ts/db/documents/classes.vpn-client.doc.ts @@ -39,9 +39,6 @@ export class VpnClientDoc extends plugins.smartdata.SmartDataDbDoc { const dcRouter = this.opsServerRef.dcRouterRef; @@ -305,13 +310,19 @@ export class CertificateHandler { return { success: false, message: 'SmartProxy is not running' }; } + // Clear event-based status for domains in this route so the + // certificate-issued event can refresh them + for (const [domain, entry] of dcRouter.certificateStatusMap) { + if (entry.routeNames.includes(routeName)) { + dcRouter.certificateStatusMap.delete(domain); + } + } + try { - await smartProxy.provisionCertificate(routeName); - // Clear event-based status for domains in this route - for (const [domain, entry] of dcRouter.certificateStatusMap) { - if (entry.routeNames.includes(routeName)) { - dcRouter.certificateStatusMap.delete(domain); - } + if (dcRouter.routeConfigManager) { + await dcRouter.routeConfigManager.applyRoutes(); + } else { + await smartProxy.updateRoutes(smartProxy.routeManager.getRoutes()); } return { success: true, message: `Certificate reprovisioning triggered for route '${routeName}'` }; } catch (err: unknown) { @@ -320,7 +331,16 @@ export class CertificateHandler { } /** - * Domain-based reprovisioning — clears backoff first, then triggers provision + * Domain-based reprovisioning — clears backoff first, refreshes the smartacme + * cert (when forceRenew is set), then re-applies routes so the running Rust + * proxy actually picks up the new cert. + * + * Why applyRoutes (not smartProxy.provisionCertificate)? + * smartProxy.provisionCertificate(routeName) routes through the Rust ACME + * path, which is forcibly disabled whenever certProvisionFunction is set + * (smart-proxy.ts:168-171). The only path that re-invokes + * certProvisionFunction → bridge.loadCertificate is updateRoutes(), which + * we trigger via routeConfigManager.applyRoutes(). */ private async reprovisionCertificateDomain(domain: string, forceRenew?: boolean): Promise<{ success: boolean; message?: string }> { const dcRouter = this.opsServerRef.dcRouterRef; @@ -335,28 +355,37 @@ export class CertificateHandler { await dcRouter.certProvisionScheduler.clearBackoff(domain); } - // Find routes matching this domain — needed to provision through SmartProxy + // Find routes matching this domain — fail early if none exist const routeNames = dcRouter.findRouteNamesForDomain(domain); if (routeNames.length === 0) { return { success: false, message: `No routes found for domain '${domain}'` }; } - // If forceRenew, invalidate SmartAcme's cache so the next provision gets a fresh cert + // If forceRenew, order a fresh cert from ACME now so it's already in + // AcmeCertDoc by the time certProvisionFunction is invoked below. if (forceRenew && dcRouter.smartAcme) { try { await dcRouter.smartAcme.getCertificateForDomain(domain, { forceRenew: true }); - } catch { - // Cache invalidation failed — proceed with provisioning anyway + } catch (err: unknown) { + return { success: false, message: `Failed to renew certificate for ${domain}: ${(err as Error).message}` }; } } // Clear status map entry so it gets refreshed by the certificate-issued event dcRouter.certificateStatusMap.delete(domain); - // Provision through SmartProxy — this triggers the full pipeline: - // certProvisionFunction → bridge.loadCertificate → certificate-issued event → status map updated + // Trigger the full route apply pipeline: + // applyRoutes → updateRoutes → provisionCertificatesViaCallback → + // certProvisionFunction(domain) → smartAcme.getCertificateForDomain → + // bridge.loadCertificate → Rust hot-swaps `loaded_certs` → + // certificate-issued event → certificateStatusMap updated try { - await smartProxy.provisionCertificate(routeNames[0]); + if (dcRouter.routeConfigManager) { + await dcRouter.routeConfigManager.applyRoutes(); + } else { + // Fallback when DB is disabled and there is no RouteConfigManager + await smartProxy.updateRoutes(smartProxy.routeManager.getRoutes()); + } return { success: true, message: forceRenew ? `Certificate force-renewed for domain '${domain}'` : `Certificate reprovisioning triggered for domain '${domain}'` }; } catch (err: unknown) { return { success: false, message: (err as Error).message || `Failed to reprovision certificate for ${domain}` }; diff --git a/ts/opsserver/handlers/vpn.handler.ts b/ts/opsserver/handlers/vpn.handler.ts index 1fba457..bbf6933 100644 --- a/ts/opsserver/handlers/vpn.handler.ts +++ b/ts/opsserver/handlers/vpn.handler.ts @@ -31,7 +31,6 @@ export class VpnHandler { createdAt: c.createdAt, updatedAt: c.updatedAt, expiresAt: c.expiresAt, - forceDestinationSmartproxy: c.forceDestinationSmartproxy ?? true, destinationAllowList: c.destinationAllowList, destinationBlockList: c.destinationBlockList, useHostIp: c.useHostIp, @@ -122,7 +121,6 @@ export class VpnHandler { clientId: dataArg.clientId, targetProfileIds: dataArg.targetProfileIds, description: dataArg.description, - forceDestinationSmartproxy: dataArg.forceDestinationSmartproxy, destinationAllowList: dataArg.destinationAllowList, destinationBlockList: dataArg.destinationBlockList, useHostIp: dataArg.useHostIp, @@ -148,7 +146,6 @@ export class VpnHandler { createdAt: Date.now(), updatedAt: Date.now(), expiresAt: bundle.entry.expiresAt, - forceDestinationSmartproxy: persistedClient?.forceDestinationSmartproxy ?? true, destinationAllowList: persistedClient?.destinationAllowList, destinationBlockList: persistedClient?.destinationBlockList, useHostIp: persistedClient?.useHostIp, @@ -180,7 +177,6 @@ export class VpnHandler { await manager.updateClient(dataArg.clientId, { description: dataArg.description, targetProfileIds: dataArg.targetProfileIds, - forceDestinationSmartproxy: dataArg.forceDestinationSmartproxy, destinationAllowList: dataArg.destinationAllowList, destinationBlockList: dataArg.destinationBlockList, useHostIp: dataArg.useHostIp, diff --git a/ts/tspublish.json b/ts/tspublish.json index c435a12..504132b 100644 --- a/ts/tspublish.json +++ b/ts/tspublish.json @@ -1,3 +1,3 @@ { - "order": 2 + "order": 3 } diff --git a/ts/vpn/classes.vpn-manager.ts b/ts/vpn/classes.vpn-manager.ts index c14eb7c..52acbb5 100644 --- a/ts/vpn/classes.vpn-manager.ts +++ b/ts/vpn/classes.vpn-manager.ts @@ -201,7 +201,6 @@ export class VpnManager { clientId: string; targetProfileIds?: string[]; description?: string; - forceDestinationSmartproxy?: boolean; destinationAllowList?: string[]; destinationBlockList?: string[]; useHostIp?: boolean; @@ -242,9 +241,6 @@ export class VpnManager { doc.createdAt = Date.now(); doc.updatedAt = Date.now(); doc.expiresAt = bundle.entry.expiresAt; - if (opts.forceDestinationSmartproxy !== undefined) { - doc.forceDestinationSmartproxy = opts.forceDestinationSmartproxy; - } if (opts.destinationAllowList !== undefined) { doc.destinationAllowList = opts.destinationAllowList; } @@ -349,7 +345,6 @@ export class VpnManager { public async updateClient(clientId: string, update: { description?: string; targetProfileIds?: string[]; - forceDestinationSmartproxy?: boolean; destinationAllowList?: string[]; destinationBlockList?: string[]; useHostIp?: boolean; @@ -362,7 +357,6 @@ export class VpnManager { if (!client) throw new Error(`Client not found: ${clientId}`); if (update.description !== undefined) client.description = update.description; if (update.targetProfileIds !== undefined) client.targetProfileIds = update.targetProfileIds; - if (update.forceDestinationSmartproxy !== undefined) client.forceDestinationSmartproxy = update.forceDestinationSmartproxy; if (update.destinationAllowList !== undefined) client.destinationAllowList = update.destinationAllowList; if (update.destinationBlockList !== undefined) client.destinationBlockList = update.destinationBlockList; if (update.useHostIp !== undefined) client.useHostIp = update.useHostIp; @@ -484,12 +478,11 @@ export class VpnManager { /** * Build per-client security settings for the smartvpn daemon. - * Maps dcrouter-level fields (forceDestinationSmartproxy, allow/block lists) - * to smartvpn's IClientSecurity with a destinationPolicy. + * All VPN traffic is forced through SmartProxy (forceTarget to 127.0.0.1). + * TargetProfile direct IP:port targets bypass SmartProxy via allowList. */ private buildClientSecurity(client: VpnClientDoc): plugins.smartvpn.IClientSecurity { const security: plugins.smartvpn.IClientSecurity = {}; - const forceSmartproxy = client.forceDestinationSmartproxy ?? true; // Collect direct targets from assigned TargetProfiles (bypass forceTarget for these IPs) const profileDirectTargets = this.config.getClientDirectTargets?.(client.targetProfileIds || []) || []; @@ -500,23 +493,12 @@ export class VpnManager { ...profileDirectTargets, ]; - if (!forceSmartproxy) { - // Client traffic goes directly — not forced to SmartProxy - security.destinationPolicy = { - default: 'allow' as const, - blockList: client.destinationBlockList, - }; - } else if (mergedAllowList.length || client.destinationBlockList?.length) { - // Client is forced to SmartProxy, but with allow/block overrides - // (includes TargetProfile direct targets that bypass SmartProxy) - security.destinationPolicy = { - default: 'forceTarget' as const, - target: '127.0.0.1', - allowList: mergedAllowList.length ? mergedAllowList : undefined, - blockList: client.destinationBlockList, - }; - } - // else: no per-client policy, server-wide applies + security.destinationPolicy = { + default: 'forceTarget' as const, + target: '127.0.0.1', + allowList: mergedAllowList.length ? mergedAllowList : undefined, + blockList: client.destinationBlockList, + }; return security; } diff --git a/ts_apiclient/tspublish.json b/ts_apiclient/tspublish.json index 8ab102f..7b21bc7 100644 --- a/ts_apiclient/tspublish.json +++ b/ts_apiclient/tspublish.json @@ -1,3 +1,3 @@ { - "order": 4 + "order": 5 } diff --git a/ts_interfaces/data/target-profile.ts b/ts_interfaces/data/target-profile.ts index 6427f54..e1a50d5 100644 --- a/ts_interfaces/data/target-profile.ts +++ b/ts_interfaces/data/target-profile.ts @@ -2,7 +2,7 @@ * A specific IP:port target within a TargetProfile. */ export interface ITargetProfileTarget { - host: string; + ip: string; port: number; } diff --git a/ts_interfaces/data/vpn.ts b/ts_interfaces/data/vpn.ts index 3910d89..d25605b 100644 --- a/ts_interfaces/data/vpn.ts +++ b/ts_interfaces/data/vpn.ts @@ -11,7 +11,6 @@ export interface IVpnClient { createdAt: number; updatedAt: number; expiresAt?: string; - forceDestinationSmartproxy: boolean; destinationAllowList?: string[]; destinationBlockList?: string[]; useHostIp?: boolean; diff --git a/ts_interfaces/requests/vpn.ts b/ts_interfaces/requests/vpn.ts index 489e280..28de074 100644 --- a/ts_interfaces/requests/vpn.ts +++ b/ts_interfaces/requests/vpn.ts @@ -51,7 +51,7 @@ export interface IReq_CreateVpnClient extends plugins.typedrequestInterfaces.imp clientId: string; targetProfileIds?: string[]; description?: string; - forceDestinationSmartproxy?: boolean; + destinationAllowList?: string[]; destinationBlockList?: string[]; useHostIp?: boolean; @@ -82,7 +82,7 @@ export interface IReq_UpdateVpnClient extends plugins.typedrequestInterfaces.imp clientId: string; description?: string; targetProfileIds?: string[]; - forceDestinationSmartproxy?: boolean; + destinationAllowList?: string[]; destinationBlockList?: string[]; useHostIp?: boolean; diff --git a/ts_migrations/index.ts b/ts_migrations/index.ts new file mode 100644 index 0000000..5e5daf0 --- /dev/null +++ b/ts_migrations/index.ts @@ -0,0 +1,70 @@ +/// + +/** + * dcrouter migration runner. + * + * Uses @push.rocks/smartmigration via dynamic import so smartmigration's type + * chain (which pulls in mongodb 7.x and related types) doesn't leak into + * compile-time type checking for this folder. + */ + +/** Matches the subset of IMigrationRunResult we actually log. */ +export interface IMigrationRunResult { + stepsApplied: Array; + wasFreshInstall: boolean; + currentVersionBefore: string | null; + currentVersionAfter: string; + totalDurationMs: number; +} + +export interface IMigrationRunner { + run(): Promise; +} + +/** + * Create a configured SmartMigration runner with all dcrouter migration steps registered. + * + * Call `.run()` on the returned instance at startup (after DcRouterDb is ready, + * before any service that reads migrated collections). + * + * @param db - The initialized SmartdataDb instance from DcRouterDb.getDb() + * @param targetVersion - The current app version (from commitinfo.version) + */ +export async function createMigrationRunner( + db: unknown, + targetVersion: string, +): Promise { + const sm = await import('@push.rocks/smartmigration'); + const migration = new sm.SmartMigration({ + targetVersion, + db: db as any, + // Brand-new installs skip all migrations and stamp directly to the current version. + freshInstallVersion: targetVersion, + }); + + // Register steps in execution order. Each step's .from() must match the + // previous step's .to() to form a contiguous chain. + migration + .step('rename-target-profile-host-to-ip') + .from('13.0.11').to('13.1.0') + .description('Rename ITargetProfileTarget.host → ip on all target profiles') + .up(async (ctx) => { + const collection = ctx.mongo!.collection('targetprofiledoc'); + const cursor = collection.find({ 'targets.host': { $exists: true } }); + let migrated = 0; + for await (const doc of cursor) { + const targets = ((doc as any).targets || []).map((t: any) => { + if (t && typeof t === 'object' && 'host' in t && !('ip' in t)) { + const { host, ...rest } = t; + return { ...rest, ip: host }; + } + return t; + }); + await collection.updateOne({ _id: (doc as any)._id }, { $set: { targets } }); + migrated++; + } + ctx.log.log('info', `rename-target-profile-host-to-ip: migrated ${migrated} profile(s)`); + }); + + return migration; +} diff --git a/ts_migrations/tspublish.json b/ts_migrations/tspublish.json new file mode 100644 index 0000000..c435a12 --- /dev/null +++ b/ts_migrations/tspublish.json @@ -0,0 +1,3 @@ +{ + "order": 2 +} diff --git a/ts_web/00_commitinfo_data.ts b/ts_web/00_commitinfo_data.ts index 81fbbbd..56cec2a 100644 --- a/ts_web/00_commitinfo_data.ts +++ b/ts_web/00_commitinfo_data.ts @@ -3,6 +3,6 @@ */ export const commitinfo = { name: '@serve.zone/dcrouter', - version: '13.0.11', + version: '13.1.0', description: 'A multifaceted routing service handling mail and SMS delivery functions.' } diff --git a/ts_web/appstate.ts b/ts_web/appstate.ts index 2123613..3d815a1 100644 --- a/ts_web/appstate.ts +++ b/ts_web/appstate.ts @@ -1015,7 +1015,7 @@ export const createVpnClientAction = vpnStatePart.createAction<{ clientId: string; targetProfileIds?: string[]; description?: string; - forceDestinationSmartproxy?: boolean; + destinationAllowList?: string[]; destinationBlockList?: string[]; useHostIp?: boolean; @@ -1037,7 +1037,7 @@ export const createVpnClientAction = vpnStatePart.createAction<{ clientId: dataArg.clientId, targetProfileIds: dataArg.targetProfileIds, description: dataArg.description, - forceDestinationSmartproxy: dataArg.forceDestinationSmartproxy, + destinationAllowList: dataArg.destinationAllowList, destinationBlockList: dataArg.destinationBlockList, useHostIp: dataArg.useHostIp, @@ -1113,7 +1113,7 @@ export const updateVpnClientAction = vpnStatePart.createAction<{ clientId: string; description?: string; targetProfileIds?: string[]; - forceDestinationSmartproxy?: boolean; + destinationAllowList?: string[]; destinationBlockList?: string[]; useHostIp?: boolean; @@ -1135,7 +1135,7 @@ export const updateVpnClientAction = vpnStatePart.createAction<{ clientId: dataArg.clientId, description: dataArg.description, targetProfileIds: dataArg.targetProfileIds, - forceDestinationSmartproxy: dataArg.forceDestinationSmartproxy, + destinationAllowList: dataArg.destinationAllowList, destinationBlockList: dataArg.destinationBlockList, useHostIp: dataArg.useHostIp, @@ -1223,7 +1223,7 @@ export const createTargetProfileAction = targetProfilesStatePart.createAction<{ name: string; description?: string; domains?: string[]; - targets?: Array<{ host: string; port: number }>; + targets?: Array<{ ip: string; port: number }>; routeRefs?: string[]; }>(async (statePartArg, dataArg, actionContext): Promise => { const context = getActionContext(); @@ -1259,7 +1259,7 @@ export const updateTargetProfileAction = targetProfilesStatePart.createAction<{ name?: string; description?: string; domains?: string[]; - targets?: Array<{ host: string; port: number }>; + targets?: Array<{ ip: string; port: number }>; routeRefs?: string[]; }>(async (statePartArg, dataArg, actionContext): Promise => { const context = getActionContext(); diff --git a/ts_web/elements/ops-view-security.ts b/ts_web/elements/ops-view-security.ts index bbc1e70..03a6620 100644 --- a/ts_web/elements/ops-view-security.ts +++ b/ts_web/elements/ops-view-security.ts @@ -30,6 +30,20 @@ export class OpsViewSecurity extends DeesElement { @state() accessor selectedTab: 'overview' | 'blocked' | 'authentication' | 'email-security' = 'overview'; + private tabLabelMap: Record = { + 'overview': 'Overview', + 'blocked': 'Blocked IPs', + 'authentication': 'Authentication', + 'email-security': 'Email Security', + }; + + private labelToTab: Record = { + 'Overview': 'overview', + 'Blocked IPs': 'blocked', + 'Authentication': 'authentication', + 'Email Security': 'email-security', + }; + constructor() { super(); const subscription = appstate.statsStatePart @@ -40,35 +54,23 @@ export class OpsViewSecurity extends DeesElement { this.rxSubscriptions.push(subscription); } + async firstUpdated() { + const toggle = this.shadowRoot!.querySelector('dees-input-multitoggle') as any; + if (toggle) { + const sub = toggle.changeSubject.subscribe(() => { + const tab = this.labelToTab[toggle.selectedOption]; + if (tab) this.selectedTab = tab; + }); + this.rxSubscriptions.push(sub); + } + } + public static styles = [ cssManager.defaultStyles, shared.viewHostCss, css` - .tabs { - display: flex; - gap: 8px; + dees-input-multitoggle { margin-bottom: 24px; - border-bottom: 2px solid ${cssManager.bdTheme('#e9ecef', '#333')}; - } - - .tab { - padding: 12px 24px; - background: none; - border: none; - border-bottom: 2px solid transparent; - cursor: pointer; - font-size: 16px; - color: ${cssManager.bdTheme('#666', '#999')}; - transition: all 0.2s ease; - } - - .tab:hover { - color: ${cssManager.bdTheme('#333', '#ccc')}; - } - - .tab.active { - color: ${cssManager.bdTheme('#2196F3', '#4a90e2')}; - border-bottom-color: ${cssManager.bdTheme('#2196F3', '#4a90e2')}; } h2 { @@ -91,135 +93,22 @@ export class OpsViewSecurity extends DeesElement { overflow: hidden; } - .securityCard.alert { - border-color: ${cssManager.bdTheme('#f44336', '#ff6666')}; - background: ${cssManager.bdTheme('#ffebee', '#4a1f1f')}; - } - - .securityCard.warning { - border-color: ${cssManager.bdTheme('#ff9800', '#ffaa33')}; - background: ${cssManager.bdTheme('#fff3e0', '#4a3a1f')}; - } - - .securityCard.success { - border-color: ${cssManager.bdTheme('#4caf50', '#66cc66')}; - background: ${cssManager.bdTheme('#e8f5e9', '#1f3f1f')}; - } - - .cardHeader { - display: flex; - justify-content: space-between; - align-items: center; - margin-bottom: 16px; - } - - .cardTitle { - font-size: 18px; - font-weight: 600; - color: ${cssManager.bdTheme('#333', '#ccc')}; - } - - .cardStatus { - font-size: 14px; - padding: 4px 12px; - border-radius: 16px; - font-weight: 500; - } - - .status-critical { - background: ${cssManager.bdTheme('#f44336', '#ff6666')}; - color: ${cssManager.bdTheme('#fff', '#fff')}; - } - - .status-warning { - background: ${cssManager.bdTheme('#ff9800', '#ffaa33')}; - color: ${cssManager.bdTheme('#fff', '#fff')}; - } - - .status-good { - background: ${cssManager.bdTheme('#4caf50', '#66cc66')}; - color: ${cssManager.bdTheme('#fff', '#fff')}; - } - - .metricValue { - font-size: 32px; - font-weight: 700; - margin-bottom: 8px; - } - - .metricLabel { - font-size: 14px; - color: ${cssManager.bdTheme('#666', '#999')}; - } - .actionButton { margin-top: 16px; } - .blockedIpList { - max-height: 400px; - overflow-y: auto; - } - - .blockedIpItem { - display: flex; - justify-content: space-between; - align-items: center; - padding: 12px; - border-bottom: 1px solid ${cssManager.bdTheme('#e9ecef', '#333')}; - } - - .blockedIpItem:last-child { - border-bottom: none; - } - - .ipAddress { - font-family: 'Consolas', 'Monaco', monospace; - font-weight: 600; - } - - .blockReason { - font-size: 14px; - color: ${cssManager.bdTheme('#666', '#999')}; - } - - .blockTime { - font-size: 12px; - color: ${cssManager.bdTheme('#999', '#666')}; - } `, ]; public render() { return html` Security - -
- - - - -
+ + ${this.renderTabContent()} `; @@ -328,32 +217,53 @@ export class OpsViewSecurity extends DeesElement { } private renderBlockedIPs(metrics: any) { + const blockedIPs: string[] = metrics.blockedIPs || []; + + const tiles: IStatsTile[] = [ + { + id: 'totalBlocked', + title: 'Blocked IPs', + value: blockedIPs.length, + type: 'number', + icon: 'lucide:ShieldBan', + color: blockedIPs.length > 0 ? '#ef4444' : '#22c55e', + description: 'Currently blocked addresses', + }, + ]; + return html` -
-
-

Blocked IP Addresses

- this.clearBlockedIPs()}> - Clear All - -
- -
- ${metrics.blockedIPs && metrics.blockedIPs.length > 0 ? metrics.blockedIPs.map((ipAddress, index) => html` -
-
-
${ipAddress}
-
Suspicious activity
-
Blocked
-
- this.unblockIP(ipAddress)}> - Unblock - -
- `) : html` -

No blocked IPs

- `} -
-
+ + + ({ ip }))} + .displayFunction=${(item) => ({ + 'IP Address': item.ip, + 'Reason': 'Suspicious activity', + })} + .dataActions=${[ + { + name: 'Unblock', + iconName: 'lucide:shield-off', + type: ['contextmenu' as const], + actionFunc: async (item) => { + await this.unblockIP(item.ip); + }, + }, + { + name: 'Clear All', + iconName: 'lucide:trash-2', + type: ['header' as const], + actionFunc: async () => { + await this.clearBlockedIPs(); + }, + }, + ]} + > `; } diff --git a/ts_web/elements/ops-view-targetprofiles.ts b/ts_web/elements/ops-view-targetprofiles.ts index 69d30dd..48513a6 100644 --- a/ts_web/elements/ops-view-targetprofiles.ts +++ b/ts_web/elements/ops-view-targetprofiles.ts @@ -91,7 +91,7 @@ export class OpsViewTargetProfiles extends DeesElement { ? html`${profile.domains.map(d => html`${d}`)}` : '-', Targets: profile.targets?.length - ? html`${profile.targets.map(t => html`${t.host}:${t.port}`)}` + ? html`${profile.targets.map(t => html`${t.ip}:${t.port}`)}` : '-', 'Route Refs': profile.routeRefs?.length ? html`${profile.routeRefs.map(r => html`${r}`)}` @@ -175,7 +175,7 @@ export class OpsViewTargetProfiles extends DeesElement { - + `, @@ -197,11 +197,11 @@ export class OpsViewTargetProfiles extends DeesElement { const lastColon = s.lastIndexOf(':'); if (lastColon === -1) return null; return { - host: s.substring(0, lastColon), + ip: s.substring(0, lastColon), port: parseInt(s.substring(lastColon + 1), 10), }; }) - .filter((t): t is { host: string; port: number } => t !== null && !isNaN(t.port)); + .filter((t): t is { ip: string; port: number } => t !== null && !isNaN(t.port)); const routeRefs: string[] = Array.isArray(data.routeRefs) ? data.routeRefs : []; await appstate.targetProfilesStatePart.dispatchAction(appstate.createTargetProfileAction, { @@ -220,7 +220,7 @@ export class OpsViewTargetProfiles extends DeesElement { private async showEditProfileDialog(profile: interfaces.data.ITargetProfile) { const currentDomains = profile.domains || []; - const currentTargets = profile.targets?.map(t => `${t.host}:${t.port}`) || []; + const currentTargets = profile.targets?.map(t => `${t.ip}:${t.port}`) || []; const currentRouteRefs = profile.routeRefs || []; const { DeesModal } = await import('@design.estate/dees-catalog'); @@ -234,7 +234,7 @@ export class OpsViewTargetProfiles extends DeesElement { - + `, @@ -255,11 +255,11 @@ export class OpsViewTargetProfiles extends DeesElement { const lastColon = s.lastIndexOf(':'); if (lastColon === -1) return null; return { - host: s.substring(0, lastColon), + ip: s.substring(0, lastColon), port: parseInt(s.substring(lastColon + 1), 10), }; }) - .filter((t): t is { host: string; port: number } => t !== null && !isNaN(t.port)); + .filter((t): t is { ip: string; port: number } => t !== null && !isNaN(t.port)); const routeRefs: string[] = Array.isArray(data.routeRefs) ? data.routeRefs : []; await appstate.targetProfilesStatePart.dispatchAction(appstate.updateTargetProfileAction, { @@ -327,7 +327,7 @@ export class OpsViewTargetProfiles extends DeesElement {
Targets
${profile.targets?.length - ? profile.targets.map(t => html`${t.host}:${t.port}`) + ? profile.targets.map(t => html`${t.ip}:${t.port}`) : '-'}
diff --git a/ts_web/elements/ops-view-vpn.ts b/ts_web/elements/ops-view-vpn.ts index 55c40c4..f5ada74 100644 --- a/ts_web/elements/ops-view-vpn.ts +++ b/ts_web/elements/ops-view-vpn.ts @@ -28,7 +28,7 @@ function setupFormVisibility(formEl: any) { const staticIpGroup = contentEl.querySelector('.staticIpGroup') as HTMLElement; const vlanIdGroup = contentEl.querySelector('.vlanIdGroup') as HTMLElement; const aclGroup = contentEl.querySelector('.aclGroup') as HTMLElement; - if (hostIpGroup) hostIpGroup.style.display = data.forceDestinationSmartproxy ? 'none' : show; + if (hostIpGroup) hostIpGroup.style.display = show; // always show (forceTarget is always on) if (hostIpDetails) hostIpDetails.style.display = data.useHostIp ? show : 'none'; if (staticIpGroup) staticIpGroup.style.display = data.useDhcp ? 'none' : show; if (vlanIdGroup) vlanIdGroup.style.display = data.forceVlan ? show : 'none'; @@ -317,9 +317,7 @@ export class OpsViewVpn extends DeesElement { statusHtml = html`offline`; } let routingHtml; - if (client.forceDestinationSmartproxy !== false) { - routingHtml = html`SmartProxy`; - } else if (client.useHostIp) { + if (client.useHostIp) { routingHtml = html`Host IP`; } else { routingHtml = html`Direct`; @@ -355,8 +353,7 @@ export class OpsViewVpn extends DeesElement { - -