diff --git a/changelog.md b/changelog.md index 03f3471..62b31ae 100644 --- a/changelog.md +++ b/changelog.md @@ -1,5 +1,12 @@ # Changelog +## 2024-10-06 - 1.3.0 - feat(account) +Implement account and organization management features + +- Added account management UI with organization selection +- Introduced organization creation and selection functionalities +- Implemented subscription view with Paddle setup integration + ## 2024-10-04 - 1.2.2 - fix(core) Update dependencies and refactor registration process diff --git a/package.json b/package.json index 07643e8..e5fa614 100644 --- a/package.json +++ b/package.json @@ -21,8 +21,8 @@ "@api.global/typedserver": "^3.0.51", "@api.global/typedsocket": "^3.0.1", "@consentsoftware_private/catalog": "^1.0.73", - "@design.estate/dees-catalog": "^1.1.10", - "@design.estate/dees-domtools": "^2.0.61", + "@design.estate/dees-catalog": "^1.1.13", + "@design.estate/dees-domtools": "^2.0.64", "@design.estate/dees-element": "^2.0.39", "@push.rocks/lik": "^6.0.15", "@push.rocks/qenv": "^6.0.5", @@ -44,7 +44,7 @@ "@push.rocks/webjwt": "^1.0.9", "@push.rocks/websetup": "^3.0.15", "@push.rocks/webstore": "^2.0.20", - "@serve.zone/platformclient": "^1.1.0", + "@serve.zone/platformclient": "^1.1.2", "@tsclass/tsclass": "^4.1.2", "@uptime.link/webwidget": "^1.1.2" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 70866a4..ac910ba 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -24,11 +24,11 @@ importers: specifier: ^1.0.73 version: 1.0.77(@types/node@22.7.4) '@design.estate/dees-catalog': - specifier: ^1.1.10 - version: 1.1.10 + specifier: ^1.1.13 + version: 1.1.13 '@design.estate/dees-domtools': - specifier: ^2.0.61 - version: 2.0.61 + specifier: ^2.0.64 + version: 2.0.64 '@design.estate/dees-element': specifier: ^2.0.39 version: 2.0.39 @@ -40,7 +40,7 @@ importers: version: 6.0.5 '@push.rocks/smartdata': specifier: ^5.2.10 - version: 5.2.10(@aws-sdk/client-sso-oidc@3.664.0(@aws-sdk/client-sts@3.658.1))(@aws-sdk/credential-providers@3.664.0(@aws-sdk/client-sso-oidc@3.664.0(@aws-sdk/client-sts@3.658.1)))(socks@2.8.3) + version: 5.2.10(@aws-sdk/client-sso-oidc@3.665.0(@aws-sdk/client-sts@3.658.1))(@aws-sdk/credential-providers@3.665.0(@aws-sdk/client-sso-oidc@3.665.0(@aws-sdk/client-sts@3.658.1)))(socks@2.8.3) '@push.rocks/smartdelay': specifier: ^3.0.5 version: 3.0.5 @@ -93,8 +93,8 @@ importers: specifier: ^2.0.20 version: 2.0.20 '@serve.zone/platformclient': - specifier: ^1.1.0 - version: 1.1.0 + specifier: ^1.1.2 + version: 1.1.2 '@tsclass/tsclass': specifier: ^4.1.2 version: 4.1.2 @@ -174,8 +174,8 @@ packages: resolution: {integrity: sha512-MCYLKmNy0FlNT9TvXfOxj0jh+ZQq+G9qEy/VZqu3JsQSgiFvFRdzgzcbQ9gQx7fZrDC/TPdABOTh483zI4cu9g==} engines: {node: '>=16.0.0'} - '@aws-sdk/client-cognito-identity@3.664.0': - resolution: {integrity: sha512-kOk4hIJy51xta2Tq2bNonHXdOZEZ3b3IdctxSYPtXMxATvhGPxEYm4reiIabDxBxWv+blF5qM54pBQXV/dsfrQ==} + '@aws-sdk/client-cognito-identity@3.665.0': + resolution: {integrity: sha512-dHi749JNI85zHnhHDgEFyiXI6ju39i7y7ufT2Kt2oDZg/UgsNs9I3pPqPJzDdRmn86vQi984iwS+y967CtoNqA==} engines: {node: '>=16.0.0'} '@aws-sdk/client-sso-oidc@3.658.1': @@ -184,42 +184,42 @@ packages: peerDependencies: '@aws-sdk/client-sts': ^3.658.1 - '@aws-sdk/client-sso-oidc@3.664.0': - resolution: {integrity: sha512-VgnAnQwt88oj6OSnIEouvTKN8JI2PzcC3qWQSL87ZtzBSscfrSwbtBNqBxk6nQWwE7AlZuzvT7IN6loz6c7kGA==} + '@aws-sdk/client-sso-oidc@3.665.0': + resolution: {integrity: sha512-FQ2YyM9/6y3clWkf3d60/W4c/HZy61hbfIsR4KIh8aGOifwfIx/UpZQ61pCr/TXTNqbaAVU2/sK+J1zFkGEoLw==} engines: {node: '>=16.0.0'} peerDependencies: - '@aws-sdk/client-sts': ^3.664.0 + '@aws-sdk/client-sts': ^3.665.0 '@aws-sdk/client-sso@3.658.1': resolution: {integrity: sha512-lOuaBtqPTYGn6xpXlQF4LsNDsQ8Ij2kOdnk+i69Kp6yS76TYvtUuukyLL5kx8zE1c8WbYtxj9y8VNw9/6uKl7Q==} engines: {node: '>=16.0.0'} - '@aws-sdk/client-sso@3.664.0': - resolution: {integrity: sha512-E0MObuGylqY2yf47bZZAFK+4+C13c4Cs3HobXgCV3+myoHaxxQHltQuGrapxWOiJJzNmABKEPjBcMnRWnZHXCQ==} + '@aws-sdk/client-sso@3.665.0': + resolution: {integrity: sha512-zje+oaIiyviDv5dmBWhGHifPTb0Idq/HatNPy+VEiwo2dxcQBexibD5CQE5e8CWZK123Br/9DHft+iNKdiY5bA==} engines: {node: '>=16.0.0'} '@aws-sdk/client-sts@3.658.1': resolution: {integrity: sha512-yw9hc5blTnbT1V6mR7Cx9HGc9KQpcLQ1QXj8rntiJi6tIYu3aFNVEyy81JHL7NsuBSeQulJTvHO3y6r3O0sfRg==} engines: {node: '>=16.0.0'} - '@aws-sdk/client-sts@3.664.0': - resolution: {integrity: sha512-+kFS+B/U/thLi8yxYgKc7QFsababYrgrIkbVgTvSzudkzk5RIlDu753L/DfXqYOtecbc6WUwlTKA+Ltee3OVXg==} + '@aws-sdk/client-sts@3.665.0': + resolution: {integrity: sha512-/OQEaWB1euXhZ/hV+wetDw1tynlrkNKzirzoiFuJ1EQsiIb9Ih/qjUF9KLdF1+/bXbnGu5YvIaAx80YReUchjg==} engines: {node: '>=16.0.0'} '@aws-sdk/core@3.658.1': resolution: {integrity: sha512-vJVMoMcSKXK2gBRSu9Ywwv6wQ7tXH8VL1fqB1uVxgCqBZ3IHfqNn4zvpMPWrwgO2/3wv7XFyikGQ5ypPTCw4jA==} engines: {node: '>=16.0.0'} - '@aws-sdk/core@3.664.0': - resolution: {integrity: sha512-QdfMpTpJqtpuFIFfUJEgJ+Rq/dO3I5iaViLKr9Zad4Gfi/GiRWTeXd4IvjcyRntB5GkyCak9RKMkxkECQavPJg==} + '@aws-sdk/core@3.665.0': + resolution: {integrity: sha512-nqmNNf7Ml7qDXTIisDv+OYe/rl3nAW4cmR+HxrOCWdhTHe8xRdR5c45VPoh8nv1KIry5xtd+iqPrzzjydes+Og==} engines: {node: '>=16.0.0'} '@aws-sdk/credential-provider-cognito-identity@3.658.1': resolution: {integrity: sha512-JY4rZ4e2emL7PNHCU7F/BQV8PpQGEBZLkEoPD55RO4CitaIhlVZRpUCGLih+0Hw4MOnTUqJdfQBM+qZk6G+Now==} engines: {node: '>=16.0.0'} - '@aws-sdk/credential-provider-cognito-identity@3.664.0': - resolution: {integrity: sha512-wOWir00Ve38kSnkoP8CS8Vq4UqRSCSrHm7Nym1iAL0Hmf4hOQRcWXBKP08/dHpk4nt4+LqVd+dT8V2LhN7RCog==} + '@aws-sdk/credential-provider-cognito-identity@3.665.0': + resolution: {integrity: sha512-CeoUhCv6tb/xV+fiww+DGzlq04rTgA1S9GP9Bqtkhjjy8B9Gai7DaTAwPB+qcjPAhqCgC/JRZVljWLEt6NEeuA==} engines: {node: '>=16.0.0'} '@aws-sdk/credential-provider-env@3.654.0': @@ -244,18 +244,18 @@ packages: peerDependencies: '@aws-sdk/client-sts': ^3.658.1 - '@aws-sdk/credential-provider-ini@3.664.0': - resolution: {integrity: sha512-ykRLQi9gqY7xlgC33iEWyPMv19JDMpOqQfqb5zaV46NteT60ouBrS3WsCrDiwygF7HznGLpr0lpt17/C6Mq27g==} + '@aws-sdk/credential-provider-ini@3.665.0': + resolution: {integrity: sha512-CSWBV5GqCkK78TTXq6qx40MWCt90t8rS/O7FIR4nbmoUhG/DysaC1G0om1fSx6k+GWcvIIIsSvD4hdbh8FRWKA==} engines: {node: '>=16.0.0'} peerDependencies: - '@aws-sdk/client-sts': ^3.664.0 + '@aws-sdk/client-sts': ^3.665.0 '@aws-sdk/credential-provider-node@3.658.1': resolution: {integrity: sha512-XwxW6N+uPXPYAuyq+GfOEdfL/MZGAlCSfB5gEWtLBFmFbikhmEuqfWtI6CD60OwudCUOh6argd21BsJf8o1SJA==} engines: {node: '>=16.0.0'} - '@aws-sdk/credential-provider-node@3.664.0': - resolution: {integrity: sha512-JrLtx4tEtEzqYAmk+pz8B7QcBCNRN+lZAh3fbQox7q9YQaIELLM3MA6LM5kEp/uHop920MQvdhHOMtR5jjJqWA==} + '@aws-sdk/credential-provider-node@3.665.0': + resolution: {integrity: sha512-cmJfVi4IM0WaKMQvPXhiS5mdIZyCoa04I3D+IEKpD2GAuVZa6tgwqfPyaApFDLjyedGGNFkC4MRgAjCcCl4WFg==} engines: {node: '>=16.0.0'} '@aws-sdk/credential-provider-process@3.654.0': @@ -270,8 +270,8 @@ packages: resolution: {integrity: sha512-YOagVEsZEk9DmgJEBg+4MBXrPcw/tYas0VQ5OVBqC5XHNbi2OBGJqgmjVPesuu393E7W0VQxtJFDS00O1ewQgA==} engines: {node: '>=16.0.0'} - '@aws-sdk/credential-provider-sso@3.664.0': - resolution: {integrity: sha512-r7m+XkTAvGT9nW4aHqjWOHcoo3EfUsXx6d9JJjWn/gnvdsvhobCJx8p621aR9WeSBUTKJg5+EXGhZF6awRdZGQ==} + '@aws-sdk/credential-provider-sso@3.665.0': + resolution: {integrity: sha512-Xe8WW4r70bsetGQG3azFeK/gd+Q4OmNiidtRrG64y/V9TIvIqc7Y/yUZNhEgFkpG19o188VmXg/ulnG3E+MvLg==} engines: {node: '>=16.0.0'} '@aws-sdk/credential-provider-web-identity@3.654.0': @@ -290,8 +290,8 @@ packages: resolution: {integrity: sha512-lfXA6kZS6GHyi/67EbfrKdLoqHR6j7G35eFwaqxyNkfMhNBpAF0eZK3SYiwnzdR9+Wb/enTFawYiFbG5R+dQzA==} engines: {node: '>=16.0.0'} - '@aws-sdk/credential-providers@3.664.0': - resolution: {integrity: sha512-9xxEyvZVsXvf0Dpm7eVYIrLiqOiNSWY8mAk594HldL/GYDokUzokA6NmZyQtCY2rYPSInB/4TCZ1tH4IeXRKeQ==} + '@aws-sdk/credential-providers@3.665.0': + resolution: {integrity: sha512-NmIvufyx5GiyynZmLmd6s1DKFTAlOlyB2e7wBMqRmsrQo5/+WKWDwWwn7T/QvuyjDJFp35ruucET7YIqePWcHg==} engines: {node: '>=16.0.0'} '@aws-sdk/middleware-host-header@3.654.0': @@ -420,14 +420,14 @@ packages: resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} engines: {node: '>=12'} - '@design.estate/dees-catalog@1.1.10': - resolution: {integrity: sha512-p94JjX8e5nlQqgsW0p43VT9PIG/uaX3WkCqyY4P1ArgPFy5dqIdzlBfCoZFTuH7yREe3ex9r8ALN9HsMqQ5zrg==} + '@design.estate/dees-catalog@1.1.13': + resolution: {integrity: sha512-bgxlsu6rfYCTqyC2tDo8dtwFQB2HaINEK4dOSlvEWd9DmDymphxNoHxi5f/4NFY7H8gSIgUoBmk3y/MFU3GoRg==} '@design.estate/dees-comms@1.0.27': resolution: {integrity: sha512-GvzTUwkV442LD60T08iqSoqvhA02Mou5lFvvqBPc4yBUiU7cZISqBx+76xvMgMIEI9Dx9JfTl4/2nW8MoVAanw==} - '@design.estate/dees-domtools@2.0.61': - resolution: {integrity: sha512-gT+qR3Rfl4JNs89PNjz4JCEfzGovJLlSAUKGsF3rk4vRfgYnJfHudIuZZeg6mvv+qgOUW+V0RoA68xt/KzISIg==} + '@design.estate/dees-domtools@2.0.64': + resolution: {integrity: sha512-w0frhl9UWBCpoHW66WYz6KR3hn8ljbmkdd8imcaJNxNKDC2PqoK67uWHdNSmtSJD/ZZscpI/fbJ580LpyH1pRA==} '@design.estate/dees-element@2.0.39': resolution: {integrity: sha512-AQdGU/+GmWmU5M5pDf+GWT7GU8UN073WZvtIkfqQZemxd35HYU1vpi629m8/PjKd5dIHAU7QN2mKb6IQ8anPgw==} @@ -808,8 +808,8 @@ packages: '@push.rocks/smartrequest@2.0.22': resolution: {integrity: sha512-EfgmdEsLtDJ8aNOLOh59ca1NMsiiFz54aoHRigQFQ0cuoUs6phxejIY2FdMoPFn68ubTpkztdL2P4L1/cRYyHg==} - '@push.rocks/smartrouter@1.0.16': - resolution: {integrity: sha512-GsEv6paOuIbC3vkIS5LxNroK68mNygB+oSDJRaUOE8/OCJLk0aPfI579nEiuXP/DkGjC1SjQ2bUWc3BTaUM3GQ==} + '@push.rocks/smartrouter@1.3.2': + resolution: {integrity: sha512-JtkxClN4CaHXMSeLDNvfWPwiVEPdEoQVSX2ee3gLgbXNO9dt9hvXdIhFrnFeLwyeA6M8nJdb9SqjrjZroYJsxw==} '@push.rocks/smartrx@3.0.7': resolution: {integrity: sha512-qCWy0s3RLAgGSnaw/Gu0BNaJ59CsI6RK5OJDCCqxc7P2X/S755vuLtnAR5/0dEjdhCHXHX9ytPZx+o9g/CNiyA==} @@ -1093,11 +1093,11 @@ packages: '@sec-ant/readable-stream@0.4.1': resolution: {integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==} - '@serve.zone/interfaces@1.0.81': - resolution: {integrity: sha512-ra0pALnvhYut2Ts55BHWKv8q1ysjf84AS0cG/Pi8FB53/OqCnaaETr2qJrAETa6OcuDDDm++R0KVZm+R5evbwQ==} + '@serve.zone/interfaces@1.1.1': + resolution: {integrity: sha512-Ir9xs06UYvsGoo67en7hitzMxZJ3kOBZWoQs5HIV+dTTd/5eMBjidFPJH+x6MSZsr3mb907s5Sfmb8FEtgMFYA==} - '@serve.zone/platformclient@1.1.0': - resolution: {integrity: sha512-jnS9Wh4SCbPE2OT55ciLuDhmwcFidiUOoMLi59vM+Z7/AfiAjKZCDrxnjqSJNoPYeBNFoCNpxgGnIR00WqPmTg==} + '@serve.zone/platformclient@1.1.2': + resolution: {integrity: sha512-JKGV1L5n6opGXFZWumBExmdfrQhNzCpGQwo/T3l5un/G72GO2LnugTtp0wgKivCAr60yyXmg8CdEQ7kl8Coy+Q==} '@smithy/abort-controller@3.1.4': resolution: {integrity: sha512-VupaALAQlXViW3/enTf/f5l5JZYSAxoJL7f0nanhNNKnww6DGCg1oYIuNP78KDugnkwthBO6iEcym16HhWV8RQ==} @@ -1119,8 +1119,8 @@ packages: resolution: {integrity: sha512-6lQQp99hnyuNNIzeTYSzCUXJHwvvFLY7hfdFGSJM95tjRDJGfzWYFRBXPaM9766LiiTsQ561KErtbufzUFSYUg==} engines: {node: '>=16.0.0'} - '@smithy/core@2.4.7': - resolution: {integrity: sha512-goqMjX+IoVEnHZjYuzu8xwoZjoteMiLXsPHuXPBkWsGwu0o9c3nTjqkUlP1Ez/V8E501aOU7CJ3INk8mQcW2gw==} + '@smithy/core@2.4.8': + resolution: {integrity: sha512-x4qWk7p/a4dcf7Vxb2MODIf4OIcqNbK182WxRvZ/3oKPrf/6Fdic5sSElhO1UtXpWKBazWfqg0ZEK9xN1DsuHA==} engines: {node: '>=16.0.0'} '@smithy/credential-provider-imds@3.2.3': @@ -1179,8 +1179,8 @@ packages: resolution: {integrity: sha512-/h0fElV95LekVVEJuSw+aI11S1Y3zIUwBc6h9ZbUv43Gl2weXsbQwjLoet6j/Qtb0phfrSxS6pNg6FqgJOWZkA==} engines: {node: '>=16.0.0'} - '@smithy/middleware-retry@3.0.22': - resolution: {integrity: sha512-svEN7O2Tf7BoaBkPzX/8AE2Bv7p16d9/ulFAD1Gmn5g19iMqNk1WIkMxAY7SpB9/tVtUwKx0NaIsBRl88gumZA==} + '@smithy/middleware-retry@3.0.23': + resolution: {integrity: sha512-x9PbGXxkcXIpm6L26qRSCC+eaYcHwybRmqU8LO/WM2RRlW0g8lz6FIiKbKgGvHuoK3dLZRiQVSQJveiCzwnA5A==} engines: {node: '>=16.0.0'} '@smithy/middleware-serde@3.0.6': @@ -1275,8 +1275,8 @@ packages: resolution: {integrity: sha512-7IZi8J3Dr9n3tX+lcpmJ/5tCYIqoXdblFBaPuv0SEKZFRpCxE+TqIWL6I3t7jLlk9TWu3JSvEZAhtjB9yvB+zA==} engines: {node: '>=16.0.0'} - '@smithy/smithy-client@3.3.6': - resolution: {integrity: sha512-qdH+mvDHgq1ss6mocyIl2/VjlWXew7pGwZQydwYJczEc22HZyX3k8yVPV9aZsbYbssHPvMDRA5rfBDrjQUbIIw==} + '@smithy/smithy-client@3.4.0': + resolution: {integrity: sha512-nOfJ1nVQsxiP6srKt43r2My0Gp5PLWCW2ASqUioxIiGmu6d32v4Nekidiv5qOmmtzIrmaD+ADX5SKHUuhReeBQ==} engines: {node: '>=16.0.0'} '@smithy/types@3.4.2': @@ -1320,16 +1320,16 @@ packages: resolution: {integrity: sha512-M/FhTBk4c/SsB91dD/M4gMGfJO7z/qJaM9+XQQIqBOf4qzZYMExnP7R4VdGwxxH8IKMGW+8F0I4rNtVRrcfPoA==} engines: {node: '>= 10.0.0'} - '@smithy/util-defaults-mode-browser@3.0.22': - resolution: {integrity: sha512-WKzUxNsOun5ETwEOrvooXeI1mZ8tjDTOcN4oruELWHhEYDgQYWwxZupURVyovcv+h5DyQT/DzK5nm4ZoR/Tw5Q==} + '@smithy/util-defaults-mode-browser@3.0.23': + resolution: {integrity: sha512-Y07qslyRtXDP/C5aWKqxTPBl4YxplEELG3xRrz2dnAQ6Lq/FgNrcKWmV561nNaZmFH+EzeGOX3ZRMbU8p1T6Nw==} engines: {node: '>= 10.0.0'} '@smithy/util-defaults-mode-node@3.0.21': resolution: {integrity: sha512-NiLinPvF86U3S2Pdx/ycqd4bnY5dmFSPNL5KYRwbNjqQFS09M5Wzqk8BNk61/47xCYz1X/6KeiSk9qgYPTtuDw==} engines: {node: '>= 10.0.0'} - '@smithy/util-defaults-mode-node@3.0.22': - resolution: {integrity: sha512-hUsciOmAq8fsGwqg4+pJfNRmrhfqMH4Y9UeGcgeUl88kPAoYANFATJqCND+O4nUvwp5TzsYwGpqpcBKyA8LUUg==} + '@smithy/util-defaults-mode-node@3.0.23': + resolution: {integrity: sha512-9Y4WH7f0vnDGuHUa4lGX9e2p+sMwODibsceSV6rfkZOvMC+BY3StB2LdO1NHafpsyHJLpwAgChxQ38tFyd6vkg==} engines: {node: '>= 10.0.0'} '@smithy/util-endpoints@2.1.2': @@ -2931,6 +2931,10 @@ packages: path-to-regexp@6.3.0: resolution: {integrity: sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==} + path-to-regexp@8.2.0: + resolution: {integrity: sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ==} + engines: {node: '>=16'} + path2d@0.2.1: resolution: {integrity: sha512-Fl2z/BHvkTNvkuBzYTpTuirHZg6wW9z8+4SND/3mDTEcYbbNKWAy21dz9D3ePNNwrrK8pqZO5vLPZ1hLF6T7XA==} engines: {node: '>=6'} @@ -3820,14 +3824,14 @@ snapshots: - aws-crt optional: true - '@aws-sdk/client-cognito-identity@3.664.0': + '@aws-sdk/client-cognito-identity@3.665.0': dependencies: '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/client-sso-oidc': 3.664.0(@aws-sdk/client-sts@3.664.0) - '@aws-sdk/client-sts': 3.664.0 - '@aws-sdk/core': 3.664.0 - '@aws-sdk/credential-provider-node': 3.664.0(@aws-sdk/client-sso-oidc@3.664.0(@aws-sdk/client-sts@3.664.0))(@aws-sdk/client-sts@3.664.0) + '@aws-sdk/client-sso-oidc': 3.665.0(@aws-sdk/client-sts@3.665.0) + '@aws-sdk/client-sts': 3.665.0 + '@aws-sdk/core': 3.665.0 + '@aws-sdk/credential-provider-node': 3.665.0(@aws-sdk/client-sso-oidc@3.665.0(@aws-sdk/client-sts@3.665.0))(@aws-sdk/client-sts@3.665.0) '@aws-sdk/middleware-host-header': 3.664.0 '@aws-sdk/middleware-logger': 3.664.0 '@aws-sdk/middleware-recursion-detection': 3.664.0 @@ -3838,26 +3842,26 @@ snapshots: '@aws-sdk/util-user-agent-browser': 3.664.0 '@aws-sdk/util-user-agent-node': 3.664.0 '@smithy/config-resolver': 3.0.9 - '@smithy/core': 2.4.7 + '@smithy/core': 2.4.8 '@smithy/fetch-http-handler': 3.2.9 '@smithy/hash-node': 3.0.7 '@smithy/invalid-dependency': 3.0.7 '@smithy/middleware-content-length': 3.0.9 '@smithy/middleware-endpoint': 3.1.4 - '@smithy/middleware-retry': 3.0.22 + '@smithy/middleware-retry': 3.0.23 '@smithy/middleware-serde': 3.0.7 '@smithy/middleware-stack': 3.0.7 '@smithy/node-config-provider': 3.1.8 '@smithy/node-http-handler': 3.2.4 '@smithy/protocol-http': 4.1.4 - '@smithy/smithy-client': 3.3.6 + '@smithy/smithy-client': 3.4.0 '@smithy/types': 3.5.0 '@smithy/url-parser': 3.0.7 '@smithy/util-base64': 3.0.0 '@smithy/util-body-length-browser': 3.0.0 '@smithy/util-body-length-node': 3.0.0 - '@smithy/util-defaults-mode-browser': 3.0.22 - '@smithy/util-defaults-mode-node': 3.0.22 + '@smithy/util-defaults-mode-browser': 3.0.23 + '@smithy/util-defaults-mode-node': 3.0.23 '@smithy/util-endpoints': 2.1.3 '@smithy/util-middleware': 3.0.7 '@smithy/util-retry': 3.0.7 @@ -3913,13 +3917,13 @@ snapshots: - aws-crt optional: true - '@aws-sdk/client-sso-oidc@3.664.0(@aws-sdk/client-sts@3.658.1)': + '@aws-sdk/client-sso-oidc@3.665.0(@aws-sdk/client-sts@3.658.1)': dependencies: '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 '@aws-sdk/client-sts': 3.658.1 - '@aws-sdk/core': 3.664.0 - '@aws-sdk/credential-provider-node': 3.664.0(@aws-sdk/client-sso-oidc@3.664.0(@aws-sdk/client-sts@3.658.1))(@aws-sdk/client-sts@3.658.1) + '@aws-sdk/core': 3.665.0 + '@aws-sdk/credential-provider-node': 3.665.0(@aws-sdk/client-sso-oidc@3.665.0(@aws-sdk/client-sts@3.658.1))(@aws-sdk/client-sts@3.658.1) '@aws-sdk/middleware-host-header': 3.664.0 '@aws-sdk/middleware-logger': 3.664.0 '@aws-sdk/middleware-recursion-detection': 3.664.0 @@ -3930,26 +3934,26 @@ snapshots: '@aws-sdk/util-user-agent-browser': 3.664.0 '@aws-sdk/util-user-agent-node': 3.664.0 '@smithy/config-resolver': 3.0.9 - '@smithy/core': 2.4.7 + '@smithy/core': 2.4.8 '@smithy/fetch-http-handler': 3.2.9 '@smithy/hash-node': 3.0.7 '@smithy/invalid-dependency': 3.0.7 '@smithy/middleware-content-length': 3.0.9 '@smithy/middleware-endpoint': 3.1.4 - '@smithy/middleware-retry': 3.0.22 + '@smithy/middleware-retry': 3.0.23 '@smithy/middleware-serde': 3.0.7 '@smithy/middleware-stack': 3.0.7 '@smithy/node-config-provider': 3.1.8 '@smithy/node-http-handler': 3.2.4 '@smithy/protocol-http': 4.1.4 - '@smithy/smithy-client': 3.3.6 + '@smithy/smithy-client': 3.4.0 '@smithy/types': 3.5.0 '@smithy/url-parser': 3.0.7 '@smithy/util-base64': 3.0.0 '@smithy/util-body-length-browser': 3.0.0 '@smithy/util-body-length-node': 3.0.0 - '@smithy/util-defaults-mode-browser': 3.0.22 - '@smithy/util-defaults-mode-node': 3.0.22 + '@smithy/util-defaults-mode-browser': 3.0.23 + '@smithy/util-defaults-mode-node': 3.0.23 '@smithy/util-endpoints': 2.1.3 '@smithy/util-middleware': 3.0.7 '@smithy/util-retry': 3.0.7 @@ -3959,13 +3963,13 @@ snapshots: - aws-crt optional: true - '@aws-sdk/client-sso-oidc@3.664.0(@aws-sdk/client-sts@3.664.0)': + '@aws-sdk/client-sso-oidc@3.665.0(@aws-sdk/client-sts@3.665.0)': dependencies: '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/client-sts': 3.664.0 - '@aws-sdk/core': 3.664.0 - '@aws-sdk/credential-provider-node': 3.664.0(@aws-sdk/client-sso-oidc@3.664.0(@aws-sdk/client-sts@3.664.0))(@aws-sdk/client-sts@3.664.0) + '@aws-sdk/client-sts': 3.665.0 + '@aws-sdk/core': 3.665.0 + '@aws-sdk/credential-provider-node': 3.665.0(@aws-sdk/client-sso-oidc@3.665.0(@aws-sdk/client-sts@3.665.0))(@aws-sdk/client-sts@3.665.0) '@aws-sdk/middleware-host-header': 3.664.0 '@aws-sdk/middleware-logger': 3.664.0 '@aws-sdk/middleware-recursion-detection': 3.664.0 @@ -3976,26 +3980,26 @@ snapshots: '@aws-sdk/util-user-agent-browser': 3.664.0 '@aws-sdk/util-user-agent-node': 3.664.0 '@smithy/config-resolver': 3.0.9 - '@smithy/core': 2.4.7 + '@smithy/core': 2.4.8 '@smithy/fetch-http-handler': 3.2.9 '@smithy/hash-node': 3.0.7 '@smithy/invalid-dependency': 3.0.7 '@smithy/middleware-content-length': 3.0.9 '@smithy/middleware-endpoint': 3.1.4 - '@smithy/middleware-retry': 3.0.22 + '@smithy/middleware-retry': 3.0.23 '@smithy/middleware-serde': 3.0.7 '@smithy/middleware-stack': 3.0.7 '@smithy/node-config-provider': 3.1.8 '@smithy/node-http-handler': 3.2.4 '@smithy/protocol-http': 4.1.4 - '@smithy/smithy-client': 3.3.6 + '@smithy/smithy-client': 3.4.0 '@smithy/types': 3.5.0 '@smithy/url-parser': 3.0.7 '@smithy/util-base64': 3.0.0 '@smithy/util-body-length-browser': 3.0.0 '@smithy/util-body-length-node': 3.0.0 - '@smithy/util-defaults-mode-browser': 3.0.22 - '@smithy/util-defaults-mode-node': 3.0.22 + '@smithy/util-defaults-mode-browser': 3.0.23 + '@smithy/util-defaults-mode-node': 3.0.23 '@smithy/util-endpoints': 2.1.3 '@smithy/util-middleware': 3.0.7 '@smithy/util-retry': 3.0.7 @@ -4049,11 +4053,11 @@ snapshots: - aws-crt optional: true - '@aws-sdk/client-sso@3.664.0': + '@aws-sdk/client-sso@3.665.0': dependencies: '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/core': 3.664.0 + '@aws-sdk/core': 3.665.0 '@aws-sdk/middleware-host-header': 3.664.0 '@aws-sdk/middleware-logger': 3.664.0 '@aws-sdk/middleware-recursion-detection': 3.664.0 @@ -4064,26 +4068,26 @@ snapshots: '@aws-sdk/util-user-agent-browser': 3.664.0 '@aws-sdk/util-user-agent-node': 3.664.0 '@smithy/config-resolver': 3.0.9 - '@smithy/core': 2.4.7 + '@smithy/core': 2.4.8 '@smithy/fetch-http-handler': 3.2.9 '@smithy/hash-node': 3.0.7 '@smithy/invalid-dependency': 3.0.7 '@smithy/middleware-content-length': 3.0.9 '@smithy/middleware-endpoint': 3.1.4 - '@smithy/middleware-retry': 3.0.22 + '@smithy/middleware-retry': 3.0.23 '@smithy/middleware-serde': 3.0.7 '@smithy/middleware-stack': 3.0.7 '@smithy/node-config-provider': 3.1.8 '@smithy/node-http-handler': 3.2.4 '@smithy/protocol-http': 4.1.4 - '@smithy/smithy-client': 3.3.6 + '@smithy/smithy-client': 3.4.0 '@smithy/types': 3.5.0 '@smithy/url-parser': 3.0.7 '@smithy/util-base64': 3.0.0 '@smithy/util-body-length-browser': 3.0.0 '@smithy/util-body-length-node': 3.0.0 - '@smithy/util-defaults-mode-browser': 3.0.22 - '@smithy/util-defaults-mode-node': 3.0.22 + '@smithy/util-defaults-mode-browser': 3.0.23 + '@smithy/util-defaults-mode-node': 3.0.23 '@smithy/util-endpoints': 2.1.3 '@smithy/util-middleware': 3.0.7 '@smithy/util-retry': 3.0.7 @@ -4139,13 +4143,13 @@ snapshots: - aws-crt optional: true - '@aws-sdk/client-sts@3.664.0': + '@aws-sdk/client-sts@3.665.0': dependencies: '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/client-sso-oidc': 3.664.0(@aws-sdk/client-sts@3.664.0) - '@aws-sdk/core': 3.664.0 - '@aws-sdk/credential-provider-node': 3.664.0(@aws-sdk/client-sso-oidc@3.664.0(@aws-sdk/client-sts@3.664.0))(@aws-sdk/client-sts@3.664.0) + '@aws-sdk/client-sso-oidc': 3.665.0(@aws-sdk/client-sts@3.665.0) + '@aws-sdk/core': 3.665.0 + '@aws-sdk/credential-provider-node': 3.665.0(@aws-sdk/client-sso-oidc@3.665.0(@aws-sdk/client-sts@3.665.0))(@aws-sdk/client-sts@3.665.0) '@aws-sdk/middleware-host-header': 3.664.0 '@aws-sdk/middleware-logger': 3.664.0 '@aws-sdk/middleware-recursion-detection': 3.664.0 @@ -4156,26 +4160,26 @@ snapshots: '@aws-sdk/util-user-agent-browser': 3.664.0 '@aws-sdk/util-user-agent-node': 3.664.0 '@smithy/config-resolver': 3.0.9 - '@smithy/core': 2.4.7 + '@smithy/core': 2.4.8 '@smithy/fetch-http-handler': 3.2.9 '@smithy/hash-node': 3.0.7 '@smithy/invalid-dependency': 3.0.7 '@smithy/middleware-content-length': 3.0.9 '@smithy/middleware-endpoint': 3.1.4 - '@smithy/middleware-retry': 3.0.22 + '@smithy/middleware-retry': 3.0.23 '@smithy/middleware-serde': 3.0.7 '@smithy/middleware-stack': 3.0.7 '@smithy/node-config-provider': 3.1.8 '@smithy/node-http-handler': 3.2.4 '@smithy/protocol-http': 4.1.4 - '@smithy/smithy-client': 3.3.6 + '@smithy/smithy-client': 3.4.0 '@smithy/types': 3.5.0 '@smithy/url-parser': 3.0.7 '@smithy/util-base64': 3.0.0 '@smithy/util-body-length-browser': 3.0.0 '@smithy/util-body-length-node': 3.0.0 - '@smithy/util-defaults-mode-browser': 3.0.22 - '@smithy/util-defaults-mode-node': 3.0.22 + '@smithy/util-defaults-mode-browser': 3.0.23 + '@smithy/util-defaults-mode-node': 3.0.23 '@smithy/util-endpoints': 2.1.3 '@smithy/util-middleware': 3.0.7 '@smithy/util-retry': 3.0.7 @@ -4199,15 +4203,15 @@ snapshots: tslib: 2.7.0 optional: true - '@aws-sdk/core@3.664.0': + '@aws-sdk/core@3.665.0': dependencies: '@aws-sdk/types': 3.664.0 - '@smithy/core': 2.4.7 + '@smithy/core': 2.4.8 '@smithy/node-config-provider': 3.1.8 '@smithy/property-provider': 3.1.7 '@smithy/protocol-http': 4.1.4 '@smithy/signature-v4': 4.2.0 - '@smithy/smithy-client': 3.3.6 + '@smithy/smithy-client': 3.4.0 '@smithy/types': 3.5.0 '@smithy/util-middleware': 3.0.7 fast-xml-parser: 4.4.1 @@ -4225,9 +4229,9 @@ snapshots: - aws-crt optional: true - '@aws-sdk/credential-provider-cognito-identity@3.664.0': + '@aws-sdk/credential-provider-cognito-identity@3.665.0': dependencies: - '@aws-sdk/client-cognito-identity': 3.664.0 + '@aws-sdk/client-cognito-identity': 3.665.0 '@aws-sdk/types': 3.664.0 '@smithy/property-provider': 3.1.7 '@smithy/types': 3.5.0 @@ -4272,7 +4276,7 @@ snapshots: '@smithy/node-http-handler': 3.2.4 '@smithy/property-provider': 3.1.7 '@smithy/protocol-http': 4.1.4 - '@smithy/smithy-client': 3.3.6 + '@smithy/smithy-client': 3.4.0 '@smithy/types': 3.5.0 '@smithy/util-stream': 3.1.9 tslib: 2.7.0 @@ -4297,13 +4301,13 @@ snapshots: - aws-crt optional: true - '@aws-sdk/credential-provider-ini@3.658.1(@aws-sdk/client-sso-oidc@3.664.0(@aws-sdk/client-sts@3.658.1))(@aws-sdk/client-sts@3.658.1)': + '@aws-sdk/credential-provider-ini@3.658.1(@aws-sdk/client-sso-oidc@3.665.0(@aws-sdk/client-sts@3.658.1))(@aws-sdk/client-sts@3.658.1)': dependencies: '@aws-sdk/client-sts': 3.658.1 '@aws-sdk/credential-provider-env': 3.654.0 '@aws-sdk/credential-provider-http': 3.658.1 '@aws-sdk/credential-provider-process': 3.654.0 - '@aws-sdk/credential-provider-sso': 3.658.1(@aws-sdk/client-sso-oidc@3.664.0(@aws-sdk/client-sts@3.658.1)) + '@aws-sdk/credential-provider-sso': 3.658.1(@aws-sdk/client-sso-oidc@3.665.0(@aws-sdk/client-sts@3.658.1)) '@aws-sdk/credential-provider-web-identity': 3.654.0(@aws-sdk/client-sts@3.658.1) '@aws-sdk/types': 3.654.0 '@smithy/credential-provider-imds': 3.2.3 @@ -4316,13 +4320,13 @@ snapshots: - aws-crt optional: true - '@aws-sdk/credential-provider-ini@3.664.0(@aws-sdk/client-sso-oidc@3.664.0(@aws-sdk/client-sts@3.658.1))(@aws-sdk/client-sts@3.658.1)': + '@aws-sdk/credential-provider-ini@3.665.0(@aws-sdk/client-sso-oidc@3.665.0(@aws-sdk/client-sts@3.658.1))(@aws-sdk/client-sts@3.658.1)': dependencies: '@aws-sdk/client-sts': 3.658.1 '@aws-sdk/credential-provider-env': 3.664.0 '@aws-sdk/credential-provider-http': 3.664.0 '@aws-sdk/credential-provider-process': 3.664.0 - '@aws-sdk/credential-provider-sso': 3.664.0(@aws-sdk/client-sso-oidc@3.664.0(@aws-sdk/client-sts@3.658.1)) + '@aws-sdk/credential-provider-sso': 3.665.0(@aws-sdk/client-sso-oidc@3.665.0(@aws-sdk/client-sts@3.658.1)) '@aws-sdk/credential-provider-web-identity': 3.664.0(@aws-sdk/client-sts@3.658.1) '@aws-sdk/types': 3.664.0 '@smithy/credential-provider-imds': 3.2.4 @@ -4335,14 +4339,14 @@ snapshots: - aws-crt optional: true - '@aws-sdk/credential-provider-ini@3.664.0(@aws-sdk/client-sso-oidc@3.664.0(@aws-sdk/client-sts@3.658.1))(@aws-sdk/client-sts@3.664.0)': + '@aws-sdk/credential-provider-ini@3.665.0(@aws-sdk/client-sso-oidc@3.665.0(@aws-sdk/client-sts@3.658.1))(@aws-sdk/client-sts@3.665.0)': dependencies: - '@aws-sdk/client-sts': 3.664.0 + '@aws-sdk/client-sts': 3.665.0 '@aws-sdk/credential-provider-env': 3.664.0 '@aws-sdk/credential-provider-http': 3.664.0 '@aws-sdk/credential-provider-process': 3.664.0 - '@aws-sdk/credential-provider-sso': 3.664.0(@aws-sdk/client-sso-oidc@3.664.0(@aws-sdk/client-sts@3.658.1)) - '@aws-sdk/credential-provider-web-identity': 3.664.0(@aws-sdk/client-sts@3.664.0) + '@aws-sdk/credential-provider-sso': 3.665.0(@aws-sdk/client-sso-oidc@3.665.0(@aws-sdk/client-sts@3.658.1)) + '@aws-sdk/credential-provider-web-identity': 3.664.0(@aws-sdk/client-sts@3.665.0) '@aws-sdk/types': 3.664.0 '@smithy/credential-provider-imds': 3.2.4 '@smithy/property-provider': 3.1.7 @@ -4354,14 +4358,14 @@ snapshots: - aws-crt optional: true - '@aws-sdk/credential-provider-ini@3.664.0(@aws-sdk/client-sso-oidc@3.664.0(@aws-sdk/client-sts@3.664.0))(@aws-sdk/client-sts@3.664.0)': + '@aws-sdk/credential-provider-ini@3.665.0(@aws-sdk/client-sso-oidc@3.665.0(@aws-sdk/client-sts@3.665.0))(@aws-sdk/client-sts@3.665.0)': dependencies: - '@aws-sdk/client-sts': 3.664.0 + '@aws-sdk/client-sts': 3.665.0 '@aws-sdk/credential-provider-env': 3.664.0 '@aws-sdk/credential-provider-http': 3.664.0 '@aws-sdk/credential-provider-process': 3.664.0 - '@aws-sdk/credential-provider-sso': 3.664.0(@aws-sdk/client-sso-oidc@3.664.0(@aws-sdk/client-sts@3.664.0)) - '@aws-sdk/credential-provider-web-identity': 3.664.0(@aws-sdk/client-sts@3.664.0) + '@aws-sdk/credential-provider-sso': 3.665.0(@aws-sdk/client-sso-oidc@3.665.0(@aws-sdk/client-sts@3.665.0)) + '@aws-sdk/credential-provider-web-identity': 3.664.0(@aws-sdk/client-sts@3.665.0) '@aws-sdk/types': 3.664.0 '@smithy/credential-provider-imds': 3.2.4 '@smithy/property-provider': 3.1.7 @@ -4393,13 +4397,13 @@ snapshots: - aws-crt optional: true - '@aws-sdk/credential-provider-node@3.658.1(@aws-sdk/client-sso-oidc@3.664.0(@aws-sdk/client-sts@3.658.1))(@aws-sdk/client-sts@3.658.1)': + '@aws-sdk/credential-provider-node@3.658.1(@aws-sdk/client-sso-oidc@3.665.0(@aws-sdk/client-sts@3.658.1))(@aws-sdk/client-sts@3.658.1)': dependencies: '@aws-sdk/credential-provider-env': 3.654.0 '@aws-sdk/credential-provider-http': 3.658.1 - '@aws-sdk/credential-provider-ini': 3.658.1(@aws-sdk/client-sso-oidc@3.664.0(@aws-sdk/client-sts@3.658.1))(@aws-sdk/client-sts@3.658.1) + '@aws-sdk/credential-provider-ini': 3.658.1(@aws-sdk/client-sso-oidc@3.665.0(@aws-sdk/client-sts@3.658.1))(@aws-sdk/client-sts@3.658.1) '@aws-sdk/credential-provider-process': 3.654.0 - '@aws-sdk/credential-provider-sso': 3.658.1(@aws-sdk/client-sso-oidc@3.664.0(@aws-sdk/client-sts@3.658.1)) + '@aws-sdk/credential-provider-sso': 3.658.1(@aws-sdk/client-sso-oidc@3.665.0(@aws-sdk/client-sts@3.658.1)) '@aws-sdk/credential-provider-web-identity': 3.654.0(@aws-sdk/client-sts@3.658.1) '@aws-sdk/types': 3.654.0 '@smithy/credential-provider-imds': 3.2.3 @@ -4413,13 +4417,13 @@ snapshots: - aws-crt optional: true - '@aws-sdk/credential-provider-node@3.664.0(@aws-sdk/client-sso-oidc@3.664.0(@aws-sdk/client-sts@3.658.1))(@aws-sdk/client-sts@3.658.1)': + '@aws-sdk/credential-provider-node@3.665.0(@aws-sdk/client-sso-oidc@3.665.0(@aws-sdk/client-sts@3.658.1))(@aws-sdk/client-sts@3.658.1)': dependencies: '@aws-sdk/credential-provider-env': 3.664.0 '@aws-sdk/credential-provider-http': 3.664.0 - '@aws-sdk/credential-provider-ini': 3.664.0(@aws-sdk/client-sso-oidc@3.664.0(@aws-sdk/client-sts@3.658.1))(@aws-sdk/client-sts@3.658.1) + '@aws-sdk/credential-provider-ini': 3.665.0(@aws-sdk/client-sso-oidc@3.665.0(@aws-sdk/client-sts@3.658.1))(@aws-sdk/client-sts@3.658.1) '@aws-sdk/credential-provider-process': 3.664.0 - '@aws-sdk/credential-provider-sso': 3.664.0(@aws-sdk/client-sso-oidc@3.664.0(@aws-sdk/client-sts@3.658.1)) + '@aws-sdk/credential-provider-sso': 3.665.0(@aws-sdk/client-sso-oidc@3.665.0(@aws-sdk/client-sts@3.658.1)) '@aws-sdk/credential-provider-web-identity': 3.664.0(@aws-sdk/client-sts@3.658.1) '@aws-sdk/types': 3.664.0 '@smithy/credential-provider-imds': 3.2.4 @@ -4433,14 +4437,14 @@ snapshots: - aws-crt optional: true - '@aws-sdk/credential-provider-node@3.664.0(@aws-sdk/client-sso-oidc@3.664.0(@aws-sdk/client-sts@3.658.1))(@aws-sdk/client-sts@3.664.0)': + '@aws-sdk/credential-provider-node@3.665.0(@aws-sdk/client-sso-oidc@3.665.0(@aws-sdk/client-sts@3.658.1))(@aws-sdk/client-sts@3.665.0)': dependencies: '@aws-sdk/credential-provider-env': 3.664.0 '@aws-sdk/credential-provider-http': 3.664.0 - '@aws-sdk/credential-provider-ini': 3.664.0(@aws-sdk/client-sso-oidc@3.664.0(@aws-sdk/client-sts@3.658.1))(@aws-sdk/client-sts@3.664.0) + '@aws-sdk/credential-provider-ini': 3.665.0(@aws-sdk/client-sso-oidc@3.665.0(@aws-sdk/client-sts@3.658.1))(@aws-sdk/client-sts@3.665.0) '@aws-sdk/credential-provider-process': 3.664.0 - '@aws-sdk/credential-provider-sso': 3.664.0(@aws-sdk/client-sso-oidc@3.664.0(@aws-sdk/client-sts@3.658.1)) - '@aws-sdk/credential-provider-web-identity': 3.664.0(@aws-sdk/client-sts@3.664.0) + '@aws-sdk/credential-provider-sso': 3.665.0(@aws-sdk/client-sso-oidc@3.665.0(@aws-sdk/client-sts@3.658.1)) + '@aws-sdk/credential-provider-web-identity': 3.664.0(@aws-sdk/client-sts@3.665.0) '@aws-sdk/types': 3.664.0 '@smithy/credential-provider-imds': 3.2.4 '@smithy/property-provider': 3.1.7 @@ -4453,14 +4457,14 @@ snapshots: - aws-crt optional: true - '@aws-sdk/credential-provider-node@3.664.0(@aws-sdk/client-sso-oidc@3.664.0(@aws-sdk/client-sts@3.664.0))(@aws-sdk/client-sts@3.664.0)': + '@aws-sdk/credential-provider-node@3.665.0(@aws-sdk/client-sso-oidc@3.665.0(@aws-sdk/client-sts@3.665.0))(@aws-sdk/client-sts@3.665.0)': dependencies: '@aws-sdk/credential-provider-env': 3.664.0 '@aws-sdk/credential-provider-http': 3.664.0 - '@aws-sdk/credential-provider-ini': 3.664.0(@aws-sdk/client-sso-oidc@3.664.0(@aws-sdk/client-sts@3.664.0))(@aws-sdk/client-sts@3.664.0) + '@aws-sdk/credential-provider-ini': 3.665.0(@aws-sdk/client-sso-oidc@3.665.0(@aws-sdk/client-sts@3.665.0))(@aws-sdk/client-sts@3.665.0) '@aws-sdk/credential-provider-process': 3.664.0 - '@aws-sdk/credential-provider-sso': 3.664.0(@aws-sdk/client-sso-oidc@3.664.0(@aws-sdk/client-sts@3.664.0)) - '@aws-sdk/credential-provider-web-identity': 3.664.0(@aws-sdk/client-sts@3.664.0) + '@aws-sdk/credential-provider-sso': 3.665.0(@aws-sdk/client-sso-oidc@3.665.0(@aws-sdk/client-sts@3.665.0)) + '@aws-sdk/credential-provider-web-identity': 3.664.0(@aws-sdk/client-sts@3.665.0) '@aws-sdk/types': 3.664.0 '@smithy/credential-provider-imds': 3.2.4 '@smithy/property-provider': 3.1.7 @@ -4505,10 +4509,10 @@ snapshots: - aws-crt optional: true - '@aws-sdk/credential-provider-sso@3.658.1(@aws-sdk/client-sso-oidc@3.664.0(@aws-sdk/client-sts@3.658.1))': + '@aws-sdk/credential-provider-sso@3.658.1(@aws-sdk/client-sso-oidc@3.665.0(@aws-sdk/client-sts@3.658.1))': dependencies: '@aws-sdk/client-sso': 3.658.1 - '@aws-sdk/token-providers': 3.654.0(@aws-sdk/client-sso-oidc@3.664.0(@aws-sdk/client-sts@3.658.1)) + '@aws-sdk/token-providers': 3.654.0(@aws-sdk/client-sso-oidc@3.665.0(@aws-sdk/client-sts@3.658.1)) '@aws-sdk/types': 3.654.0 '@smithy/property-provider': 3.1.6 '@smithy/shared-ini-file-loader': 3.1.7 @@ -4519,10 +4523,10 @@ snapshots: - aws-crt optional: true - '@aws-sdk/credential-provider-sso@3.664.0(@aws-sdk/client-sso-oidc@3.664.0(@aws-sdk/client-sts@3.658.1))': + '@aws-sdk/credential-provider-sso@3.665.0(@aws-sdk/client-sso-oidc@3.665.0(@aws-sdk/client-sts@3.658.1))': dependencies: - '@aws-sdk/client-sso': 3.664.0 - '@aws-sdk/token-providers': 3.664.0(@aws-sdk/client-sso-oidc@3.664.0(@aws-sdk/client-sts@3.658.1)) + '@aws-sdk/client-sso': 3.665.0 + '@aws-sdk/token-providers': 3.664.0(@aws-sdk/client-sso-oidc@3.665.0(@aws-sdk/client-sts@3.658.1)) '@aws-sdk/types': 3.664.0 '@smithy/property-provider': 3.1.7 '@smithy/shared-ini-file-loader': 3.1.8 @@ -4533,10 +4537,10 @@ snapshots: - aws-crt optional: true - '@aws-sdk/credential-provider-sso@3.664.0(@aws-sdk/client-sso-oidc@3.664.0(@aws-sdk/client-sts@3.664.0))': + '@aws-sdk/credential-provider-sso@3.665.0(@aws-sdk/client-sso-oidc@3.665.0(@aws-sdk/client-sts@3.665.0))': dependencies: - '@aws-sdk/client-sso': 3.664.0 - '@aws-sdk/token-providers': 3.664.0(@aws-sdk/client-sso-oidc@3.664.0(@aws-sdk/client-sts@3.664.0)) + '@aws-sdk/client-sso': 3.665.0 + '@aws-sdk/token-providers': 3.664.0(@aws-sdk/client-sso-oidc@3.665.0(@aws-sdk/client-sts@3.665.0)) '@aws-sdk/types': 3.664.0 '@smithy/property-provider': 3.1.7 '@smithy/shared-ini-file-loader': 3.1.8 @@ -4565,16 +4569,16 @@ snapshots: tslib: 2.7.0 optional: true - '@aws-sdk/credential-provider-web-identity@3.664.0(@aws-sdk/client-sts@3.664.0)': + '@aws-sdk/credential-provider-web-identity@3.664.0(@aws-sdk/client-sts@3.665.0)': dependencies: - '@aws-sdk/client-sts': 3.664.0 + '@aws-sdk/client-sts': 3.665.0 '@aws-sdk/types': 3.664.0 '@smithy/property-provider': 3.1.7 '@smithy/types': 3.5.0 tslib: 2.7.0 optional: true - '@aws-sdk/credential-providers@3.658.1(@aws-sdk/client-sso-oidc@3.664.0(@aws-sdk/client-sts@3.658.1))': + '@aws-sdk/credential-providers@3.658.1(@aws-sdk/client-sso-oidc@3.665.0(@aws-sdk/client-sts@3.658.1))': dependencies: '@aws-sdk/client-cognito-identity': 3.658.1 '@aws-sdk/client-sso': 3.658.1 @@ -4582,10 +4586,10 @@ snapshots: '@aws-sdk/credential-provider-cognito-identity': 3.658.1 '@aws-sdk/credential-provider-env': 3.654.0 '@aws-sdk/credential-provider-http': 3.658.1 - '@aws-sdk/credential-provider-ini': 3.658.1(@aws-sdk/client-sso-oidc@3.664.0(@aws-sdk/client-sts@3.658.1))(@aws-sdk/client-sts@3.658.1) - '@aws-sdk/credential-provider-node': 3.658.1(@aws-sdk/client-sso-oidc@3.664.0(@aws-sdk/client-sts@3.658.1))(@aws-sdk/client-sts@3.658.1) + '@aws-sdk/credential-provider-ini': 3.658.1(@aws-sdk/client-sso-oidc@3.665.0(@aws-sdk/client-sts@3.658.1))(@aws-sdk/client-sts@3.658.1) + '@aws-sdk/credential-provider-node': 3.658.1(@aws-sdk/client-sso-oidc@3.665.0(@aws-sdk/client-sts@3.658.1))(@aws-sdk/client-sts@3.658.1) '@aws-sdk/credential-provider-process': 3.654.0 - '@aws-sdk/credential-provider-sso': 3.658.1(@aws-sdk/client-sso-oidc@3.664.0(@aws-sdk/client-sts@3.658.1)) + '@aws-sdk/credential-provider-sso': 3.658.1(@aws-sdk/client-sso-oidc@3.665.0(@aws-sdk/client-sts@3.658.1)) '@aws-sdk/credential-provider-web-identity': 3.654.0(@aws-sdk/client-sts@3.658.1) '@aws-sdk/types': 3.654.0 '@smithy/credential-provider-imds': 3.2.3 @@ -4597,19 +4601,19 @@ snapshots: - aws-crt optional: true - '@aws-sdk/credential-providers@3.664.0(@aws-sdk/client-sso-oidc@3.664.0(@aws-sdk/client-sts@3.658.1))': + '@aws-sdk/credential-providers@3.665.0(@aws-sdk/client-sso-oidc@3.665.0(@aws-sdk/client-sts@3.658.1))': dependencies: - '@aws-sdk/client-cognito-identity': 3.664.0 - '@aws-sdk/client-sso': 3.664.0 - '@aws-sdk/client-sts': 3.664.0 - '@aws-sdk/credential-provider-cognito-identity': 3.664.0 + '@aws-sdk/client-cognito-identity': 3.665.0 + '@aws-sdk/client-sso': 3.665.0 + '@aws-sdk/client-sts': 3.665.0 + '@aws-sdk/credential-provider-cognito-identity': 3.665.0 '@aws-sdk/credential-provider-env': 3.664.0 '@aws-sdk/credential-provider-http': 3.664.0 - '@aws-sdk/credential-provider-ini': 3.664.0(@aws-sdk/client-sso-oidc@3.664.0(@aws-sdk/client-sts@3.658.1))(@aws-sdk/client-sts@3.664.0) - '@aws-sdk/credential-provider-node': 3.664.0(@aws-sdk/client-sso-oidc@3.664.0(@aws-sdk/client-sts@3.658.1))(@aws-sdk/client-sts@3.664.0) + '@aws-sdk/credential-provider-ini': 3.665.0(@aws-sdk/client-sso-oidc@3.665.0(@aws-sdk/client-sts@3.658.1))(@aws-sdk/client-sts@3.665.0) + '@aws-sdk/credential-provider-node': 3.665.0(@aws-sdk/client-sso-oidc@3.665.0(@aws-sdk/client-sts@3.658.1))(@aws-sdk/client-sts@3.665.0) '@aws-sdk/credential-provider-process': 3.664.0 - '@aws-sdk/credential-provider-sso': 3.664.0(@aws-sdk/client-sso-oidc@3.664.0(@aws-sdk/client-sts@3.658.1)) - '@aws-sdk/credential-provider-web-identity': 3.664.0(@aws-sdk/client-sts@3.664.0) + '@aws-sdk/credential-provider-sso': 3.665.0(@aws-sdk/client-sso-oidc@3.665.0(@aws-sdk/client-sts@3.658.1)) + '@aws-sdk/credential-provider-web-identity': 3.664.0(@aws-sdk/client-sts@3.665.0) '@aws-sdk/types': 3.664.0 '@smithy/credential-provider-imds': 3.2.4 '@smithy/property-provider': 3.1.7 @@ -4679,7 +4683,7 @@ snapshots: dependencies: '@aws-sdk/types': 3.664.0 '@aws-sdk/util-endpoints': 3.664.0 - '@smithy/core': 2.4.7 + '@smithy/core': 2.4.8 '@smithy/protocol-http': 4.1.4 '@smithy/types': 3.5.0 tslib: 2.7.0 @@ -4715,9 +4719,9 @@ snapshots: tslib: 2.7.0 optional: true - '@aws-sdk/token-providers@3.654.0(@aws-sdk/client-sso-oidc@3.664.0(@aws-sdk/client-sts@3.658.1))': + '@aws-sdk/token-providers@3.654.0(@aws-sdk/client-sso-oidc@3.665.0(@aws-sdk/client-sts@3.658.1))': dependencies: - '@aws-sdk/client-sso-oidc': 3.664.0(@aws-sdk/client-sts@3.658.1) + '@aws-sdk/client-sso-oidc': 3.665.0(@aws-sdk/client-sts@3.658.1) '@aws-sdk/types': 3.654.0 '@smithy/property-provider': 3.1.6 '@smithy/shared-ini-file-loader': 3.1.7 @@ -4725,9 +4729,9 @@ snapshots: tslib: 2.7.0 optional: true - '@aws-sdk/token-providers@3.664.0(@aws-sdk/client-sso-oidc@3.664.0(@aws-sdk/client-sts@3.658.1))': + '@aws-sdk/token-providers@3.664.0(@aws-sdk/client-sso-oidc@3.665.0(@aws-sdk/client-sts@3.658.1))': dependencies: - '@aws-sdk/client-sso-oidc': 3.664.0(@aws-sdk/client-sts@3.658.1) + '@aws-sdk/client-sso-oidc': 3.665.0(@aws-sdk/client-sts@3.658.1) '@aws-sdk/types': 3.664.0 '@smithy/property-provider': 3.1.7 '@smithy/shared-ini-file-loader': 3.1.8 @@ -4735,9 +4739,9 @@ snapshots: tslib: 2.7.0 optional: true - '@aws-sdk/token-providers@3.664.0(@aws-sdk/client-sso-oidc@3.664.0(@aws-sdk/client-sts@3.664.0))': + '@aws-sdk/token-providers@3.664.0(@aws-sdk/client-sso-oidc@3.665.0(@aws-sdk/client-sts@3.665.0))': dependencies: - '@aws-sdk/client-sso-oidc': 3.664.0(@aws-sdk/client-sts@3.664.0) + '@aws-sdk/client-sso-oidc': 3.665.0(@aws-sdk/client-sts@3.665.0) '@aws-sdk/types': 3.664.0 '@smithy/property-provider': 3.1.7 '@smithy/shared-ini-file-loader': 3.1.8 @@ -4860,9 +4864,9 @@ snapshots: dependencies: '@jridgewell/trace-mapping': 0.3.9 - '@design.estate/dees-catalog@1.1.10': + '@design.estate/dees-catalog@1.1.13': dependencies: - '@design.estate/dees-domtools': 2.0.61 + '@design.estate/dees-domtools': 2.0.64 '@design.estate/dees-element': 2.0.39 '@design.estate/dees-wcctools': 1.0.90 '@fortawesome/fontawesome-svg-core': 6.6.0 @@ -4892,7 +4896,7 @@ snapshots: '@push.rocks/smartdelay': 3.0.5 broadcast-channel: 7.0.0 - '@design.estate/dees-domtools@2.0.61': + '@design.estate/dees-domtools@2.0.64': dependencies: '@api.global/typedrequest': 3.0.32 '@design.estate/dees-comms': 1.0.27 @@ -4901,7 +4905,7 @@ snapshots: '@push.rocks/smartjson': 5.0.20 '@push.rocks/smartmarkdown': 3.0.3 '@push.rocks/smartpromise': 4.0.4 - '@push.rocks/smartrouter': 1.0.16 + '@push.rocks/smartrouter': 1.3.2 '@push.rocks/smartrx': 3.0.7 '@push.rocks/smartstate': 2.0.19 '@push.rocks/smartstring': 4.0.15 @@ -4916,7 +4920,7 @@ snapshots: '@design.estate/dees-element@2.0.39': dependencies: - '@design.estate/dees-domtools': 2.0.61 + '@design.estate/dees-domtools': 2.0.64 '@push.rocks/isounique': 1.0.5 '@push.rocks/smartrx': 3.0.7 lit: 3.2.0 @@ -4925,7 +4929,7 @@ snapshots: '@design.estate/dees-wcctools@1.0.90': dependencies: - '@design.estate/dees-domtools': 2.0.61 + '@design.estate/dees-domtools': 2.0.64 '@design.estate/dees-element': 2.0.39 '@push.rocks/smartdelay': 3.0.5 lit: 3.2.0 @@ -4986,7 +4990,7 @@ snapshots: '@designestate/dees-element@2.0.23': dependencies: - '@design.estate/dees-domtools': 2.0.61 + '@design.estate/dees-domtools': 2.0.64 '@push.rocks/isounique': 1.0.5 '@push.rocks/smartrx': 3.0.7 lit: 2.8.0 @@ -5256,7 +5260,7 @@ snapshots: '@types/symbol-tree': 3.2.5 symbol-tree: 3.2.4 - '@push.rocks/mongodump@1.0.8(@aws-sdk/client-sso-oidc@3.664.0(@aws-sdk/client-sts@3.658.1))': + '@push.rocks/mongodump@1.0.8(@aws-sdk/client-sso-oidc@3.665.0(@aws-sdk/client-sts@3.658.1))': dependencies: '@pushrocks/lik': 6.0.2 '@pushrocks/smartfile': 9.0.6 @@ -5264,7 +5268,7 @@ snapshots: '@pushrocks/smartpath': 5.0.5 '@pushrocks/smartpromise': 3.1.10 '@tsclass/tsclass': 4.1.2 - mongodb: 4.17.2(@aws-sdk/client-sso-oidc@3.664.0(@aws-sdk/client-sts@3.658.1)) + mongodb: 4.17.2(@aws-sdk/client-sso-oidc@3.665.0(@aws-sdk/client-sts@3.658.1)) transitivePeerDependencies: - '@aws-sdk/client-sso-oidc' - aws-crt @@ -5318,12 +5322,12 @@ snapshots: '@types/node-forge': 1.3.11 node-forge: 1.3.1 - '@push.rocks/smartdata@5.2.10(@aws-sdk/client-sso-oidc@3.664.0(@aws-sdk/client-sts@3.658.1))(@aws-sdk/credential-providers@3.664.0(@aws-sdk/client-sso-oidc@3.664.0(@aws-sdk/client-sts@3.658.1)))(socks@2.8.3)': + '@push.rocks/smartdata@5.2.10(@aws-sdk/client-sso-oidc@3.665.0(@aws-sdk/client-sts@3.658.1))(@aws-sdk/credential-providers@3.665.0(@aws-sdk/client-sso-oidc@3.665.0(@aws-sdk/client-sts@3.658.1)))(socks@2.8.3)': dependencies: '@push.rocks/lik': 6.0.15 '@push.rocks/smartdelay': 3.0.5 '@push.rocks/smartlog': 3.0.7 - '@push.rocks/smartmongo': 2.0.10(@aws-sdk/client-sso-oidc@3.664.0(@aws-sdk/client-sts@3.658.1))(@aws-sdk/credential-providers@3.664.0(@aws-sdk/client-sso-oidc@3.664.0(@aws-sdk/client-sts@3.658.1)))(socks@2.8.3) + '@push.rocks/smartmongo': 2.0.10(@aws-sdk/client-sso-oidc@3.665.0(@aws-sdk/client-sts@3.658.1))(@aws-sdk/credential-providers@3.665.0(@aws-sdk/client-sso-oidc@3.665.0(@aws-sdk/client-sts@3.658.1)))(socks@2.8.3) '@push.rocks/smartpromise': 4.0.4 '@push.rocks/smartrx': 3.0.7 '@push.rocks/smartstring': 4.0.15 @@ -5331,7 +5335,7 @@ snapshots: '@push.rocks/smartunique': 3.0.9 '@push.rocks/taskbuffer': 3.1.7 '@tsclass/tsclass': 4.1.2 - mongodb: 6.9.0(@aws-sdk/credential-providers@3.664.0(@aws-sdk/client-sso-oidc@3.664.0(@aws-sdk/client-sts@3.658.1)))(socks@2.8.3) + mongodb: 6.9.0(@aws-sdk/credential-providers@3.665.0(@aws-sdk/client-sso-oidc@3.665.0(@aws-sdk/client-sts@3.658.1)))(socks@2.8.3) transitivePeerDependencies: - '@aws-sdk/client-sso-oidc' - '@aws-sdk/credential-providers' @@ -5504,13 +5508,13 @@ snapshots: file-type: 19.5.0 mime: 4.0.4 - '@push.rocks/smartmongo@2.0.10(@aws-sdk/client-sso-oidc@3.664.0(@aws-sdk/client-sts@3.658.1))(@aws-sdk/credential-providers@3.664.0(@aws-sdk/client-sso-oidc@3.664.0(@aws-sdk/client-sts@3.658.1)))(socks@2.8.3)': + '@push.rocks/smartmongo@2.0.10(@aws-sdk/client-sso-oidc@3.665.0(@aws-sdk/client-sts@3.658.1))(@aws-sdk/credential-providers@3.665.0(@aws-sdk/client-sso-oidc@3.665.0(@aws-sdk/client-sts@3.658.1)))(socks@2.8.3)': dependencies: - '@push.rocks/mongodump': 1.0.8(@aws-sdk/client-sso-oidc@3.664.0(@aws-sdk/client-sts@3.658.1)) - '@push.rocks/smartdata': 5.2.10(@aws-sdk/client-sso-oidc@3.664.0(@aws-sdk/client-sts@3.658.1))(@aws-sdk/credential-providers@3.664.0(@aws-sdk/client-sso-oidc@3.664.0(@aws-sdk/client-sts@3.658.1)))(socks@2.8.3) + '@push.rocks/mongodump': 1.0.8(@aws-sdk/client-sso-oidc@3.665.0(@aws-sdk/client-sts@3.658.1)) + '@push.rocks/smartdata': 5.2.10(@aws-sdk/client-sso-oidc@3.665.0(@aws-sdk/client-sts@3.658.1))(@aws-sdk/credential-providers@3.665.0(@aws-sdk/client-sso-oidc@3.665.0(@aws-sdk/client-sts@3.658.1)))(socks@2.8.3) '@push.rocks/smartpath': 5.0.18 '@push.rocks/smartpromise': 4.0.4 - mongodb-memory-server: 8.16.1(@aws-sdk/client-sso-oidc@3.664.0(@aws-sdk/client-sts@3.658.1)) + mongodb-memory-server: 8.16.1(@aws-sdk/client-sso-oidc@3.665.0(@aws-sdk/client-sts@3.658.1)) transitivePeerDependencies: - '@aws-sdk/client-sso-oidc' - '@aws-sdk/credential-providers' @@ -5557,9 +5561,11 @@ snapshots: agentkeepalive: 4.5.0 form-data: 4.0.0 - '@push.rocks/smartrouter@1.0.16': + '@push.rocks/smartrouter@1.3.2': dependencies: - path-to-regexp: 6.3.0 + '@push.rocks/lik': 6.0.15 + '@push.rocks/smartrx': 3.0.7 + path-to-regexp: 8.2.0 '@push.rocks/smartrx@3.0.7': dependencies: @@ -6117,13 +6123,13 @@ snapshots: '@sec-ant/readable-stream@0.4.1': {} - '@serve.zone/interfaces@1.0.81': + '@serve.zone/interfaces@1.1.1': dependencies: '@api.global/typedrequest-interfaces': 3.0.19 '@push.rocks/smartlog-interfaces': 3.0.2 '@tsclass/tsclass': 4.1.2 - '@serve.zone/platformclient@1.1.0': + '@serve.zone/platformclient@1.1.2': dependencies: '@api.global/typedrequest': 3.0.32 '@api.global/typedserver': 3.0.51 @@ -6131,7 +6137,7 @@ snapshots: '@push.rocks/qenv': 6.0.5 '@push.rocks/smartlog': 3.0.7 '@push.rocks/smartntml': 2.0.4 - '@serve.zone/interfaces': 1.0.81 + '@serve.zone/interfaces': 1.1.1 transitivePeerDependencies: - bufferutil - encoding @@ -6182,13 +6188,13 @@ snapshots: tslib: 2.7.0 optional: true - '@smithy/core@2.4.7': + '@smithy/core@2.4.8': dependencies: '@smithy/middleware-endpoint': 3.1.4 - '@smithy/middleware-retry': 3.0.22 + '@smithy/middleware-retry': 3.0.23 '@smithy/middleware-serde': 3.0.7 '@smithy/protocol-http': 4.1.4 - '@smithy/smithy-client': 3.3.6 + '@smithy/smithy-client': 3.4.0 '@smithy/types': 3.5.0 '@smithy/util-body-length-browser': 3.0.0 '@smithy/util-middleware': 3.0.7 @@ -6319,12 +6325,12 @@ snapshots: uuid: 9.0.1 optional: true - '@smithy/middleware-retry@3.0.22': + '@smithy/middleware-retry@3.0.23': dependencies: '@smithy/node-config-provider': 3.1.8 '@smithy/protocol-http': 4.1.4 '@smithy/service-error-classification': 3.0.7 - '@smithy/smithy-client': 3.3.6 + '@smithy/smithy-client': 3.4.0 '@smithy/types': 3.5.0 '@smithy/util-middleware': 3.0.7 '@smithy/util-retry': 3.0.7 @@ -6496,7 +6502,7 @@ snapshots: tslib: 2.7.0 optional: true - '@smithy/smithy-client@3.3.6': + '@smithy/smithy-client@3.4.0': dependencies: '@smithy/middleware-endpoint': 3.1.4 '@smithy/middleware-stack': 3.0.7 @@ -6573,10 +6579,10 @@ snapshots: tslib: 2.7.0 optional: true - '@smithy/util-defaults-mode-browser@3.0.22': + '@smithy/util-defaults-mode-browser@3.0.23': dependencies: '@smithy/property-provider': 3.1.7 - '@smithy/smithy-client': 3.3.6 + '@smithy/smithy-client': 3.4.0 '@smithy/types': 3.5.0 bowser: 2.11.0 tslib: 2.7.0 @@ -6593,13 +6599,13 @@ snapshots: tslib: 2.7.0 optional: true - '@smithy/util-defaults-mode-node@3.0.22': + '@smithy/util-defaults-mode-node@3.0.23': dependencies: '@smithy/config-resolver': 3.0.9 '@smithy/credential-provider-imds': 3.2.4 '@smithy/node-config-provider': 3.1.8 '@smithy/property-provider': 3.1.7 - '@smithy/smithy-client': 3.3.6 + '@smithy/smithy-client': 3.4.0 '@smithy/types': 3.5.0 tslib: 2.7.0 optional: true @@ -6899,8 +6905,8 @@ snapshots: '@uptime.link/webwidget@1.1.2': dependencies: - '@design.estate/dees-catalog': 1.1.10 - '@design.estate/dees-domtools': 2.0.61 + '@design.estate/dees-catalog': 1.1.13 + '@design.estate/dees-domtools': 2.0.64 '@design.estate/dees-element': 2.0.39 '@design.estate/dees-wcctools': 1.0.90 transitivePeerDependencies: @@ -8367,7 +8373,7 @@ snapshots: '@types/whatwg-url': 11.0.5 whatwg-url: 13.0.0 - mongodb-memory-server-core@8.16.1(@aws-sdk/client-sso-oidc@3.664.0(@aws-sdk/client-sts@3.658.1)): + mongodb-memory-server-core@8.16.1(@aws-sdk/client-sso-oidc@3.665.0(@aws-sdk/client-sts@3.658.1)): dependencies: async-mutex: 0.3.2 camelcase: 6.3.0 @@ -8377,7 +8383,7 @@ snapshots: get-port: 5.1.1 https-proxy-agent: 5.0.1 md5-file: 5.0.0 - mongodb: 4.17.2(@aws-sdk/client-sso-oidc@3.664.0(@aws-sdk/client-sts@3.658.1)) + mongodb: 4.17.2(@aws-sdk/client-sso-oidc@3.665.0(@aws-sdk/client-sts@3.658.1)) new-find-package-json: 2.0.0 semver: 7.6.3 tar-stream: 2.2.0 @@ -8389,34 +8395,34 @@ snapshots: - aws-crt - supports-color - mongodb-memory-server@8.16.1(@aws-sdk/client-sso-oidc@3.664.0(@aws-sdk/client-sts@3.658.1)): + mongodb-memory-server@8.16.1(@aws-sdk/client-sso-oidc@3.665.0(@aws-sdk/client-sts@3.658.1)): dependencies: - mongodb-memory-server-core: 8.16.1(@aws-sdk/client-sso-oidc@3.664.0(@aws-sdk/client-sts@3.658.1)) + mongodb-memory-server-core: 8.16.1(@aws-sdk/client-sso-oidc@3.665.0(@aws-sdk/client-sts@3.658.1)) tslib: 2.7.0 transitivePeerDependencies: - '@aws-sdk/client-sso-oidc' - aws-crt - supports-color - mongodb@4.17.2(@aws-sdk/client-sso-oidc@3.664.0(@aws-sdk/client-sts@3.658.1)): + mongodb@4.17.2(@aws-sdk/client-sso-oidc@3.665.0(@aws-sdk/client-sts@3.658.1)): dependencies: bson: 4.7.2 mongodb-connection-string-url: 2.6.0 socks: 2.8.3 optionalDependencies: - '@aws-sdk/credential-providers': 3.658.1(@aws-sdk/client-sso-oidc@3.664.0(@aws-sdk/client-sts@3.658.1)) + '@aws-sdk/credential-providers': 3.658.1(@aws-sdk/client-sso-oidc@3.665.0(@aws-sdk/client-sts@3.658.1)) '@mongodb-js/saslprep': 1.1.9 transitivePeerDependencies: - '@aws-sdk/client-sso-oidc' - aws-crt - mongodb@6.9.0(@aws-sdk/credential-providers@3.664.0(@aws-sdk/client-sso-oidc@3.664.0(@aws-sdk/client-sts@3.658.1)))(socks@2.8.3): + mongodb@6.9.0(@aws-sdk/credential-providers@3.665.0(@aws-sdk/client-sso-oidc@3.665.0(@aws-sdk/client-sts@3.658.1)))(socks@2.8.3): dependencies: '@mongodb-js/saslprep': 1.1.9 bson: 6.8.0 mongodb-connection-string-url: 3.0.1 optionalDependencies: - '@aws-sdk/credential-providers': 3.664.0(@aws-sdk/client-sso-oidc@3.664.0(@aws-sdk/client-sts@3.658.1)) + '@aws-sdk/credential-providers': 3.665.0(@aws-sdk/client-sso-oidc@3.665.0(@aws-sdk/client-sts@3.658.1)) socks: 2.8.3 ms@2.0.0: {} @@ -8547,6 +8553,8 @@ snapshots: path-to-regexp@6.3.0: {} + path-to-regexp@8.2.0: {} + path2d@0.2.1: optional: true diff --git a/ts/00_commitinfo_data.ts b/ts/00_commitinfo_data.ts index 8f561ba..d8b690a 100644 --- a/ts/00_commitinfo_data.ts +++ b/ts/00_commitinfo_data.ts @@ -3,6 +3,6 @@ */ export const commitinfo = { name: '@idp.global/idp.global', - version: '1.2.2', + version: '1.3.0', description: 'An identity provider software managing user authentications, registrations, and sessions.' } diff --git a/ts/reception/classes.usermanager.ts b/ts/reception/classes.usermanager.ts index 81fa5eb..8867467 100644 --- a/ts/reception/classes.usermanager.ts +++ b/ts/reception/classes.usermanager.ts @@ -21,6 +21,7 @@ export class UserManager { this.receptionRef.typedrouter.addTypedRouter(this.typedrouter); this.typedrouter.addTypedHandler( new plugins.typedrequest.TypedHandler('getRolesAndOrganizationsForUserId', async reqArg => { + console.log('user manager: getting roles and orgs'); const user = await this.getUserByJwtValidation(reqArg.jwt); const organizations = await this.receptionRef.organizationmanager.getAllOrganizationsForUser( user diff --git a/ts_idpclient/classes.idpclient.ts b/ts_idpclient/classes.idpclient.ts index 65d8b24..ac8c001 100644 --- a/ts_idpclient/classes.idpclient.ts +++ b/ts_idpclient/classes.idpclient.ts @@ -81,23 +81,23 @@ export class IdpClient { new plugins.smartrx.rxjs.Subject(); public ssoStore = new plugins.webstore.WebStore({ - storeName: 'wgsso', - dbName: 'wgsso', + storeName: 'idpglobalStore', + dbName: 'main', }); public async storeJwt(jwtString: string) { - await this.ssoStore.set('wgJwt', jwtString); + await this.ssoStore.set('idpJwt', jwtString); } public async getJwt(): Promise { - return await this.ssoStore.get('wgJwt'); + return await this.ssoStore.get('idpJwt'); } public async getJwtData(): Promise { return this.helpers.extractDataFromJwtString(await this.getJwt()); } public async deleteJwt() { - await this.ssoStore.delete('wgJwt'); + await this.ssoStore.delete('idpJwt'); console.log('removed jwt'); } @@ -333,6 +333,7 @@ export class IdpClient { * gets the current OrganizationRoles */ public async getRolesAndOrganizations() { + console.log('idpclient: getting roles and orgs...'); await this.typedsocketDeferred.promise; const rolesAndOrganizationsForUserId = this.typedsocket.createTypedRequest( diff --git a/ts_web/00_commitinfo_data.ts b/ts_web/00_commitinfo_data.ts index 8f561ba..d8b690a 100644 --- a/ts_web/00_commitinfo_data.ts +++ b/ts_web/00_commitinfo_data.ts @@ -3,6 +3,6 @@ */ export const commitinfo = { name: '@idp.global/idp.global', - version: '1.2.2', + version: '1.3.0', description: 'An identity provider software managing user authentications, registrations, and sessions.' } diff --git a/ts_web/elements/account/content.ts b/ts_web/elements/account/content.ts new file mode 100644 index 0000000..cbcdb45 --- /dev/null +++ b/ts_web/elements/account/content.ts @@ -0,0 +1,125 @@ +import * as plugins from '../../plugins.js'; + +import { + customElement, + DeesElement, + property, + html, + cssManager, + unsafeCSS, + css, + type TemplateResult +} from '@design.estate/dees-element'; + +import { LeleAccountNavigation } from './navigation.js'; + +import * as views from './views/index.js'; +import * as accountstate from '../../states/accountstate.js'; + +import { commitinfo } from '../../../dist_ts/00_commitinfo_data.js'; + + +declare global { + interface HTMLElementTagNameMap { + 'idp-accountcontent': IdpAccountContent; + } +} + +@customElement('idp-accountcontent') +export class IdpAccountContent extends DeesElement { + + public subrouter: plugins.deesDomtools.plugins.smartrouter.SmartRouter; + + constructor() { + super(); + } + + public static styles = [ + cssManager.defaultStyles, + css` + :host { + display: block; + color: #fff; + padding-top: 10px; + padding-bottom: 10px; + height: 100%; + width: 100%; + background: ${cssManager.bdTheme('#eeeeeb', '#000000')} + } + :host([hidden]) { + display: none; + } + .main { + position: absolute; + height: 100%; + width: 100%; + bottom: 0px; + } + + lele-accountnavigation { + position: absolute; + bottom: 0px; + left: 0px; + height: 100vh; + width: 200px; + } + .viewcontainer { + will-change: transform; + position: absolute; + right: 0px; + bottom: 0px; + width: calc(100vw - 200px); + height: 100vh; + overflow-y: scroll; + overscroll-behavior: contain; + transition: all 0.3s; + opacity: 1; + } + + .viewcontainer.changing { + opacity: 0; + transform: translateY(20px); + } + `, + ]; + + public render(): TemplateResult { + return html` + +
+ +
+ +
+
+ `; + } + + public async firstUpdated(_changedProperties: Map): Promise { + super.firstUpdated(_changedProperties); + await this.domtoolsPromise; + this.subrouter = this.domtools.router.createSubRouter('/account'); + const viewcontainer: HTMLDivElement = this.shadowRoot.querySelector('.viewcontainer'); + + const cleanupViews = async () => { + for (const child of viewcontainer.children) { + viewcontainer.removeChild(child); + } + }; + + viewcontainer.append(new views.BaseView()); + console.log(`loaded base view`); + + this.subrouter.on('/org/:orgName/billing', async () => { + viewcontainer.classList.add('changing'); + await this.domtools.convenience.smartdelay.delayFor(300); + console.log('We are viewing the billing page'); + await cleanupViews(); + viewcontainer.append(new views.SubscriptionView()); + viewcontainer.classList.remove('changing'); + await this.domtools.convenience.smartdelay.delayFor(300); + }); + + this.subrouter._handleRouteState(); + } +} diff --git a/ts_web/elements/account/index.ts b/ts_web/elements/account/index.ts new file mode 100644 index 0000000..90886cd --- /dev/null +++ b/ts_web/elements/account/index.ts @@ -0,0 +1,2 @@ +export * from './content.js'; +export * from './navigation.js'; diff --git a/ts_web/elements/account/navigation.ts b/ts_web/elements/account/navigation.ts new file mode 100644 index 0000000..6188f41 --- /dev/null +++ b/ts_web/elements/account/navigation.ts @@ -0,0 +1,143 @@ +import { + customElement, + DeesElement, + property, + html, + cssManager, + unsafeCSS, + css, + type TemplateResult, + subscribe +} from '@design.estate/dees-element'; + +import * as plugins from '../../plugins.js'; +import * as states from '../../states/accountstate.js'; + +declare global { + interface HTMLElementTagNameMap { + 'lele-accountnavigation': LeleAccountNavigation; + } +} + +@customElement('lele-accountnavigation') +export class LeleAccountNavigation extends DeesElement { + @property() + public options: {text: string; id: string}[] = [ + { + id: '1', + text: 'Properties' + }, + { + id: '2', + text: 'Users' + }, + { + id: '3', + text: 'Activity' + }, + { + id: '4', + text: 'Billing & Subscription' + }, + ]; + + constructor() { + super(); + } + + public static styles = [ + cssManager.defaultStyles, + css` + :host { + display: block; + color: ${cssManager.bdTheme('#333', '#fff')}; + padding: 10px; + padding-left: 0px; + background: ${cssManager.bdTheme('#eeeeeb', '#111')}; + border-right: ${cssManager.bdTheme('1px solid #ccc', '')}; + } + :host([hidden]) { + display: none; + } + + .navigationGroupLabel { + width: min-content; + white-space: nowrap; + text-transform: uppercase; + font-size: 12px; + font-weight: 300; + border-bottom: 1px dotted #666; + margin-bottom: 5px; + padding-top: 32px; + padding-left: 10px; + padding-bottom: 5px; + } + + .navigationOption { + border-top-right-radius: 30px; + border-bottom-right-radius: 30px; + font-weight: 500; + padding: 8px; + padding-left: 10px; + margin-bottom: 5px; + } + + .navigationOption:hover { + cursor: pointer; + background: ${cssManager.bdTheme('#bbb', '#333')}; + } + dees-input-dropdown { + margin-top: 16px; + margin-bottom: 16px; + margin-left: 8px; + } + `, + ]; + + public render(): TemplateResult { + return html` + + + { + const currentState = states.accountState.getState() + states.accountState.dispatchAction(states.setSelectedOrg, currentState.organizations.find(org => org.data.slug === eventArg.detail.payload)); + }} + > + ${this.options.map(option => { + return html` + + `; + })} + + `; + } + + public firstUpdated() { + const deesInputDropdown = this.shadowRoot.querySelector('dees-input-dropdown'); + const orgToMenuEntry = (orgArg?: plugins.idpInterfaces.data.IOrganization) => { + if (!orgArg) { + return null; + } + return { + option: orgArg.data.name, + key: orgArg.data.slug, + payload: orgArg.data.slug, + } + } + states.accountState.select(stateArg => stateArg.organizations).pipe( + plugins.deesDomtools.plugins.smartrx.rxjs.ops.map(orgArrayArg => { + return orgArrayArg.map(orgToMenuEntry) + }) + ).subscribe(menuEntries => { + deesInputDropdown.options = menuEntries; + }); + states.accountState.select(stateArg => stateArg.selectedOrg).pipe( + plugins.deesDomtools.plugins.smartrx.rxjs.ops.map(orgToMenuEntry) + ).subscribe(selectedOrgArg => { + deesInputDropdown.selectedOption = selectedOrgArg; + }) + } +} diff --git a/ts_web/elements/account/sharedstyles.ts b/ts_web/elements/account/sharedstyles.ts new file mode 100644 index 0000000..9b81fc8 --- /dev/null +++ b/ts_web/elements/account/sharedstyles.ts @@ -0,0 +1,28 @@ +import { css } from '@design.estate/dees-element'; + +export default css` + h1 { + margin-top: 50px; + border-bottom: 1px solid #666; + padding-bottom: 10px; + font-weight: 500; + } + + h2 { + border-top: 1px dotted #666; + padding-top: 16px; + } + + p { + line-height: 1.5em; + } + + dees-button { + margin-top: 16px; + width: 200px; + } + + dees-input-text { + max-width: 400px; + } +`; diff --git a/ts_web/elements/account/views/baseview.ts b/ts_web/elements/account/views/baseview.ts new file mode 100644 index 0000000..215c3f7 --- /dev/null +++ b/ts_web/elements/account/views/baseview.ts @@ -0,0 +1,179 @@ +import * as plugins from '../../../plugins.js'; +import { + customElement, + DeesElement, + property, + html, + cssManager, + unsafeCSS, + css, + render, + subscribe, +} from '@design.estate/dees-element'; + +import sharedStyles from '../sharedstyles.js'; + +declare global { + interface HTMLElementTagNameMap { + 'lele-accountview-baseview': BaseView; + } +} + +import * as state from '../../../states/accountstate.js'; + +@customElement('lele-accountview-baseview') +export class BaseView extends DeesElement { + @property({ + type: Array, + }) + subscriptions: any[] = [ + { + organization: 'org1', + 'subscription type': 'workspace.global SaaS', + price: '4€', + userFactor: 4, + total: '16.00€', + }, + { + organization: 'org1', + 'subscription type': 'workspace.global IaaS Base Access', + price: '0€', + userFactor: 4, + total: '0€', + }, + { + organization: 'org1', + 'subscription type': 'workspace.global SLA Senior', + price: '2000€', + userFactor: 'none', + total: '2000.00€', + }, + ]; + + public static styles = [ + cssManager.defaultStyles, + sharedStyles, + css` + :host { + display: block; + max-width: 900px; + margin: auto; + color: ${cssManager.bdTheme('#333', '#fff')}; + } + .slug { + color: orange; + } + + .orgGrid { + display: grid; + grid-gap: 16px; + grid-template-columns: ${cssManager.cssGridColumns(4, 16)} + } + + .org { + padding: 16px; + border: 1px dotted #666; + border-radius: 3px; + } + + .org:hover { + cursor: pointer; + background: ${cssManager.bdTheme('#CCC', '#333')}; + } + `, + ]; + + public render() { + return html`
`; + } + + public async firstUpdated(_changedProperties: Map) { + await this.domtoolsPromise; + super.firstUpdated(_changedProperties); + const viewHost: HTMLDivElement = this.shadowRoot.querySelector('.viewHost'); + await state.accountState.dispatchAction(state.getOrganizationsAction, null); + console.log('got orgs'); + if (state.accountState.getState().organizations.length === 0) { + render( + html` +

Setup Your Account

+

+ There are no organizations for your account. Please create one now. Alternatively you + can ask an admin of an existing organization to invite you. +

+ + + +

+ The organization slug corresponds to the organization name:
+ ${subscribe( + state.accountState.select((stateArg) => stateArg.newOrg.chosenSlug) + )} +

+ + Create the Organization + `, + viewHost + ); + const subscriptions: plugins.deesDomtools.plugins.smartrx.rxjs.Subscription[] = []; + const form = this.shadowRoot.querySelector('dees-form'); + const orgInput = this.shadowRoot.querySelector('dees-input-text'); + const hint = this.shadowRoot.querySelector('.hint'); + const button = this.shadowRoot.querySelector('dees-button'); + const newOrgSubscription = state.accountState + .select((stateArg) => stateArg.newOrg) + .subscribe((data) => { + if (data.chosenSlug) { + hint.innerHTML = 'Waiting: Validating...'; + } else { + hint.innerHTML = 'Hint: Enter a valid organization name.'; + } + if (data.validated && data.validationOk) { + hint.innerHTML = + 'Success: Name is available. Please click the button to create the organization.'; + button.disabled = false; + } else if (!data.validated || !data.validationOk) { + hint.innerHTML = `Info: Name not available. Please choose another one.`; + button.disabled = true; + } + }); + subscriptions.push(newOrgSubscription); + + const formSubscription = form.changeSubject.subscribe(async (dataArg: any) => { + await state.accountState.dispatchAction(state.setNewOrgName, dataArg.orgName); + }); + subscriptions.push(formSubscription); + button.addEventListener('clicked', async () => { + orgInput.disabled = true; + button.text = 'creating org...' + button.status = 'pending'; + hint.innerHTML = 'Waiting for creation of the organization...' + await state.accountState.dispatchAction(state.manifestNewOrgName, null); + hint.innerHTML = `The Organization with name ${state.accountState.getState().organizations[0].data.name} has been created!` + button.text = 'created!'; + button.status = 'success'; + const parentElement = (this.getRootNode() as any).host; + parentElement.subrouter.pushUrl(`/org/${state.accountState.getState().organizations[0].data.slug}/billing`); + }); + } else { + render(html` +

Select An Organization

+
+ ${state.accountState.getState().organizations.map(orgArg => { + return html` +
{ + state.accountState.dispatchAction(state.setSelectedOrg, orgArg) + const parentElement = (this.getRootNode() as any).host; + parentElement.subrouter.pushUrl(`/org/${orgArg.data.slug}/billing`) + }}> + ${orgArg.data.name} +
+ ` + })} +
+ `, viewHost) + } + } +} diff --git a/ts_web/elements/account/views/index.ts b/ts_web/elements/account/views/index.ts new file mode 100644 index 0000000..f77f9f4 --- /dev/null +++ b/ts_web/elements/account/views/index.ts @@ -0,0 +1,4 @@ +export * from './baseview.js'; +export * from './orgsetup.js'; +export * from './paddlesetup.js'; +export * from './subscriptions.js'; diff --git a/ts_web/elements/account/views/orgsetup.ts b/ts_web/elements/account/views/orgsetup.ts new file mode 100644 index 0000000..e69de29 diff --git a/ts_web/elements/account/views/paddlesetup.ts b/ts_web/elements/account/views/paddlesetup.ts new file mode 100644 index 0000000..985d90c --- /dev/null +++ b/ts_web/elements/account/views/paddlesetup.ts @@ -0,0 +1,94 @@ +import { + customElement, + DeesElement, + property, + html, + cssManager, + unsafeCSS, + css, +} from '@design.estate/dees-element'; + +import * as plugins from '../../../plugins.js'; +import sharedStyles from '../sharedstyles.js'; +import * as state from '../../../states/accountstate.js'; + +declare global { + interface HTMLElementTagNameMap { + 'lele-accountview-paddlesetup': PaddleSetupView; + } +} + +@customElement('lele-accountview-paddlesetup') +export class PaddleSetupView extends DeesElement { + public static styles = [ + cssManager.defaultStyles, + sharedStyles, + css` + :host { + display: block; + max-width: 900px; + margin: auto; + color: ${cssManager.bdTheme('#333', '#fff')}; + } + `, + ]; + + public render() { + return html` +

-> Paddle Setup

+

+ In order to use workspace.global with paid features, you need to setup a Paddle + subscription. A Paddle connection is bound to an organization. +

+

+ The base price of a Paddle Subscription is always 0€. Any charges that occur will be billed + as an extra charge on top of your free base subscription + on a monthly date of your choosing. +

+

+ Since Paddle acts as merchant of record, your invoices will read Paddle as Creditor, and you + as Debitor. +

+

Why are we using Paddle?

+

+ Paddle takes care of tax compliance for us. This allows us to sell our products world wide + while Paddle makes sure any sales are in compliance with local laws. +

+ Let's do it! + `; + } + + /** + * + */ + public async firstUpdated() { + await this.domtoolsPromise; + const paddleButton = this.shadowRoot.querySelector('dees-button'); + const openPaddle = async () => { + await this.domtools.setExternalScript('https://cdn.paddle.com/paddle/paddle.js'); + globalThis.Paddle.Setup({ + vendor: 30954, + eventCallback: async (dataArg) => { + // The data.event will specify the event type + if (dataArg.event === 'Checkout.Complete') { + const data: plugins.idpInterfaces.data.IPaddleCheckoutData = dataArg.eventData; + const paddleIframe = document.body.querySelector('iframe'); + document.body.removeChild(paddleIframe); + paddleButton.status = 'pending'; + paddleButton.text = 'Processing...'; + await state.accountState.dispatchAction(state.updatePaddleCheckoutId, data.checkout.id); + paddleButton.status = 'success'; + paddleButton.text = 'Paddle connected!' + } + }, + }); + globalThis.Paddle.Checkout.open({ + product: 561076, + email: 'phil@kunz.io', + }); + }; + paddleButton.addEventListener('clicked', async () => { + openPaddle(); + }); + } +} diff --git a/ts_web/elements/account/views/subscriptions.ts b/ts_web/elements/account/views/subscriptions.ts new file mode 100644 index 0000000..24219ee --- /dev/null +++ b/ts_web/elements/account/views/subscriptions.ts @@ -0,0 +1,93 @@ +import { + customElement, + DeesElement, + property, + html, + cssManager, + unsafeCSS, + css, +} from '@design.estate/dees-element'; + +import sharedStyles from '../sharedstyles.js'; + +import * as state from '../../../states/accountstate.js'; + +declare global { + interface HTMLElementTagNameMap { + 'lele-accountview-subscription': SubscriptionView; + } +} + +@customElement('lele-accountview-subscription') +export class SubscriptionView extends DeesElement { + + @property({ + type: Array, + }) + subscriptions: any[] = [{ + organization: 'org1', + 'subscription type': 'workspace.global SaaS', + price: '4€', + userFactor: 4, + total: '16.00€' + }, { + organization: 'org1', + 'subscription type': 'workspace.global IaaS Base Access', + price: '0€', + userFactor: 4, + total: '0€' + }, { + organization: 'org1', + 'subscription type': 'workspace.global SLA Senior', + price: '2000€', + userFactor: 'none', + total: '2000.00€' + }]; + + public static styles = [ + cssManager.defaultStyles, + sharedStyles, + css` + :host { + display: block; + max-width: 900px; + margin: auto; + color: ${cssManager.bdTheme('#333', '#fff')}; + } + ` + ] + + public render() { + return html` +

-> Billing & Subscription

+ This page allows you to setup how you are billed for any workspace.global charges. +

PaymentMethod

+

Our customer-side billing is handled by paddle.com. You subscribe to a free plan there, + and we will bill any occurring charges as an extra on the monthly date of your choosing. + Paddle.com will take care of proper VAT invoices that will allow for VAT reduction according to the law.

+

Paddle

+ { + await this.domtoolsPromise; + this.domtools.router.pushUrl(`/org/${state.accountState.getState().selectedOrg.data.slug}/paddlesetup`) + }}>set up paddle.com +

