Mirror of https://github.com/roostorg/coop github.com/roostorg/coop
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

feat: Add Amazon SES as email backend option (#98)

* feat: SES packages

* test: email service tests

* feat: add SES email service

authored by

Caleb McQuaid and committed by
GitHub
c976b6af 1d13ace7

+809 -683
+577 -665
server/package-lock.json
··· 11 11 "dependencies": { 12 12 "@aws-sdk/client-s3": "^3.58.0", 13 13 "@aws-sdk/client-secrets-manager": "^3.312.0", 14 + "@aws-sdk/client-ses": "^3.1000.0", 14 15 "@clickhouse/client": "^1.13.0", 15 16 "@ethanresnick/bottlejs": "^2.0.4", 16 17 "@google-cloud/translate": "^9.3.0", ··· 587 588 "node": ">=18.0.0" 588 589 } 589 590 }, 590 - "node_modules/@aws-sdk/client-sso": { 591 - "version": "3.982.0", 592 - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.982.0.tgz", 593 - "integrity": "sha512-qJrIiivmvujdGqJ0ldSUvhN3k3N7GtPesoOI1BSt0fNXovVnMz4C/JmnkhZihU7hJhDvxJaBROLYTU+lpild4w==", 594 - "license": "Apache-2.0", 591 + "node_modules/@aws-sdk/client-ses": { 592 + "version": "3.1000.0", 593 + "resolved": "https://registry.npmjs.org/@aws-sdk/client-ses/-/client-ses-3.1000.0.tgz", 594 + "integrity": "sha512-JCNw8ep18XHFdSQ1PBAeWnFWBdsrgCq0sdJILlikpBJ6skd3hg3GwHb0yPgG/wxiahAXDvl8z+kpnWTn7Kb/aQ==", 595 595 "dependencies": { 596 596 "@aws-crypto/sha256-browser": "5.2.0", 597 597 "@aws-crypto/sha256-js": "5.2.0", 598 - "@aws-sdk/core": "^3.973.6", 599 - "@aws-sdk/middleware-host-header": "^3.972.3", 600 - "@aws-sdk/middleware-logger": "^3.972.3", 601 - "@aws-sdk/middleware-recursion-detection": "^3.972.3", 602 - "@aws-sdk/middleware-user-agent": "^3.972.6", 603 - "@aws-sdk/region-config-resolver": "^3.972.3", 604 - "@aws-sdk/types": "^3.973.1", 605 - "@aws-sdk/util-endpoints": "3.982.0", 606 - "@aws-sdk/util-user-agent-browser": "^3.972.3", 607 - "@aws-sdk/util-user-agent-node": "^3.972.4", 608 - "@smithy/config-resolver": "^4.4.6", 609 - "@smithy/core": "^3.22.0", 610 - "@smithy/fetch-http-handler": "^5.3.9", 611 - "@smithy/hash-node": "^4.2.8", 612 - "@smithy/invalid-dependency": "^4.2.8", 613 - "@smithy/middleware-content-length": "^4.2.8", 614 - "@smithy/middleware-endpoint": "^4.4.12", 615 - "@smithy/middleware-retry": "^4.4.29", 616 - "@smithy/middleware-serde": "^4.2.9", 617 - "@smithy/middleware-stack": "^4.2.8", 618 - "@smithy/node-config-provider": "^4.3.8", 619 - "@smithy/node-http-handler": "^4.4.8", 620 - "@smithy/protocol-http": "^5.3.8", 621 - "@smithy/smithy-client": "^4.11.1", 622 - "@smithy/types": "^4.12.0", 623 - "@smithy/url-parser": "^4.2.8", 624 - "@smithy/util-base64": "^4.3.0", 625 - "@smithy/util-body-length-browser": "^4.2.0", 626 - "@smithy/util-body-length-node": "^4.2.1", 627 - "@smithy/util-defaults-mode-browser": "^4.3.28", 628 - "@smithy/util-defaults-mode-node": "^4.2.31", 629 - "@smithy/util-endpoints": "^3.2.8", 630 - "@smithy/util-middleware": "^4.2.8", 631 - "@smithy/util-retry": "^4.2.8", 632 - "@smithy/util-utf8": "^4.2.0", 598 + "@aws-sdk/core": "^3.973.15", 599 + "@aws-sdk/credential-provider-node": "^3.972.14", 600 + "@aws-sdk/middleware-host-header": "^3.972.6", 601 + "@aws-sdk/middleware-logger": "^3.972.6", 602 + "@aws-sdk/middleware-recursion-detection": "^3.972.6", 603 + "@aws-sdk/middleware-user-agent": "^3.972.15", 604 + "@aws-sdk/region-config-resolver": "^3.972.6", 605 + "@aws-sdk/types": "^3.973.4", 606 + "@aws-sdk/util-endpoints": "^3.996.3", 607 + "@aws-sdk/util-user-agent-browser": "^3.972.6", 608 + "@aws-sdk/util-user-agent-node": "^3.973.0", 609 + "@smithy/config-resolver": "^4.4.9", 610 + "@smithy/core": "^3.23.6", 611 + "@smithy/fetch-http-handler": "^5.3.11", 612 + "@smithy/hash-node": "^4.2.10", 613 + "@smithy/invalid-dependency": "^4.2.10", 614 + "@smithy/middleware-content-length": "^4.2.10", 615 + "@smithy/middleware-endpoint": "^4.4.20", 616 + "@smithy/middleware-retry": "^4.4.37", 617 + "@smithy/middleware-serde": "^4.2.11", 618 + "@smithy/middleware-stack": "^4.2.10", 619 + "@smithy/node-config-provider": "^4.3.10", 620 + "@smithy/node-http-handler": "^4.4.12", 621 + "@smithy/protocol-http": "^5.3.10", 622 + "@smithy/smithy-client": "^4.12.0", 623 + "@smithy/types": "^4.13.0", 624 + "@smithy/url-parser": "^4.2.10", 625 + "@smithy/util-base64": "^4.3.1", 626 + "@smithy/util-body-length-browser": "^4.2.1", 627 + "@smithy/util-body-length-node": "^4.2.2", 628 + "@smithy/util-defaults-mode-browser": "^4.3.36", 629 + "@smithy/util-defaults-mode-node": "^4.2.39", 630 + "@smithy/util-endpoints": "^3.3.1", 631 + "@smithy/util-middleware": "^4.2.10", 632 + "@smithy/util-retry": "^4.2.10", 633 + "@smithy/util-utf8": "^4.2.1", 634 + "@smithy/util-waiter": "^4.2.10", 633 635 "tslib": "^2.6.2" 634 636 }, 635 637 "engines": { 636 638 "node": ">=20.0.0" 637 639 } 638 640 }, 639 - "node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/util-endpoints": { 640 - "version": "3.982.0", 641 - "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.982.0.tgz", 642 - "integrity": "sha512-M27u8FJP7O0Of9hMWX5dipp//8iglmV9jr7R8SR8RveU+Z50/8TqH68Tu6wUWBGMfXjzbVwn1INIAO5lZrlxXQ==", 643 - "license": "Apache-2.0", 641 + "node_modules/@aws-sdk/client-ses/node_modules/@aws-sdk/util-endpoints": { 642 + "version": "3.996.3", 643 + "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.996.3.tgz", 644 + "integrity": "sha512-yWIQSNiCjykLL+ezN5A+DfBb1gfXTytBxm57e64lYmwxDHNmInYHRJYYRAGWG1o77vKEiWaw4ui28e3yb1k5aQ==", 644 645 "dependencies": { 645 - "@aws-sdk/types": "^3.973.1", 646 - "@smithy/types": "^4.12.0", 647 - "@smithy/url-parser": "^4.2.8", 648 - "@smithy/util-endpoints": "^3.2.8", 646 + "@aws-sdk/types": "^3.973.4", 647 + "@smithy/types": "^4.13.0", 648 + "@smithy/url-parser": "^4.2.10", 649 + "@smithy/util-endpoints": "^3.3.1", 649 650 "tslib": "^2.6.2" 650 651 }, 651 652 "engines": { 652 653 "node": ">=20.0.0" 653 654 } 654 655 }, 655 - "node_modules/@aws-sdk/client-sso/node_modules/@smithy/is-array-buffer": { 656 - "version": "4.2.0", 657 - "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-4.2.0.tgz", 658 - "integrity": "sha512-DZZZBvC7sjcYh4MazJSGiWMI2L7E0oCiRHREDzIxi/M2LY79/21iXt6aPLHge82wi5LsuRF5A06Ds3+0mlh6CQ==", 659 - "license": "Apache-2.0", 656 + "node_modules/@aws-sdk/client-ses/node_modules/@smithy/is-array-buffer": { 657 + "version": "4.2.1", 658 + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-4.2.1.tgz", 659 + "integrity": "sha512-Yfu664Qbf1B4IYIsYgKoABt010daZjkaCRvdU/sPnZG6TtHOB0md0RjNdLGzxe5UIdn9js4ftPICzmkRa9RJ4Q==", 660 660 "dependencies": { 661 661 "tslib": "^2.6.2" 662 662 }, ··· 664 664 "node": ">=18.0.0" 665 665 } 666 666 }, 667 - "node_modules/@aws-sdk/client-sso/node_modules/@smithy/util-buffer-from": { 668 - "version": "4.2.0", 669 - "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-4.2.0.tgz", 670 - "integrity": "sha512-kAY9hTKulTNevM2nlRtxAG2FQ3B2OR6QIrPY3zE5LqJy1oxzmgBGsHLWTcNhWXKchgA0WHW+mZkQrng/pgcCew==", 671 - "license": "Apache-2.0", 667 + "node_modules/@aws-sdk/client-ses/node_modules/@smithy/util-buffer-from": { 668 + "version": "4.2.1", 669 + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-4.2.1.tgz", 670 + "integrity": "sha512-/swhmt1qTiVkaejlmMPPDgZhEaWb/HWMGRBheaxwuVkusp/z+ErJyQxO6kaXumOciZSWlmq6Z5mNylCd33X7Ig==", 672 671 "dependencies": { 673 - "@smithy/is-array-buffer": "^4.2.0", 672 + "@smithy/is-array-buffer": "^4.2.1", 674 673 "tslib": "^2.6.2" 675 674 }, 676 675 "engines": { 677 676 "node": ">=18.0.0" 678 677 } 679 678 }, 680 - "node_modules/@aws-sdk/client-sso/node_modules/@smithy/util-utf8": { 681 - "version": "4.2.0", 682 - "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-4.2.0.tgz", 683 - "integrity": "sha512-zBPfuzoI8xyBtR2P6WQj63Rz8i3AmfAaJLuNG8dWsfvPe8lO4aCPYLn879mEgHndZH1zQ2oXmG8O1GGzzaoZiw==", 684 - "license": "Apache-2.0", 679 + "node_modules/@aws-sdk/client-ses/node_modules/@smithy/util-utf8": { 680 + "version": "4.2.1", 681 + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-4.2.1.tgz", 682 + "integrity": "sha512-DSIwNaWtmzrNQHv8g7DBGR9mulSit65KSj5ymGEIAknmIN8IpbZefEep10LaMG/P/xquwbmJ1h9ectz8z6mV6g==", 685 683 "dependencies": { 686 - "@smithy/util-buffer-from": "^4.2.0", 684 + "@smithy/util-buffer-from": "^4.2.1", 687 685 "tslib": "^2.6.2" 688 686 }, 689 687 "engines": { ··· 691 689 } 692 690 }, 693 691 "node_modules/@aws-sdk/core": { 694 - "version": "3.973.6", 695 - "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.973.6.tgz", 696 - "integrity": "sha512-pz4ZOw3BLG0NdF25HoB9ymSYyPbMiIjwQJ2aROXRhAzt+b+EOxStfFv8s5iZyP6Kiw7aYhyWxj5G3NhmkoOTKw==", 697 - "license": "Apache-2.0", 692 + "version": "3.973.15", 693 + "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.973.15.tgz", 694 + "integrity": "sha512-AlC0oQ1/mdJ8vCIqu524j5RB7M8i8E24bbkZmya1CuiQxkY7SdIZAyw7NDNMGaNINQFq/8oGRMX0HeOfCVsl/A==", 698 695 "dependencies": { 699 - "@aws-sdk/types": "^3.973.1", 700 - "@aws-sdk/xml-builder": "^3.972.4", 701 - "@smithy/core": "^3.22.0", 702 - "@smithy/node-config-provider": "^4.3.8", 703 - "@smithy/property-provider": "^4.2.8", 704 - "@smithy/protocol-http": "^5.3.8", 705 - "@smithy/signature-v4": "^5.3.8", 706 - "@smithy/smithy-client": "^4.11.1", 707 - "@smithy/types": "^4.12.0", 708 - "@smithy/util-base64": "^4.3.0", 709 - "@smithy/util-middleware": "^4.2.8", 710 - "@smithy/util-utf8": "^4.2.0", 696 + "@aws-sdk/types": "^3.973.4", 697 + "@aws-sdk/xml-builder": "^3.972.8", 698 + "@smithy/core": "^3.23.6", 699 + "@smithy/node-config-provider": "^4.3.10", 700 + "@smithy/property-provider": "^4.2.10", 701 + "@smithy/protocol-http": "^5.3.10", 702 + "@smithy/signature-v4": "^5.3.10", 703 + "@smithy/smithy-client": "^4.12.0", 704 + "@smithy/types": "^4.13.0", 705 + "@smithy/util-base64": "^4.3.1", 706 + "@smithy/util-middleware": "^4.2.10", 707 + "@smithy/util-utf8": "^4.2.1", 711 708 "tslib": "^2.6.2" 712 709 }, 713 710 "engines": { ··· 715 712 } 716 713 }, 717 714 "node_modules/@aws-sdk/core/node_modules/@smithy/is-array-buffer": { 718 - "version": "4.2.0", 719 - "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-4.2.0.tgz", 720 - "integrity": "sha512-DZZZBvC7sjcYh4MazJSGiWMI2L7E0oCiRHREDzIxi/M2LY79/21iXt6aPLHge82wi5LsuRF5A06Ds3+0mlh6CQ==", 721 - "license": "Apache-2.0", 715 + "version": "4.2.1", 716 + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-4.2.1.tgz", 717 + "integrity": "sha512-Yfu664Qbf1B4IYIsYgKoABt010daZjkaCRvdU/sPnZG6TtHOB0md0RjNdLGzxe5UIdn9js4ftPICzmkRa9RJ4Q==", 722 718 "dependencies": { 723 719 "tslib": "^2.6.2" 724 720 }, ··· 727 723 } 728 724 }, 729 725 "node_modules/@aws-sdk/core/node_modules/@smithy/util-buffer-from": { 730 - "version": "4.2.0", 731 - "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-4.2.0.tgz", 732 - "integrity": "sha512-kAY9hTKulTNevM2nlRtxAG2FQ3B2OR6QIrPY3zE5LqJy1oxzmgBGsHLWTcNhWXKchgA0WHW+mZkQrng/pgcCew==", 733 - "license": "Apache-2.0", 726 + "version": "4.2.1", 727 + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-4.2.1.tgz", 728 + "integrity": "sha512-/swhmt1qTiVkaejlmMPPDgZhEaWb/HWMGRBheaxwuVkusp/z+ErJyQxO6kaXumOciZSWlmq6Z5mNylCd33X7Ig==", 734 729 "dependencies": { 735 - "@smithy/is-array-buffer": "^4.2.0", 730 + "@smithy/is-array-buffer": "^4.2.1", 736 731 "tslib": "^2.6.2" 737 732 }, 738 733 "engines": { ··· 740 735 } 741 736 }, 742 737 "node_modules/@aws-sdk/core/node_modules/@smithy/util-utf8": { 743 - "version": "4.2.0", 744 - "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-4.2.0.tgz", 745 - "integrity": "sha512-zBPfuzoI8xyBtR2P6WQj63Rz8i3AmfAaJLuNG8dWsfvPe8lO4aCPYLn879mEgHndZH1zQ2oXmG8O1GGzzaoZiw==", 746 - "license": "Apache-2.0", 738 + "version": "4.2.1", 739 + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-4.2.1.tgz", 740 + "integrity": "sha512-DSIwNaWtmzrNQHv8g7DBGR9mulSit65KSj5ymGEIAknmIN8IpbZefEep10LaMG/P/xquwbmJ1h9ectz8z6mV6g==", 747 741 "dependencies": { 748 - "@smithy/util-buffer-from": "^4.2.0", 742 + "@smithy/util-buffer-from": "^4.2.1", 749 743 "tslib": "^2.6.2" 750 744 }, 751 745 "engines": { ··· 766 760 } 767 761 }, 768 762 "node_modules/@aws-sdk/credential-provider-env": { 769 - "version": "3.972.4", 770 - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.972.4.tgz", 771 - "integrity": "sha512-/8dnc7+XNMmViEom2xsNdArQxQPSgy4Z/lm6qaFPTrMFesT1bV3PsBhb19n09nmxHdrtQskYmViddUIjUQElXg==", 772 - "license": "Apache-2.0", 763 + "version": "3.972.13", 764 + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.972.13.tgz", 765 + "integrity": "sha512-6ljXKIQ22WFKyIs1jbORIkGanySBHaPPTOI4OxACP5WXgbcR0nDYfqNJfXEGwCK7IzHdNbCSFsNKKs0qCexR8Q==", 773 766 "dependencies": { 774 - "@aws-sdk/core": "^3.973.6", 775 - "@aws-sdk/types": "^3.973.1", 776 - "@smithy/property-provider": "^4.2.8", 777 - "@smithy/types": "^4.12.0", 767 + "@aws-sdk/core": "^3.973.15", 768 + "@aws-sdk/types": "^3.973.4", 769 + "@smithy/property-provider": "^4.2.10", 770 + "@smithy/types": "^4.13.0", 778 771 "tslib": "^2.6.2" 779 772 }, 780 773 "engines": { ··· 782 775 } 783 776 }, 784 777 "node_modules/@aws-sdk/credential-provider-http": { 785 - "version": "3.972.6", 786 - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.972.6.tgz", 787 - "integrity": "sha512-5ERWqRljiZv44AIdvIRQ3k+EAV0Sq2WeJHvXuK7gL7bovSxOf8Al7MLH7Eh3rdovH4KHFnlIty7J71mzvQBl5Q==", 788 - "license": "Apache-2.0", 778 + "version": "3.972.15", 779 + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.972.15.tgz", 780 + "integrity": "sha512-dJuSTreu/T8f24SHDNTjd7eQ4rabr0TzPh2UTCwYexQtzG3nTDKm1e5eIdhiroTMDkPEJeY+WPkA6F9wod/20A==", 789 781 "dependencies": { 790 - "@aws-sdk/core": "^3.973.6", 791 - "@aws-sdk/types": "^3.973.1", 792 - "@smithy/fetch-http-handler": "^5.3.9", 793 - "@smithy/node-http-handler": "^4.4.8", 794 - "@smithy/property-provider": "^4.2.8", 795 - "@smithy/protocol-http": "^5.3.8", 796 - "@smithy/smithy-client": "^4.11.1", 797 - "@smithy/types": "^4.12.0", 798 - "@smithy/util-stream": "^4.5.10", 782 + "@aws-sdk/core": "^3.973.15", 783 + "@aws-sdk/types": "^3.973.4", 784 + "@smithy/fetch-http-handler": "^5.3.11", 785 + "@smithy/node-http-handler": "^4.4.12", 786 + "@smithy/property-provider": "^4.2.10", 787 + "@smithy/protocol-http": "^5.3.10", 788 + "@smithy/smithy-client": "^4.12.0", 789 + "@smithy/types": "^4.13.0", 790 + "@smithy/util-stream": "^4.5.15", 799 791 "tslib": "^2.6.2" 800 792 }, 801 793 "engines": { ··· 803 795 } 804 796 }, 805 797 "node_modules/@aws-sdk/credential-provider-ini": { 806 - "version": "3.972.4", 807 - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.972.4.tgz", 808 - "integrity": "sha512-eRUg+3HaUKuXWn/lEMirdiA5HOKmEl8hEHVuszIDt2MMBUKgVX5XNGmb3XmbgU17h6DZ+RtjbxQpjhz3SbTjZg==", 809 - "license": "Apache-2.0", 798 + "version": "3.972.13", 799 + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.972.13.tgz", 800 + "integrity": "sha512-JKSoGb7XeabZLBJptpqoZIFbROUIS65NuQnEHGOpuT9GuuZwag2qciKANiDLFiYk4u8nSrJC9JIOnWKVvPVjeA==", 810 801 "dependencies": { 811 - "@aws-sdk/core": "^3.973.6", 812 - "@aws-sdk/credential-provider-env": "^3.972.4", 813 - "@aws-sdk/credential-provider-http": "^3.972.6", 814 - "@aws-sdk/credential-provider-login": "^3.972.4", 815 - "@aws-sdk/credential-provider-process": "^3.972.4", 816 - "@aws-sdk/credential-provider-sso": "^3.972.4", 817 - "@aws-sdk/credential-provider-web-identity": "^3.972.4", 818 - "@aws-sdk/nested-clients": "3.982.0", 819 - "@aws-sdk/types": "^3.973.1", 820 - "@smithy/credential-provider-imds": "^4.2.8", 821 - "@smithy/property-provider": "^4.2.8", 822 - "@smithy/shared-ini-file-loader": "^4.4.3", 823 - "@smithy/types": "^4.12.0", 802 + "@aws-sdk/core": "^3.973.15", 803 + "@aws-sdk/credential-provider-env": "^3.972.13", 804 + "@aws-sdk/credential-provider-http": "^3.972.15", 805 + "@aws-sdk/credential-provider-login": "^3.972.13", 806 + "@aws-sdk/credential-provider-process": "^3.972.13", 807 + "@aws-sdk/credential-provider-sso": "^3.972.13", 808 + "@aws-sdk/credential-provider-web-identity": "^3.972.13", 809 + "@aws-sdk/nested-clients": "^3.996.3", 810 + "@aws-sdk/types": "^3.973.4", 811 + "@smithy/credential-provider-imds": "^4.2.10", 812 + "@smithy/property-provider": "^4.2.10", 813 + "@smithy/shared-ini-file-loader": "^4.4.5", 814 + "@smithy/types": "^4.13.0", 824 815 "tslib": "^2.6.2" 825 816 }, 826 817 "engines": { ··· 828 819 } 829 820 }, 830 821 "node_modules/@aws-sdk/credential-provider-login": { 831 - "version": "3.972.4", 832 - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-login/-/credential-provider-login-3.972.4.tgz", 833 - "integrity": "sha512-nLGjXuvWWDlQAp505xIONI7Gam0vw2p7Qu3P6on/W2q7rjJXtYjtpHbcsaOjJ/pAju3eTvEQuSuRedcRHVQIAQ==", 834 - "license": "Apache-2.0", 822 + "version": "3.972.13", 823 + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-login/-/credential-provider-login-3.972.13.tgz", 824 + "integrity": "sha512-RtYcrxdnJHKY8MFQGLltCURcjuMjnaQpAxPE6+/QEdDHHItMKZgabRe/KScX737F9vJMQsmJy9EmMOkCnoC1JQ==", 835 825 "dependencies": { 836 - "@aws-sdk/core": "^3.973.6", 837 - "@aws-sdk/nested-clients": "3.982.0", 838 - "@aws-sdk/types": "^3.973.1", 839 - "@smithy/property-provider": "^4.2.8", 840 - "@smithy/protocol-http": "^5.3.8", 841 - "@smithy/shared-ini-file-loader": "^4.4.3", 842 - "@smithy/types": "^4.12.0", 826 + "@aws-sdk/core": "^3.973.15", 827 + "@aws-sdk/nested-clients": "^3.996.3", 828 + "@aws-sdk/types": "^3.973.4", 829 + "@smithy/property-provider": "^4.2.10", 830 + "@smithy/protocol-http": "^5.3.10", 831 + "@smithy/shared-ini-file-loader": "^4.4.5", 832 + "@smithy/types": "^4.13.0", 843 833 "tslib": "^2.6.2" 844 834 }, 845 835 "engines": { ··· 847 837 } 848 838 }, 849 839 "node_modules/@aws-sdk/credential-provider-node": { 850 - "version": "3.972.5", 851 - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.972.5.tgz", 852 - "integrity": "sha512-VWXKgSISQCI2GKN3zakTNHSiZ0+mux7v6YHmmbLQp/o3fvYUQJmKGcLZZzg2GFA+tGGBStplra9VFNf/WwxpYg==", 853 - "license": "Apache-2.0", 840 + "version": "3.972.14", 841 + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.972.14.tgz", 842 + "integrity": "sha512-WqoC2aliIjQM/L3oFf6j+op/enT2i9Cc4UTxxMEKrJNECkq4/PlKE5BOjSYFcq6G9mz65EFbXJh7zOU4CvjSKQ==", 854 843 "dependencies": { 855 - "@aws-sdk/credential-provider-env": "^3.972.4", 856 - "@aws-sdk/credential-provider-http": "^3.972.6", 857 - "@aws-sdk/credential-provider-ini": "^3.972.4", 858 - "@aws-sdk/credential-provider-process": "^3.972.4", 859 - "@aws-sdk/credential-provider-sso": "^3.972.4", 860 - "@aws-sdk/credential-provider-web-identity": "^3.972.4", 861 - "@aws-sdk/types": "^3.973.1", 862 - "@smithy/credential-provider-imds": "^4.2.8", 863 - "@smithy/property-provider": "^4.2.8", 864 - "@smithy/shared-ini-file-loader": "^4.4.3", 865 - "@smithy/types": "^4.12.0", 844 + "@aws-sdk/credential-provider-env": "^3.972.13", 845 + "@aws-sdk/credential-provider-http": "^3.972.15", 846 + "@aws-sdk/credential-provider-ini": "^3.972.13", 847 + "@aws-sdk/credential-provider-process": "^3.972.13", 848 + "@aws-sdk/credential-provider-sso": "^3.972.13", 849 + "@aws-sdk/credential-provider-web-identity": "^3.972.13", 850 + "@aws-sdk/types": "^3.973.4", 851 + "@smithy/credential-provider-imds": "^4.2.10", 852 + "@smithy/property-provider": "^4.2.10", 853 + "@smithy/shared-ini-file-loader": "^4.4.5", 854 + "@smithy/types": "^4.13.0", 866 855 "tslib": "^2.6.2" 867 856 }, 868 857 "engines": { ··· 870 859 } 871 860 }, 872 861 "node_modules/@aws-sdk/credential-provider-process": { 873 - "version": "3.972.4", 874 - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.972.4.tgz", 875 - "integrity": "sha512-TCZpWUnBQN1YPk6grvd5x419OfXjHvhj5Oj44GYb84dOVChpg/+2VoEj+YVA4F4E/6huQPNnX7UYbTtxJqgihw==", 876 - "license": "Apache-2.0", 862 + "version": "3.972.13", 863 + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.972.13.tgz", 864 + "integrity": "sha512-rsRG0LQA4VR+jnDyuqtXi2CePYSmfm5GNL9KxiW8DSe25YwJSr06W8TdUfONAC+rjsTI+aIH2rBGG5FjMeANrw==", 877 865 "dependencies": { 878 - "@aws-sdk/core": "^3.973.6", 879 - "@aws-sdk/types": "^3.973.1", 880 - "@smithy/property-provider": "^4.2.8", 881 - "@smithy/shared-ini-file-loader": "^4.4.3", 882 - "@smithy/types": "^4.12.0", 866 + "@aws-sdk/core": "^3.973.15", 867 + "@aws-sdk/types": "^3.973.4", 868 + "@smithy/property-provider": "^4.2.10", 869 + "@smithy/shared-ini-file-loader": "^4.4.5", 870 + "@smithy/types": "^4.13.0", 883 871 "tslib": "^2.6.2" 884 872 }, 885 873 "engines": { ··· 887 875 } 888 876 }, 889 877 "node_modules/@aws-sdk/credential-provider-sso": { 890 - "version": "3.972.4", 891 - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.972.4.tgz", 892 - "integrity": "sha512-wzsGwv9mKlwJ3vHLyembBvGE/5nPUIwRR2I51B1cBV4Cb4ql9nIIfpmHzm050XYTY5fqTOKJQnhLj7zj89VG8g==", 893 - "license": "Apache-2.0", 878 + "version": "3.972.13", 879 + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.972.13.tgz", 880 + "integrity": "sha512-fr0UU1wx8kNHDhTQBXioc/YviSW8iXuAxHvnH7eQUtn8F8o/FU3uu6EUMvAQgyvn7Ne5QFnC0Cj0BFlwCk+RFw==", 894 881 "dependencies": { 895 - "@aws-sdk/client-sso": "3.982.0", 896 - "@aws-sdk/core": "^3.973.6", 897 - "@aws-sdk/token-providers": "3.982.0", 898 - "@aws-sdk/types": "^3.973.1", 899 - "@smithy/property-provider": "^4.2.8", 900 - "@smithy/shared-ini-file-loader": "^4.4.3", 901 - "@smithy/types": "^4.12.0", 882 + "@aws-sdk/core": "^3.973.15", 883 + "@aws-sdk/nested-clients": "^3.996.3", 884 + "@aws-sdk/token-providers": "3.999.0", 885 + "@aws-sdk/types": "^3.973.4", 886 + "@smithy/property-provider": "^4.2.10", 887 + "@smithy/shared-ini-file-loader": "^4.4.5", 888 + "@smithy/types": "^4.13.0", 902 889 "tslib": "^2.6.2" 903 890 }, 904 891 "engines": { ··· 906 893 } 907 894 }, 908 895 "node_modules/@aws-sdk/credential-provider-web-identity": { 909 - "version": "3.972.4", 910 - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.972.4.tgz", 911 - "integrity": "sha512-hIzw2XzrG8jzsUSEatehmpkd5rWzASg5IHUfA+m01k/RtvfAML7ZJVVohuKdhAYx+wV2AThLiQJVzqn7F0khrw==", 912 - "license": "Apache-2.0", 896 + "version": "3.972.13", 897 + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.972.13.tgz", 898 + "integrity": "sha512-a6iFMh1pgUH0TdcouBppLJUfPM7Yd3R9S1xFodPtCRoLqCz2RQFA3qjA8x4112PVYXEd4/pHX2eihapq39w0rA==", 913 899 "dependencies": { 914 - "@aws-sdk/core": "^3.973.6", 915 - "@aws-sdk/nested-clients": "3.982.0", 916 - "@aws-sdk/types": "^3.973.1", 917 - "@smithy/property-provider": "^4.2.8", 918 - "@smithy/shared-ini-file-loader": "^4.4.3", 919 - "@smithy/types": "^4.12.0", 900 + "@aws-sdk/core": "^3.973.15", 901 + "@aws-sdk/nested-clients": "^3.996.3", 902 + "@aws-sdk/types": "^3.973.4", 903 + "@smithy/property-provider": "^4.2.10", 904 + "@smithy/shared-ini-file-loader": "^4.4.5", 905 + "@smithy/types": "^4.13.0", 920 906 "tslib": "^2.6.2" 921 907 }, 922 908 "engines": { ··· 1020 1006 } 1021 1007 }, 1022 1008 "node_modules/@aws-sdk/middleware-host-header": { 1023 - "version": "3.972.3", 1024 - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.972.3.tgz", 1025 - "integrity": "sha512-aknPTb2M+G3s+0qLCx4Li/qGZH8IIYjugHMv15JTYMe6mgZO8VBpYgeGYsNMGCqCZOcWzuf900jFBG5bopfzmA==", 1026 - "license": "Apache-2.0", 1009 + "version": "3.972.6", 1010 + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.972.6.tgz", 1011 + "integrity": "sha512-5XHwjPH1lHB+1q4bfC7T8Z5zZrZXfaLcjSMwTd1HPSPrCmPFMbg3UQ5vgNWcVj0xoX4HWqTGkSf2byrjlnRg5w==", 1027 1012 "dependencies": { 1028 - "@aws-sdk/types": "^3.973.1", 1029 - "@smithy/protocol-http": "^5.3.8", 1030 - "@smithy/types": "^4.12.0", 1013 + "@aws-sdk/types": "^3.973.4", 1014 + "@smithy/protocol-http": "^5.3.10", 1015 + "@smithy/types": "^4.13.0", 1031 1016 "tslib": "^2.6.2" 1032 1017 }, 1033 1018 "engines": { ··· 1049 1034 } 1050 1035 }, 1051 1036 "node_modules/@aws-sdk/middleware-logger": { 1052 - "version": "3.972.3", 1053 - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.972.3.tgz", 1054 - "integrity": "sha512-Ftg09xNNRqaz9QNzlfdQWfpqMCJbsQdnZVJP55jfhbKi1+FTWxGuvfPoBhDHIovqWKjqbuiew3HuhxbJ0+OjgA==", 1055 - "license": "Apache-2.0", 1037 + "version": "3.972.6", 1038 + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.972.6.tgz", 1039 + "integrity": "sha512-iFnaMFMQdljAPrvsCVKYltPt2j40LQqukAbXvW7v0aL5I+1GO7bZ/W8m12WxW3gwyK5p5u1WlHg8TSAizC5cZw==", 1056 1040 "dependencies": { 1057 - "@aws-sdk/types": "^3.973.1", 1058 - "@smithy/types": "^4.12.0", 1041 + "@aws-sdk/types": "^3.973.4", 1042 + "@smithy/types": "^4.13.0", 1059 1043 "tslib": "^2.6.2" 1060 1044 }, 1061 1045 "engines": { ··· 1063 1047 } 1064 1048 }, 1065 1049 "node_modules/@aws-sdk/middleware-recursion-detection": { 1066 - "version": "3.972.3", 1067 - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.972.3.tgz", 1068 - "integrity": "sha512-PY57QhzNuXHnwbJgbWYTrqIDHYSeOlhfYERTAuc16LKZpTZRJUjzBFokp9hF7u1fuGeE3D70ERXzdbMBOqQz7Q==", 1069 - "license": "Apache-2.0", 1050 + "version": "3.972.6", 1051 + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.972.6.tgz", 1052 + "integrity": "sha512-dY4v3of5EEMvik6+UDwQ96KfUFDk8m1oZDdkSc5lwi4o7rFrjnv0A+yTV+gu230iybQZnKgDLg/rt2P3H+Vscw==", 1070 1053 "dependencies": { 1071 - "@aws-sdk/types": "^3.973.1", 1054 + "@aws-sdk/types": "^3.973.4", 1072 1055 "@aws/lambda-invoke-store": "^0.2.2", 1073 - "@smithy/protocol-http": "^5.3.8", 1074 - "@smithy/types": "^4.12.0", 1056 + "@smithy/protocol-http": "^5.3.10", 1057 + "@smithy/types": "^4.13.0", 1075 1058 "tslib": "^2.6.2" 1076 1059 }, 1077 1060 "engines": { ··· 1156 1139 } 1157 1140 }, 1158 1141 "node_modules/@aws-sdk/middleware-user-agent": { 1159 - "version": "3.972.6", 1160 - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.972.6.tgz", 1161 - "integrity": "sha512-TehLN8W/kivl0U9HcS+keryElEWORROpghDXZBLfnb40DXM7hx/i+7OOjkogXQOF3QtUraJVRkHQ07bPhrWKlw==", 1162 - "license": "Apache-2.0", 1142 + "version": "3.972.15", 1143 + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.972.15.tgz", 1144 + "integrity": "sha512-ABlFVcIMmuRAwBT+8q5abAxOr7WmaINirDJBnqGY5b5jSDo00UMlg/G4a0xoAgwm6oAECeJcwkvDlxDwKf58fQ==", 1163 1145 "dependencies": { 1164 - "@aws-sdk/core": "^3.973.6", 1165 - "@aws-sdk/types": "^3.973.1", 1166 - "@aws-sdk/util-endpoints": "3.982.0", 1167 - "@smithy/core": "^3.22.0", 1168 - "@smithy/protocol-http": "^5.3.8", 1169 - "@smithy/types": "^4.12.0", 1146 + "@aws-sdk/core": "^3.973.15", 1147 + "@aws-sdk/types": "^3.973.4", 1148 + "@aws-sdk/util-endpoints": "^3.996.3", 1149 + "@smithy/core": "^3.23.6", 1150 + "@smithy/protocol-http": "^5.3.10", 1151 + "@smithy/types": "^4.13.0", 1170 1152 "tslib": "^2.6.2" 1171 1153 }, 1172 1154 "engines": { ··· 1174 1156 } 1175 1157 }, 1176 1158 "node_modules/@aws-sdk/middleware-user-agent/node_modules/@aws-sdk/util-endpoints": { 1177 - "version": "3.982.0", 1178 - "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.982.0.tgz", 1179 - "integrity": "sha512-M27u8FJP7O0Of9hMWX5dipp//8iglmV9jr7R8SR8RveU+Z50/8TqH68Tu6wUWBGMfXjzbVwn1INIAO5lZrlxXQ==", 1180 - "license": "Apache-2.0", 1159 + "version": "3.996.3", 1160 + "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.996.3.tgz", 1161 + "integrity": "sha512-yWIQSNiCjykLL+ezN5A+DfBb1gfXTytBxm57e64lYmwxDHNmInYHRJYYRAGWG1o77vKEiWaw4ui28e3yb1k5aQ==", 1181 1162 "dependencies": { 1182 - "@aws-sdk/types": "^3.973.1", 1183 - "@smithy/types": "^4.12.0", 1184 - "@smithy/url-parser": "^4.2.8", 1185 - "@smithy/util-endpoints": "^3.2.8", 1163 + "@aws-sdk/types": "^3.973.4", 1164 + "@smithy/types": "^4.13.0", 1165 + "@smithy/url-parser": "^4.2.10", 1166 + "@smithy/util-endpoints": "^3.3.1", 1186 1167 "tslib": "^2.6.2" 1187 1168 }, 1188 1169 "engines": { ··· 1190 1171 } 1191 1172 }, 1192 1173 "node_modules/@aws-sdk/nested-clients": { 1193 - "version": "3.982.0", 1194 - "resolved": "https://registry.npmjs.org/@aws-sdk/nested-clients/-/nested-clients-3.982.0.tgz", 1195 - "integrity": "sha512-VVkaH27digrJfdVrT64rjkllvOp4oRiZuuJvrylLXAKl18ujToJR7AqpDldL/LS63RVne3QWIpkygIymxFtliQ==", 1196 - "license": "Apache-2.0", 1174 + "version": "3.996.3", 1175 + "resolved": "https://registry.npmjs.org/@aws-sdk/nested-clients/-/nested-clients-3.996.3.tgz", 1176 + "integrity": "sha512-AU5TY1V29xqwg/MxmA2odwysTez+ccFAhmfRJk+QZT5HNv90UTA9qKd1J9THlsQkvmH7HWTEV1lDNxkQO5PzNw==", 1197 1177 "dependencies": { 1198 1178 "@aws-crypto/sha256-browser": "5.2.0", 1199 1179 "@aws-crypto/sha256-js": "5.2.0", 1200 - "@aws-sdk/core": "^3.973.6", 1201 - "@aws-sdk/middleware-host-header": "^3.972.3", 1202 - "@aws-sdk/middleware-logger": "^3.972.3", 1203 - "@aws-sdk/middleware-recursion-detection": "^3.972.3", 1204 - "@aws-sdk/middleware-user-agent": "^3.972.6", 1205 - "@aws-sdk/region-config-resolver": "^3.972.3", 1206 - "@aws-sdk/types": "^3.973.1", 1207 - "@aws-sdk/util-endpoints": "3.982.0", 1208 - "@aws-sdk/util-user-agent-browser": "^3.972.3", 1209 - "@aws-sdk/util-user-agent-node": "^3.972.4", 1210 - "@smithy/config-resolver": "^4.4.6", 1211 - "@smithy/core": "^3.22.0", 1212 - "@smithy/fetch-http-handler": "^5.3.9", 1213 - "@smithy/hash-node": "^4.2.8", 1214 - "@smithy/invalid-dependency": "^4.2.8", 1215 - "@smithy/middleware-content-length": "^4.2.8", 1216 - "@smithy/middleware-endpoint": "^4.4.12", 1217 - "@smithy/middleware-retry": "^4.4.29", 1218 - "@smithy/middleware-serde": "^4.2.9", 1219 - "@smithy/middleware-stack": "^4.2.8", 1220 - "@smithy/node-config-provider": "^4.3.8", 1221 - "@smithy/node-http-handler": "^4.4.8", 1222 - "@smithy/protocol-http": "^5.3.8", 1223 - "@smithy/smithy-client": "^4.11.1", 1224 - "@smithy/types": "^4.12.0", 1225 - "@smithy/url-parser": "^4.2.8", 1226 - "@smithy/util-base64": "^4.3.0", 1227 - "@smithy/util-body-length-browser": "^4.2.0", 1228 - "@smithy/util-body-length-node": "^4.2.1", 1229 - "@smithy/util-defaults-mode-browser": "^4.3.28", 1230 - "@smithy/util-defaults-mode-node": "^4.2.31", 1231 - "@smithy/util-endpoints": "^3.2.8", 1232 - "@smithy/util-middleware": "^4.2.8", 1233 - "@smithy/util-retry": "^4.2.8", 1234 - "@smithy/util-utf8": "^4.2.0", 1180 + "@aws-sdk/core": "^3.973.15", 1181 + "@aws-sdk/middleware-host-header": "^3.972.6", 1182 + "@aws-sdk/middleware-logger": "^3.972.6", 1183 + "@aws-sdk/middleware-recursion-detection": "^3.972.6", 1184 + "@aws-sdk/middleware-user-agent": "^3.972.15", 1185 + "@aws-sdk/region-config-resolver": "^3.972.6", 1186 + "@aws-sdk/types": "^3.973.4", 1187 + "@aws-sdk/util-endpoints": "^3.996.3", 1188 + "@aws-sdk/util-user-agent-browser": "^3.972.6", 1189 + "@aws-sdk/util-user-agent-node": "^3.973.0", 1190 + "@smithy/config-resolver": "^4.4.9", 1191 + "@smithy/core": "^3.23.6", 1192 + "@smithy/fetch-http-handler": "^5.3.11", 1193 + "@smithy/hash-node": "^4.2.10", 1194 + "@smithy/invalid-dependency": "^4.2.10", 1195 + "@smithy/middleware-content-length": "^4.2.10", 1196 + "@smithy/middleware-endpoint": "^4.4.20", 1197 + "@smithy/middleware-retry": "^4.4.37", 1198 + "@smithy/middleware-serde": "^4.2.11", 1199 + "@smithy/middleware-stack": "^4.2.10", 1200 + "@smithy/node-config-provider": "^4.3.10", 1201 + "@smithy/node-http-handler": "^4.4.12", 1202 + "@smithy/protocol-http": "^5.3.10", 1203 + "@smithy/smithy-client": "^4.12.0", 1204 + "@smithy/types": "^4.13.0", 1205 + "@smithy/url-parser": "^4.2.10", 1206 + "@smithy/util-base64": "^4.3.1", 1207 + "@smithy/util-body-length-browser": "^4.2.1", 1208 + "@smithy/util-body-length-node": "^4.2.2", 1209 + "@smithy/util-defaults-mode-browser": "^4.3.36", 1210 + "@smithy/util-defaults-mode-node": "^4.2.39", 1211 + "@smithy/util-endpoints": "^3.3.1", 1212 + "@smithy/util-middleware": "^4.2.10", 1213 + "@smithy/util-retry": "^4.2.10", 1214 + "@smithy/util-utf8": "^4.2.1", 1235 1215 "tslib": "^2.6.2" 1236 1216 }, 1237 1217 "engines": { ··· 1239 1219 } 1240 1220 }, 1241 1221 "node_modules/@aws-sdk/nested-clients/node_modules/@aws-sdk/util-endpoints": { 1242 - "version": "3.982.0", 1243 - "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.982.0.tgz", 1244 - "integrity": "sha512-M27u8FJP7O0Of9hMWX5dipp//8iglmV9jr7R8SR8RveU+Z50/8TqH68Tu6wUWBGMfXjzbVwn1INIAO5lZrlxXQ==", 1245 - "license": "Apache-2.0", 1222 + "version": "3.996.3", 1223 + "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.996.3.tgz", 1224 + "integrity": "sha512-yWIQSNiCjykLL+ezN5A+DfBb1gfXTytBxm57e64lYmwxDHNmInYHRJYYRAGWG1o77vKEiWaw4ui28e3yb1k5aQ==", 1246 1225 "dependencies": { 1247 - "@aws-sdk/types": "^3.973.1", 1248 - "@smithy/types": "^4.12.0", 1249 - "@smithy/url-parser": "^4.2.8", 1250 - "@smithy/util-endpoints": "^3.2.8", 1226 + "@aws-sdk/types": "^3.973.4", 1227 + "@smithy/types": "^4.13.0", 1228 + "@smithy/url-parser": "^4.2.10", 1229 + "@smithy/util-endpoints": "^3.3.1", 1251 1230 "tslib": "^2.6.2" 1252 1231 }, 1253 1232 "engines": { ··· 1255 1234 } 1256 1235 }, 1257 1236 "node_modules/@aws-sdk/nested-clients/node_modules/@smithy/is-array-buffer": { 1258 - "version": "4.2.0", 1259 - "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-4.2.0.tgz", 1260 - "integrity": "sha512-DZZZBvC7sjcYh4MazJSGiWMI2L7E0oCiRHREDzIxi/M2LY79/21iXt6aPLHge82wi5LsuRF5A06Ds3+0mlh6CQ==", 1261 - "license": "Apache-2.0", 1237 + "version": "4.2.1", 1238 + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-4.2.1.tgz", 1239 + "integrity": "sha512-Yfu664Qbf1B4IYIsYgKoABt010daZjkaCRvdU/sPnZG6TtHOB0md0RjNdLGzxe5UIdn9js4ftPICzmkRa9RJ4Q==", 1262 1240 "dependencies": { 1263 1241 "tslib": "^2.6.2" 1264 1242 }, ··· 1267 1245 } 1268 1246 }, 1269 1247 "node_modules/@aws-sdk/nested-clients/node_modules/@smithy/util-buffer-from": { 1270 - "version": "4.2.0", 1271 - "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-4.2.0.tgz", 1272 - "integrity": "sha512-kAY9hTKulTNevM2nlRtxAG2FQ3B2OR6QIrPY3zE5LqJy1oxzmgBGsHLWTcNhWXKchgA0WHW+mZkQrng/pgcCew==", 1273 - "license": "Apache-2.0", 1248 + "version": "4.2.1", 1249 + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-4.2.1.tgz", 1250 + "integrity": "sha512-/swhmt1qTiVkaejlmMPPDgZhEaWb/HWMGRBheaxwuVkusp/z+ErJyQxO6kaXumOciZSWlmq6Z5mNylCd33X7Ig==", 1274 1251 "dependencies": { 1275 - "@smithy/is-array-buffer": "^4.2.0", 1252 + "@smithy/is-array-buffer": "^4.2.1", 1276 1253 "tslib": "^2.6.2" 1277 1254 }, 1278 1255 "engines": { ··· 1280 1257 } 1281 1258 }, 1282 1259 "node_modules/@aws-sdk/nested-clients/node_modules/@smithy/util-utf8": { 1283 - "version": "4.2.0", 1284 - "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-4.2.0.tgz", 1285 - "integrity": "sha512-zBPfuzoI8xyBtR2P6WQj63Rz8i3AmfAaJLuNG8dWsfvPe8lO4aCPYLn879mEgHndZH1zQ2oXmG8O1GGzzaoZiw==", 1286 - "license": "Apache-2.0", 1260 + "version": "4.2.1", 1261 + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-4.2.1.tgz", 1262 + "integrity": "sha512-DSIwNaWtmzrNQHv8g7DBGR9mulSit65KSj5ymGEIAknmIN8IpbZefEep10LaMG/P/xquwbmJ1h9ectz8z6mV6g==", 1287 1263 "dependencies": { 1288 - "@smithy/util-buffer-from": "^4.2.0", 1264 + "@smithy/util-buffer-from": "^4.2.1", 1289 1265 "tslib": "^2.6.2" 1290 1266 }, 1291 1267 "engines": { ··· 1394 1370 } 1395 1371 }, 1396 1372 "node_modules/@aws-sdk/region-config-resolver": { 1397 - "version": "3.972.3", 1398 - "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.972.3.tgz", 1399 - "integrity": "sha512-v4J8qYAWfOMcZ4MJUyatntOicTzEMaU7j3OpkRCGGFSL2NgXQ5VbxauIyORA+pxdKZ0qQG2tCQjQjZDlXEC3Ow==", 1400 - "license": "Apache-2.0", 1373 + "version": "3.972.6", 1374 + "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.972.6.tgz", 1375 + "integrity": "sha512-Aa5PusHLXAqLTX1UKDvI3pHQJtIsF7Q+3turCHqfz/1F61/zDMWfbTC8evjhrrYVAtz9Vsv3SJ/waSUeu7B6gw==", 1401 1376 "dependencies": { 1402 - "@aws-sdk/types": "^3.973.1", 1403 - "@smithy/config-resolver": "^4.4.6", 1404 - "@smithy/node-config-provider": "^4.3.8", 1405 - "@smithy/types": "^4.12.0", 1377 + "@aws-sdk/types": "^3.973.4", 1378 + "@smithy/config-resolver": "^4.4.9", 1379 + "@smithy/node-config-provider": "^4.3.10", 1380 + "@smithy/types": "^4.13.0", 1406 1381 "tslib": "^2.6.2" 1407 1382 }, 1408 1383 "engines": { ··· 1427 1402 } 1428 1403 }, 1429 1404 "node_modules/@aws-sdk/token-providers": { 1430 - "version": "3.982.0", 1431 - "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.982.0.tgz", 1432 - "integrity": "sha512-v3M0KYp2TVHYHNBT7jHD9lLTWAdS9CaWJ2jboRKt0WAB65bA7iUEpR+k4VqKYtpQN4+8kKSc4w+K6kUNZkHKQw==", 1433 - "license": "Apache-2.0", 1405 + "version": "3.999.0", 1406 + "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.999.0.tgz", 1407 + "integrity": "sha512-cx0hHUlgXULfykx4rdu/ciNAJaa3AL5xz3rieCz7NKJ68MJwlj3664Y8WR5MGgxfyYJBdamnkjNSx5Kekuc0cg==", 1434 1408 "dependencies": { 1435 - "@aws-sdk/core": "^3.973.6", 1436 - "@aws-sdk/nested-clients": "3.982.0", 1437 - "@aws-sdk/types": "^3.973.1", 1438 - "@smithy/property-provider": "^4.2.8", 1439 - "@smithy/shared-ini-file-loader": "^4.4.3", 1440 - "@smithy/types": "^4.12.0", 1409 + "@aws-sdk/core": "^3.973.15", 1410 + "@aws-sdk/nested-clients": "^3.996.3", 1411 + "@aws-sdk/types": "^3.973.4", 1412 + "@smithy/property-provider": "^4.2.10", 1413 + "@smithy/shared-ini-file-loader": "^4.4.5", 1414 + "@smithy/types": "^4.13.0", 1441 1415 "tslib": "^2.6.2" 1442 1416 }, 1443 1417 "engines": { ··· 1445 1419 } 1446 1420 }, 1447 1421 "node_modules/@aws-sdk/types": { 1448 - "version": "3.973.1", 1449 - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.973.1.tgz", 1450 - "integrity": "sha512-DwHBiMNOB468JiX6+i34c+THsKHErYUdNQ3HexeXZvVn4zouLjgaS4FejiGSi2HyBuzuyHg7SuOPmjSvoU9NRg==", 1451 - "license": "Apache-2.0", 1422 + "version": "3.973.4", 1423 + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.973.4.tgz", 1424 + "integrity": "sha512-RW60aH26Bsc016Y9B98hC0Plx6fK5P2v/iQYwMzrSjiDh1qRMUCP6KrXHYEHe3uFvKiOC93Z9zk4BJsUi6Tj1Q==", 1452 1425 "dependencies": { 1453 - "@smithy/types": "^4.12.0", 1426 + "@smithy/types": "^4.13.0", 1454 1427 "tslib": "^2.6.2" 1455 1428 }, 1456 1429 "engines": { ··· 1497 1470 } 1498 1471 }, 1499 1472 "node_modules/@aws-sdk/util-user-agent-browser": { 1500 - "version": "3.972.3", 1501 - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.972.3.tgz", 1502 - "integrity": "sha512-JurOwkRUcXD/5MTDBcqdyQ9eVedtAsZgw5rBwktsPTN7QtPiS2Ld1jkJepNgYoCufz1Wcut9iup7GJDoIHp8Fw==", 1503 - "license": "Apache-2.0", 1473 + "version": "3.972.6", 1474 + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.972.6.tgz", 1475 + "integrity": "sha512-Fwr/llD6GOrFgQnKaI2glhohdGuBDfHfora6iG9qsBBBR8xv1SdCSwbtf5CWlUdCw5X7g76G/9Hf0Inh0EmoxA==", 1504 1476 "dependencies": { 1505 - "@aws-sdk/types": "^3.973.1", 1506 - "@smithy/types": "^4.12.0", 1477 + "@aws-sdk/types": "^3.973.4", 1478 + "@smithy/types": "^4.13.0", 1507 1479 "bowser": "^2.11.0", 1508 1480 "tslib": "^2.6.2" 1509 1481 } 1510 1482 }, 1511 1483 "node_modules/@aws-sdk/util-user-agent-node": { 1512 - "version": "3.972.4", 1513 - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.972.4.tgz", 1514 - "integrity": "sha512-3WFCBLiM8QiHDfosQq3Py+lIMgWlFWwFQliUHUqwEiRqLnKyhgbU3AKa7AWJF7lW2Oc/2kFNY4MlAYVnVc0i8A==", 1515 - "license": "Apache-2.0", 1484 + "version": "3.973.0", 1485 + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.973.0.tgz", 1486 + "integrity": "sha512-A9J2G4Nf236e9GpaC1JnA8wRn6u6GjnOXiTwBLA6NUJhlBTIGfrTy+K1IazmF8y+4OFdW3O5TZlhyspJMqiqjA==", 1516 1487 "dependencies": { 1517 - "@aws-sdk/middleware-user-agent": "^3.972.6", 1518 - "@aws-sdk/types": "^3.973.1", 1519 - "@smithy/node-config-provider": "^4.3.8", 1520 - "@smithy/types": "^4.12.0", 1488 + "@aws-sdk/middleware-user-agent": "^3.972.15", 1489 + "@aws-sdk/types": "^3.973.4", 1490 + "@smithy/node-config-provider": "^4.3.10", 1491 + "@smithy/types": "^4.13.0", 1521 1492 "tslib": "^2.6.2" 1522 1493 }, 1523 1494 "engines": { ··· 1533 1504 } 1534 1505 }, 1535 1506 "node_modules/@aws-sdk/xml-builder": { 1536 - "version": "3.972.4", 1537 - "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.972.4.tgz", 1538 - "integrity": "sha512-0zJ05ANfYqI6+rGqj8samZBFod0dPPousBjLEqg8WdxSgbMAkRgLyn81lP215Do0rFJ/17LIXwr7q0yK24mP6Q==", 1539 - "license": "Apache-2.0", 1507 + "version": "3.972.8", 1508 + "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.972.8.tgz", 1509 + "integrity": "sha512-Ql8elcUdYCha83Ol7NznBsgN5GVZnv3vUd86fEc6waU6oUdY0T1O9NODkEEOS/Uaogr87avDrUC6DSeM4oXjZg==", 1540 1510 "dependencies": { 1541 - "@smithy/types": "^4.12.0", 1542 - "fast-xml-parser": "5.3.4", 1511 + "@smithy/types": "^4.13.0", 1512 + "fast-xml-parser": "5.3.6", 1543 1513 "tslib": "^2.6.2" 1544 1514 }, 1545 1515 "engines": { ··· 1547 1517 } 1548 1518 }, 1549 1519 "node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser": { 1550 - "version": "5.3.4", 1551 - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-5.3.4.tgz", 1552 - "integrity": "sha512-EFd6afGmXlCx8H8WTZHhAoDaWaGyuIBoZJ2mknrNxug+aZKjkp0a0dlars9Izl+jF+7Gu1/5f/2h68cQpe0IiA==", 1520 + "version": "5.3.6", 1521 + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-5.3.6.tgz", 1522 + "integrity": "sha512-QNI3sAvSvaOiaMl8FYU4trnEzCwiRr8XMWgAHzlrWpTSj+QaCSvOf1h82OEP1s4hiAXhnbXSyFWCf4ldZzZRVA==", 1553 1523 "funding": [ 1554 1524 { 1555 1525 "type": "github", 1556 1526 "url": "https://github.com/sponsors/NaturalIntelligence" 1557 1527 } 1558 1528 ], 1559 - "license": "MIT", 1560 1529 "dependencies": { 1561 - "strnum": "^2.1.0" 1530 + "strnum": "^2.1.2" 1562 1531 }, 1563 1532 "bin": { 1564 1533 "fxparser": "src/cli/cli.js" ··· 1573 1542 "type": "github", 1574 1543 "url": "https://github.com/sponsors/NaturalIntelligence" 1575 1544 } 1576 - ], 1577 - "license": "MIT" 1545 + ] 1578 1546 }, 1579 1547 "node_modules/@aws/lambda-invoke-store": { 1580 1548 "version": "0.2.3", ··· 3999 3967 "version": "8.1.6", 4000 3968 "resolved": "https://registry.npmjs.org/@sendgrid/client/-/client-8.1.6.tgz", 4001 3969 "integrity": "sha512-/BHu0hqwXNHr2aLhcXU7RmmlVqrdfrbY9KpaNj00KZHlVOVoRxRVrpOCabIB+91ISXJ6+mLM9vpaVUhK6TwBWA==", 4002 - "license": "MIT", 4003 3970 "dependencies": { 4004 3971 "@sendgrid/helpers": "^8.0.0", 4005 3972 "axios": "^1.12.0" ··· 4012 3979 "version": "8.0.0", 4013 3980 "resolved": "https://registry.npmjs.org/@sendgrid/helpers/-/helpers-8.0.0.tgz", 4014 3981 "integrity": "sha512-Ze7WuW2Xzy5GT5WRx+yEv89fsg/pgy3T1E3FS0QEx0/VvRmigMZ5qyVGhJz4SxomegDkzXv/i0aFPpHKN8qdAA==", 4015 - "license": "MIT", 4016 3982 "dependencies": { 4017 3983 "deepmerge": "^4.2.2" 4018 3984 }, ··· 4024 3990 "version": "8.1.6", 4025 3991 "resolved": "https://registry.npmjs.org/@sendgrid/mail/-/mail-8.1.6.tgz", 4026 3992 "integrity": "sha512-/ZqxUvKeEztU9drOoPC/8opEPOk+jLlB2q4+xpx6HVLq6aFu3pMpalkTpAQz8XfRfpLp8O25bh6pGPcHDCYpqg==", 4027 - "license": "MIT", 4028 3993 "dependencies": { 4029 3994 "@sendgrid/client": "^8.1.5", 4030 3995 "@sendgrid/helpers": "^8.0.0" ··· 4071 4036 } 4072 4037 }, 4073 4038 "node_modules/@smithy/abort-controller": { 4074 - "version": "4.2.8", 4075 - "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-4.2.8.tgz", 4076 - "integrity": "sha512-peuVfkYHAmS5ybKxWcfraK7WBBP0J+rkfUcbHJJKQ4ir3UAUNQI+Y4Vt/PqSzGqgloJ5O1dk7+WzNL8wcCSXbw==", 4077 - "license": "Apache-2.0", 4039 + "version": "4.2.10", 4040 + "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-4.2.10.tgz", 4041 + "integrity": "sha512-qocxM/X4XGATqQtUkbE9SPUB6wekBi+FyJOMbPj0AhvyvFGYEmOlz6VB22iMePCQsFmMIvFSeViDvA7mZJG47g==", 4078 4042 "dependencies": { 4079 - "@smithy/types": "^4.12.0", 4043 + "@smithy/types": "^4.13.0", 4080 4044 "tslib": "^2.6.2" 4081 4045 }, 4082 4046 "engines": { ··· 4109 4073 } 4110 4074 }, 4111 4075 "node_modules/@smithy/config-resolver": { 4112 - "version": "4.4.6", 4113 - "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-4.4.6.tgz", 4114 - "integrity": "sha512-qJpzYC64kaj3S0fueiu3kXm8xPrR3PcXDPEgnaNMRn0EjNSZFoFjvbUp0YUDsRhN1CB90EnHJtbxWKevnH99UQ==", 4115 - "license": "Apache-2.0", 4076 + "version": "4.4.9", 4077 + "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-4.4.9.tgz", 4078 + "integrity": "sha512-ejQvXqlcU30h7liR9fXtj7PIAau1t/sFbJpgWPfiYDs7zd16jpH0IsSXKcba2jF6ChTXvIjACs27kNMc5xxE2Q==", 4116 4079 "dependencies": { 4117 - "@smithy/node-config-provider": "^4.3.8", 4118 - "@smithy/types": "^4.12.0", 4119 - "@smithy/util-config-provider": "^4.2.0", 4120 - "@smithy/util-endpoints": "^3.2.8", 4121 - "@smithy/util-middleware": "^4.2.8", 4080 + "@smithy/node-config-provider": "^4.3.10", 4081 + "@smithy/types": "^4.13.0", 4082 + "@smithy/util-config-provider": "^4.2.1", 4083 + "@smithy/util-endpoints": "^3.3.1", 4084 + "@smithy/util-middleware": "^4.2.10", 4122 4085 "tslib": "^2.6.2" 4123 4086 }, 4124 4087 "engines": { ··· 4126 4089 } 4127 4090 }, 4128 4091 "node_modules/@smithy/core": { 4129 - "version": "3.22.1", 4130 - "resolved": "https://registry.npmjs.org/@smithy/core/-/core-3.22.1.tgz", 4131 - "integrity": "sha512-x3ie6Crr58MWrm4viHqqy2Du2rHYZjwu8BekasrQx4ca+Y24dzVAwq3yErdqIbc2G3I0kLQA13PQ+/rde+u65g==", 4132 - "license": "Apache-2.0", 4092 + "version": "3.23.6", 4093 + "resolved": "https://registry.npmjs.org/@smithy/core/-/core-3.23.6.tgz", 4094 + "integrity": "sha512-4xE+0L2NrsFKpEVFlFELkIHQddBvMbQ41LRIP74dGCXnY1zQ9DgksrBcRBDJT+iOzGy4VEJIeU3hkUK5mn06kg==", 4133 4095 "dependencies": { 4134 - "@smithy/middleware-serde": "^4.2.9", 4135 - "@smithy/protocol-http": "^5.3.8", 4136 - "@smithy/types": "^4.12.0", 4137 - "@smithy/util-base64": "^4.3.0", 4138 - "@smithy/util-body-length-browser": "^4.2.0", 4139 - "@smithy/util-middleware": "^4.2.8", 4140 - "@smithy/util-stream": "^4.5.11", 4141 - "@smithy/util-utf8": "^4.2.0", 4142 - "@smithy/uuid": "^1.1.0", 4096 + "@smithy/middleware-serde": "^4.2.11", 4097 + "@smithy/protocol-http": "^5.3.10", 4098 + "@smithy/types": "^4.13.0", 4099 + "@smithy/util-base64": "^4.3.1", 4100 + "@smithy/util-body-length-browser": "^4.2.1", 4101 + "@smithy/util-middleware": "^4.2.10", 4102 + "@smithy/util-stream": "^4.5.15", 4103 + "@smithy/util-utf8": "^4.2.1", 4104 + "@smithy/uuid": "^1.1.1", 4143 4105 "tslib": "^2.6.2" 4144 4106 }, 4145 4107 "engines": { ··· 4147 4109 } 4148 4110 }, 4149 4111 "node_modules/@smithy/core/node_modules/@smithy/is-array-buffer": { 4150 - "version": "4.2.0", 4151 - "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-4.2.0.tgz", 4152 - "integrity": "sha512-DZZZBvC7sjcYh4MazJSGiWMI2L7E0oCiRHREDzIxi/M2LY79/21iXt6aPLHge82wi5LsuRF5A06Ds3+0mlh6CQ==", 4153 - "license": "Apache-2.0", 4112 + "version": "4.2.1", 4113 + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-4.2.1.tgz", 4114 + "integrity": "sha512-Yfu664Qbf1B4IYIsYgKoABt010daZjkaCRvdU/sPnZG6TtHOB0md0RjNdLGzxe5UIdn9js4ftPICzmkRa9RJ4Q==", 4154 4115 "dependencies": { 4155 4116 "tslib": "^2.6.2" 4156 4117 }, ··· 4159 4120 } 4160 4121 }, 4161 4122 "node_modules/@smithy/core/node_modules/@smithy/util-buffer-from": { 4162 - "version": "4.2.0", 4163 - "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-4.2.0.tgz", 4164 - "integrity": "sha512-kAY9hTKulTNevM2nlRtxAG2FQ3B2OR6QIrPY3zE5LqJy1oxzmgBGsHLWTcNhWXKchgA0WHW+mZkQrng/pgcCew==", 4165 - "license": "Apache-2.0", 4123 + "version": "4.2.1", 4124 + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-4.2.1.tgz", 4125 + "integrity": "sha512-/swhmt1qTiVkaejlmMPPDgZhEaWb/HWMGRBheaxwuVkusp/z+ErJyQxO6kaXumOciZSWlmq6Z5mNylCd33X7Ig==", 4166 4126 "dependencies": { 4167 - "@smithy/is-array-buffer": "^4.2.0", 4127 + "@smithy/is-array-buffer": "^4.2.1", 4168 4128 "tslib": "^2.6.2" 4169 4129 }, 4170 4130 "engines": { ··· 4172 4132 } 4173 4133 }, 4174 4134 "node_modules/@smithy/core/node_modules/@smithy/util-utf8": { 4175 - "version": "4.2.0", 4176 - "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-4.2.0.tgz", 4177 - "integrity": "sha512-zBPfuzoI8xyBtR2P6WQj63Rz8i3AmfAaJLuNG8dWsfvPe8lO4aCPYLn879mEgHndZH1zQ2oXmG8O1GGzzaoZiw==", 4178 - "license": "Apache-2.0", 4135 + "version": "4.2.1", 4136 + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-4.2.1.tgz", 4137 + "integrity": "sha512-DSIwNaWtmzrNQHv8g7DBGR9mulSit65KSj5ymGEIAknmIN8IpbZefEep10LaMG/P/xquwbmJ1h9ectz8z6mV6g==", 4179 4138 "dependencies": { 4180 - "@smithy/util-buffer-from": "^4.2.0", 4139 + "@smithy/util-buffer-from": "^4.2.1", 4181 4140 "tslib": "^2.6.2" 4182 4141 }, 4183 4142 "engines": { ··· 4185 4144 } 4186 4145 }, 4187 4146 "node_modules/@smithy/credential-provider-imds": { 4188 - "version": "4.2.8", 4189 - "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-4.2.8.tgz", 4190 - "integrity": "sha512-FNT0xHS1c/CPN8upqbMFP83+ul5YgdisfCfkZ86Jh2NSmnqw/AJ6x5pEogVCTVvSm7j9MopRU89bmDelxuDMYw==", 4191 - "license": "Apache-2.0", 4147 + "version": "4.2.10", 4148 + "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-4.2.10.tgz", 4149 + "integrity": "sha512-3bsMLJJLTZGZqVGGeBVFfLzuRulVsGTj12BzRKODTHqUABpIr0jMN1vN3+u6r2OfyhAQ2pXaMZWX/swBK5I6PQ==", 4192 4150 "dependencies": { 4193 - "@smithy/node-config-provider": "^4.3.8", 4194 - "@smithy/property-provider": "^4.2.8", 4195 - "@smithy/types": "^4.12.0", 4196 - "@smithy/url-parser": "^4.2.8", 4151 + "@smithy/node-config-provider": "^4.3.10", 4152 + "@smithy/property-provider": "^4.2.10", 4153 + "@smithy/types": "^4.13.0", 4154 + "@smithy/url-parser": "^4.2.10", 4197 4155 "tslib": "^2.6.2" 4198 4156 }, 4199 4157 "engines": { ··· 4271 4229 } 4272 4230 }, 4273 4231 "node_modules/@smithy/fetch-http-handler": { 4274 - "version": "5.3.9", 4275 - "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-5.3.9.tgz", 4276 - "integrity": "sha512-I4UhmcTYXBrct03rwzQX1Y/iqQlzVQaPxWjCjula++5EmWq9YGBrx6bbGqluGc1f0XEfhSkiY4jhLgbsJUMKRA==", 4277 - "license": "Apache-2.0", 4232 + "version": "5.3.11", 4233 + "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-5.3.11.tgz", 4234 + "integrity": "sha512-wbTRjOxdFuyEg0CpumjZO0hkUl+fetJFqxNROepuLIoijQh51aMBmzFLfoQdwRjxsuuS2jizzIUTjPWgd8pd7g==", 4278 4235 "dependencies": { 4279 - "@smithy/protocol-http": "^5.3.8", 4280 - "@smithy/querystring-builder": "^4.2.8", 4281 - "@smithy/types": "^4.12.0", 4282 - "@smithy/util-base64": "^4.3.0", 4236 + "@smithy/protocol-http": "^5.3.10", 4237 + "@smithy/querystring-builder": "^4.2.10", 4238 + "@smithy/types": "^4.13.0", 4239 + "@smithy/util-base64": "^4.3.1", 4283 4240 "tslib": "^2.6.2" 4284 4241 }, 4285 4242 "engines": { ··· 4302 4259 } 4303 4260 }, 4304 4261 "node_modules/@smithy/hash-node": { 4305 - "version": "4.2.8", 4306 - "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-4.2.8.tgz", 4307 - "integrity": "sha512-7ZIlPbmaDGxVoxErDZnuFG18WekhbA/g2/i97wGj+wUBeS6pcUeAym8u4BXh/75RXWhgIJhyC11hBzig6MljwA==", 4308 - "license": "Apache-2.0", 4262 + "version": "4.2.10", 4263 + "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-4.2.10.tgz", 4264 + "integrity": "sha512-1VzIOI5CcsvMDvP3iv1vG/RfLJVVVc67dCRyLSB2Hn9SWCZrDO3zvcIzj3BfEtqRW5kcMg5KAeVf1K3dR6nD3w==", 4309 4265 "dependencies": { 4310 - "@smithy/types": "^4.12.0", 4311 - "@smithy/util-buffer-from": "^4.2.0", 4312 - "@smithy/util-utf8": "^4.2.0", 4266 + "@smithy/types": "^4.13.0", 4267 + "@smithy/util-buffer-from": "^4.2.1", 4268 + "@smithy/util-utf8": "^4.2.1", 4313 4269 "tslib": "^2.6.2" 4314 4270 }, 4315 4271 "engines": { ··· 4317 4273 } 4318 4274 }, 4319 4275 "node_modules/@smithy/hash-node/node_modules/@smithy/is-array-buffer": { 4320 - "version": "4.2.0", 4321 - "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-4.2.0.tgz", 4322 - "integrity": "sha512-DZZZBvC7sjcYh4MazJSGiWMI2L7E0oCiRHREDzIxi/M2LY79/21iXt6aPLHge82wi5LsuRF5A06Ds3+0mlh6CQ==", 4323 - "license": "Apache-2.0", 4276 + "version": "4.2.1", 4277 + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-4.2.1.tgz", 4278 + "integrity": "sha512-Yfu664Qbf1B4IYIsYgKoABt010daZjkaCRvdU/sPnZG6TtHOB0md0RjNdLGzxe5UIdn9js4ftPICzmkRa9RJ4Q==", 4324 4279 "dependencies": { 4325 4280 "tslib": "^2.6.2" 4326 4281 }, ··· 4329 4284 } 4330 4285 }, 4331 4286 "node_modules/@smithy/hash-node/node_modules/@smithy/util-buffer-from": { 4332 - "version": "4.2.0", 4333 - "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-4.2.0.tgz", 4334 - "integrity": "sha512-kAY9hTKulTNevM2nlRtxAG2FQ3B2OR6QIrPY3zE5LqJy1oxzmgBGsHLWTcNhWXKchgA0WHW+mZkQrng/pgcCew==", 4335 - "license": "Apache-2.0", 4287 + "version": "4.2.1", 4288 + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-4.2.1.tgz", 4289 + "integrity": "sha512-/swhmt1qTiVkaejlmMPPDgZhEaWb/HWMGRBheaxwuVkusp/z+ErJyQxO6kaXumOciZSWlmq6Z5mNylCd33X7Ig==", 4336 4290 "dependencies": { 4337 - "@smithy/is-array-buffer": "^4.2.0", 4291 + "@smithy/is-array-buffer": "^4.2.1", 4338 4292 "tslib": "^2.6.2" 4339 4293 }, 4340 4294 "engines": { ··· 4342 4296 } 4343 4297 }, 4344 4298 "node_modules/@smithy/hash-node/node_modules/@smithy/util-utf8": { 4345 - "version": "4.2.0", 4346 - "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-4.2.0.tgz", 4347 - "integrity": "sha512-zBPfuzoI8xyBtR2P6WQj63Rz8i3AmfAaJLuNG8dWsfvPe8lO4aCPYLn879mEgHndZH1zQ2oXmG8O1GGzzaoZiw==", 4348 - "license": "Apache-2.0", 4299 + "version": "4.2.1", 4300 + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-4.2.1.tgz", 4301 + "integrity": "sha512-DSIwNaWtmzrNQHv8g7DBGR9mulSit65KSj5ymGEIAknmIN8IpbZefEep10LaMG/P/xquwbmJ1h9ectz8z6mV6g==", 4349 4302 "dependencies": { 4350 - "@smithy/util-buffer-from": "^4.2.0", 4303 + "@smithy/util-buffer-from": "^4.2.1", 4351 4304 "tslib": "^2.6.2" 4352 4305 }, 4353 4306 "engines": { ··· 4407 4360 } 4408 4361 }, 4409 4362 "node_modules/@smithy/invalid-dependency": { 4410 - "version": "4.2.8", 4411 - "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-4.2.8.tgz", 4412 - "integrity": "sha512-N9iozRybwAQ2dn9Fot9kI6/w9vos2oTXLhtK7ovGqwZjlOcxu6XhPlpLpC+INsxktqHinn5gS2DXDjDF2kG5sQ==", 4413 - "license": "Apache-2.0", 4363 + "version": "4.2.10", 4364 + "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-4.2.10.tgz", 4365 + "integrity": "sha512-vy9KPNSFUU0ajFYk0sDZIYiUlAWGEAhRfehIr5ZkdFrRFTAuXEPUd41USuqHU6vvLX4r6Q9X7MKBco5+Il0Org==", 4414 4366 "dependencies": { 4415 - "@smithy/types": "^4.12.0", 4367 + "@smithy/types": "^4.13.0", 4416 4368 "tslib": "^2.6.2" 4417 4369 }, 4418 4370 "engines": { ··· 4483 4435 } 4484 4436 }, 4485 4437 "node_modules/@smithy/middleware-content-length": { 4486 - "version": "4.2.8", 4487 - "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-4.2.8.tgz", 4488 - "integrity": "sha512-RO0jeoaYAB1qBRhfVyq0pMgBoUK34YEJxVxyjOWYZiOKOq2yMZ4MnVXMZCUDenpozHue207+9P5ilTV1zeda0A==", 4489 - "license": "Apache-2.0", 4438 + "version": "4.2.10", 4439 + "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-4.2.10.tgz", 4440 + "integrity": "sha512-TQZ9kX5c6XbjhaEBpvhSvMEZ0klBs1CFtOdPFwATZSbC9UeQfKHPLPN9Y+I6wZGMOavlYTOlHEPDrt42PMSH9w==", 4490 4441 "dependencies": { 4491 - "@smithy/protocol-http": "^5.3.8", 4492 - "@smithy/types": "^4.12.0", 4442 + "@smithy/protocol-http": "^5.3.10", 4443 + "@smithy/types": "^4.13.0", 4493 4444 "tslib": "^2.6.2" 4494 4445 }, 4495 4446 "engines": { ··· 4497 4448 } 4498 4449 }, 4499 4450 "node_modules/@smithy/middleware-endpoint": { 4500 - "version": "4.4.13", 4501 - "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-4.4.13.tgz", 4502 - "integrity": "sha512-x6vn0PjYmGdNuKh/juUJJewZh7MoQ46jYaJ2mvekF4EesMuFfrl4LaW/k97Zjf8PTCPQmPgMvwewg7eNoH9n5w==", 4503 - "license": "Apache-2.0", 4451 + "version": "4.4.20", 4452 + "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-4.4.20.tgz", 4453 + "integrity": "sha512-9W6Np4ceBP3XCYAGLoMCmn8t2RRVzuD1ndWPLBbv7H9CrwM9Bprf6Up6BM9ZA/3alodg0b7Kf6ftBK9R1N04vw==", 4504 4454 "dependencies": { 4505 - "@smithy/core": "^3.22.1", 4506 - "@smithy/middleware-serde": "^4.2.9", 4507 - "@smithy/node-config-provider": "^4.3.8", 4508 - "@smithy/shared-ini-file-loader": "^4.4.3", 4509 - "@smithy/types": "^4.12.0", 4510 - "@smithy/url-parser": "^4.2.8", 4511 - "@smithy/util-middleware": "^4.2.8", 4455 + "@smithy/core": "^3.23.6", 4456 + "@smithy/middleware-serde": "^4.2.11", 4457 + "@smithy/node-config-provider": "^4.3.10", 4458 + "@smithy/shared-ini-file-loader": "^4.4.5", 4459 + "@smithy/types": "^4.13.0", 4460 + "@smithy/url-parser": "^4.2.10", 4461 + "@smithy/util-middleware": "^4.2.10", 4512 4462 "tslib": "^2.6.2" 4513 4463 }, 4514 4464 "engines": { ··· 4516 4466 } 4517 4467 }, 4518 4468 "node_modules/@smithy/middleware-retry": { 4519 - "version": "4.4.30", 4520 - "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-4.4.30.tgz", 4521 - "integrity": "sha512-CBGyFvN0f8hlnqKH/jckRDz78Snrp345+PVk8Ux7pnkUCW97Iinse59lY78hBt04h1GZ6hjBN94BRwZy1xC8Bg==", 4522 - "license": "Apache-2.0", 4469 + "version": "4.4.37", 4470 + "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-4.4.37.tgz", 4471 + "integrity": "sha512-/1psZZllBBSQ7+qo5+hhLz7AEPGLx3Z0+e3ramMBEuPK2PfvLK4SrncDB9VegX5mBn+oP/UTDrM6IHrFjvX1ZA==", 4523 4472 "dependencies": { 4524 - "@smithy/node-config-provider": "^4.3.8", 4525 - "@smithy/protocol-http": "^5.3.8", 4526 - "@smithy/service-error-classification": "^4.2.8", 4527 - "@smithy/smithy-client": "^4.11.2", 4528 - "@smithy/types": "^4.12.0", 4529 - "@smithy/util-middleware": "^4.2.8", 4530 - "@smithy/util-retry": "^4.2.8", 4531 - "@smithy/uuid": "^1.1.0", 4473 + "@smithy/node-config-provider": "^4.3.10", 4474 + "@smithy/protocol-http": "^5.3.10", 4475 + "@smithy/service-error-classification": "^4.2.10", 4476 + "@smithy/smithy-client": "^4.12.0", 4477 + "@smithy/types": "^4.13.0", 4478 + "@smithy/util-middleware": "^4.2.10", 4479 + "@smithy/util-retry": "^4.2.10", 4480 + "@smithy/uuid": "^1.1.1", 4532 4481 "tslib": "^2.6.2" 4533 4482 }, 4534 4483 "engines": { ··· 4536 4485 } 4537 4486 }, 4538 4487 "node_modules/@smithy/middleware-serde": { 4539 - "version": "4.2.9", 4540 - "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-4.2.9.tgz", 4541 - "integrity": "sha512-eMNiej0u/snzDvlqRGSN3Vl0ESn3838+nKyVfF2FKNXFbi4SERYT6PR392D39iczngbqqGG0Jl1DlCnp7tBbXQ==", 4542 - "license": "Apache-2.0", 4488 + "version": "4.2.11", 4489 + "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-4.2.11.tgz", 4490 + "integrity": "sha512-STQdONGPwbbC7cusL60s7vOa6He6A9w2jWhoapL0mgVjmR19pr26slV+yoSP76SIssMTX/95e5nOZ6UQv6jolg==", 4543 4491 "dependencies": { 4544 - "@smithy/protocol-http": "^5.3.8", 4545 - "@smithy/types": "^4.12.0", 4492 + "@smithy/protocol-http": "^5.3.10", 4493 + "@smithy/types": "^4.13.0", 4546 4494 "tslib": "^2.6.2" 4547 4495 }, 4548 4496 "engines": { ··· 4550 4498 } 4551 4499 }, 4552 4500 "node_modules/@smithy/middleware-stack": { 4553 - "version": "4.2.8", 4554 - "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-4.2.8.tgz", 4555 - "integrity": "sha512-w6LCfOviTYQjBctOKSwy6A8FIkQy7ICvglrZFl6Bw4FmcQ1Z420fUtIhxaUZZshRe0VCq4kvDiPiXrPZAe8oRA==", 4556 - "license": "Apache-2.0", 4501 + "version": "4.2.10", 4502 + "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-4.2.10.tgz", 4503 + "integrity": "sha512-pmts/WovNcE/tlyHa8z/groPeOtqtEpp61q3W0nW1nDJuMq/x+hWa/OVQBtgU0tBqupeXq0VBOLA4UZwE8I0YA==", 4557 4504 "dependencies": { 4558 - "@smithy/types": "^4.12.0", 4505 + "@smithy/types": "^4.13.0", 4559 4506 "tslib": "^2.6.2" 4560 4507 }, 4561 4508 "engines": { ··· 4563 4510 } 4564 4511 }, 4565 4512 "node_modules/@smithy/node-config-provider": { 4566 - "version": "4.3.8", 4567 - "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-4.3.8.tgz", 4568 - "integrity": "sha512-aFP1ai4lrbVlWjfpAfRSL8KFcnJQYfTl5QxLJXY32vghJrDuFyPZ6LtUL+JEGYiFRG1PfPLHLoxj107ulncLIg==", 4569 - "license": "Apache-2.0", 4513 + "version": "4.3.10", 4514 + "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-4.3.10.tgz", 4515 + "integrity": "sha512-UALRbJtVX34AdP2VECKVlnNgidLHA2A7YgcJzwSBg1hzmnO/bZBHl/LDQQyYifzUwp1UOODnl9JJ3KNawpUJ9w==", 4570 4516 "dependencies": { 4571 - "@smithy/property-provider": "^4.2.8", 4572 - "@smithy/shared-ini-file-loader": "^4.4.3", 4573 - "@smithy/types": "^4.12.0", 4517 + "@smithy/property-provider": "^4.2.10", 4518 + "@smithy/shared-ini-file-loader": "^4.4.5", 4519 + "@smithy/types": "^4.13.0", 4574 4520 "tslib": "^2.6.2" 4575 4521 }, 4576 4522 "engines": { ··· 4578 4524 } 4579 4525 }, 4580 4526 "node_modules/@smithy/node-http-handler": { 4581 - "version": "4.4.9", 4582 - "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-4.4.9.tgz", 4583 - "integrity": "sha512-KX5Wml5mF+luxm1szW4QDz32e3NObgJ4Fyw+irhph4I/2geXwUy4jkIMUs5ZPGflRBeR6BUkC2wqIab4Llgm3w==", 4584 - "license": "Apache-2.0", 4527 + "version": "4.4.12", 4528 + "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-4.4.12.tgz", 4529 + "integrity": "sha512-zo1+WKJkR9x7ZtMeMDAAsq2PufwiLDmkhcjpWPRRkmeIuOm6nq1qjFICSZbnjBvD09ei8KMo26BWxsu2BUU+5w==", 4585 4530 "dependencies": { 4586 - "@smithy/abort-controller": "^4.2.8", 4587 - "@smithy/protocol-http": "^5.3.8", 4588 - "@smithy/querystring-builder": "^4.2.8", 4589 - "@smithy/types": "^4.12.0", 4531 + "@smithy/abort-controller": "^4.2.10", 4532 + "@smithy/protocol-http": "^5.3.10", 4533 + "@smithy/querystring-builder": "^4.2.10", 4534 + "@smithy/types": "^4.13.0", 4590 4535 "tslib": "^2.6.2" 4591 4536 }, 4592 4537 "engines": { ··· 4594 4539 } 4595 4540 }, 4596 4541 "node_modules/@smithy/property-provider": { 4597 - "version": "4.2.8", 4598 - "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-4.2.8.tgz", 4599 - "integrity": "sha512-EtCTbyIveCKeOXDSWSdze3k612yCPq1YbXsbqX3UHhkOSW8zKsM9NOJG5gTIya0vbY2DIaieG8pKo1rITHYL0w==", 4600 - "license": "Apache-2.0", 4542 + "version": "4.2.10", 4543 + "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-4.2.10.tgz", 4544 + "integrity": "sha512-5jm60P0CU7tom0eNrZ7YrkgBaoLFXzmqB0wVS+4uK8PPGmosSrLNf6rRd50UBvukztawZ7zyA8TxlrKpF5z9jw==", 4601 4545 "dependencies": { 4602 - "@smithy/types": "^4.12.0", 4546 + "@smithy/types": "^4.13.0", 4603 4547 "tslib": "^2.6.2" 4604 4548 }, 4605 4549 "engines": { ··· 4607 4551 } 4608 4552 }, 4609 4553 "node_modules/@smithy/protocol-http": { 4610 - "version": "5.3.8", 4611 - "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-5.3.8.tgz", 4612 - "integrity": "sha512-QNINVDhxpZ5QnP3aviNHQFlRogQZDfYlCkQT+7tJnErPQbDhysondEjhikuANxgMsZrkGeiAxXy4jguEGsDrWQ==", 4613 - "license": "Apache-2.0", 4554 + "version": "5.3.10", 4555 + "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-5.3.10.tgz", 4556 + "integrity": "sha512-2NzVWpYY0tRdfeCJLsgrR89KE3NTWT2wGulhNUxYlRmtRmPwLQwKzhrfVaiNlA9ZpJvbW7cjTVChYKgnkqXj1A==", 4614 4557 "dependencies": { 4615 - "@smithy/types": "^4.12.0", 4558 + "@smithy/types": "^4.13.0", 4616 4559 "tslib": "^2.6.2" 4617 4560 }, 4618 4561 "engines": { ··· 4620 4563 } 4621 4564 }, 4622 4565 "node_modules/@smithy/querystring-builder": { 4623 - "version": "4.2.8", 4624 - "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-4.2.8.tgz", 4625 - "integrity": "sha512-Xr83r31+DrE8CP3MqPgMJl+pQlLLmOfiEUnoyAlGzzJIrEsbKsPy1hqH0qySaQm4oWrCBlUqRt+idEgunKB+iw==", 4626 - "license": "Apache-2.0", 4566 + "version": "4.2.10", 4567 + "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-4.2.10.tgz", 4568 + "integrity": "sha512-HeN7kEvuzO2DmAzLukE9UryiUvejD3tMp9a1D1NJETerIfKobBUCLfviP6QEk500166eD2IATaXM59qgUI+YDA==", 4627 4569 "dependencies": { 4628 - "@smithy/types": "^4.12.0", 4629 - "@smithy/util-uri-escape": "^4.2.0", 4570 + "@smithy/types": "^4.13.0", 4571 + "@smithy/util-uri-escape": "^4.2.1", 4630 4572 "tslib": "^2.6.2" 4631 4573 }, 4632 4574 "engines": { ··· 4634 4576 } 4635 4577 }, 4636 4578 "node_modules/@smithy/querystring-parser": { 4637 - "version": "4.2.8", 4638 - "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-4.2.8.tgz", 4639 - "integrity": "sha512-vUurovluVy50CUlazOiXkPq40KGvGWSdmusa3130MwrR1UNnNgKAlj58wlOe61XSHRpUfIIh6cE0zZ8mzKaDPA==", 4640 - "license": "Apache-2.0", 4579 + "version": "4.2.10", 4580 + "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-4.2.10.tgz", 4581 + "integrity": "sha512-4Mh18J26+ao1oX5wXJfWlTT+Q1OpDR8ssiC9PDOuEgVBGloqg18Fw7h5Ct8DyT9NBYwJgtJ2nLjKKFU6RP1G1Q==", 4641 4582 "dependencies": { 4642 - "@smithy/types": "^4.12.0", 4583 + "@smithy/types": "^4.13.0", 4643 4584 "tslib": "^2.6.2" 4644 4585 }, 4645 4586 "engines": { ··· 4647 4588 } 4648 4589 }, 4649 4590 "node_modules/@smithy/service-error-classification": { 4650 - "version": "4.2.8", 4651 - "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-4.2.8.tgz", 4652 - "integrity": "sha512-mZ5xddodpJhEt3RkCjbmUQuXUOaPNTkbMGR0bcS8FE0bJDLMZlhmpgrvPNCYglVw5rsYTpSnv19womw9WWXKQQ==", 4653 - "license": "Apache-2.0", 4591 + "version": "4.2.10", 4592 + "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-4.2.10.tgz", 4593 + "integrity": "sha512-0R/+/Il5y8nB/By90o8hy/bWVYptbIfvoTYad0igYQO5RefhNCDmNzqxaMx7K1t/QWo0d6UynqpqN5cCQt1MCg==", 4654 4594 "dependencies": { 4655 - "@smithy/types": "^4.12.0" 4595 + "@smithy/types": "^4.13.0" 4656 4596 }, 4657 4597 "engines": { 4658 4598 "node": ">=18.0.0" 4659 4599 } 4660 4600 }, 4661 4601 "node_modules/@smithy/shared-ini-file-loader": { 4662 - "version": "4.4.3", 4663 - "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-4.4.3.tgz", 4664 - "integrity": "sha512-DfQjxXQnzC5UbCUPeC3Ie8u+rIWZTvuDPAGU/BxzrOGhRvgUanaP68kDZA+jaT3ZI+djOf+4dERGlm9mWfFDrg==", 4665 - "license": "Apache-2.0", 4602 + "version": "4.4.5", 4603 + "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-4.4.5.tgz", 4604 + "integrity": "sha512-pHgASxl50rrtOztgQCPmOXFjRW+mCd7ALr/3uXNzRrRoGV5G2+78GOsQ3HlQuBVHCh9o6xqMNvlIKZjWn4Euug==", 4666 4605 "dependencies": { 4667 - "@smithy/types": "^4.12.0", 4606 + "@smithy/types": "^4.13.0", 4668 4607 "tslib": "^2.6.2" 4669 4608 }, 4670 4609 "engines": { ··· 4672 4611 } 4673 4612 }, 4674 4613 "node_modules/@smithy/signature-v4": { 4675 - "version": "5.3.8", 4676 - "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-5.3.8.tgz", 4677 - "integrity": "sha512-6A4vdGj7qKNRF16UIcO8HhHjKW27thsxYci+5r/uVRkdcBEkOEiY8OMPuydLX4QHSrJqGHPJzPRwwVTqbLZJhg==", 4678 - "license": "Apache-2.0", 4614 + "version": "5.3.10", 4615 + "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-5.3.10.tgz", 4616 + "integrity": "sha512-Wab3wW8468WqTKIxI+aZe3JYO52/RYT/8sDOdzkUhjnLakLe9qoQqIcfih/qxcF4qWEFoWBszY0mj5uxffaVXA==", 4679 4617 "dependencies": { 4680 - "@smithy/is-array-buffer": "^4.2.0", 4681 - "@smithy/protocol-http": "^5.3.8", 4682 - "@smithy/types": "^4.12.0", 4683 - "@smithy/util-hex-encoding": "^4.2.0", 4684 - "@smithy/util-middleware": "^4.2.8", 4685 - "@smithy/util-uri-escape": "^4.2.0", 4686 - "@smithy/util-utf8": "^4.2.0", 4618 + "@smithy/is-array-buffer": "^4.2.1", 4619 + "@smithy/protocol-http": "^5.3.10", 4620 + "@smithy/types": "^4.13.0", 4621 + "@smithy/util-hex-encoding": "^4.2.1", 4622 + "@smithy/util-middleware": "^4.2.10", 4623 + "@smithy/util-uri-escape": "^4.2.1", 4624 + "@smithy/util-utf8": "^4.2.1", 4687 4625 "tslib": "^2.6.2" 4688 4626 }, 4689 4627 "engines": { ··· 4691 4629 } 4692 4630 }, 4693 4631 "node_modules/@smithy/signature-v4/node_modules/@smithy/is-array-buffer": { 4694 - "version": "4.2.0", 4695 - "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-4.2.0.tgz", 4696 - "integrity": "sha512-DZZZBvC7sjcYh4MazJSGiWMI2L7E0oCiRHREDzIxi/M2LY79/21iXt6aPLHge82wi5LsuRF5A06Ds3+0mlh6CQ==", 4697 - "license": "Apache-2.0", 4632 + "version": "4.2.1", 4633 + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-4.2.1.tgz", 4634 + "integrity": "sha512-Yfu664Qbf1B4IYIsYgKoABt010daZjkaCRvdU/sPnZG6TtHOB0md0RjNdLGzxe5UIdn9js4ftPICzmkRa9RJ4Q==", 4698 4635 "dependencies": { 4699 4636 "tslib": "^2.6.2" 4700 4637 }, ··· 4703 4640 } 4704 4641 }, 4705 4642 "node_modules/@smithy/signature-v4/node_modules/@smithy/util-buffer-from": { 4706 - "version": "4.2.0", 4707 - "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-4.2.0.tgz", 4708 - "integrity": "sha512-kAY9hTKulTNevM2nlRtxAG2FQ3B2OR6QIrPY3zE5LqJy1oxzmgBGsHLWTcNhWXKchgA0WHW+mZkQrng/pgcCew==", 4709 - "license": "Apache-2.0", 4643 + "version": "4.2.1", 4644 + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-4.2.1.tgz", 4645 + "integrity": "sha512-/swhmt1qTiVkaejlmMPPDgZhEaWb/HWMGRBheaxwuVkusp/z+ErJyQxO6kaXumOciZSWlmq6Z5mNylCd33X7Ig==", 4710 4646 "dependencies": { 4711 - "@smithy/is-array-buffer": "^4.2.0", 4647 + "@smithy/is-array-buffer": "^4.2.1", 4712 4648 "tslib": "^2.6.2" 4713 4649 }, 4714 4650 "engines": { ··· 4716 4652 } 4717 4653 }, 4718 4654 "node_modules/@smithy/signature-v4/node_modules/@smithy/util-utf8": { 4719 - "version": "4.2.0", 4720 - "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-4.2.0.tgz", 4721 - "integrity": "sha512-zBPfuzoI8xyBtR2P6WQj63Rz8i3AmfAaJLuNG8dWsfvPe8lO4aCPYLn879mEgHndZH1zQ2oXmG8O1GGzzaoZiw==", 4722 - "license": "Apache-2.0", 4655 + "version": "4.2.1", 4656 + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-4.2.1.tgz", 4657 + "integrity": "sha512-DSIwNaWtmzrNQHv8g7DBGR9mulSit65KSj5ymGEIAknmIN8IpbZefEep10LaMG/P/xquwbmJ1h9ectz8z6mV6g==", 4723 4658 "dependencies": { 4724 - "@smithy/util-buffer-from": "^4.2.0", 4659 + "@smithy/util-buffer-from": "^4.2.1", 4725 4660 "tslib": "^2.6.2" 4726 4661 }, 4727 4662 "engines": { ··· 4729 4664 } 4730 4665 }, 4731 4666 "node_modules/@smithy/smithy-client": { 4732 - "version": "4.11.2", 4733 - "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-4.11.2.tgz", 4734 - "integrity": "sha512-SCkGmFak/xC1n7hKRsUr6wOnBTJ3L22Qd4e8H1fQIuKTAjntwgU8lrdMe7uHdiT2mJAOWA/60qaW9tiMu69n1A==", 4735 - "license": "Apache-2.0", 4667 + "version": "4.12.0", 4668 + "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-4.12.0.tgz", 4669 + "integrity": "sha512-R8bQ9K3lCcXyZmBnQqUZJF4ChZmtWT5NLi6x5kgWx5D+/j0KorXcA0YcFg/X5TOgnTCy1tbKc6z2g2y4amFupQ==", 4736 4670 "dependencies": { 4737 - "@smithy/core": "^3.22.1", 4738 - "@smithy/middleware-endpoint": "^4.4.13", 4739 - "@smithy/middleware-stack": "^4.2.8", 4740 - "@smithy/protocol-http": "^5.3.8", 4741 - "@smithy/types": "^4.12.0", 4742 - "@smithy/util-stream": "^4.5.11", 4671 + "@smithy/core": "^3.23.6", 4672 + "@smithy/middleware-endpoint": "^4.4.20", 4673 + "@smithy/middleware-stack": "^4.2.10", 4674 + "@smithy/protocol-http": "^5.3.10", 4675 + "@smithy/types": "^4.13.0", 4676 + "@smithy/util-stream": "^4.5.15", 4743 4677 "tslib": "^2.6.2" 4744 4678 }, 4745 4679 "engines": { ··· 4747 4681 } 4748 4682 }, 4749 4683 "node_modules/@smithy/types": { 4750 - "version": "4.12.0", 4751 - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-4.12.0.tgz", 4752 - "integrity": "sha512-9YcuJVTOBDjg9LWo23Qp0lTQ3D7fQsQtwle0jVfpbUHy9qBwCEgKuVH4FqFB3VYu0nwdHKiEMA+oXz7oV8X1kw==", 4753 - "license": "Apache-2.0", 4684 + "version": "4.13.0", 4685 + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-4.13.0.tgz", 4686 + "integrity": "sha512-COuLsZILbbQsdrwKQpkkpyep7lCsByxwj7m0Mg5v66/ZTyenlfBc40/QFQ5chO0YN/PNEH1Bi3fGtfXPnYNeDw==", 4754 4687 "dependencies": { 4755 4688 "tslib": "^2.6.2" 4756 4689 }, ··· 4759 4692 } 4760 4693 }, 4761 4694 "node_modules/@smithy/url-parser": { 4762 - "version": "4.2.8", 4763 - "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-4.2.8.tgz", 4764 - "integrity": "sha512-NQho9U68TGMEU639YkXnVMV3GEFFULmmaWdlu1E9qzyIePOHsoSnagTGSDv1Zi8DCNN6btxOSdgmy5E/hsZwhA==", 4765 - "license": "Apache-2.0", 4695 + "version": "4.2.10", 4696 + "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-4.2.10.tgz", 4697 + "integrity": "sha512-uypjF7fCDsRk26u3qHmFI/ePL7bxxB9vKkE+2WKEciHhz+4QtbzWiHRVNRJwU3cKhrYDYQE3b0MRFtqfLYdA4A==", 4766 4698 "dependencies": { 4767 - "@smithy/querystring-parser": "^4.2.8", 4768 - "@smithy/types": "^4.12.0", 4699 + "@smithy/querystring-parser": "^4.2.10", 4700 + "@smithy/types": "^4.13.0", 4769 4701 "tslib": "^2.6.2" 4770 4702 }, 4771 4703 "engines": { ··· 4773 4705 } 4774 4706 }, 4775 4707 "node_modules/@smithy/util-base64": { 4776 - "version": "4.3.0", 4777 - "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-4.3.0.tgz", 4778 - "integrity": "sha512-GkXZ59JfyxsIwNTWFnjmFEI8kZpRNIBfxKjv09+nkAWPt/4aGaEWMM04m4sxgNVWkbt2MdSvE3KF/PfX4nFedQ==", 4779 - "license": "Apache-2.0", 4708 + "version": "4.3.1", 4709 + "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-4.3.1.tgz", 4710 + "integrity": "sha512-BKGuawX4Doq/bI/uEmg+Zyc36rJKWuin3py89PquXBIBqmbnJwBBsmKhdHfNEp0+A4TDgLmT/3MSKZ1SxHcR6w==", 4780 4711 "dependencies": { 4781 - "@smithy/util-buffer-from": "^4.2.0", 4782 - "@smithy/util-utf8": "^4.2.0", 4712 + "@smithy/util-buffer-from": "^4.2.1", 4713 + "@smithy/util-utf8": "^4.2.1", 4783 4714 "tslib": "^2.6.2" 4784 4715 }, 4785 4716 "engines": { ··· 4787 4718 } 4788 4719 }, 4789 4720 "node_modules/@smithy/util-base64/node_modules/@smithy/is-array-buffer": { 4790 - "version": "4.2.0", 4791 - "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-4.2.0.tgz", 4792 - "integrity": "sha512-DZZZBvC7sjcYh4MazJSGiWMI2L7E0oCiRHREDzIxi/M2LY79/21iXt6aPLHge82wi5LsuRF5A06Ds3+0mlh6CQ==", 4793 - "license": "Apache-2.0", 4721 + "version": "4.2.1", 4722 + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-4.2.1.tgz", 4723 + "integrity": "sha512-Yfu664Qbf1B4IYIsYgKoABt010daZjkaCRvdU/sPnZG6TtHOB0md0RjNdLGzxe5UIdn9js4ftPICzmkRa9RJ4Q==", 4794 4724 "dependencies": { 4795 4725 "tslib": "^2.6.2" 4796 4726 }, ··· 4799 4729 } 4800 4730 }, 4801 4731 "node_modules/@smithy/util-base64/node_modules/@smithy/util-buffer-from": { 4802 - "version": "4.2.0", 4803 - "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-4.2.0.tgz", 4804 - "integrity": "sha512-kAY9hTKulTNevM2nlRtxAG2FQ3B2OR6QIrPY3zE5LqJy1oxzmgBGsHLWTcNhWXKchgA0WHW+mZkQrng/pgcCew==", 4805 - "license": "Apache-2.0", 4732 + "version": "4.2.1", 4733 + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-4.2.1.tgz", 4734 + "integrity": "sha512-/swhmt1qTiVkaejlmMPPDgZhEaWb/HWMGRBheaxwuVkusp/z+ErJyQxO6kaXumOciZSWlmq6Z5mNylCd33X7Ig==", 4806 4735 "dependencies": { 4807 - "@smithy/is-array-buffer": "^4.2.0", 4736 + "@smithy/is-array-buffer": "^4.2.1", 4808 4737 "tslib": "^2.6.2" 4809 4738 }, 4810 4739 "engines": { ··· 4812 4741 } 4813 4742 }, 4814 4743 "node_modules/@smithy/util-base64/node_modules/@smithy/util-utf8": { 4815 - "version": "4.2.0", 4816 - "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-4.2.0.tgz", 4817 - "integrity": "sha512-zBPfuzoI8xyBtR2P6WQj63Rz8i3AmfAaJLuNG8dWsfvPe8lO4aCPYLn879mEgHndZH1zQ2oXmG8O1GGzzaoZiw==", 4818 - "license": "Apache-2.0", 4744 + "version": "4.2.1", 4745 + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-4.2.1.tgz", 4746 + "integrity": "sha512-DSIwNaWtmzrNQHv8g7DBGR9mulSit65KSj5ymGEIAknmIN8IpbZefEep10LaMG/P/xquwbmJ1h9ectz8z6mV6g==", 4819 4747 "dependencies": { 4820 - "@smithy/util-buffer-from": "^4.2.0", 4748 + "@smithy/util-buffer-from": "^4.2.1", 4821 4749 "tslib": "^2.6.2" 4822 4750 }, 4823 4751 "engines": { ··· 4825 4753 } 4826 4754 }, 4827 4755 "node_modules/@smithy/util-body-length-browser": { 4828 - "version": "4.2.0", 4829 - "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-4.2.0.tgz", 4830 - "integrity": "sha512-Fkoh/I76szMKJnBXWPdFkQJl2r9SjPt3cMzLdOB6eJ4Pnpas8hVoWPYemX/peO0yrrvldgCUVJqOAjUrOLjbxg==", 4831 - "license": "Apache-2.0", 4756 + "version": "4.2.1", 4757 + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-4.2.1.tgz", 4758 + "integrity": "sha512-SiJeLiozrAoCrgDBUgsVbmqHmMgg/2bA15AzcbcW+zan7SuyAVHN4xTSbq0GlebAIwlcaX32xacnrG488/J/6g==", 4832 4759 "dependencies": { 4833 4760 "tslib": "^2.6.2" 4834 4761 }, ··· 4837 4764 } 4838 4765 }, 4839 4766 "node_modules/@smithy/util-body-length-node": { 4840 - "version": "4.2.1", 4841 - "resolved": "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-4.2.1.tgz", 4842 - "integrity": "sha512-h53dz/pISVrVrfxV1iqXlx5pRg3V2YWFcSQyPyXZRrZoZj4R4DeWRDo1a7dd3CPTcFi3kE+98tuNyD2axyZReA==", 4843 - "license": "Apache-2.0", 4767 + "version": "4.2.2", 4768 + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-4.2.2.tgz", 4769 + "integrity": "sha512-4rHqBvxtJEBvsZcFQSPQqXP2b/yy/YlB66KlcEgcH2WNoOKCKB03DSLzXmOsXjbl8dJ4OEYTn31knhdznwk7zw==", 4844 4770 "dependencies": { 4845 4771 "tslib": "^2.6.2" 4846 4772 }, ··· 4861 4787 } 4862 4788 }, 4863 4789 "node_modules/@smithy/util-config-provider": { 4864 - "version": "4.2.0", 4865 - "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-4.2.0.tgz", 4866 - "integrity": "sha512-YEjpl6XJ36FTKmD+kRJJWYvrHeUvm5ykaUS5xK+6oXffQPHeEM4/nXlZPe+Wu0lsgRUcNZiliYNh/y7q9c2y6Q==", 4867 - "license": "Apache-2.0", 4790 + "version": "4.2.1", 4791 + "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-4.2.1.tgz", 4792 + "integrity": "sha512-462id/00U8JWFw6qBuTSWfN5TxOHvDu4WliI97qOIOnuC/g+NDAknTU8eoGXEPlLkRVgWEr03jJBLV4o2FL8+A==", 4868 4793 "dependencies": { 4869 4794 "tslib": "^2.6.2" 4870 4795 }, ··· 4873 4798 } 4874 4799 }, 4875 4800 "node_modules/@smithy/util-defaults-mode-browser": { 4876 - "version": "4.3.29", 4877 - "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-4.3.29.tgz", 4878 - "integrity": "sha512-nIGy3DNRmOjaYaaKcQDzmWsro9uxlaqUOhZDHQed9MW/GmkBZPtnU70Pu1+GT9IBmUXwRdDuiyaeiy9Xtpn3+Q==", 4879 - "license": "Apache-2.0", 4801 + "version": "4.3.36", 4802 + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-4.3.36.tgz", 4803 + "integrity": "sha512-R0smq7EHQXRVMxkAxtH5akJ/FvgAmNF6bUy/GwY/N20T4GrwjT633NFm0VuRpC+8Bbv8R9A0DoJ9OiZL/M3xew==", 4880 4804 "dependencies": { 4881 - "@smithy/property-provider": "^4.2.8", 4882 - "@smithy/smithy-client": "^4.11.2", 4883 - "@smithy/types": "^4.12.0", 4805 + "@smithy/property-provider": "^4.2.10", 4806 + "@smithy/smithy-client": "^4.12.0", 4807 + "@smithy/types": "^4.13.0", 4884 4808 "tslib": "^2.6.2" 4885 4809 }, 4886 4810 "engines": { ··· 4888 4812 } 4889 4813 }, 4890 4814 "node_modules/@smithy/util-defaults-mode-node": { 4891 - "version": "4.2.32", 4892 - "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-4.2.32.tgz", 4893 - "integrity": "sha512-7dtFff6pu5fsjqrVve0YMhrnzJtccCWDacNKOkiZjJ++fmjGExmmSu341x+WU6Oc1IccL7lDuaUj7SfrHpWc5Q==", 4894 - "license": "Apache-2.0", 4815 + "version": "4.2.39", 4816 + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-4.2.39.tgz", 4817 + "integrity": "sha512-otWuoDm35btJV1L8MyHrPl462B07QCdMTktKc7/yM+Psv6KbED/ziXiHnmr7yPHUjfIwE9S8Max0LO24Mo3ZVg==", 4895 4818 "dependencies": { 4896 - "@smithy/config-resolver": "^4.4.6", 4897 - "@smithy/credential-provider-imds": "^4.2.8", 4898 - "@smithy/node-config-provider": "^4.3.8", 4899 - "@smithy/property-provider": "^4.2.8", 4900 - "@smithy/smithy-client": "^4.11.2", 4901 - "@smithy/types": "^4.12.0", 4819 + "@smithy/config-resolver": "^4.4.9", 4820 + "@smithy/credential-provider-imds": "^4.2.10", 4821 + "@smithy/node-config-provider": "^4.3.10", 4822 + "@smithy/property-provider": "^4.2.10", 4823 + "@smithy/smithy-client": "^4.12.0", 4824 + "@smithy/types": "^4.13.0", 4902 4825 "tslib": "^2.6.2" 4903 4826 }, 4904 4827 "engines": { ··· 4906 4829 } 4907 4830 }, 4908 4831 "node_modules/@smithy/util-endpoints": { 4909 - "version": "3.2.8", 4910 - "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-3.2.8.tgz", 4911 - "integrity": "sha512-8JaVTn3pBDkhZgHQ8R0epwWt+BqPSLCjdjXXusK1onwJlRuN69fbvSK66aIKKO7SwVFM6x2J2ox5X8pOaWcUEw==", 4912 - "license": "Apache-2.0", 4832 + "version": "3.3.1", 4833 + "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-3.3.1.tgz", 4834 + "integrity": "sha512-xyctc4klmjmieQiF9I1wssBWleRV0RhJ2DpO8+8yzi2LO1Z+4IWOZNGZGNj4+hq9kdo+nyfrRLmQTzc16Op2Vg==", 4913 4835 "dependencies": { 4914 - "@smithy/node-config-provider": "^4.3.8", 4915 - "@smithy/types": "^4.12.0", 4836 + "@smithy/node-config-provider": "^4.3.10", 4837 + "@smithy/types": "^4.13.0", 4916 4838 "tslib": "^2.6.2" 4917 4839 }, 4918 4840 "engines": { ··· 4920 4842 } 4921 4843 }, 4922 4844 "node_modules/@smithy/util-hex-encoding": { 4923 - "version": "4.2.0", 4924 - "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-4.2.0.tgz", 4925 - "integrity": "sha512-CCQBwJIvXMLKxVbO88IukazJD9a4kQ9ZN7/UMGBjBcJYvatpWk+9g870El4cB8/EJxfe+k+y0GmR9CAzkF+Nbw==", 4926 - "license": "Apache-2.0", 4845 + "version": "4.2.1", 4846 + "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-4.2.1.tgz", 4847 + "integrity": "sha512-c1hHtkgAWmE35/50gmdKajgGAKV3ePJ7t6UtEmpfCWJmQE9BQAQPz0URUVI89eSkcDqCtzqllxzG28IQoZPvwA==", 4927 4848 "dependencies": { 4928 4849 "tslib": "^2.6.2" 4929 4850 }, ··· 4932 4853 } 4933 4854 }, 4934 4855 "node_modules/@smithy/util-middleware": { 4935 - "version": "4.2.8", 4936 - "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-4.2.8.tgz", 4937 - "integrity": "sha512-PMqfeJxLcNPMDgvPbbLl/2Vpin+luxqTGPpW3NAQVLbRrFRzTa4rNAASYeIGjRV9Ytuhzny39SpyU04EQreF+A==", 4938 - "license": "Apache-2.0", 4856 + "version": "4.2.10", 4857 + "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-4.2.10.tgz", 4858 + "integrity": "sha512-LxaQIWLp4y0r72eA8mwPNQ9va4h5KeLM0I3M/HV9klmFaY2kN766wf5vsTzmaOpNNb7GgXAd9a25P3h8T49PSA==", 4939 4859 "dependencies": { 4940 - "@smithy/types": "^4.12.0", 4860 + "@smithy/types": "^4.13.0", 4941 4861 "tslib": "^2.6.2" 4942 4862 }, 4943 4863 "engines": { ··· 4945 4865 } 4946 4866 }, 4947 4867 "node_modules/@smithy/util-retry": { 4948 - "version": "4.2.8", 4949 - "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-4.2.8.tgz", 4950 - "integrity": "sha512-CfJqwvoRY0kTGe5AkQokpURNCT1u/MkRzMTASWMPPo2hNSnKtF1D45dQl3DE2LKLr4m+PW9mCeBMJr5mCAVThg==", 4951 - "license": "Apache-2.0", 4868 + "version": "4.2.10", 4869 + "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-4.2.10.tgz", 4870 + "integrity": "sha512-HrBzistfpyE5uqTwiyLsFHscgnwB0kgv8vySp7q5kZ0Eltn/tjosaSGGDj/jJ9ys7pWzIP/icE2d+7vMKXLv7A==", 4952 4871 "dependencies": { 4953 - "@smithy/service-error-classification": "^4.2.8", 4954 - "@smithy/types": "^4.12.0", 4872 + "@smithy/service-error-classification": "^4.2.10", 4873 + "@smithy/types": "^4.13.0", 4955 4874 "tslib": "^2.6.2" 4956 4875 }, 4957 4876 "engines": { ··· 4959 4878 } 4960 4879 }, 4961 4880 "node_modules/@smithy/util-stream": { 4962 - "version": "4.5.11", 4963 - "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-4.5.11.tgz", 4964 - "integrity": "sha512-lKmZ0S/3Qj2OF5H1+VzvDLb6kRxGzZHq6f3rAsoSu5cTLGsn3v3VQBA8czkNNXlLjoFEtVu3OQT2jEeOtOE2CA==", 4965 - "license": "Apache-2.0", 4881 + "version": "4.5.15", 4882 + "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-4.5.15.tgz", 4883 + "integrity": "sha512-OlOKnaqnkU9X+6wEkd7mN+WB7orPbCVDauXOj22Q7VtiTkvy7ZdSsOg4QiNAZMgI4OkvNf+/VLUC3VXkxuWJZw==", 4966 4884 "dependencies": { 4967 - "@smithy/fetch-http-handler": "^5.3.9", 4968 - "@smithy/node-http-handler": "^4.4.9", 4969 - "@smithy/types": "^4.12.0", 4970 - "@smithy/util-base64": "^4.3.0", 4971 - "@smithy/util-buffer-from": "^4.2.0", 4972 - "@smithy/util-hex-encoding": "^4.2.0", 4973 - "@smithy/util-utf8": "^4.2.0", 4885 + "@smithy/fetch-http-handler": "^5.3.11", 4886 + "@smithy/node-http-handler": "^4.4.12", 4887 + "@smithy/types": "^4.13.0", 4888 + "@smithy/util-base64": "^4.3.1", 4889 + "@smithy/util-buffer-from": "^4.2.1", 4890 + "@smithy/util-hex-encoding": "^4.2.1", 4891 + "@smithy/util-utf8": "^4.2.1", 4974 4892 "tslib": "^2.6.2" 4975 4893 }, 4976 4894 "engines": { ··· 4978 4896 } 4979 4897 }, 4980 4898 "node_modules/@smithy/util-stream/node_modules/@smithy/is-array-buffer": { 4981 - "version": "4.2.0", 4982 - "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-4.2.0.tgz", 4983 - "integrity": "sha512-DZZZBvC7sjcYh4MazJSGiWMI2L7E0oCiRHREDzIxi/M2LY79/21iXt6aPLHge82wi5LsuRF5A06Ds3+0mlh6CQ==", 4984 - "license": "Apache-2.0", 4899 + "version": "4.2.1", 4900 + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-4.2.1.tgz", 4901 + "integrity": "sha512-Yfu664Qbf1B4IYIsYgKoABt010daZjkaCRvdU/sPnZG6TtHOB0md0RjNdLGzxe5UIdn9js4ftPICzmkRa9RJ4Q==", 4985 4902 "dependencies": { 4986 4903 "tslib": "^2.6.2" 4987 4904 }, ··· 4990 4907 } 4991 4908 }, 4992 4909 "node_modules/@smithy/util-stream/node_modules/@smithy/util-buffer-from": { 4993 - "version": "4.2.0", 4994 - "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-4.2.0.tgz", 4995 - "integrity": "sha512-kAY9hTKulTNevM2nlRtxAG2FQ3B2OR6QIrPY3zE5LqJy1oxzmgBGsHLWTcNhWXKchgA0WHW+mZkQrng/pgcCew==", 4996 - "license": "Apache-2.0", 4910 + "version": "4.2.1", 4911 + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-4.2.1.tgz", 4912 + "integrity": "sha512-/swhmt1qTiVkaejlmMPPDgZhEaWb/HWMGRBheaxwuVkusp/z+ErJyQxO6kaXumOciZSWlmq6Z5mNylCd33X7Ig==", 4997 4913 "dependencies": { 4998 - "@smithy/is-array-buffer": "^4.2.0", 4914 + "@smithy/is-array-buffer": "^4.2.1", 4999 4915 "tslib": "^2.6.2" 5000 4916 }, 5001 4917 "engines": { ··· 5003 4919 } 5004 4920 }, 5005 4921 "node_modules/@smithy/util-stream/node_modules/@smithy/util-utf8": { 5006 - "version": "4.2.0", 5007 - "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-4.2.0.tgz", 5008 - "integrity": "sha512-zBPfuzoI8xyBtR2P6WQj63Rz8i3AmfAaJLuNG8dWsfvPe8lO4aCPYLn879mEgHndZH1zQ2oXmG8O1GGzzaoZiw==", 5009 - "license": "Apache-2.0", 4922 + "version": "4.2.1", 4923 + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-4.2.1.tgz", 4924 + "integrity": "sha512-DSIwNaWtmzrNQHv8g7DBGR9mulSit65KSj5ymGEIAknmIN8IpbZefEep10LaMG/P/xquwbmJ1h9ectz8z6mV6g==", 5010 4925 "dependencies": { 5011 - "@smithy/util-buffer-from": "^4.2.0", 4926 + "@smithy/util-buffer-from": "^4.2.1", 5012 4927 "tslib": "^2.6.2" 5013 4928 }, 5014 4929 "engines": { ··· 5016 4931 } 5017 4932 }, 5018 4933 "node_modules/@smithy/util-uri-escape": { 5019 - "version": "4.2.0", 5020 - "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-4.2.0.tgz", 5021 - "integrity": "sha512-igZpCKV9+E/Mzrpq6YacdTQ0qTiLm85gD6N/IrmyDvQFA4UnU3d5g3m8tMT/6zG/vVkWSU+VxeUyGonL62DuxA==", 5022 - "license": "Apache-2.0", 4934 + "version": "4.2.1", 4935 + "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-4.2.1.tgz", 4936 + "integrity": "sha512-YmiUDn2eo2IOiWYYvGQkgX5ZkBSiTQu4FlDo5jNPpAxng2t6Sjb6WutnZV9l6VR4eJul1ABmCrnWBC9hKHQa6Q==", 5023 4937 "dependencies": { 5024 4938 "tslib": "^2.6.2" 5025 4939 }, ··· 5040 4954 } 5041 4955 }, 5042 4956 "node_modules/@smithy/util-waiter": { 5043 - "version": "4.2.8", 5044 - "resolved": "https://registry.npmjs.org/@smithy/util-waiter/-/util-waiter-4.2.8.tgz", 5045 - "integrity": "sha512-n+lahlMWk+aejGuax7DPWtqav8HYnWxQwR+LCG2BgCUmaGcTe9qZCFsmw8TMg9iG75HOwhrJCX9TCJRLH+Yzqg==", 5046 - "license": "Apache-2.0", 4957 + "version": "4.2.10", 4958 + "resolved": "https://registry.npmjs.org/@smithy/util-waiter/-/util-waiter-4.2.10.tgz", 4959 + "integrity": "sha512-4eTWph/Lkg1wZEDAyObwme0kmhEb7J/JjibY2znJdrYRgKbKqB7YoEhhJVJ4R1g/SYih4zuwX7LpJaM8RsnTVg==", 5047 4960 "dependencies": { 5048 - "@smithy/abort-controller": "^4.2.8", 5049 - "@smithy/types": "^4.12.0", 4961 + "@smithy/abort-controller": "^4.2.10", 4962 + "@smithy/types": "^4.13.0", 5050 4963 "tslib": "^2.6.2" 5051 4964 }, 5052 4965 "engines": { ··· 5054 4967 } 5055 4968 }, 5056 4969 "node_modules/@smithy/uuid": { 5057 - "version": "1.1.0", 5058 - "resolved": "https://registry.npmjs.org/@smithy/uuid/-/uuid-1.1.0.tgz", 5059 - "integrity": "sha512-4aUIteuyxtBUhVdiQqcDhKFitwfd9hqoSDYY2KRXiWtgoWJ9Bmise+KfEPDiVHWeJepvF8xJO9/9+WDIciMFFw==", 5060 - "license": "Apache-2.0", 4970 + "version": "1.1.1", 4971 + "resolved": "https://registry.npmjs.org/@smithy/uuid/-/uuid-1.1.1.tgz", 4972 + "integrity": "sha512-dSfDCeihDmZlV2oyr0yWPTUfh07suS+R5OB+FZGiv/hHyK3hrFBW5rR1UYjfa57vBsrP9lciFkRPzebaV1Qujw==", 5061 4973 "dependencies": { 5062 4974 "tslib": "^2.6.2" 5063 4975 },
+1
server/package.json
··· 25 25 "dependencies": { 26 26 "@aws-sdk/client-s3": "^3.58.0", 27 27 "@aws-sdk/client-secrets-manager": "^3.312.0", 28 + "@aws-sdk/client-ses": "^3.1000.0", 28 29 "@clickhouse/client": "^1.13.0", 29 30 "@ethanresnick/bottlejs": "^2.0.4", 30 31 "@google-cloud/translate": "^9.3.0",
+165
server/services/sendEmailService/sendEmailService.test.ts
··· 1 + import { type SESClient, SendEmailCommand } from '@aws-sdk/client-ses'; 2 + 3 + import makeSendEmail, { 4 + CoopEmailAddress, 5 + makeSendEmailViaSendGrid, 6 + type Message, 7 + } from './sendEmailService.js'; 8 + 9 + function makeMockClient() { 10 + const mockSend = jest.fn().mockResolvedValue({ MessageId: 'test-message-id' }); 11 + const mockClient = { send: mockSend } as unknown as SESClient; 12 + return { mockSend, mockClient }; 13 + } 14 + 15 + describe('sendEmailService', () => { 16 + describe('SES backend (default)', () => { 17 + it('should create a function', () => { 18 + const { mockClient } = makeMockClient(); 19 + const sendEmail = makeSendEmail(mockClient); 20 + expect(typeof sendEmail).toBe('function'); 21 + }); 22 + 23 + it('should send email with correct SES parameters', async () => { 24 + const { mockSend, mockClient } = makeMockClient(); 25 + const sendEmail = makeSendEmail(mockClient); 26 + 27 + const msg: Message = { 28 + to: 'recipient@example.com', 29 + from: CoopEmailAddress.NoReply, 30 + subject: 'Test Subject', 31 + html: '<p>Hello</p>', 32 + }; 33 + 34 + await sendEmail(msg); 35 + 36 + expect(mockSend).toHaveBeenCalledTimes(1); 37 + const command = mockSend.mock.calls[0][0]; 38 + expect(command).toBeInstanceOf(SendEmailCommand); 39 + expect(command.input).toEqual({ 40 + Source: CoopEmailAddress.NoReply, 41 + Destination: { 42 + ToAddresses: ['recipient@example.com'], 43 + }, 44 + Message: { 45 + Subject: { Charset: 'UTF-8', Data: 'Test Subject' }, 46 + Body: { 47 + Html: { Charset: 'UTF-8', Data: '<p>Hello</p>' }, 48 + }, 49 + }, 50 + }); 51 + }); 52 + 53 + it('should format Source as "Name <email>" for object from address', async () => { 54 + const { mockSend, mockClient } = makeMockClient(); 55 + const sendEmail = makeSendEmail(mockClient); 56 + 57 + const msg: Message = { 58 + to: 'recipient@example.com', 59 + from: { name: 'Coop', email: CoopEmailAddress.NoReply }, 60 + subject: 'Test Subject', 61 + html: '<p>Hello</p>', 62 + }; 63 + 64 + await sendEmail(msg); 65 + 66 + const command = mockSend.mock.calls[0][0]; 67 + expect(command.input.Source).toBe( 68 + `Coop <${CoopEmailAddress.NoReply}>`, 69 + ); 70 + }); 71 + 72 + it('should use Body.Text instead of Body.Html for text content', async () => { 73 + const { mockSend, mockClient } = makeMockClient(); 74 + const sendEmail = makeSendEmail(mockClient); 75 + 76 + const msg: Message = { 77 + to: 'recipient@example.com', 78 + from: CoopEmailAddress.NoReply, 79 + subject: 'Test Subject', 80 + text: 'Hello plain text', 81 + }; 82 + 83 + await sendEmail(msg); 84 + 85 + const command = mockSend.mock.calls[0][0]; 86 + expect(command.input.Message.Body).toEqual({ 87 + Text: { Charset: 'UTF-8', Data: 'Hello plain text' }, 88 + }); 89 + }); 90 + 91 + it('should pass array directly to ToAddresses', async () => { 92 + const { mockSend, mockClient } = makeMockClient(); 93 + const sendEmail = makeSendEmail(mockClient); 94 + 95 + const msg: Message = { 96 + to: ['a@example.com', 'b@example.com'], 97 + from: CoopEmailAddress.NoReply, 98 + subject: 'Test', 99 + text: 'Hello', 100 + }; 101 + 102 + await sendEmail(msg); 103 + 104 + const command = mockSend.mock.calls[0][0]; 105 + expect(command.input.Destination.ToAddresses).toEqual([ 106 + 'a@example.com', 107 + 'b@example.com', 108 + ]); 109 + }); 110 + 111 + it('should not throw when SES returns an error', async () => { 112 + const { mockSend, mockClient } = makeMockClient(); 113 + mockSend.mockRejectedValueOnce(new Error('SES error')); 114 + const sendEmail = makeSendEmail(mockClient); 115 + 116 + const msg: Message = { 117 + to: 'recipient@example.com', 118 + from: CoopEmailAddress.NoReply, 119 + subject: 'Test', 120 + text: 'Hello', 121 + }; 122 + 123 + await expect(sendEmail(msg)).resolves.not.toThrow(); 124 + }); 125 + 126 + it('should log the error when SES fails', async () => { 127 + const consoleSpy = jest 128 + .spyOn(console, 'error') 129 + .mockImplementation(() => {}); 130 + const { mockSend, mockClient } = makeMockClient(); 131 + mockSend.mockRejectedValueOnce(new Error('MessageRejected')); 132 + const sendEmail = makeSendEmail(mockClient); 133 + 134 + const msg: Message = { 135 + to: 'recipient@example.com', 136 + from: CoopEmailAddress.NoReply, 137 + subject: 'Test', 138 + text: 'Hello', 139 + }; 140 + 141 + await sendEmail(msg); 142 + 143 + expect(consoleSpy).toHaveBeenCalledWith( 144 + 'Failed to send email:', 145 + 'MessageRejected', 146 + ); 147 + consoleSpy.mockRestore(); 148 + }); 149 + }); 150 + 151 + describe('SendGrid backend', () => { 152 + it('should create a function when given an API key', () => { 153 + const sendEmail = makeSendEmailViaSendGrid('SG.test-key'); 154 + expect(typeof sendEmail).toBe('function'); 155 + }); 156 + }); 157 + 158 + describe('CoopEmailAddress defaults', () => { 159 + it('should have default email addresses', () => { 160 + expect(CoopEmailAddress.NoReply).toBeDefined(); 161 + expect(CoopEmailAddress.Support).toBeDefined(); 162 + expect(CoopEmailAddress.Team).toBeDefined(); 163 + }); 164 + }); 165 + });
+66 -18
server/services/sendEmailService/sendEmailService.ts
··· 1 - import sgMail, { type MailDataRequired } from '@sendgrid/mail'; 1 + import { SendEmailCommand, SESClient } from '@aws-sdk/client-ses'; 2 + import sgMail from '@sendgrid/mail'; 2 3 3 4 export const CoopEmailAddress = { 4 5 NoReply: process.env.NOREPLY_EMAIL ?? 'noreply@example.com', ··· 9 10 export type CoopEmailAddress = 10 11 (typeof CoopEmailAddress)[keyof typeof CoopEmailAddress]; 11 12 12 - type Content = { text: string } | { html: string } | { templateId: string }; 13 + type Content = 14 + | { text: string; html?: string } 15 + | { html: string; text?: string }; 16 + 17 + export type Message = Content & { 18 + to: string | string[]; 19 + from: CoopEmailAddress | { name: string; email: CoopEmailAddress }; 20 + subject: string; 21 + }; 13 22 14 - export type Message = Omit<MailDataRequired, 'from' | 'content'> & 15 - Content & { 16 - from: CoopEmailAddress | { name: string; email: CoopEmailAddress }; 23 + const isSESClient = (x: unknown): x is SESClient => 24 + x != null && typeof (x as SESClient).send === 'function'; 25 + 26 + export function makeSendEmailViaSES(client: SESClient) { 27 + return async (msg: Message) => { 28 + const source = 29 + typeof msg.from === 'string' 30 + ? msg.from 31 + : `${msg.from.name} <${msg.from.email}>`; 32 + 33 + const toAddresses = Array.isArray(msg.to) ? msg.to : [msg.to]; 34 + 35 + const body: Record<string, { Charset: string; Data: string }> = {}; 36 + if ('html' in msg && msg.html) { 37 + body.Html = { Charset: 'UTF-8', Data: msg.html }; 38 + } 39 + if ('text' in msg && msg.text) { 40 + body.Text = { Charset: 'UTF-8', Data: msg.text }; 41 + } 42 + 43 + const command = new SendEmailCommand({ 44 + Source: source, 45 + Destination: { 46 + ToAddresses: toAddresses, 47 + }, 48 + Message: { 49 + Subject: { Charset: 'UTF-8', Data: msg.subject }, 50 + Body: body, 51 + }, 52 + }); 53 + 54 + try { 55 + await client.send(command); 56 + } catch (error) { 57 + if (error instanceof Error) { 58 + // eslint-disable-next-line no-console 59 + console.error('Failed to send email:', error.message); 60 + } 61 + } 17 62 }; 63 + } 18 64 19 - const makeSendEmail = () => { 20 - const apiKey = process.env.SENDGRID_API_KEY; 21 - if (!apiKey) { 22 - // Return a no-op function if SendGrid is not configured 23 - return async (_: Message) => { 24 - // eslint-disable-next-line no-console 25 - console.warn('SendGrid API key not configured, skipping email sending'); 26 - }; 27 - } 65 + export function makeSendEmailViaSendGrid(apiKey: string) { 28 66 sgMail.setApiKey(apiKey); 29 - return async (it: Message) => { 67 + return async (msg: Message) => { 30 68 try { 31 - await sgMail.send(it); 69 + await sgMail.send(msg); 32 70 } catch (error) { 33 - // Log the error but don't throw - email failures shouldn't break the application 34 - // This handles cases like invalid API keys, network errors, etc. 35 71 if (error instanceof Error) { 36 72 // eslint-disable-next-line no-console 37 73 console.error('Failed to send email:', error.message); 38 74 } 39 75 } 40 76 }; 77 + } 78 + 79 + const makeSendEmail = (clientOrContainer?: SESClient | unknown) => { 80 + const sendGridApiKey = process.env.SENDGRID_API_KEY; 81 + if (sendGridApiKey) { 82 + return makeSendEmailViaSendGrid(sendGridApiKey); 83 + } 84 + 85 + const sesClient = isSESClient(clientOrContainer) 86 + ? clientOrContainer 87 + : new SESClient({}); 88 + return makeSendEmailViaSES(sesClient); 41 89 }; 42 90 43 91 export default makeSendEmail;