From af7fcf6c2e3ba422e8e33b1a5e7b23e0b130d9aa Mon Sep 17 00:00:00 2001 From: Juergen Kunz Date: Mon, 18 Aug 2025 21:11:28 +0000 Subject: [PATCH] fix(coreflow): Fix Coreflow identity lookup and response shape; improve API client tests and bump dependencies --- changelog.md | 9 + package.json | 12 +- pnpm-lock.yaml | 520 +++++++++++++++++-------- test/test.apiclient.ts | 99 ++++- ts/00_commitinfo_data.ts | 2 +- ts/manager.coreflow/coreflowmanager.ts | 29 +- ts_web/00_commitinfo_data.ts | 2 +- 7 files changed, 456 insertions(+), 217 deletions(-) diff --git a/changelog.md b/changelog.md index e5294d8..c7b846d 100644 --- a/changelog.md +++ b/changelog.md @@ -1,5 +1,14 @@ # Changelog +## 2025-08-18 - 5.0.5 - fix(coreflow) +Fix Coreflow identity lookup and response shape; improve API client tests and bump dependencies + +- ts/manager.coreflow/coreflowmanager.ts: Use $elemMatch to correctly query nested user.tokens when resolving identities and validate machine user types. +- ts/manager.coreflow/coreflowmanager.ts: Normalize getClusterConfig response to include services (was deploymentDirectives) and tidy handler signatures. +- test/test.apiclient.ts: Add detailed logging and improved error handling across preTask, client startup, identity retrieval, image creation and image upload to aid debugging and test observability. +- package.json: Update dependency versions (notable bumps): @types/node -> ^22.0.0, @push.rocks/smartacme -> ^8.0.0, @push.rocks/smartdata -> ^5.16.4, @push.rocks/smartexpect -> ^2.5.0, @push.rocks/smartpath -> ^6.0.0, @push.rocks/smartrequest -> ^4.2.2, plus other maintenance bumps. +- Add .claude/settings.local.json to provide local Claude permissions for developer tooling. + ## 2025-04-25 - 5.0.4 - fix(platformservice/mta) Update getEmailStatus response schema: make details property optional diff --git a/package.json b/package.json index 2c87100..2f394b8 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,7 @@ "@git.zone/tspublish": "^1.10.3", "@git.zone/tstest": "^2.3.5", "@git.zone/tswatch": "^2.2.1", - "@types/node": "^24.3.0" + "@types/node": "^22.0.0" }, "dependencies": { "@api.global/typedrequest": "3.1.10", @@ -47,14 +47,14 @@ "@push.rocks/npmextra": "^5.3.3", "@push.rocks/projectinfo": "^5.0.1", "@push.rocks/qenv": "^6.1.3", - "@push.rocks/smartacme": "^5.0.0", + "@push.rocks/smartacme": "^8.0.0", "@push.rocks/smartbucket": "^3.3.10", "@push.rocks/smartcli": "^4.0.11", "@push.rocks/smartclickhouse": "^2.0.17", - "@push.rocks/smartdata": "^5.16.1", + "@push.rocks/smartdata": "^5.16.4", "@push.rocks/smartdelay": "^3.0.5", "@push.rocks/smartexit": "^1.0.23", - "@push.rocks/smartexpect": "^1.6.1", + "@push.rocks/smartexpect": "^2.5.0", "@push.rocks/smartfile": "^11.2.7", "@push.rocks/smartguard": "^3.1.0", "@push.rocks/smartjson": "^5.0.19", @@ -62,9 +62,9 @@ "@push.rocks/smartlog": "^3.1.8", "@push.rocks/smartlog-destination-clickhouse": "^1.0.13", "@push.rocks/smartlog-interfaces": "^3.0.2", - "@push.rocks/smartpath": "^5.0.18", + "@push.rocks/smartpath": "^6.0.0", "@push.rocks/smartpromise": "^4.2.3", - "@push.rocks/smartrequest": "^2.1.0", + "@push.rocks/smartrequest": "^4.2.2", "@push.rocks/smartrx": "^3.0.10", "@push.rocks/smartssh": "^2.0.1", "@push.rocks/smartstate": "^2.0.26", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e45c663..c3022f2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -57,8 +57,8 @@ importers: specifier: ^6.1.3 version: 6.1.3 '@push.rocks/smartacme': - specifier: ^5.0.0 - version: 5.0.0(@aws-sdk/credential-providers@3.796.0)(socks@2.8.7) + specifier: ^8.0.0 + version: 8.0.0(@aws-sdk/credential-providers@3.796.0)(socks@2.8.7) '@push.rocks/smartbucket': specifier: ^3.3.10 version: 3.3.10 @@ -69,8 +69,8 @@ importers: specifier: ^2.0.17 version: 2.0.17 '@push.rocks/smartdata': - specifier: ^5.16.1 - version: 5.16.1(@aws-sdk/credential-providers@3.796.0)(socks@2.8.7) + specifier: ^5.16.4 + version: 5.16.4(@aws-sdk/credential-providers@3.796.0)(socks@2.8.7) '@push.rocks/smartdelay': specifier: ^3.0.5 version: 3.0.5 @@ -78,8 +78,8 @@ importers: specifier: ^1.0.23 version: 1.0.23 '@push.rocks/smartexpect': - specifier: ^1.6.1 - version: 1.6.1 + specifier: ^2.5.0 + version: 2.5.0 '@push.rocks/smartfile': specifier: ^11.2.7 version: 11.2.7 @@ -102,14 +102,14 @@ importers: specifier: ^3.0.2 version: 3.0.2 '@push.rocks/smartpath': - specifier: ^5.0.18 - version: 5.0.18 + specifier: ^6.0.0 + version: 6.0.0 '@push.rocks/smartpromise': specifier: ^4.2.3 version: 4.2.3 '@push.rocks/smartrequest': - specifier: ^2.1.0 - version: 2.1.0 + specifier: ^4.2.2 + version: 4.2.2 '@push.rocks/smartrx': specifier: ^3.0.10 version: 3.0.10 @@ -157,8 +157,8 @@ importers: specifier: ^2.2.1 version: 2.2.1 '@types/node': - specifier: ^24.3.0 - version: 24.3.0 + specifier: ^22.0.0 + version: 22.17.2 packages: @@ -1293,6 +1293,39 @@ packages: '@pdf-lib/upng@1.0.1': resolution: {integrity: sha512-dQK2FUMQtowVP00mtIksrlZhdFXQZPC+taih1q4CvPZ5vqdxR/LKBaFg0oAfzd1GlHZXXSPdQfzQnt+ViGvEIQ==} + '@peculiar/asn1-cms@2.4.0': + resolution: {integrity: sha512-TJvw5Tna/txvzzwnKUlCFd6zIz4R7qysHCaU6M2oe/MUT6EkvJDOzGGNY0hdjJYpuuHoqanQbIqEBhSLSWe1Tg==} + + '@peculiar/asn1-csr@2.4.0': + resolution: {integrity: sha512-9yQz0hQ9ynGr/I1X1v64QQGfRMbviHXyqY07cy69UzXa8s4ayCKx/TncU6lDWcTKs7P/X/AEcuJcG7Xbw0cl1A==} + + '@peculiar/asn1-ecc@2.4.0': + resolution: {integrity: sha512-fJiYUBCJBDkjh347zZe5H81BdJ0+OGIg0X9z06v8xXUoql3MFeENUX0JsjCaVaU9A0L85PefLPGYkIoGpTnXLQ==} + + '@peculiar/asn1-pfx@2.4.0': + resolution: {integrity: sha512-fhpeoJ6T4nCLWT5tt3Un+BbyM1lLFnGXcRC2Ioe5ra2I0yptdjw05j20rV8BlUVzPIvUYpatq6joMQKe3ibh0w==} + + '@peculiar/asn1-pkcs8@2.4.0': + resolution: {integrity: sha512-4r2LtsAM0HWXLxetGTYKyBumky7W6C1EuiOctqhl7zFK5MHjiZ+9WOeaoeTPR1g3OEoeG7KEWIkaUOyRH4ojTw==} + + '@peculiar/asn1-pkcs9@2.4.0': + resolution: {integrity: sha512-D7paqEVpu9wuWuClMN+vR5cqJWJITNPaMoa9R+FmkJ8ywF9UaS2JFI0RYclKILNoLdLg1N4eUCoJvM+ubsIIZQ==} + + '@peculiar/asn1-rsa@2.4.0': + resolution: {integrity: sha512-6PP75voaEnOSlWR9sD25iCQyLgFZHXbmxvUfnnDcfL6Zh5h2iHW38+bve4LfH7a60x7fkhZZNmiYqAlAff9Img==} + + '@peculiar/asn1-schema@2.4.0': + resolution: {integrity: sha512-umbembjIWOrPSOzEGG5vxFLkeM8kzIhLkgigtsOrfLKnuzxWxejAcUX+q/SoZCdemlODOcr5WiYa7+dIEzBXZQ==} + + '@peculiar/asn1-x509-attr@2.4.0': + resolution: {integrity: sha512-Tr5Zi+wcE2sfR0gKRvsPwXoA1U8CuDnwiFbxCS+5Z1Nck9zlHj86+4/EZhwucjKXwPEHk1ekhqb3iwISY/+E/w==} + + '@peculiar/asn1-x509@2.4.0': + resolution: {integrity: sha512-F7mIZY2Eao2TaoVqigGMLv+NDdpwuBKU1fucHPONfzaBS4JXXCNCmfO0Z3dsy7JzKGqtDcYC1mr9JjaZQZNiuw==} + + '@peculiar/x509@1.13.0': + resolution: {integrity: sha512-r9BOb1GZ3gx58Pog7u9x70spnHlCQPFm7u/ZNlFv+uBsU7kTDY9QkUD+l+X0awopDuCK1fkH3nEIZeMDSG/jlw==} + '@pkgjs/parseargs@0.11.0': resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} @@ -1350,8 +1383,8 @@ packages: '@push.rocks/qenv@6.1.3': resolution: {integrity: sha512-+z2hsAU/7CIgpYLFqvda8cn9rUBMHqLdQLjsFfRn5jPoD7dJ5rFlpkbhfM4Ws8mHMniwWaxGKo+q/YBhtzRBLg==} - '@push.rocks/smartacme@5.0.0': - resolution: {integrity: sha512-/7zcwlFZN2Q+2iqQiZ4h72G9cSpW5ebIkGxup6wiTyutP4oUGTAI+TQF+XssSaWsJhXSLL30I3AXX6ZmI0rTdg==} + '@push.rocks/smartacme@8.0.0': + resolution: {integrity: sha512-Oq+m+LX4IG0p4qCGZLEwa6UlMo5Hfq7paRjpREwQNsaGSKl23xsjsEJLxjxkePwaXnaIkHEwU/5MtrEkg2uKEQ==} '@push.rocks/smartai@0.5.11': resolution: {integrity: sha512-zbnia/1t1ffM2L2i206V7nBCvAF4/kfq7x3n7m7BEmNoyt9Kp6uIEilPFXJ22gGhK//HLypsPl6P3YF0GJ6H9w==} @@ -1392,14 +1425,14 @@ packages: '@push.rocks/smartcrypto@2.0.4': resolution: {integrity: sha512-1+/5bsjyataf5uUkUNnnVXGRAt+gHVk1KDzozjTqgqJxHvQk1d9fVDohL6CxUhUucTPtu5VR5xNBiV8YCDuGyw==} - '@push.rocks/smartdata@5.16.1': - resolution: {integrity: sha512-zZ6VcmZxmBbnsxwEElrPuzlN0dl+FFpLt7vJNl8zWxMyctSjByWRjysIjsF+5+0H1wPmZU5oMgvW7tlPQjN+Sw==} + '@push.rocks/smartdata@5.16.4': + resolution: {integrity: sha512-COiKw8yk9iAcLN44WmZHG8Gi0v+HGkgM8Osoq7Cns+UsOA+grPepqbN2r0XPG1fm5vOdJcaydi2ZU0xrnbGVvQ==} '@push.rocks/smartdelay@3.0.5': resolution: {integrity: sha512-mUuI7kj2f7ztjpic96FvRIlf2RsKBa5arw81AHNsndbxO6asRcxuWL8dTVxouEIK8YsBUlj0AsrCkHhMbLQdHw==} - '@push.rocks/smartdns@5.0.4': - resolution: {integrity: sha512-DCeekCzAJEPn8gZOPZLnFGFZdgLKtCqb3YfwJpfkdSfPxwlSXzjs5rYmzmsg0BlQP+7pSR43fuLMERB4DGCn9w==} + '@push.rocks/smartdns@6.2.2': + resolution: {integrity: sha512-MhJcHujbyIuwIIFdnXb2OScGtRjNsliLUS8GoAurFsKtcCOaA0ytfP+PNzkukyBufjb1nMiJF3rjhswXdHakAQ==} '@push.rocks/smartenv@5.0.12': resolution: {integrity: sha512-tDEFwywzq0FNzRYc9qY2dRl2pgQuZG0G2/yml2RLWZWSW+Fn1EHshnKOGHz8o77W7zvu4hTgQQX42r/JY5XHTg==} @@ -1410,9 +1443,6 @@ packages: '@push.rocks/smartexit@1.0.23': resolution: {integrity: sha512-WmwKYcwbHBByoABhHHB+PAjr5475AtD/xBh1mDcqPrFsOOUOZq3BBUdpq25wI3ccu/SZB5IwaimiVzadls6HkA==} - '@push.rocks/smartexpect@1.6.1': - resolution: {integrity: sha512-NFQXEPkGiMNxyvFwKyzDWe3ADYdf8KNvIcV7TGNZZT3uPQtk65te4Q+a1cWErjP/61yE9XdYiQA66QQp+TV9IQ==} - '@push.rocks/smartexpect@2.5.0': resolution: {integrity: sha512-yoyuCoQ3tTiAriuvF+/09fNbVfFnacudL2SwHSzPhX/ugaE7VTSWXQ9A34eKOWvil0MPyDcOY36fVZDxvrPd8A==} @@ -1506,8 +1536,8 @@ packages: '@push.rocks/smartopen@2.0.0': resolution: {integrity: sha512-eVT0GhtQ2drb95j/kktYst/Toh1zCwCqjTJFYtaYFUnnBnBUajPtBZDFnPQo01DN8JxoeCTo8jggq+PCvzcfww==} - '@push.rocks/smartpath@5.0.18': - resolution: {integrity: sha512-kIyRTlOoeEth5b4Qp8KPUxNOGNdvhb2aD0hbHfF3oGTQ0xnDdgB1l03/4bIoapHG48OrTgh4uQ5tUorykgdOzw==} + '@push.rocks/smartpath@5.1.0': + resolution: {integrity: sha512-pJ4UGATHV/C6Dw5DU0D3MJaPMASlKAgeS+Hl9dkhD2ceYArn86Ky3Z/g7LNj40Oz6cUe77/AP1chztmJZISrpw==} '@push.rocks/smartpath@6.0.0': resolution: {integrity: sha512-r94u1MbBaIOSy+517PZp2P7SuZPSe9LkwJ8l3dXQKHeIOri/zDxk/RQPiFM+j4N9301ztkRyhvRj7xgUDroOsg==} @@ -1530,9 +1560,6 @@ packages: '@push.rocks/smartrequest@2.1.0': resolution: {integrity: sha512-3eHLTRInHA+u+W98TqJwgTES7rRimBAsJC4JxVNQC3UUezmblAhM5/TIQsEBQTsbjAY8SeQKy6NHzW6iTiaD8w==} - '@push.rocks/smartrequest@4.2.1': - resolution: {integrity: sha512-33sxhXMOwDx2tv98LlyxDxI/UTjw16BOSWbnqrdUdNby/sSP3ahW3NF4JMOU5xKNQUz7TjLgREj9dPuumEgQ/g==} - '@push.rocks/smartrequest@4.2.2': resolution: {integrity: sha512-OMtSyxvuOw04nRR/97yAF3XLe42QDyuwStQMo2bXrVvXgcriNyn0JFavl0IL5hY6Gb+dyCWgOAUwX7cVZ4DzZg==} @@ -1708,10 +1735,6 @@ packages: resolution: {integrity: sha512-iF6bApmTgd3ZvRK8OHa77UFg8nVZxS1Y6iL8VfHpWOXdSlQZcXo/WbvwxYtu0+wkERAfFtCTGrrLAPGsFm9lhw==} deprecated: This package has been deprecated in favour of the new package at @push.rocks/smartrequest - '@pushrocks/smartrequest@2.0.15': - resolution: {integrity: sha512-QDXXKhOwAIp+TNFrDglApBpbCTClHrf8pUM3w81q5+VtrMbqUrLINHhInXt3ZUSgTS7RD9HtJSIVSqAukcJo5A==} - deprecated: This package has been deprecated in favour of the new package at @push.rocks/smartrequest - '@pushrocks/smartrx@2.0.27': resolution: {integrity: sha512-aFRpGxDZgHH1mpmkRBTFwuIVqFiDxk22n2vX2gW4hntV0nJGlt9M9dixMFFXGUjabwX9hHW7y60QPJm2rKaypA==} deprecated: This package has been deprecated in favour of the new package at @push.rocks/smartrx @@ -1736,10 +1759,6 @@ packages: resolution: {integrity: sha512-6KGnf2vHR7hW4mQpAD7gkDVL3QVML3jb/No/Uw+qCqvs0TaQr60Yjm+CXoLxJNCKwmrL+I1yx8mhAHBHfYJiJA==} deprecated: This package has been deprecated in favour of the new package at @push.rocks/smarturl - '@pushrocks/smarturl@3.0.6': - resolution: {integrity: sha512-YHWnYE1mm8WIJk1usSXg+kNM7s7ByM+PKApO9cgl0T/oGybjzAJiO3clGNDro4ysP0TD+WuvJuiVue02bErEBQ==} - deprecated: This package has been deprecated in favour of the new package at @push.rocks/smarturl - '@remirror/core-constants@3.0.0': resolution: {integrity: sha512-42aWfPrimMfDKDi4YegyS7x+/0tlzaqwPQCULLanv3DMIlu96KTJR0fM5isWX2UViOqlGnX6YFgqWepcX+XMNg==} @@ -2422,12 +2441,18 @@ packages: '@tsclass/tsclass@4.4.4': resolution: {integrity: sha512-YZOAF+u+r4u5rCev2uUd1KBTBdfyFdtDmcv4wuN+864lMccbdfRICR3SlJwCfYS1lbeV3QNLYGD30wjRXgvCJA==} + '@tsclass/tsclass@5.0.0': + resolution: {integrity: sha512-2X66VCk0Oe1L01j6GQHC6F9Gj7lpZPPSUTDNax7e29lm4OqBTyAzTR3ePR8coSbWBwsmRV8awLRSrSI+swlqWA==} + '@tsclass/tsclass@9.2.0': resolution: {integrity: sha512-A6ULEkQfYgOnCKQVQRt26O7PRzFo4PE2EoD25RAtnuFuVrNwGynYC20Vee2c8KAOyI7nQ/LaREki9KAX4AHOHQ==} '@tybys/wasm-util@0.10.0': resolution: {integrity: sha512-VyyPYFlOMNylG45GoAe0xDoLwWuowvf92F9kySqzYh8vmYm7D2u4iUJKa1tOUpS70Ku13ASrOkS4ScXFsTaCNQ==} + '@types/bn.js@5.2.0': + resolution: {integrity: sha512-DLbJ1BPqxvQhIGbeu8VbUC1DiAiahHtAYvA0ZEAa4P31F7IaArc8z3C3BRQdWX4mtLQuABG4yzp76ZrS02Ui1Q==} + '@types/body-parser@1.19.6': resolution: {integrity: sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==} @@ -2459,6 +2484,12 @@ packages: resolution: {integrity: sha512-o7jqJM04gfaYrdCecCVMbZhNdG6T1MHg/oQoRFdERLV+4d+V7FijhiEAbFu0Usww84Yijk9yH58U4Jk4HbtzZw==} deprecated: This is a stub types definition. diff provides its own type definitions, so you do not need this installed. + '@types/dns-packet@5.6.5': + resolution: {integrity: sha512-qXOC7XLOEe43ehtWJCMnQXvgcIpv6rPmQ1jXT98Ad8A3TB1Ue50jsCbSSSyuazScEuZ/Q026vHbrOTVkmwA+7Q==} + + '@types/elliptic@6.4.18': + resolution: {integrity: sha512-UseG6H5vjRiNpQvrhy4VF/JXdA3V/Fp5amvveaL+fs28BZ6xIKJBPnUPRlEaZpysD9MbpfaLi8lbl7PGUAkpWw==} + '@types/express-serve-static-core@5.0.7': resolution: {integrity: sha512-R+33OsgWw7rOhD1emjU7dzCDHucJrgJXMA5PYCzJxVil0dsyx5iBEPHqpPfiKNJQb7lZ1vxwoLR4Z87bBUpeGQ==} @@ -2553,9 +2584,6 @@ packages: '@types/node@22.17.2': resolution: {integrity: sha512-gL6z5N9Jm9mhY+U2KXZpteb+09zyffliRkZyZOHODGATyC5B1Jt/7TzuuiLkFsSUMLbS1OLmlj/E+/3KF4Q/4w==} - '@types/node@24.3.0': - resolution: {integrity: sha512-aPTXCrfwnDLj4VvXrm+UUCQjNEvJgNA8s5F1cvwQU+3KNltTOkBm1j30uNLyqqPNe7gE3KFzImYoZEfLhp4Yow==} - '@types/ping@0.4.4': resolution: {integrity: sha512-ifvo6w2f5eJYlXm+HiVx67iJe8WZp87sfa683nlqED5Vnt9Z93onkokNoWqOG21EaE8fMxyKPobE+mkPEyxsdw==} @@ -2655,9 +2683,9 @@ packages: resolution: {integrity: sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==} engines: {node: '>= 0.6'} - acme-client@4.2.5: - resolution: {integrity: sha512-dtnck4sdZ2owFLTC73Ewjx0kmvsRjTRgaOc8UztCNODT+lr1DXj0tiuUXjeY4LAzZryXCtCib/E+KD8NYeP1aw==} - engines: {node: '>= 10'} + acme-client@5.4.0: + resolution: {integrity: sha512-mORqg60S8iML6XSmVjqjGHJkINrCGLMj2QvDmFzI9vIlv1RGlyjmw3nrzaINJjkNsYXC41XhhD5pfy7CtuGcbA==} + engines: {node: '>= 16'} agent-base@7.1.3: resolution: {integrity: sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==} @@ -2719,6 +2747,10 @@ packages: argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + asn1js@3.0.6: + resolution: {integrity: sha512-UOCGPYbl0tv8+006qks/dTgV9ajs97X2p0FAbyS2iyCRrmLSRolDaHdp+v/CLgnzHc3fVB+CwYiUmei7ndFcgA==} + engines: {node: '>=12.0.0'} + ast-types@0.13.4: resolution: {integrity: sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==} engines: {node: '>=4'} @@ -2743,15 +2775,12 @@ packages: resolution: {integrity: sha512-zJAaP9zxTcvTHRlejau3ZOY4V7SRpiByf3/dxx2uyKxxor19tpmpV2QRsTKikckwhaPmr2dVpxxMr7jOCYVp5g==} engines: {node: '>=6.0.0'} - axios@0.26.1: - resolution: {integrity: sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==} + axios@1.11.0: + resolution: {integrity: sha512-1Lx3WLFQWm3ooKDYZD1eXmoGO9fxYQjrycfHFC8P0sCfQVXyROp0p9PFWBehewBOdCwHc+f/b8I0fMto5eSfwA==} b4a@1.6.7: resolution: {integrity: sha512-OnAYlL5b7LEkALw87fUVafQw5rVR9RjwGd4KUwNQ6DrrNmaVaUCgLipfVlzrPQ4tWOR9P0IXGNOx50jYCCdSJg==} - backo2@1.0.2: - resolution: {integrity: sha1-MasayLEpNjRj41s+u2n038+6eUc=} - bail@2.0.2: resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} @@ -2802,12 +2831,12 @@ packages: resolution: {integrity: sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg==} engines: {node: '>=10.0.0'} - bluebird@3.7.2: - resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} - bmp-ts@1.0.9: resolution: {integrity: sha512-cTEHk2jLrPyi+12M3dhpEbnnPOsaZuq7C45ylbbQIiWgDFZq4UVYPEY5mlqjvsj/6gJv9qX5sa+ebDzLXT28Vw==} + bn.js@4.12.2: + resolution: {integrity: sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==} + body-parser@2.2.0: resolution: {integrity: sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg==} engines: {node: '>=18'} @@ -2827,6 +2856,9 @@ packages: broadcast-channel@7.1.0: resolution: {integrity: sha512-InJljddsYWbEL8LBnopnCg+qMQp9KcowvYWOt4YWrjD5HmxzDYKdVbDS1w/ji5rFZdRD58V5UxJPtBdpEbEJYw==} + brorand@1.1.0: + resolution: {integrity: sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=} + bson@4.7.2: resolution: {integrity: sha512-Ry9wCtIZ5kGqkJoi6aD8KjxFZEx78guTQDnpXWiNthsxzrxAK/i8E6pCHAIZTbaEFWcOCvbecMukfK7XUvyLpQ==} engines: {node: '>=6.9.0'} @@ -3218,9 +3250,6 @@ packages: resolution: {integrity: sha512-BDeBd8najI4/lS00HSKpdFia+OvUMytaVjfzR9n5Lq8MlZRSvtbI+uLtx1+XmQFls5wFU9dssccTmQQ6nfpjdg==} engines: {node: '>=6'} - dns2@2.1.0: - resolution: {integrity: sha512-m27K11aQalRbmUs7RLaz6aPyceLjAoqjPRNTdE7qUouQpl+PC8Bi67O+i9SuJUPbQC8dxFrczAxfmTPuTKHNkw==} - dunder-proto@1.0.1: resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} engines: {node: '>= 0.4'} @@ -3234,6 +3263,9 @@ packages: ee-first@1.1.1: resolution: {integrity: sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=} + elliptic@6.6.1: + resolution: {integrity: sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g==} + emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -3468,6 +3500,15 @@ packages: fn.name@1.1.0: resolution: {integrity: sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==} + follow-redirects@1.15.11: + resolution: {integrity: sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + follow-redirects@1.15.9: resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==} engines: {node: '>=4.0'} @@ -3500,14 +3541,6 @@ packages: resolution: {integrity: sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==} engines: {node: '>= 14.17'} - form-data@4.0.1: - resolution: {integrity: sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==} - engines: {node: '>= 6'} - - form-data@4.0.2: - resolution: {integrity: sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==} - engines: {node: '>= 6'} - form-data@4.0.4: resolution: {integrity: sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==} engines: {node: '>= 6'} @@ -3667,6 +3700,9 @@ packages: resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} engines: {node: '>= 0.4'} + hash.js@1.1.7: + resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==} + hasown@2.0.2: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} @@ -3688,6 +3724,9 @@ packages: resolution: {integrity: sha512-Xwwo44whKBVCYoliBQwaPvtd/2tYFkRQtXDWj1nackaV2JPXx3L0+Jvd8/qCJ2p+ML0/XVkJ2q+Mr+UVdpJK5w==} engines: {node: '>=12.0.0'} + hmac-drbg@1.0.1: + resolution: {integrity: sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=} + html-minifier@4.0.0: resolution: {integrity: sha512-aoGxanpFPLg7MkIl/DDFYtb0iWz7jMFGqFhvEDZga6/4QTjneiD8I/NXL1x5aaoCp7FSIT6h/OhykDdPsbtMig==} engines: {node: '>=6'} @@ -4320,6 +4359,12 @@ packages: resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} engines: {node: '>=4'} + minimalistic-assert@1.0.1: + resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} + + minimalistic-crypto-utils@1.0.1: + resolution: {integrity: sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=} + minimatch@10.0.3: resolution: {integrity: sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw==} engines: {node: 20 || >=22} @@ -4840,6 +4885,13 @@ packages: engines: {node: '>=18'} hasBin: true + pvtsutils@1.3.6: + resolution: {integrity: sha512-PLgQXQ6H2FWCaeRak8vvk1GW462lMxB5s3Jm673N82zI4vqtVUPuZdffdZbPDFRoU8kAhItWFtPCWiPpp4/EDg==} + + pvutils@1.1.3: + resolution: {integrity: sha512-pMpnA0qRdFp32b1sJl1wOJNxZLQ2cbQx+k6tjNtZ8CpvVhNqEPRgivZ2WOUev2YMajecdH7ctUPDvEe87nariQ==} + engines: {node: '>=6.0.0'} + qs@6.13.0: resolution: {integrity: sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==} engines: {node: '>=0.6'} @@ -4890,6 +4942,9 @@ packages: resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} engines: {node: '>= 14.18.0'} + reflect-metadata@0.2.2: + resolution: {integrity: sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==} + regenerator-runtime@0.14.1: resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} @@ -5340,6 +5395,10 @@ packages: engines: {node: '>=18.0.0'} hasBin: true + tsyringe@4.10.0: + resolution: {integrity: sha512-axr3IdNuVIxnaK5XGEUFTu3YmAQ6lllgrvqfEoR16g/HGnYY/6We4oWENtAnzK6/LpJ2ur9PAb80RBt7/U4ugw==} + engines: {node: '>= 6.0.0'} + turndown-plugin-gfm@1.0.2: resolution: {integrity: sha512-vwz9tfvF7XN/jE0dGoBei3FXWuvll78ohzCZQuOb+ZjWrs3a0XhQVomJEb2Qh4VHTPNRO4GPZh0V7VRbiWwkRg==} @@ -5416,9 +5475,6 @@ packages: undici-types@6.21.0: resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} - undici-types@7.10.0: - resolution: {integrity: sha512-t5Fy/nfn+14LuOc2KNYg75vZqClpAiqscVvMygNnlsHBFpSXdJaYtXMcdNLpl/Qvc3P2cB3s6lOV51nqsFq4ag==} - unified@11.0.5: resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} @@ -5699,7 +5755,7 @@ snapshots: '@push.rocks/smartopen': 2.0.0 '@push.rocks/smartpath': 6.0.0 '@push.rocks/smartpromise': 4.2.3 - '@push.rocks/smartrequest': 4.2.1 + '@push.rocks/smartrequest': 4.2.2 '@push.rocks/smartrx': 3.0.10 '@push.rocks/smartsitemap': 2.0.3 '@push.rocks/smartstream': 3.2.5 @@ -5761,7 +5817,7 @@ snapshots: '@push.rocks/smartjson': 5.0.20 '@push.rocks/smartlog': 3.1.8 '@push.rocks/smartnetwork': 3.0.2 - '@push.rocks/smartpath': 5.0.18 + '@push.rocks/smartpath': 5.1.0 '@push.rocks/smartpromise': 4.2.3 '@push.rocks/smartrequest': 2.1.0 '@push.rocks/smartstream': 3.2.5 @@ -6960,7 +7016,7 @@ snapshots: '@push.rocks/smartfile': 11.2.7 '@push.rocks/smartlog': 3.1.8 '@push.rocks/smartlog-destination-local': 9.0.2 - '@push.rocks/smartpath': 5.0.18 + '@push.rocks/smartpath': 5.1.0 '@push.rocks/smartpromise': 4.2.3 '@push.rocks/smartspawn': 3.0.3 '@rspack/core': 1.4.11 @@ -7613,6 +7669,96 @@ snapshots: dependencies: pako: 1.0.11 + '@peculiar/asn1-cms@2.4.0': + dependencies: + '@peculiar/asn1-schema': 2.4.0 + '@peculiar/asn1-x509': 2.4.0 + '@peculiar/asn1-x509-attr': 2.4.0 + asn1js: 3.0.6 + tslib: 2.8.1 + + '@peculiar/asn1-csr@2.4.0': + dependencies: + '@peculiar/asn1-schema': 2.4.0 + '@peculiar/asn1-x509': 2.4.0 + asn1js: 3.0.6 + tslib: 2.8.1 + + '@peculiar/asn1-ecc@2.4.0': + dependencies: + '@peculiar/asn1-schema': 2.4.0 + '@peculiar/asn1-x509': 2.4.0 + asn1js: 3.0.6 + tslib: 2.8.1 + + '@peculiar/asn1-pfx@2.4.0': + dependencies: + '@peculiar/asn1-cms': 2.4.0 + '@peculiar/asn1-pkcs8': 2.4.0 + '@peculiar/asn1-rsa': 2.4.0 + '@peculiar/asn1-schema': 2.4.0 + asn1js: 3.0.6 + tslib: 2.8.1 + + '@peculiar/asn1-pkcs8@2.4.0': + dependencies: + '@peculiar/asn1-schema': 2.4.0 + '@peculiar/asn1-x509': 2.4.0 + asn1js: 3.0.6 + tslib: 2.8.1 + + '@peculiar/asn1-pkcs9@2.4.0': + dependencies: + '@peculiar/asn1-cms': 2.4.0 + '@peculiar/asn1-pfx': 2.4.0 + '@peculiar/asn1-pkcs8': 2.4.0 + '@peculiar/asn1-schema': 2.4.0 + '@peculiar/asn1-x509': 2.4.0 + '@peculiar/asn1-x509-attr': 2.4.0 + asn1js: 3.0.6 + tslib: 2.8.1 + + '@peculiar/asn1-rsa@2.4.0': + dependencies: + '@peculiar/asn1-schema': 2.4.0 + '@peculiar/asn1-x509': 2.4.0 + asn1js: 3.0.6 + tslib: 2.8.1 + + '@peculiar/asn1-schema@2.4.0': + dependencies: + asn1js: 3.0.6 + pvtsutils: 1.3.6 + tslib: 2.8.1 + + '@peculiar/asn1-x509-attr@2.4.0': + dependencies: + '@peculiar/asn1-schema': 2.4.0 + '@peculiar/asn1-x509': 2.4.0 + asn1js: 3.0.6 + tslib: 2.8.1 + + '@peculiar/asn1-x509@2.4.0': + dependencies: + '@peculiar/asn1-schema': 2.4.0 + asn1js: 3.0.6 + pvtsutils: 1.3.6 + tslib: 2.8.1 + + '@peculiar/x509@1.13.0': + dependencies: + '@peculiar/asn1-cms': 2.4.0 + '@peculiar/asn1-csr': 2.4.0 + '@peculiar/asn1-ecc': 2.4.0 + '@peculiar/asn1-pkcs9': 2.4.0 + '@peculiar/asn1-rsa': 2.4.0 + '@peculiar/asn1-schema': 2.4.0 + '@peculiar/asn1-x509': 2.4.0 + pvtsutils: 1.3.6 + reflect-metadata: 0.2.2 + tslib: 2.8.1 + tsyringe: 4.10.0 + '@pkgjs/parseargs@0.11.0': optional: true @@ -7670,7 +7816,7 @@ snapshots: '@push.rocks/smartexit': 1.0.23 '@push.rocks/smartfile': 11.2.7 '@push.rocks/smartjson': 5.0.20 - '@push.rocks/smartpath': 5.0.18 + '@push.rocks/smartpath': 5.1.0 '@push.rocks/smartpromise': 4.2.3 '@push.rocks/smartstring': 4.0.15 '@push.rocks/smartunique': 3.0.9 @@ -7728,7 +7874,7 @@ snapshots: '@push.rocks/projectinfo@5.0.2': dependencies: '@push.rocks/smartfile': 10.0.41 - '@push.rocks/smartpath': 5.0.18 + '@push.rocks/smartpath': 5.1.0 '@push.rocks/smartpromise': 4.2.3 '@push.rocks/smartstring': 4.0.15 @@ -7740,25 +7886,30 @@ snapshots: '@push.rocks/smartlog': 3.1.8 '@push.rocks/smartpath': 6.0.0 - '@push.rocks/smartacme@5.0.0(@aws-sdk/credential-providers@3.796.0)(socks@2.8.7)': + '@push.rocks/smartacme@8.0.0(@aws-sdk/credential-providers@3.796.0)(socks@2.8.7)': dependencies: '@api.global/typedserver': 3.0.77 - '@push.rocks/lik': 6.1.0 - '@push.rocks/smartdata': 5.16.1(@aws-sdk/credential-providers@3.796.0)(socks@2.8.7) + '@apiclient.xyz/cloudflare': 6.4.1 + '@push.rocks/lik': 6.2.2 + '@push.rocks/smartdata': 5.16.4(@aws-sdk/credential-providers@3.796.0)(socks@2.8.7) '@push.rocks/smartdelay': 3.0.5 - '@push.rocks/smartdns': 5.0.4 + '@push.rocks/smartdns': 6.2.2 + '@push.rocks/smartfile': 11.2.7 '@push.rocks/smartlog': 3.1.8 + '@push.rocks/smartnetwork': 4.1.2 '@push.rocks/smartpromise': 4.2.3 '@push.rocks/smartrequest': 2.1.0 '@push.rocks/smartstring': 4.0.15 - '@push.rocks/smarttime': 4.0.8 + '@push.rocks/smarttime': 4.1.1 '@push.rocks/smartunique': 3.0.9 - '@tsclass/tsclass': 4.4.4 - acme-client: 4.2.5 + '@tsclass/tsclass': 9.2.0 + acme-client: 5.4.0 transitivePeerDependencies: - '@aws-sdk/credential-providers' - '@mongodb-js/zstd' - '@nuxt/kit' + - aws-crt + - encoding - gcp-metadata - kerberos - mongodb-client-encryption @@ -7776,7 +7927,7 @@ snapshots: '@push.rocks/smartpath': 6.0.0 '@push.rocks/smartpdf': 4.1.1(typescript@5.9.2) '@push.rocks/smartpromise': 4.2.3 - '@push.rocks/smartrequest': 4.2.1 + '@push.rocks/smartrequest': 4.2.2 '@push.rocks/webstream': 1.0.10 openai: 5.12.2(ws@8.18.3)(zod@3.25.76) transitivePeerDependencies: @@ -7793,7 +7944,7 @@ snapshots: dependencies: '@push.rocks/smartdelay': 3.0.5 '@push.rocks/smartfile': 11.2.7 - '@push.rocks/smartpath': 5.0.18 + '@push.rocks/smartpath': 5.1.0 '@push.rocks/smartpromise': 4.2.3 '@push.rocks/smartrequest': 2.1.0 '@push.rocks/smartrx': 3.0.10 @@ -7902,7 +8053,7 @@ snapshots: '@types/node-forge': 1.3.11 node-forge: 1.3.1 - '@push.rocks/smartdata@5.16.1(@aws-sdk/credential-providers@3.796.0)(socks@2.8.7)': + '@push.rocks/smartdata@5.16.4(@aws-sdk/credential-providers@3.796.0)(socks@2.8.7)': dependencies: '@push.rocks/lik': 6.2.2 '@push.rocks/smartdelay': 3.0.5 @@ -7931,14 +8082,21 @@ snapshots: dependencies: '@push.rocks/smartpromise': 4.2.3 - '@push.rocks/smartdns@5.0.4': + '@push.rocks/smartdns@6.2.2': dependencies: - '@pushrocks/smartdelay': 2.0.13 - '@pushrocks/smartenv': 5.0.5 - '@pushrocks/smartpromise': 3.1.10 - '@pushrocks/smartrequest': 2.0.15 - '@tsclass/tsclass': 4.4.4 - dns2: 2.1.0 + '@push.rocks/smartdelay': 3.0.5 + '@push.rocks/smartenv': 5.0.13 + '@push.rocks/smartpromise': 4.2.3 + '@push.rocks/smartrequest': 2.1.0 + '@tsclass/tsclass': 5.0.0 + '@types/dns-packet': 5.6.5 + '@types/elliptic': 6.4.18 + acme-client: 5.4.0 + dns-packet: 5.6.1 + elliptic: 6.6.1 + minimatch: 10.0.3 + transitivePeerDependencies: + - supports-color '@push.rocks/smartenv@5.0.12': dependencies: @@ -7955,12 +8113,6 @@ snapshots: '@push.rocks/smartpromise': 4.2.3 tree-kill: 1.2.2 - '@push.rocks/smartexpect@1.6.1': - dependencies: - '@push.rocks/smartdelay': 3.0.5 - '@push.rocks/smartpromise': 4.2.3 - fast-deep-equal: 3.1.3 - '@push.rocks/smartexpect@2.5.0': dependencies: '@push.rocks/smartdelay': 3.0.5 @@ -7983,7 +8135,7 @@ snapshots: '@push.rocks/smarthash': 3.0.4 '@push.rocks/smartjson': 5.0.20 '@push.rocks/smartmime': 1.0.6 - '@push.rocks/smartpath': 5.0.18 + '@push.rocks/smartpath': 5.1.0 '@push.rocks/smartpromise': 4.2.3 '@push.rocks/smartrequest': 2.1.0 '@push.rocks/smartstream': 2.0.8 @@ -8060,7 +8212,7 @@ snapshots: '@push.rocks/smartfile': 11.2.7 '@push.rocks/smarthash': 3.2.3 '@push.rocks/smartpath': 6.0.0 - '@push.rocks/smartrequest': 4.2.1 + '@push.rocks/smartrequest': 4.2.2 jimp: 1.6.0 sharp: 0.34.3 transitivePeerDependencies: @@ -8150,8 +8302,8 @@ snapshots: '@push.rocks/smartmongo@2.0.12(@aws-sdk/credential-providers@3.796.0)(socks@2.8.7)': dependencies: '@push.rocks/mongodump': 1.0.8 - '@push.rocks/smartdata': 5.16.1(@aws-sdk/credential-providers@3.796.0)(socks@2.8.7) - '@push.rocks/smartpath': 5.0.18 + '@push.rocks/smartdata': 5.16.4(@aws-sdk/credential-providers@3.796.0)(socks@2.8.7) + '@push.rocks/smartpath': 5.1.0 '@push.rocks/smartpromise': 4.2.3 mongodb-memory-server: 10.1.4(@aws-sdk/credential-providers@3.796.0)(socks@2.8.7) transitivePeerDependencies: @@ -8222,7 +8374,7 @@ snapshots: dependencies: open: 8.4.2 - '@push.rocks/smartpath@5.0.18': {} + '@push.rocks/smartpath@5.1.0': {} '@push.rocks/smartpath@6.0.0': {} @@ -8294,15 +8446,6 @@ snapshots: '@push.rocks/smartrequest@2.1.0': dependencies: - '@push.rocks/smartpromise': 4.2.3 - '@push.rocks/smarturl': 3.1.0 - agentkeepalive: 4.6.0 - form-data: 4.0.2 - - '@push.rocks/smartrequest@4.2.1': - dependencies: - '@push.rocks/smartenv': 5.0.13 - '@push.rocks/smartpath': 6.0.0 '@push.rocks/smartpromise': 4.2.3 '@push.rocks/smarturl': 3.1.0 agentkeepalive: 4.6.0 @@ -8422,7 +8565,7 @@ snapshots: '@push.rocks/smartssh@2.0.1': dependencies: '@push.rocks/smartfile': 10.0.41 - '@push.rocks/smartpath': 5.0.18 + '@push.rocks/smartpath': 5.1.0 '@push.rocks/smartpromise': 4.2.3 '@push.rocks/smartshell': 3.0.6 '@push.rocks/smartstring': 4.0.15 @@ -8676,13 +8819,6 @@ snapshots: agentkeepalive: 4.6.0 form-data: 4.0.4 - '@pushrocks/smartrequest@2.0.15': - dependencies: - '@pushrocks/smartpromise': 4.0.2 - '@pushrocks/smarturl': 3.0.6 - agentkeepalive: 4.6.0 - form-data: 4.0.1 - '@pushrocks/smartrx@2.0.27': dependencies: '@pushrocks/smartpromise': 3.1.10 @@ -8728,8 +8864,6 @@ snapshots: '@pushrocks/smarturl@2.0.1': {} - '@pushrocks/smarturl@3.0.6': {} - '@remirror/core-constants@3.0.0': {} '@rolldown/binding-android-arm64@1.0.0-beta.32': @@ -9633,6 +9767,10 @@ snapshots: dependencies: type-fest: 4.40.0 + '@tsclass/tsclass@5.0.0': + dependencies: + type-fest: 4.41.0 + '@tsclass/tsclass@9.2.0': dependencies: type-fest: 4.41.0 @@ -9642,27 +9780,31 @@ snapshots: tslib: 2.8.1 optional: true + '@types/bn.js@5.2.0': + dependencies: + '@types/node': 22.17.2 + '@types/body-parser@1.19.6': dependencies: '@types/connect': 3.4.38 - '@types/node': 24.3.0 + '@types/node': 22.17.2 '@types/buffer-json@2.0.3': {} '@types/clean-css@4.2.11': dependencies: - '@types/node': 24.3.0 + '@types/node': 22.17.2 source-map: 0.6.1 '@types/connect@3.4.38': dependencies: - '@types/node': 24.3.0 + '@types/node': 22.17.2 '@types/cookie@0.4.1': {} '@types/cors@2.8.17': dependencies: - '@types/node': 24.3.0 + '@types/node': 22.17.2 '@types/debug@4.1.12': dependencies: @@ -9676,9 +9818,17 @@ snapshots: dependencies: diff: 8.0.2 + '@types/dns-packet@5.6.5': + dependencies: + '@types/node': 22.17.2 + + '@types/elliptic@6.4.18': + dependencies: + '@types/bn.js': 5.2.0 + '@types/express-serve-static-core@5.0.7': dependencies: - '@types/node': 24.3.0 + '@types/node': 22.17.2 '@types/qs': 6.14.0 '@types/range-parser': 1.2.7 '@types/send': 0.17.5 @@ -9695,26 +9845,26 @@ snapshots: '@types/from2@2.3.5': dependencies: - '@types/node': 24.3.0 + '@types/node': 22.17.2 '@types/fs-extra@11.0.4': dependencies: '@types/jsonfile': 6.1.4 - '@types/node': 24.3.0 + '@types/node': 22.17.2 '@types/fs-extra@9.0.13': dependencies: - '@types/node': 24.3.0 + '@types/node': 22.17.2 '@types/glob@7.2.0': dependencies: '@types/minimatch': 5.1.2 - '@types/node': 24.3.0 + '@types/node': 22.17.2 '@types/glob@8.1.0': dependencies: '@types/minimatch': 5.1.2 - '@types/node': 24.3.0 + '@types/node': 22.17.2 '@types/hast@3.0.4': dependencies: @@ -9736,11 +9886,11 @@ snapshots: '@types/jsonfile@6.1.4': dependencies: - '@types/node': 24.3.0 + '@types/node': 22.17.2 '@types/jsonwebtoken@9.0.7': dependencies: - '@types/node': 24.3.0 + '@types/node': 22.17.2 '@types/linkify-it@5.0.0': {} @@ -9767,16 +9917,16 @@ snapshots: '@types/mute-stream@0.0.4': dependencies: - '@types/node': 24.3.0 + '@types/node': 22.17.2 '@types/node-fetch@2.6.13': dependencies: - '@types/node': 24.3.0 + '@types/node': 22.17.2 form-data: 4.0.4 '@types/node-forge@1.3.11': dependencies: - '@types/node': 24.3.0 + '@types/node': 22.17.2 '@types/node@16.9.1': {} @@ -9788,10 +9938,6 @@ snapshots: dependencies: undici-types: 6.21.0 - '@types/node@24.3.0': - dependencies: - undici-types: 7.10.0 - '@types/ping@0.4.4': {} '@types/qs@6.14.0': {} @@ -9804,34 +9950,34 @@ snapshots: '@types/s3rver@3.7.4': dependencies: - '@types/node': 24.3.0 + '@types/node': 22.17.2 '@types/semver@7.5.8': {} '@types/send@0.17.5': dependencies: '@types/mime': 1.3.5 - '@types/node': 24.3.0 + '@types/node': 22.17.2 '@types/serve-static@1.15.8': dependencies: '@types/http-errors': 2.0.5 - '@types/node': 24.3.0 + '@types/node': 22.17.2 '@types/send': 0.17.5 '@types/symbol-tree@3.2.5': {} '@types/tar-stream@3.1.3': dependencies: - '@types/node': 24.3.0 + '@types/node': 22.17.2 '@types/tar-stream@3.1.4': dependencies: - '@types/node': 24.3.0 + '@types/node': 22.17.2 '@types/through2@2.0.41': dependencies: - '@types/node': 24.3.0 + '@types/node': 22.17.2 '@types/triple-beam@1.3.5': {} @@ -9855,7 +10001,7 @@ snapshots: '@types/whatwg-url@8.2.2': dependencies: - '@types/node': 24.3.0 + '@types/node': 22.17.2 '@types/webidl-conversions': 7.0.3 '@types/which@3.0.4': {} @@ -9864,11 +10010,11 @@ snapshots: '@types/ws@8.18.1': dependencies: - '@types/node': 24.3.0 + '@types/node': 22.17.2 '@types/yauzl@2.10.3': dependencies: - '@types/node': 24.3.0 + '@types/node': 22.17.2 optional: true '@ungap/structured-clone@1.3.0': {} @@ -9891,12 +10037,12 @@ snapshots: mime-types: 3.0.1 negotiator: 1.0.0 - acme-client@4.2.5: + acme-client@5.4.0: dependencies: - axios: 0.26.1(debug@4.3.7) - backo2: 1.0.2 - bluebird: 3.7.2 - debug: 4.3.7 + '@peculiar/x509': 1.13.0 + asn1js: 3.0.6 + axios: 1.11.0(debug@4.4.1) + debug: 4.4.1 node-forge: 1.3.1 transitivePeerDependencies: - supports-color @@ -9953,6 +10099,12 @@ snapshots: argparse@2.0.1: {} + asn1js@3.0.6: + dependencies: + pvtsutils: 1.3.6 + pvutils: 1.1.3 + tslib: 2.8.1 + ast-types@0.13.4: dependencies: tslib: 2.8.1 @@ -9973,16 +10125,16 @@ snapshots: await-to-js@3.0.0: {} - axios@0.26.1(debug@4.3.7): + axios@1.11.0(debug@4.4.1): dependencies: - follow-redirects: 1.15.9(debug@4.3.7) + follow-redirects: 1.15.11(debug@4.4.1) + form-data: 4.0.4 + proxy-from-env: 1.1.0 transitivePeerDependencies: - debug b4a@1.6.7: {} - backo2@1.0.2: {} - bail@2.0.2: {} balanced-match@1.0.2: {} @@ -10021,10 +10173,10 @@ snapshots: basic-ftp@5.0.5: {} - bluebird@3.7.2: {} - bmp-ts@1.0.9: {} + bn.js@4.12.2: {} + body-parser@2.2.0: dependencies: bytes: 3.1.2 @@ -10060,6 +10212,8 @@ snapshots: p-queue: 6.6.2 unload: 2.4.1 + brorand@1.1.0: {} + bson@4.7.2: dependencies: buffer: 5.7.1 @@ -10411,8 +10565,6 @@ snapshots: dependencies: dns-packet: 5.6.1 - dns2@2.1.0: {} - dunder-proto@1.0.1: dependencies: call-bind-apply-helpers: 1.0.2 @@ -10427,6 +10579,16 @@ snapshots: ee-first@1.1.1: {} + elliptic@6.6.1: + dependencies: + bn.js: 4.12.2 + brorand: 1.1.0 + hash.js: 1.1.7 + hmac-drbg: 1.0.1 + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + minimalistic-crypto-utils: 1.0.1 + emoji-regex@8.0.0: {} emoji-regex@9.2.2: {} @@ -10459,7 +10621,7 @@ snapshots: dependencies: '@types/cookie': 0.4.1 '@types/cors': 2.8.17 - '@types/node': 24.3.0 + '@types/node': 22.17.2 accepts: 1.3.8 base64id: 2.0.0 cookie: 0.4.2 @@ -10740,9 +10902,9 @@ snapshots: fn.name@1.1.0: {} - follow-redirects@1.15.9(debug@4.3.7): + follow-redirects@1.15.11(debug@4.4.1): optionalDependencies: - debug: 4.3.7 + debug: 4.4.1 follow-redirects@1.15.9(debug@4.4.0): optionalDependencies: @@ -10771,19 +10933,6 @@ snapshots: form-data-encoder@2.1.4: {} - form-data@4.0.1: - dependencies: - asynckit: 0.4.0 - combined-stream: 1.0.8 - mime-types: 2.1.35 - - form-data@4.0.2: - dependencies: - asynckit: 0.4.0 - combined-stream: 1.0.8 - es-set-tostringtag: 2.1.0 - mime-types: 2.1.35 - form-data@4.0.4: dependencies: asynckit: 0.4.0 @@ -10988,6 +11137,11 @@ snapshots: dependencies: has-symbols: 1.1.0 + hash.js@1.1.7: + dependencies: + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + hasown@2.0.2: dependencies: function-bind: 1.1.2 @@ -11020,6 +11174,12 @@ snapshots: highlight.js@11.11.1: {} + hmac-drbg@1.0.1: + dependencies: + hash.js: 1.1.7 + minimalistic-assert: 1.0.1 + minimalistic-crypto-utils: 1.0.1 + html-minifier@4.0.0: dependencies: camel-case: 3.0.0 @@ -11880,6 +12040,10 @@ snapshots: min-indent@1.0.1: {} + minimalistic-assert@1.0.1: {} + + minimalistic-crypto-utils@1.0.1: {} + minimatch@10.0.3: dependencies: '@isaacs/brace-expansion': 5.0.0 @@ -12407,6 +12571,12 @@ snapshots: - typescript - utf-8-validate + pvtsutils@1.3.6: + dependencies: + tslib: 2.8.1 + + pvutils@1.1.3: {} + qs@6.13.0: dependencies: side-channel: 1.0.6 @@ -12471,6 +12641,8 @@ snapshots: readdirp@4.1.2: {} + reflect-metadata@0.2.2: {} + regenerator-runtime@0.14.1: {} registry-auth-token@5.1.0: @@ -13059,6 +13231,10 @@ snapshots: optionalDependencies: fsevents: 2.3.3 + tsyringe@4.10.0: + dependencies: + tslib: 1.14.1 + turndown-plugin-gfm@1.0.2: {} turndown@7.2.1: @@ -13117,8 +13293,6 @@ snapshots: undici-types@6.21.0: {} - undici-types@7.10.0: {} - unified@11.0.5: dependencies: '@types/unist': 3.0.3 diff --git a/test/test.apiclient.ts b/test/test.apiclient.ts index 6ba8e79..dfdee37 100644 --- a/test/test.apiclient.ts +++ b/test/test.apiclient.ts @@ -14,8 +14,10 @@ tap.preTask('should start cloudly', async () => { }); tap.preTask('should create a new machine user for testing', async () => { + console.log('🔵 PreTask: Creating first machine user...'); const machineUser = new testCloudly.authManager.CUser(); machineUser.id = await testCloudly.authManager.CUser.getNewId(); + console.log(` - User ID: ${machineUser.id}`); machineUser.data = { type: 'machine', username: 'test', @@ -27,48 +29,103 @@ tap.preTask('should create a new machine user for testing', async () => { }], role: 'admin', }; + console.log(` - Username: ${machineUser.data.username}`); + console.log(` - Role: ${machineUser.data.role}`); + console.log(` - Token: 'test'`); + console.log(` - Token roles: ${machineUser.data.tokens[0].assignedRoles}`); await machineUser.save(); + console.log('✅ PreTask: First machine user saved successfully'); }); tap.test('should create a new cloudlyApiClient', async () => { + console.log('🔵 Test: Creating CloudlyApiClient...'); testClient = new cloudlyApiClient.CloudlyApiClient({ registerAs: 'api', cloudlyUrl: `http://${helpers.testCloudlyConfig.publicUrl}:${helpers.testCloudlyConfig.publicPort}`, }); + console.log(` - URL: http://${helpers.testCloudlyConfig.publicUrl}:${helpers.testCloudlyConfig.publicPort}`); await testClient.start(); + console.log('✅ CloudlyApiClient started successfully'); expect(testClient).toBeTruthy(); }); -tap.test('create a new machine user', async () => { - const machineUser = await testCloudly.authManager.CUser.createMachineUser('test', 'api'); - machineUser.data.tokens.push({ - token: 'test', - expiresAt: Date.now() + 3600 * 1000 * 24 * 365, - assignedRoles: ['api'], - }) - await machineUser.save(); -}) +tap.test('DEBUG: Check existing users', async () => { + console.log('🔍 DEBUG: Checking existing users in database...'); + const allUsers = await testCloudly.authManager.CUser.getInstances({}); + console.log(` - Total users found: ${allUsers.length}`); + for (const user of allUsers) { + console.log(` - User: ${user.data.username} (ID: ${user.id})`); + console.log(` - Type: ${user.data.type}`); + console.log(` - Role: ${user.data.role}`); + console.log(` - Tokens: ${user.data.tokens.length}`); + for (const token of user.data.tokens) { + console.log(` - Token: '${token.token}' | Roles: ${token.assignedRoles?.join(', ')}`); + } + } +}); tap.test('should get an identity', async () => { - const identity = await testClient.getIdentityByToken('test'); - expect(identity).toBeTruthy(); - console.log(identity); + console.log('🔵 Test: Getting identity by token...'); + console.log(` - Using token: 'test'`); + console.log(` - API URL: http://${helpers.testCloudlyConfig.publicUrl}:${helpers.testCloudlyConfig.publicPort}`); + + try { + const identity = await testClient.getIdentityByToken('test'); + console.log('✅ Identity retrieved successfully:'); + console.log(` - Identity exists: ${!!identity}`); + if (identity) { + console.log(` - Identity data:`, JSON.stringify(identity, null, 2)); + } + expect(identity).toBeTruthy(); + } catch (error) { + console.error('❌ Failed to get identity:'); + console.error(` - Error message: ${error.message}`); + console.error(` - Error stack:`, error.stack); + throw error; + } }); let image: Image; tap.test('should create and upload an image', async () => { - image = await testClient.image.createImage({ - name: 'test', - description: 'test' - }); - console.log('created image: ', image); - expect(image).toBeInstanceOf(Image); + console.log('🔵 Test: Creating and uploading image...'); + console.log(` - Image name: 'test'`); + console.log(` - Image description: 'test'`); + + try { + image = await testClient.image.createImage({ + name: 'test', + description: 'test' + }); + console.log('✅ Image created successfully:'); + console.log(` - Image ID: ${image?.id}`); + console.log(` - Image data:`, image); + expect(image).toBeInstanceOf(Image); + } catch (error) { + console.error('❌ Failed to create image:'); + console.error(` - Error message: ${error.message}`); + console.error(` - Error stack:`, error.stack); + throw error; + } }) tap.test('should upload an image version', async () => { - const imageStream = await helpers.getAlpineImageReadableStream(); - - await image.pushImageVersion('v1.0.0', imageStream); + console.log('🔵 Test: Uploading image version...'); + console.log(` - Version: 'v1.0.0'`); + console.log(` - Image exists: ${!!image}`); + console.log(` - Image ID: ${image?.id}`); + + try { + const imageStream = await helpers.getAlpineImageReadableStream(); + console.log(' - Image stream obtained successfully'); + + await image.pushImageVersion('v1.0.0', imageStream); + console.log('✅ Image version uploaded successfully'); + } catch (error) { + console.error('❌ Failed to upload image version:'); + console.error(` - Error message: ${error.message}`); + console.error(` - Error stack:`, error.stack); + throw error; + } }); tap.test('should stop the apiclient', async (toolsArg) => { diff --git a/ts/00_commitinfo_data.ts b/ts/00_commitinfo_data.ts index bb1bdde..0382830 100644 --- a/ts/00_commitinfo_data.ts +++ b/ts/00_commitinfo_data.ts @@ -3,6 +3,6 @@ */ export const commitinfo = { name: '@serve.zone/cloudly', - version: '5.0.4', + version: '5.0.5', description: 'A comprehensive tool for managing containerized applications across multiple cloud providers using Docker Swarmkit, featuring web, CLI, and API interfaces.' } diff --git a/ts/manager.coreflow/coreflowmanager.ts b/ts/manager.coreflow/coreflowmanager.ts index bbfccf1..7a1d3a6 100644 --- a/ts/manager.coreflow/coreflowmanager.ts +++ b/ts/manager.coreflow/coreflowmanager.ts @@ -16,24 +16,23 @@ export class CloudlyCoreflowManager { this.typedRouter.addTypedHandler( new plugins.typedrequest.TypedHandler('getIdentityByToken', async (requestData) => { + // Use getInstance with $elemMatch for querying nested arrays const user = await this.cloudlyRef.authManager.CUser.getInstance({ data: { - tokens: [ - { - token: requestData.token, - }, - ], // find the proper user here. - } as any, + tokens: { + $elemMatch: { token: requestData.token }, + }, + }, }); if (!user) { throw new plugins.typedrequest.TypedResponseError( - 'The supplied token is not valid. No matching user found.', + 'The supplied token is not valid. No matching user found.' ); } if (user.data.type !== 'machine') { throw new plugins.typedrequest.TypedResponseError( - 'The supplied token is not valid. The user is not a machine.', + 'The supplied token is not valid. The user is not a machine.' ); } let cluster: Cluster; @@ -61,7 +60,7 @@ export class CloudlyCoreflowManager { }), }, }; - }), + }) ); // lets enable the getting of cluster configs @@ -76,10 +75,10 @@ export class CloudlyCoreflowManager { console.log('got cluster config and sending it back to coreflow'); return { configData: await cluster.createSavableObject(), - deploymentDirectives: [], + services: [], }; - }, - ), + } + ) ); // lets enable getting of certificates @@ -89,14 +88,14 @@ export class CloudlyCoreflowManager { async (dataArg) => { console.log(`incoming API request for certificate ${dataArg.domainName}`); const cert = await this.cloudlyRef.letsencryptConnector.getCertificateForDomain( - dataArg.domainName, + dataArg.domainName ); console.log(`got certificate ready for reponse ${dataArg.domainName}`); return { certificate: await cert.createSavableObject(), }; - }, - ), + } + ) ); } } diff --git a/ts_web/00_commitinfo_data.ts b/ts_web/00_commitinfo_data.ts index bb1bdde..0382830 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/cloudly', - version: '5.0.4', + version: '5.0.5', description: 'A comprehensive tool for managing containerized applications across multiple cloud providers using Docker Swarmkit, featuring web, CLI, and API interfaces.' }