Enterprise billing

+ Once you have 100 or more Pro Plan users, you can request custom Enterprise billing for your organization here. Note: You are currently not eligible. +

Subscriptions

+

+ The total price of a subscription already includes all taxes. If you are a VAT registered business, + the actual price might be cheaper in case you can claim VAT exemption from the purchase. +

+

+ Note: Subscriptions are tied to prganizations. You are only seeing subcriptions regarding ${'org1'} right now. + To see other organization, select the respective organization at the top left of this page. +

+ + Add subscription +

Accrued IaaS Usage

+

Note: The accrued IaaS Usage will be charged by adjusting the workspsace.gobal IaaS Postpaid Access price prior the renewal date.

+ +

Upcoming Billable Items

+

Past Invoices

+ `; + } +} \ No newline at end of file diff --git a/ts_web/elements/idp-centercontainer.ts b/ts_web/elements/idp-centercontainer.ts index dd5cb9e..8e7e5ea 100644 --- a/ts_web/elements/idp-centercontainer.ts +++ b/ts_web/elements/idp-centercontainer.ts @@ -12,7 +12,7 @@ import { } from '@design.estate/dees-element'; import { commitinfo } from '../../dist_ts/00_commitinfo_data.js'; -import { IdpState } from '../idp.state.js'; +import { IdpState } from '../states/idp.state.js'; declare global { interface HTMLElementTagNameMap { diff --git a/ts_web/elements/idp-loginprompt.ts b/ts_web/elements/idp-loginprompt.ts index eaa3b1c..5e003b2 100644 --- a/ts_web/elements/idp-loginprompt.ts +++ b/ts_web/elements/idp-loginprompt.ts @@ -17,7 +17,7 @@ import '@uptime.link/webwidget'; import '@design.estate/dees-catalog'; import { DeesForm, DeesFormSubmit, DeesInputText } from '@design.estate/dees-catalog'; -import { IdpState } from '../idp.state.js'; +import { IdpState } from '../states/idp.state.js'; declare global { interface HTMLElementTagNameMap { @@ -94,7 +94,7 @@ export class IdpLoginPrompt extends DeesElement { > - { + { const idpState = await IdpState.getSingletonInstance(); idpState.domtools.router.pushUrl('/register'); }}>Register instead @@ -124,7 +124,11 @@ export class IdpLoginPrompt extends DeesElement { } private login = async (valueArg: { emailAddress: string; passwordArg: string }) => { + // lets disable the register button + const registerButton: plugins.deesCatalog.DeesButton = this.shadowRoot.querySelector('.registerButton'); + registerButton.disabled = true; // lets define the needed requests + const idpState = await IdpState.getSingletonInstance(); const loginForm: DeesForm = this.shadowRoot.querySelector('#loginForm'); const loginRequestWithUsernameAndPassword = new domtools.TypedRequest( @@ -154,9 +158,10 @@ export class IdpLoginPrompt extends DeesElement { } if (response.refreshToken) { loginForm.setStatus('pending', 'obtained refreshToken...'); - const jwt = await this.handleRefreshToken(response.refreshToken, 0); + const jwt = await idpState.idpClient.refreshJwt(response.refreshToken); if (jwt) { loginForm.setStatus('success', 'obtained jwt.'); + idpState.domtools.router.pushUrl('/account'); } else { loginForm.setStatus('error', 'something went wrong'); } @@ -190,27 +195,6 @@ export class IdpLoginPrompt extends DeesElement { } } - public async handleRefreshToken(refreshTokenArg: string, delayDispatchMillisArg = 0) { - // a refreshToken binds dierctly to a session. - // the refresh token is used on a continuous basis to get fresh and short-lived jwts - const refreshJwt = new domtools.TypedRequest( - '/typedrequest', - 'refreshJwt' - ); - const responseJwt = await refreshJwt.fire({ - refreshToken: refreshTokenArg, - }); - - if (responseJwt.jwt) { - this.domtools.convenience.smartdelay.delayFor(delayDispatchMillisArg).then(() => { - this.dispatchJwt(responseJwt.jwt); - }); - return responseJwt.jwt; - } else { - return null; - } - } - public async focus() { ( this.shadowRoot.querySelector('#loginEmailInput') as plugins.deesCatalog.DeesInputText diff --git a/ts_web/elements/idp-registerprompt.ts b/ts_web/elements/idp-registerprompt.ts index f177acb..fb60c0a 100644 --- a/ts_web/elements/idp-registerprompt.ts +++ b/ts_web/elements/idp-registerprompt.ts @@ -17,7 +17,7 @@ import '@uptime.link/webwidget'; import '@design.estate/dees-catalog'; import { DeesForm, DeesFormSubmit, DeesInputText } from '@design.estate/dees-catalog'; -import { IdpState } from '../idp.state.js'; +import { IdpState } from '../states/idp.state.js'; declare global { interface HTMLElementTagNameMap { diff --git a/ts_web/elements/idp-registration-stepper.ts b/ts_web/elements/idp-registration-stepper.ts index ef2f8c5..6982f4e 100644 --- a/ts_web/elements/idp-registration-stepper.ts +++ b/ts_web/elements/idp-registration-stepper.ts @@ -1,4 +1,4 @@ -import { IdpState } from '../idp.state.js'; +import { IdpState } from '../states/idp.state.js'; import * as plugins from '../plugins.js'; import { customElement, @@ -272,11 +272,9 @@ export class IdpRegistrationStepper extends DeesElement { refreshToken: this.storedData.refreshToken, }); - deesForm.setStatus('pending', 'Obtaining Transfer Token...'); + deesForm.setStatus('success', 'Ok! Lets Go!'); await idpState.idpClient.setJwt(jwtResponse.jwt); - await idpState.idpClient.getTransferTokenAndSwitchToLocation( - 'https://sso.workspace.global/afterregistration' - ); + idpState.domtools.router.pushUrl('/account'); }); }, }, diff --git a/ts_web/elements/idp-welcome.ts b/ts_web/elements/idp-welcome.ts index e4f7570..3571765 100644 --- a/ts_web/elements/idp-welcome.ts +++ b/ts_web/elements/idp-welcome.ts @@ -12,7 +12,7 @@ import { type TemplateResult, } from '@design.estate/dees-element'; import type { IdpViewcontainer } from '../views/viewcontainer.js'; -import { IdpState } from '../idp.state.js'; +import { IdpState } from '../states/idp.state.js'; @customElement('idp-welcome') export class IdpWelcome extends DeesElement { diff --git a/ts_web/elements/index.ts b/ts_web/elements/index.ts index b8e23ef..23e886d 100644 --- a/ts_web/elements/index.ts +++ b/ts_web/elements/index.ts @@ -4,3 +4,7 @@ export * from './idp-loginprompt.js'; export * from './idp-registerprompt.js'; export * from './idp-transfermanager.js'; export * from './idp-welcome.js'; + +import { IdpAccountContent } from './account/index.js'; + +export { IdpAccountContent }; diff --git a/ts_web/plugins.ts b/ts_web/plugins.ts index 8b3da39..5b6590d 100644 --- a/ts_web/plugins.ts +++ b/ts_web/plugins.ts @@ -23,3 +23,8 @@ import * as smartpromise from '@push.rocks/smartpromise'; import * as smarturl from '@push.rocks/smarturl'; export { smartpromise, smarturl }; + +// @tsclass scope +import * as tsclass from '@tsclass/tsclass'; + +export { tsclass }; diff --git a/ts_web/states/accountstate.ts b/ts_web/states/accountstate.ts new file mode 100644 index 0000000..660aceb --- /dev/null +++ b/ts_web/states/accountstate.ts @@ -0,0 +1,101 @@ +import * as plugins from '../plugins.js'; +import { IdpState } from './idp.state.js'; + +export type TStateTypes = 'IAccountState'; +export interface IAccountState { + user: plugins.idpInterfaces.data.IUser; + /** + * the available orgs + */ + organizations: Array; + roles: Array + + selectedOrg: plugins.idpInterfaces.data.IOrganization; + selectedOrgBillingPlan: plugins.tsclass.typeFest.PartialDeep; + + /** + * used for keeping the state when creating a new org + */ + newOrg: { + chosenName: string; + chosenSlug: string; + validated: boolean; + validationOk: boolean; + }; +} + +const smartStateInstance = new plugins.deesDomtools.plugins.smartstate.Smartstate(); +export const accountState = await smartStateInstance.getStatePart('IAccountState', { + user: null, + organizations: [], + roles: [], + selectedOrg: null, + selectedOrgBillingPlan: null, + newOrg: { + chosenName: null, + chosenSlug: null, + validated: null, + validationOk: null, + }, +}); + +export const getOrganizationsAction = accountState.createAction( + async (statePartArg, payloadArg) => { + const idpState = await IdpState.getSingletonInstance(); + const currentState = statePartArg.getState(); + const response = await idpState.idpClient.getRolesAndOrganizations(); + currentState.organizations = response.organizations; + currentState.roles = response.roles; + return currentState; + } +); + +export const setNewOrgName = accountState.createAction(async (statePartArg, payloadArg) => { + const idpState = await IdpState.getSingletonInstance(); + const currentState = statePartArg.getState(); + currentState.newOrg.chosenName = payloadArg; + currentState.newOrg.chosenSlug = payloadArg + .replace(/[^a-zA-Z0-9]/g, '-') + .replace(/\s/g, '-') + .toLowerCase(); + const result = await idpState.idpClient.createOrganization( + currentState.newOrg.chosenName, + currentState.newOrg.chosenSlug, + 'checkAvailability' + ); + console.log(result); + currentState.newOrg.validated = true; + currentState.newOrg.validationOk = result.nameAvailable; + if (payloadArg === '') { + currentState.newOrg.validated = false; + currentState.newOrg.validationOk = false; + } + return currentState; +}); + +export const manifestNewOrgName = accountState.createAction(async (statePartArg, payloadArg) => { + const idpState = await IdpState.getSingletonInstance(); + const currentState: IAccountState = statePartArg.getState(); + const result = await idpState.idpClient.createOrganization( + currentState.newOrg.chosenName, + currentState.newOrg.chosenSlug, + 'manifest' + ); + currentState.organizations.push(result.resultingOrganization); + currentState.selectedOrg = result.resultingOrganization; + return currentState; +}); + +export const setSelectedOrg = accountState.createAction(async (statePartArg, payloadArg) => { + const currentState = statePartArg.getState(); + currentState.selectedOrg = payloadArg; + return currentState; +}) + +export const updatePaddleCheckoutId = accountState.createAction(async (statePartArg, checkoutIdArg) => { + const idpState = await IdpState.getSingletonInstance(); + const currentState: IAccountState = statePartArg.getState(); + const response = await idpState.idpClient.updatePaddleCheckoutId(currentState.selectedOrg.id, checkoutIdArg); + currentState.selectedOrgBillingPlan = response.billingPlan; + return currentState; +}); diff --git a/ts_web/idp.state.ts b/ts_web/states/idp.state.ts similarity index 86% rename from ts_web/idp.state.ts rename to ts_web/states/idp.state.ts index 6d72902..6ff3e25 100644 --- a/ts_web/idp.state.ts +++ b/ts_web/states/idp.state.ts @@ -1,4 +1,4 @@ -import * as plugins from './plugins.js'; +import * as plugins from '../plugins.js'; import { domtools } from '@design.estate/dees-element' export class IdpState { @@ -19,10 +19,11 @@ export class IdpState { public idpClient = new plugins.idpClient.IdpClient(this.receptionUrl); public domtools: domtools.DomTools; public mainStatePart: plugins.deesDomtools.plugins.smartstate.StatePart<'main', { - view: 'welcome' | 'login' | 'register' | 'finishregistration'; + view: 'welcome' | 'login' | 'register' | 'finishregistration' | 'account'; }> public async init() { + this.idpClient.enableTypedSocket(); const domtoolsInstance = await domtools.DomTools.setupDomTools(); this.domtools = domtoolsInstance; const state = new plugins.deesDomtools.plugins.smartstate.Smartstate<'main'>(); @@ -56,6 +57,14 @@ export class IdpState { view: 'finishregistration', }) }); + + this.domtools.router.on('/account{/*path}', async () => { + await this.mainStatePart.setState({ + ...this.mainStatePart.getState(), + view: 'account', + }) + }); + this.domtools.router._handleRouteState(); } } \ No newline at end of file diff --git a/ts_web/views/viewcontainer.ts b/ts_web/views/viewcontainer.ts index f4a3099..891176d 100644 --- a/ts_web/views/viewcontainer.ts +++ b/ts_web/views/viewcontainer.ts @@ -1,4 +1,4 @@ -import { IdpState } from '../idp.state.js'; +import { IdpState } from '../states/idp.state.js'; import * as plugins from '../plugins.js'; import * as elements from '../elements/index.js'; @@ -59,6 +59,11 @@ export class IdpViewcontainer extends DeesElement { throw new Error('View container not found in the rendered DOM.'); } + // check if current element already is instance of viewElement + if (this.currentElement instanceof viewElement) { + return; + } + // Remove the current element if it exists if (this.currentElement) { const currentElement = this.currentElement as any; @@ -103,6 +108,11 @@ export class IdpViewcontainer extends DeesElement { break; case 'finishregistration': await this.loadElement(elements.IdpRegistrationStepper); + break; + case 'account': + console.log('now on /account'); + await this.loadElement(elements.IdpAccountContent); + break; } }); }