diff --git a/.github/workflows/audit_package_v3.0.1.yml b/.github/workflows/audit_package_v3.0.1.yml new file mode 100644 index 0000000..36ea20b --- /dev/null +++ b/.github/workflows/audit_package_v3.0.1.yml @@ -0,0 +1,34 @@ +name: NPM Audit Fix Run + +on: + workflow_dispatch: + inputs: + force: + description: "Use --force flag for npm audit fix?" + required: true + type: boolean + base_branch: + description: "Specify a base branch" + required: false + default: "main" + node_version: + description: "Node.js version to use" + required: false + default: "24" + + schedule: + - cron: "0 0 * * 1" + +jobs: + audit-fix: + uses: step-security/reusable-workflows/.github/workflows/audit_fix.yml@v1 + with: + force: ${{ inputs.force || false }} + base_branch: ${{ inputs.base_branch || 'main' }} + node_version: ${{ inputs.node_version || '24' }} + +permissions: + contents: write + pull-requests: write + packages: read + issues: write diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 8d8ef91..148f44b 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -13,19 +13,13 @@ jobs: runs-on: ubuntu-latest steps: - - name: Harden the runner (Audit all outbound calls) - uses: step-security/harden-runner@v2 - with: - egress-policy: audit - - name: Checkout tree - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + uses: actions/checkout@v7 - - name: Set-up Node - uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7.1.0 + - name: Set-up Node.js LTS + uses: actions/setup-node@v7 with: - node-version: 24 - cache: npm + node-version: lts/* - run: npm ci @@ -52,13 +46,8 @@ jobs: runs-on: ubuntu-latest steps: - - name: Harden the runner (Audit all outbound calls) - uses: step-security/harden-runner@v2 - with: - egress-policy: audit - - name: Checkout tree - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + uses: actions/checkout@v7 - name: Use latest Packer uses: ./ diff --git a/.gitignore b/.gitignore index 857c115..f73a4e9 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,8 @@ +/.yarn/* +!/.yarn/patches +!/.yarn/plugins +!/.yarn/releases +!/.yarn/sdks +!/.yarn/versions + /node_modules/ -.idea diff --git a/.yarnrc.yml b/.yarnrc.yml new file mode 100644 index 0000000..3186f3f --- /dev/null +++ b/.yarnrc.yml @@ -0,0 +1 @@ +nodeLinker: node-modules diff --git a/README.md b/README.md index b866353..93bc8d6 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,8 @@ # setup-packer +[![Builds, tests & co](https://github.com/step-security/setup-packer/actions/workflows/main.yml/badge.svg)](https://github.com/step-security/setup-packer/actions) + Set up and cache the Packer CLI. ## Roadmap @@ -12,7 +14,7 @@ that only work on one operating system or manipulate the Packer CLI itself. ## Usage Currently, the semantic versioning style does not support to specify the version -of the packer itself. If you want to use a version other than the latest one, +of the packer itself. ​If you want to use a version other than the latest one, be sure to specify the exact version. ### Example workflow @@ -30,15 +32,15 @@ jobs: steps: - name: Checkout tree - uses: actions/checkout@v7 + uses: actions/checkout@v4 - name: Use latest Packer - uses: step-security/setup-packer@v4 + uses: step-security/setup-packer@v3 # or - name: Use latest Packer - uses: step-security/setup-packer@v4 + uses: step-security/setup-packer@v3 with: packer-version: 1.6.5 @@ -46,14 +48,14 @@ jobs: run: packer build TEMPLATE ``` -### How to specify the version of the action itself +### ​How to specify the version of the action itself There is a point that is particularly easy to misunderstand. It's where you specify the version of the action _itself_. ```yml - name: Use latest Packer - uses: step-security/setup-packer@v4 + uses: step-security/setup-packer@v3 # ^^^ ``` diff --git a/biome.json b/biome.json index a40724e..6fe4a7c 100644 --- a/biome.json +++ b/biome.json @@ -1,34 +1,27 @@ { - "$schema": "node_modules/@biomejs/biome/configuration_schema.json", - "files": { - "includes": ["**", "!!dist", "!!.claude"] - }, - "vcs": { - "enabled": true, - "clientKind": "git", - "useIgnoreFile": true, - "defaultBranch": "master" - }, - "linter": { - "enabled": true, - "domains": { - "project": "recommended" - }, - "rules": { - "preset": "recommended", - "complexity": { - "useLiteralKeys": "off" - } - } - }, - "formatter": { - "enabled": true, - "useEditorconfig": true - }, - "assist": { - "enabled": true, - "actions": { - "recommended": true - } - } + "$schema": "node_modules/@biomejs/biome/configuration_schema.json", + "files": { + "ignore": ["./dist"] + }, + "formatter": { + "enabled": true, + "indentStyle": "space" + }, + "linter": { + "enabled": true, + "rules": { + "recommended": true, + "complexity": { + "useLiteralKeys": "off" + } + } + }, + "organizeImports": { + "enabled": true + }, + "vcs": { + "clientKind": "git", + "enabled": true, + "useIgnoreFile": true + } } diff --git a/dist/LICENSE.txt b/dist/LICENSE.txt deleted file mode 100644 index a2c5b73..0000000 --- a/dist/LICENSE.txt +++ /dev/null @@ -1,567 +0,0 @@ -@actions/core -MIT -The MIT License (MIT) - -Copyright 2019 GitHub - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -@actions/exec -MIT -The MIT License (MIT) - -Copyright 2019 GitHub - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -@actions/github -MIT -The MIT License (MIT) - -Copyright 2019 GitHub - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -@actions/http-client -MIT -Actions Http Client for Node.js - -Copyright (c) GitHub, Inc. - -All rights reserved. - -MIT License - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and -associated documentation files (the "Software"), to deal in the Software without restriction, -including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, -and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT -LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -@actions/io -MIT -The MIT License (MIT) - -Copyright 2019 GitHub - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -@actions/tool-cache -MIT -The MIT License (MIT) - -Copyright 2019 GitHub - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -@octokit/auth-token -MIT -The MIT License - -Copyright (c) 2019 Octokit contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -@octokit/core -MIT -The MIT License - -Copyright (c) 2019 Octokit contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -@octokit/endpoint -MIT -The MIT License - -Copyright (c) 2018 Octokit contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -@octokit/graphql -MIT -The MIT License - -Copyright (c) 2018 Octokit contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -@octokit/plugin-paginate-rest -MIT -MIT License Copyright (c) 2019 Octokit contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice (including the next paragraph) shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -@octokit/plugin-rest-endpoint-methods -MIT -MIT License Copyright (c) 2019 Octokit contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice (including the next paragraph) shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -@octokit/request -MIT -The MIT License - -Copyright (c) 2018 Octokit contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -@octokit/request-error -MIT -The MIT License - -Copyright (c) 2019 Octokit contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -before-after-hook -Apache-2.0 - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright 2018 Gregor Martynus and other contributors. - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - -fast-content-type-parse -MIT -MIT License - -Copyright (c) 2023 The Fastify Team - -The Fastify team members are listed at https://github.com/fastify/fastify#team -and in the README file. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -semver -ISC -The ISC License - -Copyright (c) Isaac Z. Schlueter and Contributors - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - -tunnel -MIT -The MIT License (MIT) - -Copyright (c) 2012 Koichi Kobayashi - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -undici -MIT -MIT License - -Copyright (c) Matteo Collina and Undici contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -universal-user-agent -ISC -# [ISC License](https://spdx.org/licenses/ISC) - -Copyright (c) 2018-2021, Gregor Martynus (https://github.com/gr2m) - -Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/dist/index.js b/dist/index.js index 8b1ecfa..0ae85ce 100644 --- a/dist/index.js +++ b/dist/index.js @@ -6,11 +6,7 @@ var __getOwnPropNames = Object.getOwnPropertyNames; var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; var __commonJS = (cb, mod) => function __require() { - try { - return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; - } catch (e) { - throw mod = 0, e; - } + return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; }; var __export = (target, all3) => { for (var name in all3) @@ -274,71 +270,71 @@ var require_tunnel2 = __commonJS({ var require_symbols = __commonJS({ "node_modules/undici/lib/core/symbols.js"(exports2, module2) { module2.exports = { - kClose: /* @__PURE__ */ Symbol("close"), - kDestroy: /* @__PURE__ */ Symbol("destroy"), - kDispatch: /* @__PURE__ */ Symbol("dispatch"), - kUrl: /* @__PURE__ */ Symbol("url"), - kWriting: /* @__PURE__ */ Symbol("writing"), - kResuming: /* @__PURE__ */ Symbol("resuming"), - kQueue: /* @__PURE__ */ Symbol("queue"), - kConnect: /* @__PURE__ */ Symbol("connect"), - kConnecting: /* @__PURE__ */ Symbol("connecting"), - kKeepAliveDefaultTimeout: /* @__PURE__ */ Symbol("default keep alive timeout"), - kKeepAliveMaxTimeout: /* @__PURE__ */ Symbol("max keep alive timeout"), - kKeepAliveTimeoutThreshold: /* @__PURE__ */ Symbol("keep alive timeout threshold"), - kKeepAliveTimeoutValue: /* @__PURE__ */ Symbol("keep alive timeout"), - kKeepAlive: /* @__PURE__ */ Symbol("keep alive"), - kHeadersTimeout: /* @__PURE__ */ Symbol("headers timeout"), - kBodyTimeout: /* @__PURE__ */ Symbol("body timeout"), - kServerName: /* @__PURE__ */ Symbol("server name"), - kLocalAddress: /* @__PURE__ */ Symbol("local address"), - kHost: /* @__PURE__ */ Symbol("host"), - kNoRef: /* @__PURE__ */ Symbol("no ref"), - kBodyUsed: /* @__PURE__ */ Symbol("used"), - kBody: /* @__PURE__ */ Symbol("abstracted request body"), - kRunning: /* @__PURE__ */ Symbol("running"), - kBlocking: /* @__PURE__ */ Symbol("blocking"), - kPending: /* @__PURE__ */ Symbol("pending"), - kSize: /* @__PURE__ */ Symbol("size"), - kBusy: /* @__PURE__ */ Symbol("busy"), - kQueued: /* @__PURE__ */ Symbol("queued"), - kFree: /* @__PURE__ */ Symbol("free"), - kConnected: /* @__PURE__ */ Symbol("connected"), - kClosed: /* @__PURE__ */ Symbol("closed"), - kNeedDrain: /* @__PURE__ */ Symbol("need drain"), - kReset: /* @__PURE__ */ Symbol("reset"), - kDestroyed: /* @__PURE__ */ Symbol.for("nodejs.stream.destroyed"), - kResume: /* @__PURE__ */ Symbol("resume"), - kOnError: /* @__PURE__ */ Symbol("on error"), - kMaxHeadersSize: /* @__PURE__ */ Symbol("max headers size"), - kRunningIdx: /* @__PURE__ */ Symbol("running index"), - kPendingIdx: /* @__PURE__ */ Symbol("pending index"), - kError: /* @__PURE__ */ Symbol("error"), - kClients: /* @__PURE__ */ Symbol("clients"), - kClient: /* @__PURE__ */ Symbol("client"), - kParser: /* @__PURE__ */ Symbol("parser"), - kOnDestroyed: /* @__PURE__ */ Symbol("destroy callbacks"), - kPipelining: /* @__PURE__ */ Symbol("pipelining"), - kSocket: /* @__PURE__ */ Symbol("socket"), - kHostHeader: /* @__PURE__ */ Symbol("host header"), - kConnector: /* @__PURE__ */ Symbol("connector"), - kStrictContentLength: /* @__PURE__ */ Symbol("strict content length"), - kMaxRedirections: /* @__PURE__ */ Symbol("maxRedirections"), - kMaxRequests: /* @__PURE__ */ Symbol("maxRequestsPerClient"), - kProxy: /* @__PURE__ */ Symbol("proxy agent options"), - kCounter: /* @__PURE__ */ Symbol("socket request counter"), - kInterceptors: /* @__PURE__ */ Symbol("dispatch interceptors"), - kMaxResponseSize: /* @__PURE__ */ Symbol("max response size"), - kHTTP2Session: /* @__PURE__ */ Symbol("http2Session"), - kHTTP2SessionState: /* @__PURE__ */ Symbol("http2Session state"), - kRetryHandlerDefaultRetry: /* @__PURE__ */ Symbol("retry agent default retry"), - kConstruct: /* @__PURE__ */ Symbol("constructable"), - kListeners: /* @__PURE__ */ Symbol("listeners"), - kHTTPContext: /* @__PURE__ */ Symbol("http context"), - kMaxConcurrentStreams: /* @__PURE__ */ Symbol("max concurrent streams"), - kNoProxyAgent: /* @__PURE__ */ Symbol("no proxy agent"), - kHttpProxyAgent: /* @__PURE__ */ Symbol("http proxy agent"), - kHttpsProxyAgent: /* @__PURE__ */ Symbol("https proxy agent") + kClose: Symbol("close"), + kDestroy: Symbol("destroy"), + kDispatch: Symbol("dispatch"), + kUrl: Symbol("url"), + kWriting: Symbol("writing"), + kResuming: Symbol("resuming"), + kQueue: Symbol("queue"), + kConnect: Symbol("connect"), + kConnecting: Symbol("connecting"), + kKeepAliveDefaultTimeout: Symbol("default keep alive timeout"), + kKeepAliveMaxTimeout: Symbol("max keep alive timeout"), + kKeepAliveTimeoutThreshold: Symbol("keep alive timeout threshold"), + kKeepAliveTimeoutValue: Symbol("keep alive timeout"), + kKeepAlive: Symbol("keep alive"), + kHeadersTimeout: Symbol("headers timeout"), + kBodyTimeout: Symbol("body timeout"), + kServerName: Symbol("server name"), + kLocalAddress: Symbol("local address"), + kHost: Symbol("host"), + kNoRef: Symbol("no ref"), + kBodyUsed: Symbol("used"), + kBody: Symbol("abstracted request body"), + kRunning: Symbol("running"), + kBlocking: Symbol("blocking"), + kPending: Symbol("pending"), + kSize: Symbol("size"), + kBusy: Symbol("busy"), + kQueued: Symbol("queued"), + kFree: Symbol("free"), + kConnected: Symbol("connected"), + kClosed: Symbol("closed"), + kNeedDrain: Symbol("need drain"), + kReset: Symbol("reset"), + kDestroyed: Symbol.for("nodejs.stream.destroyed"), + kResume: Symbol("resume"), + kOnError: Symbol("on error"), + kMaxHeadersSize: Symbol("max headers size"), + kRunningIdx: Symbol("running index"), + kPendingIdx: Symbol("pending index"), + kError: Symbol("error"), + kClients: Symbol("clients"), + kClient: Symbol("client"), + kParser: Symbol("parser"), + kOnDestroyed: Symbol("destroy callbacks"), + kPipelining: Symbol("pipelining"), + kSocket: Symbol("socket"), + kHostHeader: Symbol("host header"), + kConnector: Symbol("connector"), + kStrictContentLength: Symbol("strict content length"), + kMaxRedirections: Symbol("maxRedirections"), + kMaxRequests: Symbol("maxRequestsPerClient"), + kProxy: Symbol("proxy agent options"), + kCounter: Symbol("socket request counter"), + kInterceptors: Symbol("dispatch interceptors"), + kMaxResponseSize: Symbol("max response size"), + kHTTP2Session: Symbol("http2Session"), + kHTTP2SessionState: Symbol("http2Session state"), + kRetryHandlerDefaultRetry: Symbol("retry agent default retry"), + kConstruct: Symbol("constructable"), + kListeners: Symbol("listeners"), + kHTTPContext: Symbol("http context"), + kMaxConcurrentStreams: Symbol("max concurrent streams"), + kNoProxyAgent: Symbol("no proxy agent"), + kHttpProxyAgent: Symbol("http proxy agent"), + kHttpsProxyAgent: Symbol("https proxy agent") }; } }); @@ -347,7 +343,7 @@ var require_symbols = __commonJS({ var require_errors = __commonJS({ "node_modules/undici/lib/core/errors.js"(exports2, module2) { "use strict"; - var kUndiciError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR"); + var kUndiciError = Symbol.for("undici.error.UND_ERR"); var UndiciError = class extends Error { constructor(message) { super(message); @@ -359,7 +355,7 @@ var require_errors = __commonJS({ } [kUndiciError] = true; }; - var kConnectTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_CONNECT_TIMEOUT"); + var kConnectTimeoutError = Symbol.for("undici.error.UND_ERR_CONNECT_TIMEOUT"); var ConnectTimeoutError = class extends UndiciError { constructor(message) { super(message); @@ -372,7 +368,7 @@ var require_errors = __commonJS({ } [kConnectTimeoutError] = true; }; - var kHeadersTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HEADERS_TIMEOUT"); + var kHeadersTimeoutError = Symbol.for("undici.error.UND_ERR_HEADERS_TIMEOUT"); var HeadersTimeoutError = class extends UndiciError { constructor(message) { super(message); @@ -385,7 +381,7 @@ var require_errors = __commonJS({ } [kHeadersTimeoutError] = true; }; - var kHeadersOverflowError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HEADERS_OVERFLOW"); + var kHeadersOverflowError = Symbol.for("undici.error.UND_ERR_HEADERS_OVERFLOW"); var HeadersOverflowError = class extends UndiciError { constructor(message) { super(message); @@ -398,7 +394,7 @@ var require_errors = __commonJS({ } [kHeadersOverflowError] = true; }; - var kBodyTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_BODY_TIMEOUT"); + var kBodyTimeoutError = Symbol.for("undici.error.UND_ERR_BODY_TIMEOUT"); var BodyTimeoutError = class extends UndiciError { constructor(message) { super(message); @@ -411,7 +407,7 @@ var require_errors = __commonJS({ } [kBodyTimeoutError] = true; }; - var kResponseStatusCodeError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RESPONSE_STATUS_CODE"); + var kResponseStatusCodeError = Symbol.for("undici.error.UND_ERR_RESPONSE_STATUS_CODE"); var ResponseStatusCodeError = class extends UndiciError { constructor(message, statusCode, headers, body) { super(message); @@ -428,7 +424,7 @@ var require_errors = __commonJS({ } [kResponseStatusCodeError] = true; }; - var kInvalidArgumentError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INVALID_ARG"); + var kInvalidArgumentError = Symbol.for("undici.error.UND_ERR_INVALID_ARG"); var InvalidArgumentError = class extends UndiciError { constructor(message) { super(message); @@ -441,7 +437,7 @@ var require_errors = __commonJS({ } [kInvalidArgumentError] = true; }; - var kInvalidReturnValueError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INVALID_RETURN_VALUE"); + var kInvalidReturnValueError = Symbol.for("undici.error.UND_ERR_INVALID_RETURN_VALUE"); var InvalidReturnValueError = class extends UndiciError { constructor(message) { super(message); @@ -454,7 +450,7 @@ var require_errors = __commonJS({ } [kInvalidReturnValueError] = true; }; - var kAbortError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_ABORT"); + var kAbortError = Symbol.for("undici.error.UND_ERR_ABORT"); var AbortError = class extends UndiciError { constructor(message) { super(message); @@ -467,7 +463,7 @@ var require_errors = __commonJS({ } [kAbortError] = true; }; - var kRequestAbortedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_ABORTED"); + var kRequestAbortedError = Symbol.for("undici.error.UND_ERR_ABORTED"); var RequestAbortedError = class extends AbortError { constructor(message) { super(message); @@ -480,7 +476,7 @@ var require_errors = __commonJS({ } [kRequestAbortedError] = true; }; - var kInformationalError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INFO"); + var kInformationalError = Symbol.for("undici.error.UND_ERR_INFO"); var InformationalError = class extends UndiciError { constructor(message) { super(message); @@ -493,7 +489,7 @@ var require_errors = __commonJS({ } [kInformationalError] = true; }; - var kRequestContentLengthMismatchError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_REQ_CONTENT_LENGTH_MISMATCH"); + var kRequestContentLengthMismatchError = Symbol.for("undici.error.UND_ERR_REQ_CONTENT_LENGTH_MISMATCH"); var RequestContentLengthMismatchError = class extends UndiciError { constructor(message) { super(message); @@ -506,7 +502,7 @@ var require_errors = __commonJS({ } [kRequestContentLengthMismatchError] = true; }; - var kResponseContentLengthMismatchError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RES_CONTENT_LENGTH_MISMATCH"); + var kResponseContentLengthMismatchError = Symbol.for("undici.error.UND_ERR_RES_CONTENT_LENGTH_MISMATCH"); var ResponseContentLengthMismatchError = class extends UndiciError { constructor(message) { super(message); @@ -519,7 +515,7 @@ var require_errors = __commonJS({ } [kResponseContentLengthMismatchError] = true; }; - var kClientDestroyedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_DESTROYED"); + var kClientDestroyedError = Symbol.for("undici.error.UND_ERR_DESTROYED"); var ClientDestroyedError = class extends UndiciError { constructor(message) { super(message); @@ -532,7 +528,7 @@ var require_errors = __commonJS({ } [kClientDestroyedError] = true; }; - var kClientClosedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_CLOSED"); + var kClientClosedError = Symbol.for("undici.error.UND_ERR_CLOSED"); var ClientClosedError = class extends UndiciError { constructor(message) { super(message); @@ -545,7 +541,7 @@ var require_errors = __commonJS({ } [kClientClosedError] = true; }; - var kSocketError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_SOCKET"); + var kSocketError = Symbol.for("undici.error.UND_ERR_SOCKET"); var SocketError = class extends UndiciError { constructor(message, socket) { super(message); @@ -559,7 +555,7 @@ var require_errors = __commonJS({ } [kSocketError] = true; }; - var kNotSupportedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_NOT_SUPPORTED"); + var kNotSupportedError = Symbol.for("undici.error.UND_ERR_NOT_SUPPORTED"); var NotSupportedError = class extends UndiciError { constructor(message) { super(message); @@ -572,7 +568,7 @@ var require_errors = __commonJS({ } [kNotSupportedError] = true; }; - var kBalancedPoolMissingUpstreamError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_BPL_MISSING_UPSTREAM"); + var kBalancedPoolMissingUpstreamError = Symbol.for("undici.error.UND_ERR_BPL_MISSING_UPSTREAM"); var BalancedPoolMissingUpstreamError = class extends UndiciError { constructor(message) { super(message); @@ -585,7 +581,7 @@ var require_errors = __commonJS({ } [kBalancedPoolMissingUpstreamError] = true; }; - var kHTTPParserError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HTTP_PARSER"); + var kHTTPParserError = Symbol.for("undici.error.UND_ERR_HTTP_PARSER"); var HTTPParserError = class extends Error { constructor(message, code, data) { super(message); @@ -598,7 +594,7 @@ var require_errors = __commonJS({ } [kHTTPParserError] = true; }; - var kResponseExceededMaxSizeError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RES_EXCEEDED_MAX_SIZE"); + var kResponseExceededMaxSizeError = Symbol.for("undici.error.UND_ERR_RES_EXCEEDED_MAX_SIZE"); var ResponseExceededMaxSizeError = class extends UndiciError { constructor(message) { super(message); @@ -611,7 +607,7 @@ var require_errors = __commonJS({ } [kResponseExceededMaxSizeError] = true; }; - var kRequestRetryError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_REQ_RETRY"); + var kRequestRetryError = Symbol.for("undici.error.UND_ERR_REQ_RETRY"); var RequestRetryError = class extends UndiciError { constructor(message, code, { headers, data }) { super(message); @@ -627,7 +623,7 @@ var require_errors = __commonJS({ } [kRequestRetryError] = true; }; - var kResponseError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RESPONSE"); + var kResponseError = Symbol.for("undici.error.UND_ERR_RESPONSE"); var ResponseError = class extends UndiciError { constructor(message, code, { headers, data }) { super(message); @@ -643,7 +639,7 @@ var require_errors = __commonJS({ } [kResponseError] = true; }; - var kSecureProxyConnectionError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_PRX_TLS"); + var kSecureProxyConnectionError = Symbol.for("undici.error.UND_ERR_PRX_TLS"); var SecureProxyConnectionError = class extends UndiciError { constructor(cause, message, options) { super(message, { cause, ...options ?? {} }); @@ -657,7 +653,7 @@ var require_errors = __commonJS({ } [kSecureProxyConnectionError] = true; }; - var kMessageSizeExceededError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_WS_MESSAGE_SIZE_EXCEEDED"); + var kMessageSizeExceededError = Symbol.for("undici.error.UND_ERR_WS_MESSAGE_SIZE_EXCEEDED"); var MessageSizeExceededError = class extends UndiciError { constructor(message) { super(message); @@ -1673,7 +1669,7 @@ var require_request = __commonJS({ var { channels } = require_diagnostics(); var { headerNameLowerCasedRecord } = require_constants(); var invalidPathRegex = /[^\u0021-\u00ff]/; - var kHandler = /* @__PURE__ */ Symbol("handler"); + var kHandler = Symbol("handler"); var Request = class { constructor(origin2, { path: path6, @@ -2110,11 +2106,11 @@ var require_dispatcher_base = __commonJS({ InvalidArgumentError } = require_errors(); var { kDestroy, kClose, kClosed, kDestroyed, kDispatch, kInterceptors } = require_symbols(); - var kOnDestroyed = /* @__PURE__ */ Symbol("onDestroyed"); - var kOnClosed = /* @__PURE__ */ Symbol("onClosed"); - var kInterceptedDispatch = /* @__PURE__ */ Symbol("Intercepted Dispatch"); - var kWebSocketOptions = /* @__PURE__ */ Symbol("webSocketOptions"); - var kEventSourceOptions = /* @__PURE__ */ Symbol("eventSourceOptions"); + var kOnDestroyed = Symbol("onDestroyed"); + var kOnClosed = Symbol("onClosed"); + var kInterceptedDispatch = Symbol("Intercepted Dispatch"); + var kWebSocketOptions = Symbol("webSocketOptions"); + var kEventSourceOptions = Symbol("eventSourceOptions"); var DispatcherBase = class extends Dispatcher { constructor(opts) { super(); @@ -2283,7 +2279,7 @@ var require_timers = __commonJS({ var RESOLUTION_MS = 1e3; var TICK_MS = (RESOLUTION_MS >> 1) - 1; var fastNowTimeout; - var kFastTimer = /* @__PURE__ */ Symbol("kFastTimer"); + var kFastTimer = Symbol("kFastTimer"); var fastTimers = []; var NOT_IN_LIST = -2; var TO_BE_CLEARED = -1; @@ -3267,7 +3263,7 @@ var require_constants3 = __commonJS({ var require_global = __commonJS({ "node_modules/undici/lib/web/fetch/global.js"(exports2, module2) { "use strict"; - var globalOrigin = /* @__PURE__ */ Symbol.for("undici.globalOrigin.1"); + var globalOrigin = Symbol.for("undici.globalOrigin.1"); function getGlobalOrigin() { return globalThis[globalOrigin]; } @@ -4945,11 +4941,11 @@ var require_symbols2 = __commonJS({ "node_modules/undici/lib/web/fetch/symbols.js"(exports2, module2) { "use strict"; module2.exports = { - kUrl: /* @__PURE__ */ Symbol("url"), - kHeaders: /* @__PURE__ */ Symbol("headers"), - kSignal: /* @__PURE__ */ Symbol("signal"), - kState: /* @__PURE__ */ Symbol("state"), - kDispatcher: /* @__PURE__ */ Symbol("dispatcher") + kUrl: Symbol("url"), + kHeaders: Symbol("headers"), + kSignal: Symbol("signal"), + kState: Symbol("state"), + kDispatcher: Symbol("dispatcher") }; } }); @@ -5788,9 +5784,9 @@ var require_client_h1 = __commonJS({ var FastBuffer = Buffer[Symbol.species]; var addListener = util5.addListener; var removeAllListeners = util5.removeAllListeners; - var kIdleSocketValidation = /* @__PURE__ */ Symbol("kIdleSocketValidation"); - var kIdleSocketValidationTimeout = /* @__PURE__ */ Symbol("kIdleSocketValidationTimeout"); - var kSocketUsed = /* @__PURE__ */ Symbol("kSocketUsed"); + var kIdleSocketValidation = Symbol("kIdleSocketValidation"); + var kIdleSocketValidationTimeout = Symbol("kIdleSocketValidationTimeout"); + var kSocketUsed = Symbol("kSocketUsed"); var extractBody; async function lazyllhttp() { const llhttpWasmData = process.env.JEST_WORKER_ID ? require_llhttp_wasm() : void 0; @@ -6892,7 +6888,7 @@ var require_client_h2 = __commonJS({ kSize, kHTTPContext } = require_symbols(); - var kOpenStreams = /* @__PURE__ */ Symbol("open streams"); + var kOpenStreams = Symbol("open streams"); var extractBody; var h2ExperimentalWarned = false; var http23; @@ -7443,7 +7439,7 @@ var require_redirect_handler = __commonJS({ var { InvalidArgumentError } = require_errors(); var EE = require("node:events"); var redirectableStatusCodes = [300, 301, 302, 303, 307, 308]; - var kBody = /* @__PURE__ */ Symbol("body"); + var kBody = Symbol("body"); var BodyAsyncIterable = class { constructor(body) { this[kBody] = body; @@ -7676,7 +7672,7 @@ var require_client = __commonJS({ var connectH1 = require_client_h1(); var connectH2 = require_client_h2(); var deprecatedInterceptorWarned = false; - var kClosedResolve = /* @__PURE__ */ Symbol("kClosedResolve"); + var kClosedResolve = Symbol("kClosedResolve"); var noop4 = () => { }; function getPipelining(client) { @@ -8177,7 +8173,7 @@ var require_fixed_queue = __commonJS({ var require_pool_stats = __commonJS({ "node_modules/undici/lib/dispatcher/pool-stats.js"(exports2, module2) { var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols(); - var kPool = /* @__PURE__ */ Symbol("pool"); + var kPool = Symbol("pool"); var PoolStats = class { constructor(pool) { this[kPool] = pool; @@ -8213,18 +8209,18 @@ var require_pool_base = __commonJS({ var FixedQueue = require_fixed_queue(); var { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require_symbols(); var PoolStats = require_pool_stats(); - var kClients = /* @__PURE__ */ Symbol("clients"); - var kNeedDrain = /* @__PURE__ */ Symbol("needDrain"); - var kQueue = /* @__PURE__ */ Symbol("queue"); - var kClosedResolve = /* @__PURE__ */ Symbol("closed resolve"); - var kOnDrain = /* @__PURE__ */ Symbol("onDrain"); - var kOnConnect = /* @__PURE__ */ Symbol("onConnect"); - var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect"); - var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError"); - var kGetDispatcher = /* @__PURE__ */ Symbol("get dispatcher"); - var kAddClient = /* @__PURE__ */ Symbol("add client"); - var kRemoveClient = /* @__PURE__ */ Symbol("remove client"); - var kStats = /* @__PURE__ */ Symbol("stats"); + var kClients = Symbol("clients"); + var kNeedDrain = Symbol("needDrain"); + var kQueue = Symbol("queue"); + var kClosedResolve = Symbol("closed resolve"); + var kOnDrain = Symbol("onDrain"); + var kOnConnect = Symbol("onConnect"); + var kOnDisconnect = Symbol("onDisconnect"); + var kOnConnectionError = Symbol("onConnectionError"); + var kGetDispatcher = Symbol("get dispatcher"); + var kAddClient = Symbol("add client"); + var kRemoveClient = Symbol("remove client"); + var kStats = Symbol("stats"); var PoolBase = class extends DispatcherBase { constructor(opts) { super(opts); @@ -8378,9 +8374,9 @@ var require_pool = __commonJS({ var util5 = require_util(); var { kUrl, kInterceptors } = require_symbols(); var buildConnector = require_connect(); - var kOptions = /* @__PURE__ */ Symbol("options"); - var kConnections = /* @__PURE__ */ Symbol("connections"); - var kFactory = /* @__PURE__ */ Symbol("factory"); + var kOptions = Symbol("options"); + var kConnections = Symbol("connections"); + var kFactory = Symbol("factory"); function defaultFactory(origin2, opts) { return new Client(origin2, opts); } @@ -8470,14 +8466,14 @@ var require_balanced_pool = __commonJS({ var Pool = require_pool(); var { kUrl, kInterceptors } = require_symbols(); var { parseOrigin } = require_util(); - var kFactory = /* @__PURE__ */ Symbol("factory"); - var kOptions = /* @__PURE__ */ Symbol("options"); - var kGreatestCommonDivisor = /* @__PURE__ */ Symbol("kGreatestCommonDivisor"); - var kCurrentWeight = /* @__PURE__ */ Symbol("kCurrentWeight"); - var kIndex = /* @__PURE__ */ Symbol("kIndex"); - var kWeight = /* @__PURE__ */ Symbol("kWeight"); - var kMaxWeightPerServer = /* @__PURE__ */ Symbol("kMaxWeightPerServer"); - var kErrorPenalty = /* @__PURE__ */ Symbol("kErrorPenalty"); + var kFactory = Symbol("factory"); + var kOptions = Symbol("options"); + var kGreatestCommonDivisor = Symbol("kGreatestCommonDivisor"); + var kCurrentWeight = Symbol("kCurrentWeight"); + var kIndex = Symbol("kIndex"); + var kWeight = Symbol("kWeight"); + var kMaxWeightPerServer = Symbol("kMaxWeightPerServer"); + var kErrorPenalty = Symbol("kErrorPenalty"); function getGreatestCommonDivisor(a, b) { if (a === 0) return b; while (b !== 0) { @@ -8606,13 +8602,13 @@ var require_agent = __commonJS({ var Client = require_client(); var util5 = require_util(); var createRedirectInterceptor = require_redirect_interceptor(); - var kOnConnect = /* @__PURE__ */ Symbol("onConnect"); - var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect"); - var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError"); - var kMaxRedirections = /* @__PURE__ */ Symbol("maxRedirections"); - var kOnDrain = /* @__PURE__ */ Symbol("onDrain"); - var kFactory = /* @__PURE__ */ Symbol("factory"); - var kOptions = /* @__PURE__ */ Symbol("options"); + var kOnConnect = Symbol("onConnect"); + var kOnDisconnect = Symbol("onDisconnect"); + var kOnConnectionError = Symbol("onConnectionError"); + var kMaxRedirections = Symbol("maxRedirections"); + var kOnDrain = Symbol("onDrain"); + var kFactory = Symbol("factory"); + var kOptions = Symbol("options"); function defaultFactory(origin2, opts) { return opts && opts.connections === 1 ? new Client(origin2, opts) : new Pool(origin2, opts); } @@ -8707,13 +8703,13 @@ var require_proxy_agent = __commonJS({ var { InvalidArgumentError, RequestAbortedError, SecureProxyConnectionError } = require_errors(); var buildConnector = require_connect(); var Client = require_client(); - var kAgent = /* @__PURE__ */ Symbol("proxy agent"); - var kClient = /* @__PURE__ */ Symbol("proxy client"); - var kProxyHeaders = /* @__PURE__ */ Symbol("proxy headers"); - var kRequestTls = /* @__PURE__ */ Symbol("request tls settings"); - var kProxyTls = /* @__PURE__ */ Symbol("proxy tls settings"); - var kConnectEndpoint = /* @__PURE__ */ Symbol("connect endpoint function"); - var kTunnelProxy = /* @__PURE__ */ Symbol("tunnel proxy"); + var kAgent = Symbol("proxy agent"); + var kClient = Symbol("proxy client"); + var kProxyHeaders = Symbol("proxy headers"); + var kRequestTls = Symbol("request tls settings"); + var kProxyTls = Symbol("proxy tls settings"); + var kConnectEndpoint = Symbol("connect endpoint function"); + var kTunnelProxy = Symbol("tunnel proxy"); function defaultProtocolPort(protocol) { return protocol === "https:" ? 443 : 80; } @@ -9447,12 +9443,12 @@ var require_readable = __commonJS({ var { RequestAbortedError, NotSupportedError, InvalidArgumentError, AbortError } = require_errors(); var util5 = require_util(); var { ReadableStreamFrom } = require_util(); - var kConsume = /* @__PURE__ */ Symbol("kConsume"); - var kReading = /* @__PURE__ */ Symbol("kReading"); - var kBody = /* @__PURE__ */ Symbol("kBody"); - var kAbort = /* @__PURE__ */ Symbol("kAbort"); - var kContentType = /* @__PURE__ */ Symbol("kContentType"); - var kContentLength = /* @__PURE__ */ Symbol("kContentLength"); + var kConsume = Symbol("kConsume"); + var kReading = Symbol("kReading"); + var kBody = Symbol("kBody"); + var kAbort = Symbol("kAbort"); + var kContentType = Symbol("kContentType"); + var kContentLength = Symbol("kContentLength"); var noop4 = () => { }; var BodyReadable = class extends Readable2 { @@ -9983,8 +9979,8 @@ var require_abort_signal = __commonJS({ "node_modules/undici/lib/api/abort-signal.js"(exports2, module2) { var { addAbortListener } = require_util(); var { RequestAbortedError } = require_errors(); - var kListener = /* @__PURE__ */ Symbol("kListener"); - var kSignal = /* @__PURE__ */ Symbol("kSignal"); + var kListener = Symbol("kListener"); + var kSignal = Symbol("kSignal"); function abort(self2) { if (self2.abort) { self2.abort(self2[kSignal]?.reason); @@ -10220,7 +10216,7 @@ var require_api_pipeline = __commonJS({ var { AsyncResource } = require("node:async_hooks"); var { addSignal, removeSignal } = require_abort_signal(); var assert = require("node:assert"); - var kResume = /* @__PURE__ */ Symbol("resume"); + var kResume = Symbol("resume"); var PipelineRequest = class extends Readable2 { constructor() { super({ autoDestroy: true }); @@ -10601,7 +10597,7 @@ var require_mock_errors = __commonJS({ "node_modules/undici/lib/mock/mock-errors.js"(exports2, module2) { "use strict"; var { UndiciError } = require_errors(); - var kMockNotMatchedError = /* @__PURE__ */ Symbol.for("undici.error.UND_MOCK_ERR_MOCK_NOT_MATCHED"); + var kMockNotMatchedError = Symbol.for("undici.error.UND_MOCK_ERR_MOCK_NOT_MATCHED"); var MockNotMatchedError = class _MockNotMatchedError extends UndiciError { constructor(message) { super(message); @@ -10626,25 +10622,25 @@ var require_mock_symbols = __commonJS({ "node_modules/undici/lib/mock/mock-symbols.js"(exports2, module2) { "use strict"; module2.exports = { - kAgent: /* @__PURE__ */ Symbol("agent"), - kOptions: /* @__PURE__ */ Symbol("options"), - kFactory: /* @__PURE__ */ Symbol("factory"), - kDispatches: /* @__PURE__ */ Symbol("dispatches"), - kDispatchKey: /* @__PURE__ */ Symbol("dispatch key"), - kDefaultHeaders: /* @__PURE__ */ Symbol("default headers"), - kDefaultTrailers: /* @__PURE__ */ Symbol("default trailers"), - kContentLength: /* @__PURE__ */ Symbol("content length"), - kMockAgent: /* @__PURE__ */ Symbol("mock agent"), - kMockAgentSet: /* @__PURE__ */ Symbol("mock agent set"), - kMockAgentGet: /* @__PURE__ */ Symbol("mock agent get"), - kMockDispatch: /* @__PURE__ */ Symbol("mock dispatch"), - kClose: /* @__PURE__ */ Symbol("close"), - kOriginalClose: /* @__PURE__ */ Symbol("original agent close"), - kOrigin: /* @__PURE__ */ Symbol("origin"), - kIsMockActive: /* @__PURE__ */ Symbol("is mock active"), - kNetConnect: /* @__PURE__ */ Symbol("net connect"), - kGetNetConnect: /* @__PURE__ */ Symbol("get net connect"), - kConnected: /* @__PURE__ */ Symbol("connected") + kAgent: Symbol("agent"), + kOptions: Symbol("options"), + kFactory: Symbol("factory"), + kDispatches: Symbol("dispatches"), + kDispatchKey: Symbol("dispatch key"), + kDefaultHeaders: Symbol("default headers"), + kDefaultTrailers: Symbol("default trailers"), + kContentLength: Symbol("content length"), + kMockAgent: Symbol("mock agent"), + kMockAgentSet: Symbol("mock agent set"), + kMockAgentGet: Symbol("mock agent get"), + kMockDispatch: Symbol("mock dispatch"), + kClose: Symbol("close"), + kOriginalClose: Symbol("original agent close"), + kOrigin: Symbol("origin"), + kIsMockActive: Symbol("is mock active"), + kNetConnect: Symbol("net connect"), + kGetNetConnect: Symbol("get net connect"), + kConnected: Symbol("connected") }; } }); @@ -11419,7 +11415,7 @@ ${pendingInterceptorsFormatter.format(pending)} var require_global2 = __commonJS({ "node_modules/undici/lib/global.js"(exports2, module2) { "use strict"; - var globalDispatcher = /* @__PURE__ */ Symbol.for("undici.globalDispatcher.1"); + var globalDispatcher = Symbol.for("undici.globalDispatcher.1"); var { InvalidArgumentError } = require_errors(); var Agent3 = require_agent(); if (getGlobalDispatcher() === void 0) { @@ -11937,8 +11933,8 @@ var require_headers = __commonJS({ var { webidl } = require_webidl(); var assert = require("node:assert"); var util5 = require("node:util"); - var kHeadersMap = /* @__PURE__ */ Symbol("headers map"); - var kHeadersSortedMap = /* @__PURE__ */ Symbol("headers map sorted"); + var kHeadersMap = Symbol("headers map"); + var kHeadersSortedMap = Symbol("headers map sorted"); function isHTTPWhiteSpaceCharCode(code) { return code === 10 || code === 13 || code === 9 || code === 32; } @@ -12839,7 +12835,7 @@ var require_request2 = __commonJS({ var { kConstruct } = require_symbols(); var assert = require("node:assert"); var { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require("node:events"); - var kAbortController = /* @__PURE__ */ Symbol("abortController"); + var kAbortController = Symbol("abortController"); var requestFinalizer = new FinalizationRegistry2(({ signal, abort }) => { signal.removeEventListener("abort", abort); }); @@ -14573,12 +14569,12 @@ var require_symbols3 = __commonJS({ "node_modules/undici/lib/web/fileapi/symbols.js"(exports2, module2) { "use strict"; module2.exports = { - kState: /* @__PURE__ */ Symbol("FileReader state"), - kResult: /* @__PURE__ */ Symbol("FileReader result"), - kError: /* @__PURE__ */ Symbol("FileReader error"), - kLastProgressEventFired: /* @__PURE__ */ Symbol("FileReader last progress event fired timestamp"), - kEvents: /* @__PURE__ */ Symbol("FileReader events"), - kAborted: /* @__PURE__ */ Symbol("FileReader aborted") + kState: Symbol("FileReader state"), + kResult: Symbol("FileReader result"), + kError: Symbol("FileReader error"), + kLastProgressEventFired: Symbol("FileReader last progress event fired timestamp"), + kEvents: Symbol("FileReader events"), + kAborted: Symbol("FileReader aborted") }; } }); @@ -14588,7 +14584,7 @@ var require_progressevent = __commonJS({ "node_modules/undici/lib/web/fileapi/progressevent.js"(exports2, module2) { "use strict"; var { webidl } = require_webidl(); - var kState = /* @__PURE__ */ Symbol("ProgressEvent state"); + var kState = Symbol("ProgressEvent state"); var ProgressEvent = class _ProgressEvent extends Event { constructor(type, eventInitDict = {}) { type = webidl.converters.DOMString(type, "ProgressEvent constructor", "type"); @@ -16890,14 +16886,14 @@ var require_symbols5 = __commonJS({ "node_modules/undici/lib/web/websocket/symbols.js"(exports2, module2) { "use strict"; module2.exports = { - kWebSocketURL: /* @__PURE__ */ Symbol("url"), - kReadyState: /* @__PURE__ */ Symbol("ready state"), - kController: /* @__PURE__ */ Symbol("controller"), - kResponse: /* @__PURE__ */ Symbol("response"), - kBinaryType: /* @__PURE__ */ Symbol("binary type"), - kSentClose: /* @__PURE__ */ Symbol("sent close"), - kReceivedClose: /* @__PURE__ */ Symbol("received close"), - kByteParser: /* @__PURE__ */ Symbol("byte parser") + kWebSocketURL: Symbol("url"), + kReadyState: Symbol("ready state"), + kController: Symbol("controller"), + kResponse: Symbol("response"), + kBinaryType: Symbol("binary type"), + kSentClose: Symbol("sent close"), + kReceivedClose: Symbol("received close"), + kByteParser: Symbol("byte parser") }; } }); @@ -17345,8 +17341,8 @@ var require_permessage_deflate = __commonJS({ var { isValidClientWindowBits } = require_util7(); var { MessageSizeExceededError } = require_errors(); var tail = Buffer.from([0, 0, 255, 255]); - var kBuffer = /* @__PURE__ */ Symbol("kBuffer"); - var kLength = /* @__PURE__ */ Symbol("kLength"); + var kBuffer = Symbol("kBuffer"); + var kLength = Symbol("kLength"); var PerMessageDeflate = class { /** @type {import('node:zlib').InflateRaw} */ #inflate; @@ -19929,6 +19925,33 @@ var require_constants6 = __commonJS({ 9007199254740991; var MAX_SAFE_COMPONENT_LENGTH = 16; var MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6; + var WHITESPACE_CHARACTERS = [ + " ", + "\n", + "\v", + "\f", + "\r", + " ", + "\xA0", + "\u1680", + "\u2000", + "\u2001", + "\u2002", + "\u2003", + "\u2004", + "\u2005", + "\u2006", + "\u2007", + "\u2008", + "\u2009", + "\u200A", + "\u2028", + "\u2029", + "\u202F", + "\u205F", + "\u3000", + "\uFEFF" + ]; var RELEASE_TYPES = [ "major", "premajor", @@ -19943,6 +19966,7 @@ var require_constants6 = __commonJS({ MAX_SAFE_COMPONENT_LENGTH, MAX_SAFE_BUILD_LENGTH, MAX_SAFE_INTEGER, + WHITESPACE_CHARACTERS, RELEASE_TYPES, SEMVER_SPEC_VERSION, FLAG_INCLUDE_PRERELEASE: 1, @@ -20843,6 +20867,197 @@ var require_lrucache = __commonJS({ } }); +// node_modules/semver/internal/trim-comparator-whitespace.js +var require_trim_comparator_whitespace = __commonJS({ + "node_modules/semver/internal/trim-comparator-whitespace.js"(exports2, module2) { + "use strict"; + var { + MAX_LENGTH, + MAX_SAFE_BUILD_LENGTH, + WHITESPACE_CHARACTERS + } = require_constants6(); + var whitespace = new Uint8Array(65536); + for (const char of WHITESPACE_CHARACTERS) { + whitespace[char.charCodeAt(0)] = 1; + } + var isWhitespace = (char) => char !== void 0 && whitespace[char.charCodeAt(0)] === 1; + var isVersionPrefix = (char) => char === "v" || char === "=" || isWhitespace(char); + var isDigit = (char) => char !== void 0 && char >= "0" && char <= "9"; + var isLetter = (char) => char !== void 0 && (char >= "a" && char <= "z" || char >= "A" && char <= "Z"); + var isIdentifierCharacter = (char) => isDigit(char) || isLetter(char) || char === "-"; + var isVersionStart = (char) => isDigit(char) || char === "x" || char === "X" || char === "*"; + var findDigitsEndIndex = (range, start, limit, digitRuns) => { + if (!isDigit(range[start])) { + return start; + } + if (start >= digitRuns.start && start < digitRuns.end) { + return Math.min(start + limit, digitRuns.end); + } + if (start >= digitRuns.previousStart && start < digitRuns.previousEnd) { + return Math.min(start + limit, digitRuns.previousEnd); + } + let end = start + 1; + while (isDigit(range[end])) { + end++; + } + digitRuns.previousStart = digitRuns.start; + digitRuns.previousEnd = digitRuns.end; + digitRuns.start = start; + digitRuns.end = end; + return Math.min(start + limit, end); + }; + var findVersionNumberEndIndex = (range, start, loose, digitRuns) => { + if (!loose && range[start] === "0") { + return start + 1; + } + return findDigitsEndIndex(range, start, loose ? MAX_LENGTH : MAX_LENGTH + 1, digitRuns); + }; + var findPrereleaseIdentifierEndIndex = (range, start, loose, digitRuns) => { + const digitsEnd = findDigitsEndIndex(range, start, MAX_LENGTH, digitRuns); + if (isLetter(range[digitsEnd]) || range[digitsEnd] === "-") { + let end = digitsEnd + 1; + const limit = end + MAX_SAFE_BUILD_LENGTH; + while (end < limit && isIdentifierCharacter(range[end])) { + end++; + } + return end; + } + return findVersionNumberEndIndex(range, start, loose, digitRuns); + }; + var findPrereleaseEndIndex = (range, start, loose, digitRuns) => { + const hyphen = range[start] === "-"; + if (!loose && !hyphen) { + return start; + } + const identifierStart = start + (hyphen ? 1 : 0); + let end = findPrereleaseIdentifierEndIndex(range, identifierStart, loose, digitRuns); + if (end === identifierStart) { + if (!loose || !hyphen) { + return start; + } + end = findPrereleaseIdentifierEndIndex(range, start, loose, digitRuns); + } + while (range[end] === ".") { + const next = findPrereleaseIdentifierEndIndex(range, end + 1, loose, digitRuns); + if (next === end + 1) { + break; + } + end = next; + } + return end; + }; + var findBuildIdentifierEndIndex = (range, start) => { + let end = start; + while (end - start < MAX_SAFE_BUILD_LENGTH && isIdentifierCharacter(range[end])) { + end++; + } + return end; + }; + var findBuildEndIndex = (range, start) => { + if (range[start] !== "+") { + return start; + } + let end = findBuildIdentifierEndIndex(range, start + 1); + if (end === start + 1) { + return start; + } + while (range[end] === ".") { + const next = findBuildIdentifierEndIndex(range, end + 1); + if (next === end + 1) { + break; + } + end = next; + } + return end; + }; + var findLooseFullVersionEndIndex = (range, start, digitRuns) => { + let end = start; + for (let component = 0; component < 3; component++) { + const next = findVersionNumberEndIndex(range, end, true, digitRuns); + if (next === end) { + return start; + } + end = next; + if (component < 2) { + if (range[end] !== ".") { + return start; + } + end++; + } + } + const prereleaseEnd = findPrereleaseEndIndex(range, end, true, digitRuns); + return findBuildEndIndex(range, prereleaseEnd); + }; + var findPartialVersionComponentEndIndex = (range, start, digitRuns) => { + if (isDigit(range[start])) { + return findVersionNumberEndIndex(range, start, false, digitRuns); + } + return isVersionStart(range[start]) ? start + 1 : start; + }; + var findPartialVersionEndIndex = (range, start, digitRuns) => { + let end = findPartialVersionComponentEndIndex(range, start, digitRuns); + for (let component = 0; component < 2; component++) { + if (range[end] !== ".") { + return end; + } + const next = findPartialVersionComponentEndIndex(range, end + 1, digitRuns); + if (next === end + 1) { + return end; + } + end = next; + } + const prereleaseEnd = findPrereleaseEndIndex(range, end, false, digitRuns); + return findBuildEndIndex(range, prereleaseEnd); + }; + var findVersionEndIndex = (range, start, digitRuns) => { + const fullVersionEnd = findLooseFullVersionEndIndex(range, start, digitRuns); + return fullVersionEnd !== start ? fullVersionEnd : findPartialVersionEndIndex(range, start, digitRuns); + }; + var findRemovableWhitespaceIndex = (range, matchStart) => { + let position = matchStart; + if (isWhitespace(range[position])) { + position++; + } + if (range[position] === "<" || range[position] === ">") { + position++; + } + if (range[position] === "=") { + position++; + } + return isWhitespace(range[position]) ? position : -1; + }; + var trimComparatorWhitespace = (range) => { + let result = ""; + let copyFrom = 0; + let cursor = 0; + const digitRuns = { start: -1, end: -1, previousStart: -1, previousEnd: -1 }; + while (cursor < range.length) { + const matchStart = cursor; + if (range[cursor] === "<" || range[cursor] === ">") { + cursor++; + } else if (!isVersionPrefix(range[cursor]) && !isVersionStart(range[cursor])) { + cursor++; + continue; + } + while (cursor < range.length && isVersionPrefix(range[cursor])) { + cursor++; + } + if (!isVersionStart(range[cursor])) { + continue; + } + const whitespacePosition = findRemovableWhitespaceIndex(range, matchStart); + if (whitespacePosition !== -1) { + result += range.slice(copyFrom, whitespacePosition); + copyFrom = whitespacePosition + 1; + } + cursor = findVersionEndIndex(range, cursor, digitRuns); + } + return result + range.slice(copyFrom); + }; + module2.exports = trimComparatorWhitespace; + } +}); + // node_modules/semver/classes/range.js var require_range = __commonJS({ "node_modules/semver/classes/range.js"(exports2, module2) { @@ -20924,7 +21139,7 @@ var require_range = __commonJS({ const hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE]; range = range.replace(hr, hyphenReplace(this.options.includePrerelease)); debug2("hyphen replace", range); - range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace); + range = trimComparatorWhitespace(range); debug2("comparator trim", range); range = range.replace(re[t.TILDETRIM], tildeTrimReplace); debug2("tilde trim", range); @@ -20994,11 +21209,11 @@ var require_range = __commonJS({ var Comparator = require_comparator(); var debug2 = require_debug(); var SemVer = require_semver(); + var trimComparatorWhitespace = require_trim_comparator_whitespace(); var { safeRe: re, src, t, - comparatorTrimReplace, tildeTrimReplace, caretTrimReplace } = require_re(); @@ -21232,7 +21447,7 @@ var require_range = __commonJS({ var require_comparator = __commonJS({ "node_modules/semver/classes/comparator.js"(exports2, module2) { "use strict"; - var ANY = /* @__PURE__ */ Symbol("SemVer ANY"); + var ANY = Symbol("SemVer ANY"); var Comparator = class _Comparator { static get ANY() { return ANY; @@ -31192,7 +31407,7 @@ var require_shams = __commonJS({ return true; } var obj = {}; - var sym = /* @__PURE__ */ Symbol("test"); + var sym = Symbol("test"); var symObj = Object(sym); if (typeof sym === "string") { return false; @@ -31251,7 +31466,7 @@ var require_has_symbols = __commonJS({ if (typeof origSymbol("foo") !== "symbol") { return false; } - if (typeof /* @__PURE__ */ Symbol("bar") !== "symbol") { + if (typeof Symbol("bar") !== "symbol") { return false; } return hasSymbolSham(); @@ -31465,6 +31680,45 @@ var require_get_proto = __commonJS({ } }); +// node_modules/async-function/index.js +var require_async_function = __commonJS({ + "node_modules/async-function/index.js"(exports2, module2) { + "use strict"; + var cached = ( + /** @type {import('.').AsyncFunctionConstructor} */ + async function() { + }.constructor + ); + module2.exports = () => cached; + } +}); + +// node_modules/generator-function/index.js +var require_generator_function = __commonJS({ + "node_modules/generator-function/index.js"(exports2, module2) { + "use strict"; + var cached = ( + /** @type {GeneratorFunctionConstructor} */ + function* () { + }.constructor + ); + module2.exports = () => cached; + } +}); + +// node_modules/async-generator-function/index.js +var require_async_generator_function = __commonJS({ + "node_modules/async-generator-function/index.js"(exports2, module2) { + "use strict"; + var cached = ( + /** @type {import('.').AsyncGeneratorFunctionConstructor} */ + async function* () { + }.constructor + ); + module2.exports = () => cached; + } +}); + // node_modules/hasown/index.js var require_hasown = __commonJS({ "node_modules/hasown/index.js"(exports2, module2) { @@ -31496,13 +31750,6 @@ var require_get_intrinsic = __commonJS({ var pow = require_pow(); var round = require_round(); var sign = require_sign(); - var $Function = Function; - var getEvalledConstructor = function(expressionSyntax) { - try { - return $Function('"use strict"; return (' + expressionSyntax + ").constructor;")(); - } catch (e) { - } - }; var $gOPD = require_gopd(); var $defineProperty = require_es_define_property(); var throwTypeError = function() { @@ -31558,7 +31805,7 @@ var require_get_intrinsic = __commonJS({ "%Float32Array%": typeof Float32Array === "undefined" ? undefined2 : Float32Array, "%Float64Array%": typeof Float64Array === "undefined" ? undefined2 : Float64Array, "%FinalizationRegistry%": typeof FinalizationRegistry === "undefined" ? undefined2 : FinalizationRegistry, - "%Function%": $Function, + "%Function%": Function, "%GeneratorFunction%": needsEval, "%Int8Array%": typeof Int8Array === "undefined" ? undefined2 : Int8Array, "%Int16Array%": typeof Int16Array === "undefined" ? undefined2 : Int16Array, @@ -31621,14 +31868,17 @@ var require_get_intrinsic = __commonJS({ } } var errorProto; + var getAsyncFunction = require_async_function(); + var getGeneratorFunction = require_generator_function(); + var getAsyncGeneratorFunction = require_async_generator_function(); var doEval = function doEval2(name) { var value; if (name === "%AsyncFunction%") { - value = getEvalledConstructor("async function () {}"); + value = getAsyncFunction() || void undefined2; } else if (name === "%GeneratorFunction%") { - value = getEvalledConstructor("function* () {}"); + value = getGeneratorFunction() || void undefined2; } else if (name === "%AsyncGeneratorFunction%") { - value = getEvalledConstructor("async function* () {}"); + value = getAsyncGeneratorFunction() || void undefined2; } else if (name === "%AsyncGenerator%") { var fn = doEval2("%AsyncGeneratorFunction%"); if (fn) { @@ -32404,7 +32654,7 @@ var require_common = __commonJS({ createDebug.namespaces = namespaces; createDebug.names = []; createDebug.skips = []; - const split = (typeof namespaces === "string" ? namespaces : "").trim().replace(/\s+/g, ",").split(",").filter(Boolean); + const split = (typeof namespaces === "string" ? namespaces : "").trim().replace(" ", ",").split(",").filter(Boolean); for (const ns of split) { if (ns[0] === "-") { createDebug.skips.push(ns.slice(1)); @@ -32622,7 +32872,7 @@ var require_browser = __commonJS({ function load() { let r; try { - r = exports2.storage.getItem("debug") || exports2.storage.getItem("DEBUG"); + r = exports2.storage.getItem("debug"); } catch (error2) { } if (!r && typeof process !== "undefined" && "env" in process) { @@ -33540,7 +33790,7 @@ var require_follow_redirects = __commonJS({ options.headers[headerList[i]] = headerList[i + 1]; } } - if (!isArray2(options.sensitiveHeaders)) { + if (!Array.isArray(options.sensitiveHeaders)) { options.sensitiveHeaders = []; } if (options.host) { @@ -33797,9 +34047,6 @@ var require_follow_redirects = __commonJS({ var dot = subdomain.length - domain.length - 1; return dot > 0 && subdomain[dot] === "." && subdomain.endsWith(domain); } - function isArray2(value) { - return value instanceof Array; - } function isString2(value) { return typeof value === "string" || value instanceof String; } @@ -35998,7 +36245,7 @@ function bindApi(hook2, state, name) { }); } function Singular() { - const singularHookName = /* @__PURE__ */ Symbol("Singular"); + const singularHookName = Symbol("Singular"); const singularHookState = { registry: {} }; @@ -40591,10 +40838,16 @@ var isPlainObject3 = (val) => { return false; } const prototype2 = getPrototypeOf(val); - return (prototype2 === null || prototype2 === Object.prototype || getPrototypeOf(prototype2) === null) && // Treat safe own/inherited Symbol.toStringTag or Symbol.iterator members as - // evidence the value is tagged/iterable, while ignoring members reachable - // only through shared or terminal prototype boundaries. - !hasOwnInPrototypeChain(val, toStringTag) && !hasOwnInPrototypeChain(val, iterator2); + return (prototype2 === null || prototype2 === Object.prototype || getPrototypeOf(prototype2) === null) && // Treat own Symbol.toStringTag or Symbol.iterator members as evidence the + // value is tagged/iterable, ignoring members reachable only through shared + // or terminal prototype boundaries. This is exactly what + // hasOwnInPrototypeChain(val, prop) computes here: every prototype admitted + // above (null, Object.prototype, or a terminal null-prototype template) is + // a boundary, so the walk never inspects anything but `val`'s own members, + // and stops before even those when `val` is itself the boundary + // Object.prototype. Checking that inline avoids allocating the walker's + // `seen` list twice per call on the mergeConfig / merge hot path. + (isPrototypeBoundary(val, prototype2, true) || !hasOwnProperty(val, toStringTag) && !hasOwnProperty(val, iterator2)); }; var isEmptyObject = (val) => { if (!isObject(val) || isBuffer(val)) { @@ -40695,11 +40948,21 @@ var isContextDefined = (context3) => !isUndefined(context3) && context3 !== _glo function merge2(...objs) { const { caseless, skipUndefined } = isContextDefined(this) && this || {}; const result = {}; + const lowerCaseKeys = caseless ? /* @__PURE__ */ Object.create(null) : null; const assignValue = (val, key) => { if (key === "__proto__" || key === "constructor" || key === "prototype") { return; } - const targetKey = caseless && typeof key === "string" && findKey(result, key) || key; + let targetKey = key; + if (lowerCaseKeys && typeof key === "string") { + const lowerKey = key.toLowerCase(); + const knownKey = lowerCaseKeys[lowerKey]; + if (knownKey !== void 0 && hasOwnProperty(result, knownKey)) { + targetKey = knownKey; + } else { + lowerCaseKeys[lowerKey] = key; + } + } const existing = hasOwnProperty(result, targetKey) ? result[targetKey] : void 0; if (isPlainObject3(existing) && isPlainObject3(val)) { result[targetKey] = merge2(existing, val); @@ -40717,7 +40980,7 @@ function merge2(...objs) { continue; } forEach(source, assignValue); - if (typeof source !== "object" || isArray(source)) { + if (typeof source !== "object" || isArray(source) || !Object.getOwnPropertySymbols) { continue; } const symbols = Object.getOwnPropertySymbols(source); @@ -40813,7 +41076,24 @@ var toArray = (thing) => { if (!thing) return null; if (isArray(thing)) return thing; let i = thing.length; - if (!isNumber(i)) return null; + if (!Number.isSafeInteger(i) || i < 0 || i > 4294967295) return null; + const indexes = /* @__PURE__ */ new Set(); + const seen = /* @__PURE__ */ new Set(); + let source = thing; + while (source != null && indexes.size < i) { + if (seen.has(source)) return null; + seen.add(source); + const prototype2 = getPrototypeOf(source); + if (isPrototypeBoundary(source, prototype2, source === thing)) break; + Object.getOwnPropertyNames(source).forEach((key) => { + const index = +key; + if (Number.isInteger(index) && index >= 0 && index < i && String(index) === key && hasOwnProperty(source, key)) { + indexes.add(index); + } + }); + source = prototype2; + } + if (indexes.size !== i) return null; const arr = new Array(i); while (i-- > 0) { arr[i] = thing[i]; @@ -41045,7 +41325,7 @@ var ignoreDuplicateOf = utils_default.toObjectSet([ "user-agent" ]); var parseHeaders_default = (rawHeaders) => { - const parsed = {}; + const parsed = /* @__PURE__ */ Object.create(null); let key; let val; let i; @@ -41109,7 +41389,7 @@ function toByteStringHeaderObject(headers) { } // node_modules/axios/lib/core/AxiosHeaders.js -var $internals = /* @__PURE__ */ Symbol("internals"); +var $internals = Symbol("internals"); function normalizeHeader(header) { return header && String(header).trim().toLowerCase(); } @@ -41213,9 +41493,11 @@ function parseParameters2(value) { return parameters; } var isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim()); +var PROTO_HEADER_SLOT = "__Proto__"; +var headerSlot = (name) => name === "__proto__" ? PROTO_HEADER_SLOT : name; function matchHeaderValue(context3, value, header, filter2, isHeaderNameFilter) { if (utils_default.isFunction(filter2)) { - return filter2.call(this, value, header); + return filter2.call(context3, value, header); } if (isHeaderNameFilter) { value = header; @@ -41260,7 +41542,7 @@ var AxiosHeaders = class { } const key = utils_default.findKey(self2, lHeader); if (!key || self2[key] === void 0 || _rewrite === true || _rewrite === void 0 && self2[key] !== false) { - self2[key || _header] = normalizeValue(_value); + self2[headerSlot(key || _header)] = normalizeValue(_value); } } const setHeaders = (headers, _rewrite) => utils_default.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite)); @@ -41353,7 +41635,7 @@ var AxiosHeaders = class { } normalize(format) { const self2 = this; - const headers = {}; + const headers = /* @__PURE__ */ Object.create(null); utils_default.forEach(this, (value, header) => { const key = utils_default.findKey(headers, header); if (key) { @@ -41361,7 +41643,7 @@ var AxiosHeaders = class { delete self2[header]; return; } - const normalized = format ? formatHeader(header) : String(header).trim(); + const normalized = headerSlot(format ? formatHeader(header) : String(header).trim()); if (normalized !== header) { delete self2[header]; } @@ -41511,6 +41793,28 @@ function aggregateErrorMessage(error2) { }).filter(Boolean).join("; "); return message || error2.name || "AggregateError"; } +var CAUSED_BY_SEPARATOR = "\nCaused by: "; +var $causeStack = Symbol("causeStack"); +function getCauseStackIndex(error2, stack) { + const causeStack = utils_default.hasOwnProp(error2, $causeStack) && error2[$causeStack]; + return causeStack && stack.endsWith(causeStack) ? stack.length - causeStack.length : -1; +} +function appendCauseStack(target, source) { + try { + const sourceStack = source && source.stack; + if (typeof sourceStack !== "string" || !sourceStack) { + return; + } + const targetStack = target.stack; + if (typeof targetStack !== "string" || !targetStack) { + return; + } + const causeStack = CAUSED_BY_SEPARATOR + sourceStack; + target.stack = targetStack + causeStack; + Object.defineProperty(target, $causeStack, { __proto__: null, value: causeStack }); + } catch (e) { + } +} var AxiosError = class _AxiosError extends Error { static from(error2, code, config, request2, response, customProps) { let message = error2.message; @@ -41526,6 +41830,7 @@ var AxiosError = class _AxiosError extends Error { configurable: true }); axiosError.name = error2.name; + appendCauseStack(axiosError, error2); if (error2.status != null && axiosError.status == null) { axiosError.status = error2.status; } @@ -41825,7 +42130,7 @@ function buildURL(url2, params, options) { } // node_modules/axios/lib/core/InterceptorManager.js -var $internals2 = /* @__PURE__ */ Symbol("internals"); +var $internals2 = Symbol("internals"); function countHandlers(handlers) { return handlers ? handlers.length : 0; } @@ -41837,6 +42142,12 @@ function trimHandlers(handlers) { handlers.pop(); } } +function normalizeHandlerId(id) { + if (typeof id === "string" && id !== "" && String(Number(id)) === id) { + return Number(id); + } + return id; +} function syncHandlerEntries(manager, internals) { const handlers = manager.handlers; const length = countHandlers(handlers); @@ -41907,9 +42218,10 @@ var InterceptorManager = class { eject(id) { const internals = this[$internals2]; syncHandlerEntries(this, internals); - const entry = internals.handlerEntries.get(id); + const handlerId = normalizeHandlerId(id); + const entry = internals.handlerEntries.get(handlerId); if (entry) { - internals.handlerEntries.delete(id); + internals.handlerEntries.delete(handlerId); if (this.handlers[entry.index] !== entry.handler) { return; } @@ -41969,7 +42281,8 @@ var transitional_default = { clarifyTimeoutError: false, legacyInterceptorReqResOrdering: true, advertiseZstdAcceptEncoding: false, - validateStatusUndefinedResolves: true + validateStatusUndefinedResolves: true, + encodeBasicAuthUsername: false }; // node_modules/axios/lib/platform/node/index.js @@ -42079,6 +42392,24 @@ function arrayToObject(arr) { } return obj; } +function normalizeArray(value) { + if (!utils_default.isArray(value)) return value; + const keys = Object.keys(value); + return keys.length !== value.length || keys.some((key, index) => key !== String(index)) ? arrayToObject(value) : value; +} +function normalizeArrays(obj) { + const pending = [obj]; + while (pending.length) { + const target = pending.pop(); + Object.keys(target).forEach((key) => { + const value = target[key] = normalizeArray(target[key]); + if (utils_default.isArray(value) || utils_default.isPlainObject(value)) { + pending.push(value); + } + }); + } + return obj; +} function formDataToJSON(formData) { function buildPath(path6, value, target, index) { throwIfDepthExceeded(index); @@ -42089,6 +42420,7 @@ function formDataToJSON(formData) { name = !name && utils_default.isArray(target) ? target.length : name; if (isLast) { if (utils_default.hasOwnProp(target, name)) { + target[name] = normalizeArray(target[name]); target[name] = utils_default.isArray(target[name]) ? target[name].concat(value) : [target[name], value]; } else { target[name] = value; @@ -42109,7 +42441,7 @@ function formDataToJSON(formData) { utils_default.forEachEntry(formData, (name, value) => { buildPath(parsePropPath(name), value, obj, 0); }); - return obj; + return normalizeArrays(obj); } return null; } @@ -42457,16 +42789,16 @@ var import_follow_redirects = __toESM(require_follow_redirects(), 1); var import_zlib = __toESM(require("zlib"), 1); // node_modules/axios/lib/env/data.js -var VERSION7 = "1.20.0"; +var VERSION7 = "1.21.0"; // node_modules/axios/lib/helpers/parseProtocol.js function parseProtocol(url2) { const match = /^([-+\w]{1,25}):(?:\/\/)?/.exec(url2); - return match && match[1] || ""; + return match && match[1].toLowerCase() || ""; } // node_modules/axios/lib/helpers/fromDataURI.js -var DATA_URL_PATTERN = /^([^,;/]+\/[^,;/]+)?((?:;[^,;=]+=[^,;]+)*)(;base64)?,([\s\S]*)$/; +var DATA_URL_PATTERN = /^([^,;/]+\/[^,;/]+)?((?:;[^,;=]+=[^,;]+)*)(;base64)?,([\s\S]*)$/i; function fromDataURI(uri, asBlob, options) { const _Blob = options && options.Blob || platform_default.classes.Blob; const protocol = parseProtocol(uri); @@ -42489,7 +42821,10 @@ function fromDataURI(uri, asBlob, options) { } else if (params) { mime = "text/plain" + params; } - const buffer = encoding === "base64" ? Buffer.from(body, "base64") : Buffer.from(decodeURIComponent(body), encoding); + const buffer = encoding === "base64" ? Buffer.from( + body.replace(/%([\da-f]{2})/gi, (_, hex) => String.fromCharCode(parseInt(hex, 16))), + "base64" + ) : Buffer.from(decodeURIComponent(body), encoding); if (asBlob) { if (!_Blob) { throw new AxiosError_default("Blob is not supported", AxiosError_default.ERR_NOT_SUPPORT); @@ -42520,7 +42855,7 @@ function setFormDataHeaders(headers, formHeaders, policy) { // node_modules/axios/lib/helpers/AxiosTransformStream.js var import_stream = __toESM(require("stream"), 1); -var kInternals = /* @__PURE__ */ Symbol("internals"); +var kInternals = Symbol("internals"); var AxiosTransformStream = class extends import_stream.default.Transform { constructor(options) { options = utils_default.toFlatObject( @@ -42575,7 +42910,10 @@ var AxiosTransformStream = class extends import_stream.default.Transform { const timeWindow = internals.timeWindow; const divider = 1e3 / timeWindow; const bytesThreshold = maxRate / divider; - const minChunkSize = internals.minChunkSize !== false ? Math.max(internals.minChunkSize, bytesThreshold * 0.01) : 0; + let minChunkSize = internals.minChunkSize !== false ? Math.max(internals.minChunkSize, bytesThreshold * 0.01) : 0; + if (maxRate) { + minChunkSize = Math.min(bytesThreshold, minChunkSize); + } const pushChunk = (_chunk, _callback) => { const bytes = Buffer.byteLength(_chunk); internals.bytesSeen += bytes; @@ -42591,6 +42929,9 @@ var AxiosTransformStream = class extends import_stream.default.Transform { } }; const transformChunk = (_chunk, _callback) => { + if (this.destroyed) { + return _callback(); + } const chunkSize = Buffer.byteLength(_chunk); let chunkRemainder = null; let maxChunkSize = readableHighWaterMark; @@ -42613,7 +42954,7 @@ var AxiosTransformStream = class extends import_stream.default.Transform { }, timeWindow - passed); } if (bytesLeft < maxChunkSize) { - maxChunkSize = bytesLeft; + maxChunkSize = Math.max(1, Math.floor(bytesLeft)); } } if (maxChunkSize && chunkSize > maxChunkSize && chunkSize - maxChunkSize > minChunkSize) { @@ -42671,9 +43012,9 @@ var CRLF_BYTES = textEncoder.encode(CRLF); var CRLF_BYTES_COUNT = 2; var FormDataPart = class { constructor(name, value) { - const { escapeName } = this.constructor; + const { escapeName: escapeName2 } = this.constructor; const isStringValue = utils_default.isString(value); - let headers = `Content-Disposition: form-data; name="${escapeName(name)}"${!isStringValue && value.name ? `; filename="${escapeName(value.name)}"` : ""}${CRLF}`; + let headers = `Content-Disposition: form-data; name="${escapeName2(name)}"${!isStringValue && value.name ? `; filename="${escapeName2(value.name)}"` : ""}${CRLF}`; if (isStringValue) { value = textEncoder.encode(String(value).replace(/\r?\n|\r\n?/g, CRLF)); } else { @@ -42834,7 +43175,7 @@ var Http2Sessions = class { timer = null; } stream5.once("close", () => { - if (!--streamsCount) { + if (!--streamsCount && !removed) { timer = setTimeout(() => { timer = null; removeSession(); @@ -42846,6 +43187,7 @@ var Http2Sessions = class { } session.once("close", removeSession); session.once("error", removeSession); + session.once("goaway", removeSession); let entry = [session, options]; authoritySessions ? authoritySessions.push(entry) : authoritySessions = this.sessions[authority] = [entry]; return session; @@ -42869,6 +43211,7 @@ var callbackify = (fn, reducer) => { var callbackify_default = callbackify; // node_modules/axios/lib/helpers/shouldBypassProxy.js +var import_url2 = require("url"); var LOOPBACK_HOSTNAMES = /* @__PURE__ */ new Set(["localhost", "0.0.0.0"]); var trimTrailingDots = (value) => { let end = value.length; @@ -43062,7 +43405,20 @@ var normalizeNoProxyHost = (hostname) => { if (hostname.charAt(0) === "[" && hostname.charAt(hostname.length - 1) === "]") { hostname = hostname.slice(1, -1); } - const trimmed = trimTrailingDots(hostname); + let trimmed = trimTrailingDots(hostname); + if (trimmed.indexOf(":") !== -1) { + try { + trimmed = new URL("http://[" + trimmed + "]/").hostname.slice(1, -1); + } catch (_err) { + return trimmed; + } + } else if (/[\u0080-\uffff]/.test(trimmed)) { + const prefix = /^[*.]+/.exec(trimmed); + const start = prefix ? prefix[0] : ""; + const ascii = (0, import_url2.domainToASCII)(trimmed.slice(start.length)); + if (!ascii) return ""; + trimmed = start + trimTrailingDots(ascii); + } const ipv4 = normalizeIPAddress(trimmed); if (ipv4 !== trimmed) { return ipv4; @@ -43333,6 +43689,26 @@ var estimateBase64BufferAllocation = (body) => { } return Math.floor((len - padding) * 3 / 4); }; +var estimatePercentDecodedBase64BufferAllocation = (body) => { + if (body.indexOf("%") === -1) { + return estimateBase64BufferAllocation(body); + } + let length = 0; + let previous = 0; + let last = 0; + for (let i = 0, len = body.length; i < len; i++) { + let code = body.charCodeAt(i); + if (code === 37 && isPercentEncodedByte(body, i, len)) { + code = hexValue(body.charCodeAt(i + 1)) * 16 + hexValue(body.charCodeAt(i + 2)); + i += 2; + } + length++; + previous = last; + last = code; + } + const padding = last === 61 ? previous === 61 ? 2 : 1 : 0; + return Math.floor((length - padding) * 3 / 4); +}; var estimatePercentDecodedBase64Bytes = (body) => { const len = body.length; let significant = 0; @@ -43362,14 +43738,14 @@ var estimatePercentDecodedBase64Bytes = (body) => { } return base64Bytes(significant); }; -var estimateDataURLBytes = (url2, estimateBase64) => { +var estimateDataURLBytes = (url2, estimateBase64, base64Pattern) => { if (!url2 || typeof url2 !== "string") return 0; - if (!url2.startsWith("data:")) return 0; + if (!/^data:/i.test(url2)) return 0; const comma = url2.indexOf(","); if (comma < 0) return 0; const meta = url2.slice(5, comma); const body = url2.slice(comma + 1); - const isBase64 = /;base64/i.test(meta); + const isBase64 = base64Pattern.test(meta); if (isBase64) { return estimateBase64(body); } @@ -43401,11 +43777,12 @@ function estimateDataURLDecodedBytes(url2) { const fragmentIndex = typeof url2 === "string" ? url2.indexOf("#") : -1; return estimateDataURLBytes( fragmentIndex === -1 ? url2 : url2.slice(0, fragmentIndex), - estimatePercentDecodedBase64Bytes + estimatePercentDecodedBase64Bytes, + /; *base64[\t\n\f\r ]*$/i ); } function estimateDataURLBufferAllocation(url2) { - return estimateDataURLBytes(url2, estimateBase64BufferAllocation); + return estimateDataURLBytes(url2, estimatePercentDecodedBase64BufferAllocation, /;base64$/i); } // node_modules/axios/lib/adapters/http.js @@ -43428,17 +43805,29 @@ var ACCEPT_ENCODING_WITH_ZSTD = ACCEPT_ENCODING + (isZstdSupported ? ", zstd" : var scheduleProgress = typeof process !== "undefined" && process.nextTick ? process.nextTick.bind(process) : utils_default.asap; var { http: httpFollow, https: httpsFollow } = import_follow_redirects.default; var isHttps = /https:?/; -var kAxiosSocketListener = /* @__PURE__ */ Symbol("axios.http.socketListener"); -var kAxiosCurrentReq = /* @__PURE__ */ Symbol("axios.http.currentReq"); +var kAxiosSocketListener = Symbol("axios.http.socketListener"); +var kAxiosCurrentReq = Symbol("axios.http.currentReq"); function handleSocketError(err) { const current = this[kAxiosCurrentReq]; if (current && !current.destroyed) { current.destroy(err); } } -var kAxiosInstalledTunnel = /* @__PURE__ */ Symbol("axios.http.installedTunnel"); +var kAxiosInstalledTunnel = Symbol("axios.http.installedTunnel"); var tunnelingAgentCache = /* @__PURE__ */ new Map(); var tunnelingAgentCacheUser = /* @__PURE__ */ new WeakMap(); +var directAgents = /* @__PURE__ */ new WeakMap(); +var directAgentHooks = ["createConnection", "getName"]; +var nativeAgentPoolHooks = [ + "addRequest", + "createSocket", + "removeSocket", + "keepSocketAlive", + "reuseSocket", + "_getSession", + "_cacheSession", + "_evictSession" +]; var NODE_NATIVE_ENV_PROXY_SUPPORT = { 22: 21, 24: 5 @@ -43468,6 +43857,49 @@ function isNodeEnvProxyEnabled(agent, nodeVersion = process.versions && process. function getProxyEnvAgent(options, configHttpAgent, configHttpsAgent) { return isHttps.test(options.protocol) ? configHttpsAgent || import_https.default.globalAgent : configHttpAgent || import_http.default.globalAgent; } +function getDirectAgent(configuredAgent, transport) { + if (!process.allowedNodeEnvironmentFlags || !process.allowedNodeEnvironmentFlags.has("--use-env-proxy")) { + return configuredAgent; + } + const agent = configuredAgent || transport.globalAgent; + const options = agent && agent.options; + if (!(agent instanceof transport.Agent) || agent.protocol !== transport.globalAgent.protocol || !options || !utils_default.hasOwnProp(options, "proxyEnv") || typeof options.proxyEnv !== "object" || options.proxyEnv === null) { + return configuredAgent; + } + for (const hook2 of nativeAgentPoolHooks) { + if (utils_default.isFunction(transport.Agent.prototype[hook2]) && agent[hook2] !== transport.Agent.prototype[hook2]) { + throw new AxiosError_default( + "proxy: false cannot adapt an agent overriding " + hook2 + "; use an agent constructed without proxyEnv", + AxiosError_default.ERR_BAD_OPTION_VALUE + ); + } + } + let direct = directAgents.get(agent); + if (!direct) { + direct = new transport.Agent({ ...options, proxyEnv: void 0 }); + const destroy = agent.destroy; + agent.destroy = function destroyWithDirectAgent() { + try { + return destroy.apply(this, arguments); + } finally { + direct.destroy(); + } + }; + directAgents.set(agent, direct); + } + for (const hook2 of directAgentHooks) { + direct[hook2] = agent[hook2] === transport.Agent.prototype[hook2] ? transport.Agent.prototype[hook2] : bind2(agent[hook2], agent); + } + return direct; +} +function setDirectAgent(options, configHttpAgent, configHttpsAgent) { + const secure = isHttps.test(options.protocol); + const agent = getDirectAgent(secure ? configHttpsAgent : configHttpAgent, secure ? import_https.default : import_http.default); + options.agent = agent; + if (options.agents) { + options.agents[secure ? "https" : "http"] = agent; + } +} function getTunnelingAgent(agentOptions, userHttpsAgent) { const key = agentOptions.protocol + "//" + agentOptions.hostname + ":" + (agentOptions.port || "") + "#" + (agentOptions.auth || ""); const cache = userHttpsAgent ? tunnelingAgentCacheUser.get(userHttpsAgent) || tunnelingAgentCacheUser.set(userHttpsAgent, /* @__PURE__ */ new Map()).get(userHttpsAgent) : tunnelingAgentCache; @@ -43475,13 +43907,12 @@ function getTunnelingAgent(agentOptions, userHttpsAgent) { if (agent) return agent; const merged = userHttpsAgent && userHttpsAgent.options ? { ...userHttpsAgent.options, ...agentOptions } : agentOptions; agent = new import_https_proxy_agent.default(merged); - if (userHttpsAgent && userHttpsAgent.options) { - const originTLSOptions = { ...userHttpsAgent.options }; - const callback = agent.callback; - agent.callback = function axiosTunnelingAgentCallback(req, opts) { - return callback.call(this, req, { ...originTLSOptions, ...opts }); - }; - } + const callback = agent.callback; + agent.callback = function axiosTunnelingAgentCallback(req, opts) { + const originTLSAgent = userHttpsAgent || import_https.default.globalAgent; + const originTLSOptions = originTLSAgent && originTLSAgent.options; + return callback.call(this, req, { ...originTLSOptions, ...opts }); + }; agent[kAxiosInstalledTunnel] = true; cache.set(key, agent); return agent; @@ -43505,6 +43936,10 @@ var flushOnFinish = (stream5, [throttled, flush]) => { }; var http2Sessions = new Http2Sessions_default(); function dispatchBeforeRedirect(options, responseDetails, requestDetails) { + if (!isSameOriginRedirect(options, requestDetails)) { + stripMatchingHeaders(options.headers, /* @__PURE__ */ new Set(["authorization", "cookie"])); + delete options.auth; + } if (options.beforeRedirects.proxy) { options.beforeRedirects.proxy(options); } @@ -43514,6 +43949,9 @@ function dispatchBeforeRedirect(options, responseDetails, requestDetails) { if (options.beforeRedirects.sensitiveHeaders) { options.beforeRedirects.sensitiveHeaders(options, requestDetails); } + if (options.beforeRedirects.direct) { + options.beforeRedirects.direct(options); + } if (options.beforeRedirects.config) { options.beforeRedirects.config(options, responseDetails, requestDetails); } @@ -43559,6 +43997,9 @@ function setProxy(options, configProxy, location, isRedirect, configHttpsAgent, if (isRedirect && options.agent && options.agent[kAxiosInstalledTunnel]) { options.agent = void 0; } + if (isRedirect && options.agents && options.agents.https && options.agents.https[kAxiosInstalledTunnel]) { + options.agents.https = configHttpsAgent; + } if (proxy) { const isProxyURL = proxy instanceof URL; const readProxyField = (key) => isProxyURL || utils_default.hasOwnProp(proxy, key) ? proxy[key] : void 0; @@ -43739,9 +44180,9 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config) { if (httpVersion === void 0) httpVersion = 1; const rawHttpVersion = httpVersion; let http2Options = own2("http2Options"); + const configProxy = own2("proxy"); const httpAgent = own2("httpAgent"); const httpsAgent = own2("httpsAgent"); - const configProxy = own2("proxy"); const responseType = own2("responseType"); const responseEncoding = own2("responseEncoding"); const socketPath = own2("socketPath"); @@ -43880,6 +44321,15 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config) { } catch (err) { throw AxiosError_default.from(err, AxiosError_default.ERR_BAD_REQUEST, config); } + if (maxContentLength > -1 && (responseType === "blob" ? convertedData.size : convertedData.length) > maxContentLength) { + return reject( + new AxiosError_default( + "maxContentLength size of " + maxContentLength + " exceeded", + AxiosError_default.ERR_BAD_RESPONSE, + config + ) + ); + } if (responseType === "text") { convertedData = convertedData.toString(responseEncoding); if (!responseEncoding || responseEncoding === "utf8") { @@ -44082,9 +44532,13 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config) { } let transport; let isNativeTransport = false; - let transportEnforcesMaxBodyLength = false; const isHttpsRequest = isHttps.test(options.protocol); - if (options.agent == null) { + if (!isHttp2 && configProxy === false) { + setDirectAgent(options, httpAgent, httpsAgent); + options.beforeRedirects.direct = (redirectOptions) => { + setDirectAgent(redirectOptions, httpAgent, httpsAgent); + }; + } else if (options.agent == null) { options.agent = isHttpsRequest ? httpsAgent : httpAgent; } if (isHttp2) { @@ -44106,7 +44560,6 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config) { transport = isHttpsRequest ? import_https.default : import_http.default; isNativeTransport = true; } else { - transportEnforcesMaxBodyLength = true; options.sensitiveHeaders = []; if (maxRedirects) { options.maxRedirects = maxRedirects; @@ -44392,7 +44845,7 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config) { } }); let uploadStream = data; - if (maxBodyLength > -1 && !transportEnforcesMaxBodyLength) { + if (maxBodyLength > -1) { const limit = maxBodyLength; let bytesSent = 0; uploadStream = import_stream4.default.pipeline( @@ -44429,16 +44882,14 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config) { }); }; -// node_modules/axios/lib/helpers/isURLSameOrigin.js -var isURLSameOrigin_default = platform_default.hasStandardBrowserEnv ? /* @__PURE__ */ ((origin2, isMSIE) => (url2) => { - url2 = new URL(url2, platform_default.origin); - return origin2.protocol === url2.protocol && origin2.host === url2.host && (isMSIE || origin2.port === url2.port); -})( - new URL(platform_default.origin), - platform_default.navigator && /(msie|trident)/i.test(platform_default.navigator.userAgent) -) : () => true; - // node_modules/axios/lib/helpers/cookies.js +var decodeCookieValue = (value) => { + try { + return decodeURIComponent(value); + } catch (e) { + return value; + } +}; var cookies_default = platform_default.hasStandardBrowserEnv ? ( // Standard browser envs support document.cookie { @@ -44464,20 +44915,29 @@ var cookies_default = platform_default.hasStandardBrowserEnv ? ( }, read(name) { if (typeof document === "undefined") return null; - const cookies = document.cookie.split(";"); + const cookieString = document.cookie; + if (!cookieString) return null; + const cookies = cookieString.split(";"); for (let i = 0; i < cookies.length; i++) { const cookie = cookies[i].replace(/^\s+/, ""); const eq = cookie.indexOf("="); if (eq !== -1 && cookie.slice(0, eq) === name) { - try { - return decodeURIComponent(cookie.slice(eq + 1)); - } catch (e) { - return cookie.slice(eq + 1); - } + return decodeCookieValue(cookie.slice(eq + 1)); } } return null; }, + async readAsync(name) { + try { + const store = typeof window !== "undefined" && window.cookieStore; + if (store && utils_default.isFunction(store.get)) { + const cookie = await store.get(name); + return cookie ? decodeCookieValue(cookie.value) : null; + } + } catch (e) { + } + return this.read(name); + }, remove(name) { this.write(name, "", Date.now() - 864e5, "/"); } @@ -44490,130 +44950,224 @@ var cookies_default = platform_default.hasStandardBrowserEnv ? ( read() { return null; }, + async readAsync() { + return null; + }, remove() { } } ); +// node_modules/axios/lib/helpers/isURLSameOrigin.js +var isURLSameOrigin_default = platform_default.hasStandardBrowserEnv ? /* @__PURE__ */ ((origin2) => (url2) => { + url2 = new URL(url2, document.baseURI || platform_default.origin); + return origin2.protocol === url2.protocol && origin2.host === url2.host && origin2.port === url2.port; +})(new URL(platform_default.origin)) : () => true; + +// node_modules/axios/lib/core/assertParamsAcyclic.js +function assertParamsAcyclic(params) { + const pending = [{ value: params }]; + const active = /* @__PURE__ */ new WeakSet(); + const visited = /* @__PURE__ */ new WeakSet(); + while (pending.length) { + const { value, done } = pending.pop(); + if (!utils_default.isPlainObject(value) && !utils_default.isArray(value)) continue; + if (done) { + active.delete(value); + continue; + } + if (active.has(value)) { + throw new AxiosError_default( + "Circular reference detected in params", + AxiosError_default.ERR_BAD_OPTION_VALUE + ); + } + if (visited.has(value)) continue; + visited.add(value); + active.add(value); + pending.push({ value, done: true }); + const keys = Object.keys(value); + if (Object.getOwnPropertySymbols && Object.getOwnPropertyDescriptor) { + Object.getOwnPropertySymbols(value).forEach((key) => { + const descriptor = Object.getOwnPropertyDescriptor(value, key); + if (descriptor && descriptor.enumerable) keys.push(key); + }); + } + keys.forEach((key) => { + if (key === "__proto__" || key === "constructor" || key === "prototype") { + const descriptor = Object.getOwnPropertyDescriptor(value, key); + if (descriptor && utils_default.hasOwnProp(descriptor, "value")) { + pending.push({ value: descriptor.value }); + } + } else { + pending.push({ value: value[key] }); + } + }); + } +} + // node_modules/axios/lib/core/mergeConfig.js var headersToObject = (thing) => thing instanceof AxiosHeaders_default ? { ...thing } : thing; var ownEnumerableKeys = (thing) => { if (Object.getOwnPropertySymbols && Object.getOwnPropertyDescriptor) { return Object.keys(thing).concat( - Object.getOwnPropertySymbols(thing).filter( - (symbol) => Object.getOwnPropertyDescriptor(thing, symbol).enumerable - ) + Object.getOwnPropertySymbols(thing).filter((symbol) => { + const descriptor = Object.getOwnPropertyDescriptor(thing, symbol); + return descriptor && descriptor.enumerable; + }) ); } return Object.keys(thing); }; -function mergeConfig(config1, config2) { - config1 = config1 || {}; - config2 = config2 || {}; - const config = /* @__PURE__ */ Object.create(null); - Object.defineProperty(config, "hasOwnProperty", { - // Null-proto descriptor so a polluted Object.prototype.get cannot turn - // this data descriptor into an accessor descriptor on the way in. - __proto__: null, - value: Object.prototype.hasOwnProperty, - enumerable: false, - writable: true, - configurable: true - }); - function getMergedValue(target, source, prop, caseless) { - if (utils_default.isPlainObject(target) && utils_default.isPlainObject(source)) { - return utils_default.merge.call({ caseless }, target, source); - } else if (utils_default.isPlainObject(source)) { - return utils_default.merge({}, source); - } else if (utils_default.isArray(source)) { - return source.slice(); - } - return source; +function mergeParams(a, b) { + const pending = []; + const copies = /* @__PURE__ */ new WeakMap(); + const empty = {}; + function copy(target, source) { + if (!utils_default.isPlainObject(source)) { + return utils_default.isArray(source) ? source.slice() : source; + } + const base = utils_default.isPlainObject(target) ? target : empty; + let bases = copies.get(source); + if (!bases) { + bases = /* @__PURE__ */ new WeakMap(); + copies.set(source, bases); + } + if (bases.has(base)) return bases.get(base); + const result2 = {}; + bases.set(base, result2); + pending.push({ base, source, result: result2 }); + return result2; + } + const result = utils_default.isUndefined(b) ? copy(void 0, a) : copy(a, b); + while (pending.length) { + const { base, source, result: target } = pending.pop(); + const baseKeys = new Set(ownEnumerableKeys(base)); + const sourceKeys = new Set(ownEnumerableKeys(source)); + const keys = /* @__PURE__ */ new Set([...baseKeys, ...sourceKeys]); + keys.forEach((key) => { + if (key === "__proto__" || key === "constructor" || key === "prototype") return; + const hasSource = sourceKeys.has(key); + const value = hasSource ? source[key] : void 0; + const previous = (!hasSource || utils_default.isPlainObject(value)) && baseKeys.has(key) ? base[key] : void 0; + target[key] = hasSource ? copy(previous, value) : copy(void 0, previous); + }); } - function mergeDeepProperties(a, b, prop, caseless) { - if (!utils_default.isUndefined(b)) { - return getMergedValue(a, b, prop, caseless); - } else if (!utils_default.isUndefined(a)) { - return getMergedValue(void 0, a, prop, caseless); - } + assertParamsAcyclic(result); + return result; +} +function getMergedValue(target, source, prop, caseless) { + if (utils_default.isPlainObject(target) && utils_default.isPlainObject(source)) { + return utils_default.merge.call({ caseless }, target, source); + } else if (utils_default.isPlainObject(source)) { + return utils_default.merge({}, source); + } else if (utils_default.isArray(source)) { + return source.slice(); + } + return source; +} +function mergeDeepProperties(a, b, prop, caseless) { + if (!utils_default.isUndefined(b)) { + return getMergedValue(a, b, prop, caseless); + } else if (!utils_default.isUndefined(a)) { + return getMergedValue(void 0, a, prop, caseless); } - function valueFromConfig2(a, b) { - if (!utils_default.isUndefined(b)) { - return getMergedValue(void 0, b); - } +} +function valueFromConfig2(a, b) { + if (!utils_default.isUndefined(b)) { + return getMergedValue(void 0, b); } - function defaultToConfig2(a, b) { - if (!utils_default.isUndefined(b)) { - return getMergedValue(void 0, b); - } else if (!utils_default.isUndefined(a)) { - return getMergedValue(void 0, a); - } +} +function defaultToConfig2(a, b) { + if (!utils_default.isUndefined(b)) { + return getMergedValue(void 0, b); + } else if (!utils_default.isUndefined(a)) { + return getMergedValue(void 0, a); } - function getMergedTransitionalOption(prop) { - const transitional2 = utils_default.hasOwnProp(config2, "transitional") ? config2.transitional : void 0; - if (!utils_default.isUndefined(transitional2)) { - if (utils_default.isPlainObject(transitional2)) { - if (utils_default.hasOwnProp(transitional2, prop)) { - return transitional2[prop]; - } - } else { - return void 0; +} +function getMergedTransitionalOption(config1, config2, prop) { + const transitional2 = utils_default.hasOwnProp(config2, "transitional") ? config2.transitional : void 0; + if (!utils_default.isUndefined(transitional2)) { + if (utils_default.isPlainObject(transitional2)) { + if (utils_default.hasOwnProp(transitional2, prop)) { + return transitional2[prop]; } + } else { + return void 0; } - const transitional1 = utils_default.hasOwnProp(config1, "transitional") ? config1.transitional : void 0; - if (utils_default.isPlainObject(transitional1) && utils_default.hasOwnProp(transitional1, prop)) { - return transitional1[prop]; - } - return void 0; } - function mergeDirectKeys(a, b, prop) { - if (utils_default.hasOwnProp(config2, prop)) { - return getMergedValue(a, b); - } else if (utils_default.hasOwnProp(config1, prop)) { - return getMergedValue(void 0, a); - } - } - const mergeMap = { - url: valueFromConfig2, - method: valueFromConfig2, - data: valueFromConfig2, - baseURL: defaultToConfig2, - transformRequest: defaultToConfig2, - transformResponse: defaultToConfig2, - paramsSerializer: defaultToConfig2, - timeout: defaultToConfig2, - timeoutErrorMessage: defaultToConfig2, - withCredentials: defaultToConfig2, - withXSRFToken: defaultToConfig2, - adapter: defaultToConfig2, - responseType: defaultToConfig2, - xsrfCookieName: defaultToConfig2, - xsrfHeaderName: defaultToConfig2, - onUploadProgress: defaultToConfig2, - onDownloadProgress: defaultToConfig2, - decompress: defaultToConfig2, - maxContentLength: defaultToConfig2, - maxBodyLength: defaultToConfig2, - beforeRedirect: defaultToConfig2, - transport: defaultToConfig2, - httpAgent: defaultToConfig2, - httpsAgent: defaultToConfig2, - cancelToken: defaultToConfig2, - socketPath: defaultToConfig2, - allowedSocketPaths: defaultToConfig2, - responseEncoding: defaultToConfig2, - validateStatus: mergeDirectKeys, - headers: (a, b, prop) => mergeDeepProperties(headersToObject(a), headersToObject(b), prop, true) - }; - utils_default.forEach(ownEnumerableKeys({ ...config1, ...config2 }), function computeConfigValue(prop) { - if (prop === "__proto__" || prop === "constructor" || prop === "prototype") return; + const transitional1 = utils_default.hasOwnProp(config1, "transitional") ? config1.transitional : void 0; + if (utils_default.isPlainObject(transitional1) && utils_default.hasOwnProp(transitional1, prop)) { + return transitional1[prop]; + } + return void 0; +} +function mergeDirectKeys(a, b, prop, config1, config2) { + if (utils_default.hasOwnProp(config2, prop)) { + return getMergedValue(a, b); + } else if (utils_default.hasOwnProp(config1, prop)) { + return getMergedValue(void 0, a); + } +} +function mergeHeaders(a, b, prop) { + return mergeDeepProperties(headersToObject(a), headersToObject(b), prop, true); +} +var hasOwnPropertyDescriptor = Object.freeze({ + __proto__: null, + value: Object.prototype.hasOwnProperty, + enumerable: false, + writable: true, + configurable: true +}); +var mergeMap = { + url: valueFromConfig2, + method: valueFromConfig2, + data: valueFromConfig2, + baseURL: defaultToConfig2, + transformRequest: defaultToConfig2, + transformResponse: defaultToConfig2, + params: mergeParams, + paramsSerializer: defaultToConfig2, + timeout: defaultToConfig2, + timeoutErrorMessage: defaultToConfig2, + withCredentials: defaultToConfig2, + withXSRFToken: defaultToConfig2, + adapter: defaultToConfig2, + responseType: defaultToConfig2, + xsrfCookieName: defaultToConfig2, + xsrfHeaderName: defaultToConfig2, + onUploadProgress: defaultToConfig2, + onDownloadProgress: defaultToConfig2, + decompress: defaultToConfig2, + maxContentLength: defaultToConfig2, + maxBodyLength: defaultToConfig2, + beforeRedirect: defaultToConfig2, + transport: defaultToConfig2, + httpAgent: defaultToConfig2, + httpsAgent: defaultToConfig2, + cancelToken: defaultToConfig2, + socketPath: defaultToConfig2, + allowedSocketPaths: defaultToConfig2, + responseEncoding: defaultToConfig2, + validateStatus: mergeDirectKeys, + headers: mergeHeaders +}; +function mergeConfig(config1, config2) { + config1 = config1 || {}; + config2 = config2 || {}; + const config = /* @__PURE__ */ Object.create(null); + Object.defineProperty(config, "hasOwnProperty", hasOwnPropertyDescriptor); + const keys = ownEnumerableKeys({ ...config1, ...config2 }); + for (let i = 0, len = keys.length; i < len; i++) { + const prop = keys[i]; + if (prop === "__proto__" || prop === "constructor" || prop === "prototype") continue; const merge3 = utils_default.hasOwnProp(mergeMap, prop) ? mergeMap[prop] : mergeDeepProperties; const a = utils_default.hasOwnProp(config1, prop) ? config1[prop] : void 0; const b = utils_default.hasOwnProp(config2, prop) ? config2[prop] : void 0; - const configValue = merge3(a, b, prop); + const configValue = merge3 === mergeDirectKeys ? merge3(a, b, prop, config1, config2) : merge3(a, b, prop); utils_default.isUndefined(configValue) && merge3 !== mergeDirectKeys || (config[prop] = configValue); - }); - if (utils_default.hasOwnProp(config2, "validateStatus") && utils_default.isUndefined(config2.validateStatus) && getMergedTransitionalOption("validateStatusUndefinedResolves") === false) { + } + if (utils_default.hasOwnProp(config2, "validateStatus") && utils_default.isUndefined(config2.validateStatus) && getMergedTransitionalOption(config1, config2, "validateStatusUndefinedResolves") === false) { if (utils_default.hasOwnProp(config1, "validateStatus")) { config.validateStatus = getMergedValue(void 0, config1.validateStatus); } else { @@ -44628,7 +45182,8 @@ var encodeUTF8 = (str) => encodeURIComponent(str).replace( /%([0-9A-F]{2})/gi, (_, hex) => String.fromCharCode(parseInt(hex, 16)) ); -function resolveConfig(config) { +var readCookie = (name) => cookies_default.read(name); +function resolveConfig(config, readXsrfCookie = readCookie) { const newConfig = mergeConfig({}, config); const own2 = (key) => utils_default.hasOwnProp(newConfig, key) ? newConfig[key] : void 0; const data = own2("data"); @@ -44649,10 +45204,15 @@ function resolveConfig(config) { if (auth2) { const username = utils_default.getSafeProp(auth2, "username") || ""; const password = utils_default.getSafeProp(auth2, "password") || ""; + const transitional2 = own2("transitional"); + const encodeUsername = transitional2 && utils_default.hasOwnProp(transitional2, "encodeBasicAuthUsername") && transitional2.encodeBasicAuthUsername === true; try { headers.set( "Authorization", - "Basic " + btoa(username + ":" + (password ? encodeUTF8(password) : "")) + // Preserve legacy username bytes unless the caller opts in to UTF-8. + "Basic " + btoa( + (encodeUsername ? encodeUTF8(username) : username) + ":" + (password ? encodeUTF8(password) : "") + ) ); } catch (e) { throw AxiosError_default.from(e, AxiosError_default.ERR_BAD_OPTION_VALUE, config); @@ -44672,7 +45232,7 @@ function resolveConfig(config) { } const shouldSendXSRF = withXSRFToken === true || withXSRFToken == null && isURLSameOrigin_default(newConfig.url); if (shouldSendXSRF) { - const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies_default.read(xsrfCookieName); + const xsrfValue = xsrfHeaderName && xsrfCookieName && readXsrfCookie(xsrfCookieName); if (xsrfValue) { headers.set(xsrfHeaderName, xsrfValue); } @@ -44686,16 +45246,50 @@ var resolveConfig_default = resolveConfig; var isXHRAdapterSupported = typeof XMLHttpRequest !== "undefined"; var xhr_default = isXHRAdapterSupported && function(config) { return new Promise(function dispatchXhrRequest(resolve2, reject) { - const _config = resolveConfig_default(config); + let useAsyncXsrf; + try { + const store = platform_default.hasStandardBrowserEnv && typeof window !== "undefined" && window.cookieStore; + useAsyncXsrf = store && utils_default.isFunction(store.get); + } catch (e) { + } + let xsrfCookieName; + const _config = resolveConfig_default( + config, + useAsyncXsrf ? (name) => { + xsrfCookieName = name; + return null; + } : void 0 + ); let requestData = _config.data; const requestHeaders = AxiosHeaders_default.from(_config.headers).normalize(); let { responseType, onUploadProgress, onDownloadProgress } = _config; let onCanceled; + let timeoutId; let uploadThrottled, downloadThrottled; let flushUpload, flushDownload, flushDownloadWithEvent; function done() { - flushUpload && flushUpload(); - flushDownload && flushDownload(); + clearTimeout(timeoutId); + try { + flushUpload && flushUpload(); + } catch (err) { + setTimeout(() => { + throw err; + }); + } + try { + flushDownload && flushDownload(); + } catch (err) { + setTimeout(() => { + throw err; + }); + } + if (request2) { + downloadThrottled && request2.removeEventListener("progress", downloadThrottled); + if (request2.upload) { + uploadThrottled && request2.upload.removeEventListener("progress", uploadThrottled); + flushUpload && request2.upload.removeEventListener("loadend", flushUpload); + } + } _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled); _config.signal && _config.signal.removeEventListener("abort", onCanceled); } @@ -44781,6 +45375,7 @@ var xhr_default = isXHRAdapterSupported && function(config) { request2 = null; }; request2.ontimeout = function handleTimeout() { + if (!request2) return; let timeoutErrorMessage = _config.timeout ? "timeout of " + _config.timeout + "ms exceeded" : "timeout exceeded"; const transitional2 = _config.transitional || transitional_default; if (_config.timeoutErrorMessage) { @@ -44798,11 +45393,6 @@ var xhr_default = isXHRAdapterSupported && function(config) { request2 = null; }; requestData === void 0 && requestHeaders.setContentType(null); - if ("setRequestHeader" in request2) { - utils_default.forEach(toByteStringHeaderObject(requestHeaders), function setRequestHeader(val, key) { - request2.setRequestHeader(key, val); - }); - } if (!utils_default.isUndefined(_config.withCredentials)) { request2.withCredentials = !!_config.withCredentials; } @@ -44827,15 +45417,18 @@ var xhr_default = isXHRAdapterSupported && function(config) { return; } reject(!cancel || cancel.type ? new CanceledError_default(null, config, request2) : cancel); - request2.abort(); + const xhr = request2; done(); request2 = null; + xhr.abort(); }; _config.cancelToken && _config.cancelToken.subscribe(onCanceled); + if (!request2) return; if (_config.signal) { _config.signal.aborted ? onCanceled() : _config.signal.addEventListener("abort", onCanceled); } } + if (!request2) return; const protocol = parseProtocol(_config.url); if (protocol && !platform_default.protocols.includes(protocol)) { reject( @@ -44848,7 +45441,58 @@ var xhr_default = isXHRAdapterSupported && function(config) { done(); return; } - request2.send(requestData || null); + const sendRequest = () => { + if (!request2) return; + if ("setRequestHeader" in request2) { + utils_default.forEach( + toByteStringHeaderObject(requestHeaders), + function setRequestHeader(val, key) { + request2.setRequestHeader(key, val); + } + ); + } + request2.send(requestData || null); + }; + if (xsrfCookieName) { + const now = typeof performance !== "undefined" && utils_default.isFunction(performance.now) ? () => performance.now() : Date.now; + const deadline = request2.timeout > 0 ? now() + Number(request2.timeout) : void 0; + const abortOnTimeout = () => { + if (!request2) return; + const xhr = request2; + xhr.ontimeout(); + xhr.abort(); + }; + if (deadline !== void 0) { + const scheduleTimeout = () => { + const remaining = deadline - now(); + if (remaining > 0) { + timeoutId = setTimeout(scheduleTimeout, Math.min(remaining, 2147483647)); + } else { + abortOnTimeout(); + } + }; + scheduleTimeout(); + } + cookies_default.readAsync(xsrfCookieName).then((value) => { + if (!request2) return; + if (deadline !== void 0 && now() >= deadline) { + abortOnTimeout(); + return; + } + if (value) { + const headerName = utils_default.hasOwnProp(_config, "xsrfHeaderName") && _config.xsrfHeaderName; + requestHeaders.set(headerName, value); + } + sendRequest(); + }).catch((error2) => { + if (!request2) return; + reject(AxiosError_default.from(error2, null, config, request2)); + done(); + request2 = null; + }); + } else { + sendRequest(); + } }); }; @@ -44881,7 +45525,8 @@ var composeSignals = (signals, timeout) => { timer && clearTimeout(timer); timer = null; signals.forEach((signal2) => { - signal2.unsubscribe ? signal2.unsubscribe(onabort) : signal2.removeEventListener("abort", onabort); + const unsubscribeSignal = utils_default.getSafeProp(signal2, "unsubscribe"); + utils_default.isFunction(unsubscribeSignal) ? unsubscribeSignal.call(signal2, onabort) : signal2.removeEventListener("abort", onabort); }); signals = null; }; @@ -44981,6 +45626,110 @@ var trackStream = (stream5, chunkSize, onProgress, onFinish) => { ); }; +// node_modules/axios/lib/helpers/formDataToBlob.js +var CRLF2 = "\r\n"; +var normalizeLines = (value) => String(value).replace(/\r\n|\r|\n/g, CRLF2); +var escapeName = (value) => String(value).replace( + /[\r\n"]/g, + (char) => char === "\r" ? "%0D" : char === "\n" ? "%0A" : "%22" +); +var stringBytes = (value, normalize) => { + let length = 0; + for (let i = 0; i < value.length; i++) { + const code = value.charCodeAt(i); + if (normalize && (code === 13 || code === 10)) { + if (code === 13 && value.charCodeAt(i + 1) === 10) i++; + length += 2; + } else if (code < 128) { + length++; + } else if (code < 2048) { + length += 2; + } else if (code >= 55296 && code <= 56319 && value.charCodeAt(i + 1) >= 56320 && value.charCodeAt(i + 1) <= 57343) { + length += 4; + i++; + } else { + length += 3; + } + } + return length; +}; +var FormDataError = class extends TypeError { + constructor(message, reason) { + super(message); + this.name = "FormDataError"; + this.reason = reason; + } +}; +function formDataToBlob(form, Blob2, limit, limitError, boundary) { + if (!utils_default.isFunction(Blob2)) { + throw new FormDataError("Blob is not supported", "blob"); + } + if (!utils_default.isString(boundary) || !/^[A-Za-z0-9'()+_,./:=? -]{1,70}$/.test(boundary) || / $/.test(boundary)) { + throw new FormDataError("Invalid multipart boundary", "boundary"); + } + const footer = "--" + boundary + "--" + CRLF2; + let length = footer.length; + const parts = []; + const checkLength = (extra) => { + if (length + extra > limit) throw limitError(); + }; + checkLength(0); + for (const [name, value] of form) { + const isString2 = utils_default.isString(value); + const valueLength = isString2 ? stringBytes(value, true) : value.size; + if (!Number.isFinite(valueLength) || valueLength < 0) { + throw new FormDataError("Unsupported FormData part size", "part"); + } + checkLength( + valueLength + stringBytes(name, true) + (!isString2 && value.name ? stringBytes(value.name, false) : 0) + (!isString2 && value.type ? stringBytes(value.type, false) : 0) + ); + let header = "--" + boundary + CRLF2 + 'Content-Disposition: form-data; name="' + escapeName(normalizeLines(name)) + '"'; + if (!isString2) { + header += '; filename="' + escapeName(utils_default.isString(value.name) ? value.name : "blob") + '"' + CRLF2 + "Content-Type: " + String(value.type || "application/octet-stream").replace(/[\r\n]/g, ""); + } + header += CRLF2 + CRLF2; + const partLength = stringBytes(header, false) + valueLength + CRLF2.length; + checkLength(partLength); + length += partLength; + parts.push({ header, value, isString: isString2 }); + } + const blobParts = []; + for (const part of parts) { + blobParts.push(part.header, part.isString ? normalizeLines(part.value) : part.value, CRLF2); + } + blobParts.push(footer); + return new Blob2(blobParts, { type: "multipart/form-data; boundary=" + boundary }); +} + +// node_modules/axios/lib/core/createMultipartBody.js +function createMultipartBody(form, Blob2, limit, limitError, boundary) { + if (!utils_default.isFunction(Blob2)) { + throw new AxiosError_default("Blob is not supported", AxiosError_default.ERR_NOT_SUPPORT); + } + if (boundary === void 0) { + if (utils_default.isFunction(platform_default.generateString)) { + boundary = "axios-" + platform_default.generateString(36, "0123456789abcdef"); + } else { + const crypto4 = utils_default.global.crypto; + if (!crypto4 || !utils_default.isFunction(crypto4.getRandomValues)) { + throw new AxiosError_default("Random byte generation is not supported", AxiosError_default.ERR_NOT_SUPPORT); + } + const random = new Uint8Array(18); + crypto4.getRandomValues(random); + boundary = "axios-" + Array.from(random, (value) => ("0" + value.toString(16)).slice(-2)).join(""); + } + } + try { + return formDataToBlob(form, Blob2, limit, limitError, boundary); + } catch (error2) { + if (error2 instanceof FormDataError) { + const code = error2.reason === "boundary" ? AxiosError_default.ERR_BAD_OPTION_VALUE : AxiosError_default.ERR_BAD_REQUEST; + throw new AxiosError_default(error2.message, code); + } + throw error2; + } +} + // node_modules/axios/lib/adapters/fetch.js var DEFAULT_CHUNK_SIZE = 64 * 1024; var DEFAULT_REQUEST_OPTIONS = { @@ -45033,11 +45782,13 @@ var factory = (env) => { }, { Request: globalObject.Request, - Response: globalObject.Response + Response: globalObject.Response, + Blob: globalObject.Blob }, env ); - const { fetch: envFetch, Request, Response } = env; + const envFetch = utils_default.hasOwnProp(env, "fetch") ? env.fetch : void 0; + const { Request, Response, Blob: Blob2 } = env; const isFetchSupported = envFetch ? isFunction2(envFetch) : typeof fetch === "function"; const isRequestSupported = isFunction2(Request); const isResponseSupported = isFunction2(Response); @@ -45063,6 +45814,13 @@ var factory = (env) => { return duplexAccessed && !hasContentType; }); const supportsResponseStream = isResponseSupported && isReadableStreamSupported && test(() => utils_default.isReadableStream(new Response("").body)); + const requestDefaults = Object.assign(/* @__PURE__ */ Object.create(null), DEFAULT_REQUEST_OPTIONS); + if (isRequestSupported && !test(() => new Request(platform_default.origin, requestDefaults))) { + delete requestDefaults.cache; + if (!test(() => new Request(platform_default.origin, requestDefaults))) { + requestDefaults.cache = DEFAULT_REQUEST_OPTIONS.cache; + } + } const resolvers = { stream: supportsResponseStream && ((res) => res.body) }; @@ -45088,13 +45846,6 @@ var factory = (env) => { if (utils_default.isBlob(body)) { return body.size; } - if (utils_default.isSpecCompliantForm(body)) { - const _request = new Request(platform_default.origin, { - method: "POST", - body - }); - return (await _request.arrayBuffer()).byteLength; - } if (utils_default.isArrayBufferView(body) || utils_default.isArrayBuffer(body)) { return body.byteLength; } @@ -45142,6 +45893,7 @@ var factory = (env) => { }); let requestContentLength; let pendingBodyError = null; + let pendingResponseError = null; const maxBodyLengthError = () => new AxiosError_default( "Request body larger than maxBodyLength limit", AxiosError_default.ERR_BAD_REQUEST, @@ -45159,8 +45911,9 @@ var factory = (env) => { password }; } + let parsedURL; if (maybeWithAuthCredentials(url2)) { - const parsedURL = new URL(url2, platform_default.origin); + parsedURL = new URL(url2, platform_default.origin); if (!auth2 && (parsedURL.username || parsedURL.password)) { const urlUsername = decodeURIComponentSafe2(parsedURL.username); const urlPassword = decodeURIComponentSafe2(parsedURL.password); @@ -45182,8 +45935,8 @@ var factory = (env) => { "Basic " + btoa(encodeUTF82((auth2.username || "") + ":" + (auth2.password || ""))) ); } - if (hasMaxContentLength && typeof url2 === "string" && url2.startsWith("data:")) { - const estimated = estimateDataURLDecodedBytes(url2); + if (hasMaxContentLength && parsedURL && parsedURL.protocol === "data:") { + const estimated = estimateDataURLDecodedBytes(parsedURL.href); if (estimated > maxContentLength) { throw new AxiosError_default( "maxContentLength size of " + maxContentLength + " exceeded", @@ -45193,6 +45946,23 @@ var factory = (env) => { ); } } + const formContentType = utils_default.isSpecCompliantForm(data) && AxiosHeaders_default.from(own2("headers")).getContentType(); + let formBoundary; + if (utils_default.isString(formContentType) && /^multipart\/form-data(?:\s*;|$)/i.test(formContentType.trim())) { + const parameters = AxiosHeaders_default.parseParameters(formContentType); + if (utils_default.hasOwnProp(parameters, "boundary")) formBoundary = parameters.boundary; + } + if (utils_default.isSpecCompliantForm(data) && method !== "get" && method !== "head" && (hasMaxBodyLength || onUploadProgress && supportsRequestStream || formBoundary !== void 0)) { + data = createMultipartBody( + data, + Blob2, + hasMaxBodyLength ? maxBodyLength : Infinity, + maxBodyLengthError, + formBoundary + ); + headers.setContentType(formBoundary === void 0 ? data.type : formContentType); + requestContentLength = data.size; + } if (hasMaxBodyLength && method !== "get" && method !== "head") { const outboundLength = await getBodyLength(data); if (typeof outboundLength === "number" && isFinite(outboundLength)) { @@ -45273,7 +46043,7 @@ var factory = (env) => { credentials: isCredentialsSupported ? withCredentials : void 0 }); if (isRequestSupported) { - utils_default.forEach(DEFAULT_REQUEST_OPTIONS, (value, key) => { + utils_default.forEach(requestDefaults, (value, key) => { if (resolvedOptions[key] === void 0) { resolvedOptions[key] = value; } @@ -45321,7 +46091,7 @@ var factory = (env) => { if (hasMaxContentLength) { bytesRead = loadedBytes; if (bytesRead > maxContentLength) { - throw new AxiosError_default( + throw pendingResponseError = new AxiosError_default( "maxContentLength size of " + maxContentLength + " exceeded", AxiosError_default.ERR_BAD_RESPONSE, config, @@ -45396,6 +46166,9 @@ var factory = (env) => { request2 && !pendingBodyError.request && (pendingBodyError.request = request2); throw pendingBodyError; } + if (pendingResponseError) { + throw pendingResponseError; + } if (err instanceof AxiosError_default) { request2 && !err.request && (err.request = request2); throw err; @@ -45423,9 +46196,15 @@ var factory = (env) => { }; var seedCache = /* @__PURE__ */ new Map(); var getFetch = (config) => { - let env = config && config.env || {}; - const { fetch: fetch3, Request, Response } = env; - const seeds = [Request, Response, fetch3]; + const env = /* @__PURE__ */ Object.create(null); + const configuredEnv = config && utils_default.hasOwnProp(config, "env") && config.env; + ["fetch", "Request", "Response", "Blob"].forEach((key) => { + if (configuredEnv && utils_default.hasOwnProp(configuredEnv, key)) { + env[key] = configuredEnv[key]; + } + }); + const { fetch: fetch3, Request, Response, Blob: Blob2 } = env; + const seeds = [Request, Response, fetch3, Blob2]; let len = seeds.length, i = len, seed, target, map = seedCache; while (i--) { seed = seeds[i]; @@ -45511,6 +46290,9 @@ function throwIfCancellationRequested(config) { throw new CanceledError_default(null, config); } } +function elapsedSince(start) { + return Math.max(0, Date.now() - start); +} function dispatchRequest(_config) { const config = utils_default.toSafeFlatObject(_config); throwIfCancellationRequested(config); @@ -45520,9 +46302,11 @@ function dispatchRequest(_config) { config.headers.setContentType("application/x-www-form-urlencoded", false); } const adapter2 = adapters_default.getAdapter(config.adapter || defaults_default2.adapter, config); + const start = Date.now(); return adapter2(config).then( function onAdapterResolution(response) { throwIfCancellationRequested(config); + response.duration = elapsedSince(start); config.response = response; try { response.data = transformData.call(config, config.transformResponse, response); @@ -45536,6 +46320,7 @@ function dispatchRequest(_config) { if (!isCancel(reason)) { throwIfCancellationRequested(config); if (reason && reason.response) { + reason.response.duration = elapsedSince(start); config.response = reason.response; try { reason.response.data = transformData.call( @@ -45623,6 +46408,27 @@ var validator_default = { // node_modules/axios/lib/core/Axios.js var validators2 = validator_default.validators; +var isHeadersBucket = (value) => { + if (value == null || utils_default.isPlainObject(value) || value instanceof AxiosHeaders_default) { + return true; + } + try { + return utils_default.isObject(value) && utils_default.getSafeProp(value, Symbol.toStringTag) === "AxiosHeaders" && [ + "toJSON", + "set", + "get", + "has", + "delete", + "clear", + "normalize", + "concat", + "toString", + Symbol.iterator + ].every((method) => utils_default.isFunction(utils_default.getSafeProp(value, method))); + } catch (e) { + return false; + } +}; var Axios = class { constructor(instanceConfig) { this.defaults = instanceConfig || {}; @@ -45658,9 +46464,13 @@ var Axios = class { } else if (stack) { const firstNewlineIndex = stack.indexOf("\n"); const secondNewlineIndex = firstNewlineIndex === -1 ? -1 : stack.indexOf("\n", firstNewlineIndex + 1); - const stackWithoutTwoTopLines = secondNewlineIndex === -1 ? "" : stack.slice(secondNewlineIndex + 1); - if (!String(err.stack).endsWith(stackWithoutTwoTopLines)) { - err.stack += "\n" + stack; + const duplicateCheckSuffix = secondNewlineIndex === -1 ? stack : stack.slice(secondNewlineIndex + 1); + const currentStack = String(err.stack); + const causeIndex = getCauseStackIndex(err, currentStack); + const stackHead = causeIndex === -1 ? currentStack : currentStack.slice(0, causeIndex); + const causeSection = causeIndex === -1 ? "" : currentStack.slice(causeIndex); + if (!stackHead.endsWith(duplicateCheckSuffix)) { + err.stack = stackHead + "\n" + stack + causeSection; } } } catch (e) { @@ -45687,7 +46497,8 @@ var Axios = class { clarifyTimeoutError: validators2.transitional(validators2.boolean), legacyInterceptorReqResOrdering: validators2.transitional(validators2.boolean), advertiseZstdAcceptEncoding: validators2.transitional(validators2.boolean), - validateStatusUndefinedResolves: validators2.transitional(validators2.boolean) + validateStatusUndefinedResolves: validators2.transitional(validators2.boolean), + encodeBasicAuthUsername: validators2.transitional(validators2.boolean) }, false ); @@ -45709,7 +46520,7 @@ var Axios = class { } } if (config.allowAbsoluteUrls !== void 0) { - } else if (this.defaults.allowAbsoluteUrls !== void 0) { + } else if (utils_default.hasOwnProp(this.defaults, "allowAbsoluteUrls") && this.defaults.allowAbsoluteUrls !== void 0) { config.allowAbsoluteUrls = this.defaults.allowAbsoluteUrls; } else { config.allowAbsoluteUrls = true; @@ -45723,9 +46534,16 @@ var Axios = class { true ); config.method = (utils_default.getSafeProp(config, "method") || utils_default.getSafeProp(this.defaults, "method") || "get").toLowerCase(); - let contextHeaders = headers && utils_default.merge(headers.common, headers[config.method]); + const commonHeaders = utils_default.getSafeProp(headers, "common"); + const methodHeaders = utils_default.getSafeProp(headers, config.method); + const contextHeaders = headers && utils_default.merge( + isHeadersBucket(commonHeaders) ? commonHeaders : void 0, + isHeadersBucket(methodHeaders) ? methodHeaders : void 0 + ); headers && utils_default.forEach(methodList_default.concat("common"), (method) => { - delete headers[method]; + if (isHeadersBucket(utils_default.getSafeProp(headers, method))) { + delete headers[method]; + } }); config.headers = AxiosHeaders_default.concat(contextHeaders, headers); const requestInterceptorChain = []; @@ -45807,7 +46625,7 @@ var Axios = class { } }; utils_default.forEach(["delete", "get", "head", "options"], function forEachMethodNoData(method) { - Axios.prototype[method] = function(url2, config) { + Axios.prototype[method] = async function(url2, config) { return this.request( mergeConfig(config || {}, { method, @@ -45819,7 +46637,7 @@ utils_default.forEach(["delete", "get", "head", "options"], function forEachMeth }); utils_default.forEach(["post", "put", "patch", "query"], function forEachMethodWithData(method) { function generateHTTPMethod(isForm) { - return function httpMethod(url2, data, config) { + return async function httpMethod(url2, data, config) { return this.request( mergeConfig(config || {}, { method, @@ -46122,7 +46940,7 @@ async function validateSubscription() { } catch (error2) { if (isAxiosError2(error2) && error2.response?.status === 403) { error( - `\x1B[1;31mThis action requires a StepSecurity subscription for private repositories.\x1B[0m` + "\x1B[1;31mThis action requires a StepSecurity subscription for private repositories.\x1B[0m" ); error( `\x1B[31mLearn how to enable a subscription: ${docsUrl}\x1B[0m` @@ -46144,7 +46962,7 @@ async function run() { } } } -void run(); +run(); /*! Bundled license information: undici/lib/web/fetch/body.js: diff --git a/package-lock.json b/package-lock.json index f851e3a..7b36c91 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,1716 +1,1252 @@ { - "name": "setup-packer", - "version": "4.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "setup-packer", - "version": "4.0.0", - "license": "ISC", - "dependencies": { - "@actions/core": "3.0.1", - "@actions/github": "9.1.1", - "@actions/io": "3.0.2", - "@actions/tool-cache": "4.0.0", - "axios": "^1.20.0" - }, - "devDependencies": { - "@biomejs/biome": "2.5.15", - "@tsconfig/node24": "24.0.5", - "@tsconfig/strictest": "2.0.8", - "@types/node": "26.6.5", - "esbuild": "0.28.2", - "typescript": "7.0.2" - } - }, - "node_modules/@actions/core": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@actions/core/-/core-3.0.1.tgz", - "integrity": "sha512-a6d/Nwahm9fliVGRhdhofo40HjHQasUPusmc7vBfyky+7Z+P2A1J68zyFVaNcEclc/Se+eO595oAr5nwEIoIUA==", - "license": "MIT", - "dependencies": { - "@actions/exec": "^3.0.0", - "@actions/http-client": "^4.0.0" - } - }, - "node_modules/@actions/exec": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@actions/exec/-/exec-3.0.0.tgz", - "integrity": "sha512-6xH/puSoNBXb72VPlZVm7vQ+svQpFyA96qdDBvhB8eNZOE8LtPf9L4oAsfzK/crCL8YZ+19fKYVnM63Sl+Xzlw==", - "license": "MIT", - "dependencies": { - "@actions/io": "^3.0.2" - } - }, - "node_modules/@actions/github": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/@actions/github/-/github-9.1.1.tgz", - "integrity": "sha512-tL5JbYOBZHc0ngEnCsaDcryUizIUIlQyIMwy1Wkx93H5HzbBJ7TbiPx2PnFjBwZW0Vh05JmfFZhecE6gglYegA==", - "license": "MIT", - "dependencies": { - "@actions/http-client": "^3.0.2", - "@octokit/core": "^7.0.6", - "@octokit/plugin-paginate-rest": "^14.0.0", - "@octokit/plugin-rest-endpoint-methods": "^17.0.0", - "@octokit/request": "^10.0.7", - "@octokit/request-error": "^7.1.0", - "undici": "^6.23.0" - } - }, - "node_modules/@actions/github/node_modules/@actions/http-client": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-3.0.2.tgz", - "integrity": "sha512-JP38FYYpyqvUsz+Igqlc/JG6YO9PaKuvqjM3iGvaLqFnJ7TFmcLyy2IDrY0bI0qCQug8E9K+elv5ZNfw62ZJzA==", - "license": "MIT", - "dependencies": { - "tunnel": "^0.0.6", - "undici": "^6.23.0" - } - }, - "node_modules/@actions/http-client": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-4.0.1.tgz", - "integrity": "sha512-+Nvd1ImaOZBSoPbsUtEhv+1z99H12xzncCkz0a3RuehINE81FZSe2QTj3uvAPTcJX/SCzUQHQ0D1GrPMbrPitg==", - "license": "MIT", - "dependencies": { - "tunnel": "^0.0.6", - "undici": "^6.23.0" - } - }, - "node_modules/@actions/io": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@actions/io/-/io-3.0.2.tgz", - "integrity": "sha512-nRBchcMM+QK1pdjO7/idu86rbJI5YHUKCvKs0KxnSYbVe3F51UfGxuZX4Qy/fWlp6l7gWFwIkrOzN+oUK03kfw==", - "license": "MIT" - }, - "node_modules/@actions/tool-cache": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@actions/tool-cache/-/tool-cache-4.0.0.tgz", - "integrity": "sha512-L8P9HbXvpvqjZDveb/fdsa55IVC0trfPgQ4ZwGo6r5af6YDVdM9vMGPZ7rgY2fAT9gGj4PSYd6bYlg3p3jD78A==", - "license": "MIT", - "dependencies": { - "@actions/core": "^3.0.0", - "@actions/exec": "^3.0.0", - "@actions/http-client": "^4.0.0", - "@actions/io": "^3.0.0", - "semver": "^7.7.3" - } - }, - "node_modules/@biomejs/biome": { - "version": "2.5.15", - "resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-2.5.15.tgz", - "integrity": "sha512-WZTW4slm/pdkh92K6t/3aEN++44JD1PQ7squ7RCMLI1flHGl43DVOIGXvCjHiZgBMO1V4uYxoFNtqrIA4qGuIQ==", - "dev": true, - "license": "MIT OR Apache-2.0", - "bin": { - "biome": "bin/biome" - }, - "engines": { - "node": ">=14.21.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/biome" - }, - "optionalDependencies": { - "@biomejs/cli-darwin-arm64": "2.5.15", - "@biomejs/cli-darwin-x64": "2.5.15", - "@biomejs/cli-linux-arm64": "2.5.15", - "@biomejs/cli-linux-arm64-musl": "2.5.15", - "@biomejs/cli-linux-x64": "2.5.15", - "@biomejs/cli-linux-x64-musl": "2.5.15", - "@biomejs/cli-win32-arm64": "2.5.15", - "@biomejs/cli-win32-x64": "2.5.15" - } - }, - "node_modules/@biomejs/cli-darwin-arm64": { - "version": "2.5.15", - "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.5.15.tgz", - "integrity": "sha512-BZVzFhJ/mUvTLMYbc9x6el0o2Uv5zP7bACYyhFb6fSc1giroXm7PL0a5KqMJ9F+/BnkYRjagD/ROSDVOZ6eapg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT OR Apache-2.0", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=14.21.3" - } - }, - "node_modules/@biomejs/cli-darwin-x64": { - "version": "2.5.15", - "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.5.15.tgz", - "integrity": "sha512-V5Kw63V+fVGNFhFrizDxMbGXAzZCh8kYzJpy3GI6gTapWDg7bZK9oYC9CbVgQSEdTnupz0U5Efz8Ev+5vdBBXw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT OR Apache-2.0", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=14.21.3" - } - }, - "node_modules/@biomejs/cli-linux-arm64": { - "version": "2.5.15", - "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.5.15.tgz", - "integrity": "sha512-XaG7P7eeSLYETD3K9grfB0mQmpLQZjygdbsxekWBJAg4am79fGAtRpfRyNnTvXB2fZFNnJZG3nXm7HBat0+VUw==", - "cpu": [ - "arm64" - ], - "dev": true, - "libc": [ - "glibc" - ], - "license": "MIT OR Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=14.21.3" - } - }, - "node_modules/@biomejs/cli-linux-arm64-musl": { - "version": "2.5.15", - "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.5.15.tgz", - "integrity": "sha512-tGzZUTcJCV7tj5Adh/Gn6nR4MycqA3iohq2LEcrarAgRBkU0h0OKd2UzCRkOsOYOuUGaUJb4YmqRqyy2feGGSw==", - "cpu": [ - "arm64" - ], - "dev": true, - "libc": [ - "musl" - ], - "license": "MIT OR Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=14.21.3" - } - }, - "node_modules/@biomejs/cli-linux-x64": { - "version": "2.5.15", - "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-2.5.15.tgz", - "integrity": "sha512-xE4iEW/3LqlYj9GFgGrFsFSH51dEEpUbYWBfeOv0q87WkUDxK2o/HhreSb7qMJqck70RVM6Lg96hgedcAYcOkA==", - "cpu": [ - "x64" - ], - "dev": true, - "libc": [ - "glibc" - ], - "license": "MIT OR Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=14.21.3" - } - }, - "node_modules/@biomejs/cli-linux-x64-musl": { - "version": "2.5.15", - "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.5.15.tgz", - "integrity": "sha512-IlxUcyxilVGPsE008x13pWdkTbU3nQpP2i9b5UrbOYj6goBkKsRX1XB7yJLcV+O1H9LBchIIm4adOaVLZBX0ZQ==", - "cpu": [ - "x64" - ], - "dev": true, - "libc": [ - "musl" - ], - "license": "MIT OR Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=14.21.3" - } - }, - "node_modules/@biomejs/cli-win32-arm64": { - "version": "2.5.15", - "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.5.15.tgz", - "integrity": "sha512-2kPKzhNlm8C+Ru3GcO0Me2ODkCBLrVOUNuyi84RJyWDVKAA4+Kjj3jMjL938lF6BRfvltC4vB2nPY9SvN51Ovg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT OR Apache-2.0", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=14.21.3" - } - }, - "node_modules/@biomejs/cli-win32-x64": { - "version": "2.5.15", - "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-2.5.15.tgz", - "integrity": "sha512-yAzh4UqEImV6Hcy0zjUqNfJAsUhoD64FBQCdTG8Md/Z2wQeVP/ZmJ3XRYAs1g8J9fjTFyl2fCtc5FB5til47+g==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT OR Apache-2.0", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=14.21.3" - } - }, - "node_modules/@esbuild/aix-ppc64": { - "version": "0.28.2", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.28.2.tgz", - "integrity": "sha512-XExcO+dvLKvVtNTibSTBej1NCAbaGhWn9Ww1ZPx80qsahhPFe/8jgWP0IchNe0F3HwkU7n8ejhH8bjonqht8mQ==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-arm": { - "version": "0.28.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.28.2.tgz", - "integrity": "sha512-kXXoiPVVGQcnIYGOeaovwOURpniDBpSq4A03qkQ+BMQqtGG6HYap3xne9C1O1yo4TR3qxlCX5IqqmX6fFo2Lqg==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-arm64": { - "version": "0.28.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.28.2.tgz", - "integrity": "sha512-5YfKeeI8qWfBZIX+u2xZC3Zlb3Os/gLS2sbEKM+I4ZOcsWmHS2WLysCcQZDAFRslDUU5Oiq44gf6PYN1vGwG5A==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-x64": { - "version": "0.28.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.28.2.tgz", - "integrity": "sha512-O387ite7SzUyCcy3JQX4P4bLtEA7bLLkx+esve5JHnyYfNTxcVpXZo9jhdB0lTKN44gztELTdU7nS8Nr16Fs1Q==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.28.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.28.2.tgz", - "integrity": "sha512-n4KqkOQrraxHJcgjM1RvwbigfQKIKJVpM7xp+KsxiyUSrRdIXnt73VhrPAx0fV44hgfmIVKjxMN9J1t5jySVkw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.28.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.28.2.tgz", - "integrity": "sha512-uq6suIWYP37qzGddBKPw5QEQPi6HiLGsO7UmkpfyaYNQ3D+rN6w6WfwH+nuqcGXWvawGwxOEroO4YGnFh95azw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.28.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.28.2.tgz", - "integrity": "sha512-n+I0BTSRIoy+d6RPKnEVwql5UwBJolytvY4mAOIEJorKlqgPII8ix6slVVrfZ5Tnj7glIZvloylbB/EJPMWEXw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.28.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.28.2.tgz", - "integrity": "sha512-78XJTJkvPs0kz2w61301PJjXl4g7q3JqiYMZ/M/yVI73EHBrCRTgkhu9oqG7vPqq+a/yadEW8aD+agKlk5xrmg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-arm": { - "version": "0.28.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.28.2.tgz", - "integrity": "sha512-XlDnu2q5yoqems+xay6wSAcg9DDD7K9RLKZEBOMZm3ckNpJBvOX20tSfby8KfrrhINDyv9V2YVZKY/SpoGJI8w==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.28.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.28.2.tgz", - "integrity": "sha512-pW4AC0P3it8c7do9MVM4p51FzHzdM/TZrerurgRcHJ2WTa1VQ1CIq18xncfpBJw4ojkiZZrKW2yIBWBP92j6Ug==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.28.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.28.2.tgz", - "integrity": "sha512-CYbnj78HsIeA+DhgUKgFCfvNsTHFhMMrinUrMZpDXJXKN8T3XViTZ/+wtHeVxEWY8ewSzTFN+nRmSwO2tZaLUQ==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.28.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.28.2.tgz", - "integrity": "sha512-buwkd8nsph4R+ajRvw0qM5Hja/TXQow3ptzWO2EbG/cqcIkHloRrdlBtQlshyYGTNFvfkfJ5tpPLVkY4DtsPfQ==", - "cpu": [ - "loong64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.28.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.28.2.tgz", - "integrity": "sha512-ZVykbDyk7519VwiNb9Lcj9m8XM6v5V9uKPvrEMkkEedVewf+0itkhahp4HDpgERXhwLRpWFypsGbG/J8s0QjJA==", - "cpu": [ - "mips64el" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.28.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.28.2.tgz", - "integrity": "sha512-CAXl+Dtd9UUuJd8pKKdwh6MLm3MUMiqMPmhZ3tTSXPqfyQ3vDl6R5hZdZ/kYojK4ofXtdfSv1tFq8XzWx3heNQ==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.28.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.28.2.tgz", - "integrity": "sha512-GeXCej4IQtU1B+QlDV8W/RRvbzI3O/Stss+/bCXv4lZls5WGRtu2a+3JkA3i4qIUlMXpcHebWpF8AkJhATowuA==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.28.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.28.2.tgz", - "integrity": "sha512-3H1weTYZPxt/WOhByszQZybS9w5lKzUn1FDMsgEChbHWQwHYQQRfBxgCcZvPhjHfKyJjIievvMmEUawJrdY9Dg==", - "cpu": [ - "s390x" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-x64": { - "version": "0.28.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.28.2.tgz", - "integrity": "sha512-4xTZr1FUmSoQW4XIWmit3tzQrUTZM+N3P0XV8xROKYF50XfI7xeO90+1bZvNwxIufQ9hDQVRJH5YhgPVF8A/HQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/netbsd-arm64": { - "version": "0.28.2", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.28.2.tgz", - "integrity": "sha512-sSATRjPeDBg3pdgHoQfoYBob11Kk1FGa9lui5RIHZCoCkJa9QKlvl3/vKz2usCmYYjs7ymJR/2Nnsqe+Hjt5nw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.28.2", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.28.2.tgz", - "integrity": "sha512-lqnzCV+mM0gIADaKihiCg6ifgfU2L3h5E33rNQBN1Y4MaVGnzryzmvvf7UHxprpQdE8hpqLolJ9Rl+SkIRDpyw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openbsd-arm64": { - "version": "0.28.2", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.28.2.tgz", - "integrity": "sha512-AL2qJILH7lNjrDmCQDvdxMfAUIv8KMNZOvrwAQ8i8//ntL9FflhOyMJ8OZSMBb8/AWXe3/5v5S20y3zCoZWKoQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.28.2", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.28.2.tgz", - "integrity": "sha512-QtiuPytchRyC4rwUKhexJdQKvDuZ6hWloi3igqPQNUJCS1/v9EiO3UTOXR6A3FoMo4fnAKbWJdqaIwhOzh8qEw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openharmony-arm64": { - "version": "0.28.2", - "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.28.2.tgz", - "integrity": "sha512-WkhYDmpTjLvGlScA1rwjRUmhl4k8oXR3cIbtqWmELgU/dFeHHlEllxDvdWcNJV9rbzCexB5vz8gtNewWLgCT7Q==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openharmony" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.28.2", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.28.2.tgz", - "integrity": "sha512-GPMSkTOtMnv2U2F8gxe4Io6qmVs+YKyp832Etqqxr0hFngmXQ3rzwytelm3GIn7T4VviRUlf3sOgBOiTdvaf7g==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.28.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.28.2.tgz", - "integrity": "sha512-PIhhEkE9uPBleRBrQEJpUn7MBnibZzbGzYWPmY3x+YoVg/95zbjB4CxPPOQ8l5tYYM4mMaCthF8/1DIfBQQyWQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.28.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.28.2.tgz", - "integrity": "sha512-YmJbfTlvU7Sdn9BB+4PRES4oB6pxgS37MAONj+hBr/cpXS1aBPKXxNnDbu+QCWPj0o9dgyxeq79g6c5P8KeuYA==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-x64": { - "version": "0.28.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.28.2.tgz", - "integrity": "sha512-5ebpxr3nWMzrL/rnUI755Jkuee0bHL/Gq0WTF9lvcpv73wAp5eu8MfBUgWK9bhWvZjj7yX8etf/8tI8Ney695g==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@octokit/auth-token": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-6.0.0.tgz", - "integrity": "sha512-P4YJBPdPSpWTQ1NU4XYdvHvXJJDxM6YwpS0FZHRgP7YFkdVxsWcpWGy/NVqlAA7PcPCnMacXlRm1y2PFZRWL/w==", - "license": "MIT", - "engines": { - "node": ">= 20" - } - }, - "node_modules/@octokit/core": { - "version": "7.0.8", - "resolved": "https://registry.npmjs.org/@octokit/core/-/core-7.0.8.tgz", - "integrity": "sha512-L7y8eYc+AwxGr2PWI4WFt1VG4TiJ66c26BD16mXpYIlXxG0SMigM1+m4aTSlYyBr5BlQsGAlz8uDCoZN4SEMcg==", - "license": "MIT", - "dependencies": { - "@octokit/auth-token": "^6.0.0", - "@octokit/graphql": "^9.0.5", - "@octokit/request": "^10.0.16", - "@octokit/request-error": "^7.1.2", - "@octokit/types": "^18.0.0", - "before-after-hook": "^4.0.0", - "universal-user-agent": "^7.0.0" - }, - "engines": { - "node": ">= 20" - } - }, - "node_modules/@octokit/endpoint": { - "version": "11.0.5", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-11.0.5.tgz", - "integrity": "sha512-iXa654H3yFafF/ieHkukfbgWo2rmXD2ceD0ZOtrPhw1bc3FDch1d9N/TNs0FQ1/cIbwb7kspUX8jzIs8nzb9DQ==", - "license": "MIT", - "dependencies": { - "@octokit/types": "^18.0.0", - "universal-user-agent": "^7.0.2" - }, - "engines": { - "node": ">= 20" - } - }, - "node_modules/@octokit/graphql": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-9.0.5.tgz", - "integrity": "sha512-bt/hm03LeU6Vy7FwTrkkC9p3XGT/lBwClglMqxBSe5/q0E5CdJTXeAqEI0vlw89/LF/G6tryTIH8HirZ3prMVg==", - "license": "MIT", - "dependencies": { - "@octokit/request": "^10.0.16", - "@octokit/types": "^18.0.0", - "universal-user-agent": "^7.0.0" - }, - "engines": { - "node": ">= 20" - } - }, - "node_modules/@octokit/openapi-types": { - "version": "29.0.1", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-29.0.1.tgz", - "integrity": "sha512-9qWOMFNxxLokERcms42rU0PTLqQmVs7g5E41TI4mCOxmpFayD1rfC7XxOL55cG9MBZLFlC31BrR37myMKardwg==", - "license": "MIT" - }, - "node_modules/@octokit/plugin-paginate-rest": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-14.0.0.tgz", - "integrity": "sha512-fNVRE7ufJiAA3XUrha2omTA39M6IXIc6GIZLvlbsm8QOQCYvpq/LkMNGyFlB1d8hTDzsAXa3OKtybdMAYsV/fw==", - "license": "MIT", - "dependencies": { - "@octokit/types": "^16.0.0" - }, - "engines": { - "node": ">= 20" - }, - "peerDependencies": { - "@octokit/core": ">=6" - } - }, - "node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/openapi-types": { - "version": "27.0.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-27.0.0.tgz", - "integrity": "sha512-whrdktVs1h6gtR+09+QsNk2+FO+49j6ga1c55YZudfEG+oKJVvJLQi3zkOm5JjiUXAagWK2tI2kTGKJ2Ys7MGA==", - "license": "MIT" - }, - "node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-16.0.0.tgz", - "integrity": "sha512-sKq+9r1Mm4efXW1FCk7hFSeJo4QKreL/tTbR0rz/qx/r1Oa2VV83LTA/H/MuCOX7uCIJmQVRKBcbmWoySjAnSg==", - "license": "MIT", - "dependencies": { - "@octokit/openapi-types": "^27.0.0" - } - }, - "node_modules/@octokit/plugin-rest-endpoint-methods": { - "version": "17.0.0", - "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-17.0.0.tgz", - "integrity": "sha512-B5yCyIlOJFPqUUeiD0cnBJwWJO8lkJs5d8+ze9QDP6SvfiXSz1BF+91+0MeI1d2yxgOhU/O+CvtiZ9jSkHhFAw==", - "license": "MIT", - "dependencies": { - "@octokit/types": "^16.0.0" - }, - "engines": { - "node": ">= 20" - }, - "peerDependencies": { - "@octokit/core": ">=6" - } - }, - "node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/openapi-types": { - "version": "27.0.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-27.0.0.tgz", - "integrity": "sha512-whrdktVs1h6gtR+09+QsNk2+FO+49j6ga1c55YZudfEG+oKJVvJLQi3zkOm5JjiUXAagWK2tI2kTGKJ2Ys7MGA==", - "license": "MIT" - }, - "node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-16.0.0.tgz", - "integrity": "sha512-sKq+9r1Mm4efXW1FCk7hFSeJo4QKreL/tTbR0rz/qx/r1Oa2VV83LTA/H/MuCOX7uCIJmQVRKBcbmWoySjAnSg==", - "license": "MIT", - "dependencies": { - "@octokit/openapi-types": "^27.0.0" - } - }, - "node_modules/@octokit/request": { - "version": "10.0.16", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-10.0.16.tgz", - "integrity": "sha512-A0zWGjHzISIb+9ccG8s0dq7LKO5zVpJLRICjgUb+sJxEWqn8RUHB1rD3AE51+PECvXHIxqZ1VVvs4fHTSD9nUQ==", - "license": "MIT", - "dependencies": { - "@octokit/endpoint": "^11.0.5", - "@octokit/request-error": "^7.1.2", - "@octokit/types": "^18.0.0", - "content-type": "^3.0.0", - "json-with-bigint": "^3.5.12", - "universal-user-agent": "^7.0.2" - }, - "engines": { - "node": ">= 20" - } - }, - "node_modules/@octokit/request-error": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-7.1.2.tgz", - "integrity": "sha512-XZRuT3xZ84D3gYErI1DZvhJ33dCWVV6uzBtWkaBB4TvA/L6eOeTZodxLFVB44bBEEo3vEx7y00UfX1tBLrtLRg==", - "license": "MIT", - "dependencies": { - "@octokit/types": "^18.0.0" - }, - "engines": { - "node": ">= 20" - } - }, - "node_modules/@octokit/types": { - "version": "18.0.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-18.0.0.tgz", - "integrity": "sha512-l6bAF43PNxkJp6g+W4PjoUSSkxHomXw2nOum5CTftJz1NlV3vu93NImgOYtLf6CbBUb5j+fiuzW0PPQ5JTSvZA==", - "license": "MIT", - "dependencies": { - "@octokit/openapi-types": "^29.0.1" - } - }, - "node_modules/@tsconfig/node24": { - "version": "24.0.5", - "resolved": "https://registry.npmjs.org/@tsconfig/node24/-/node24-24.0.5.tgz", - "integrity": "sha512-DWC54fGPuhZgg3Ighg4Y/A/bA3ZdB5hnzAuv/MkQ/X85sVsBsMQxu8t7khutdYeiNksBbFdDyeqv1HSW2Zl8aA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@tsconfig/strictest": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/@tsconfig/strictest/-/strictest-2.0.8.tgz", - "integrity": "sha512-XnQ7vNz5HRN0r88GYf1J9JJjqtZPiHt2woGJOo2dYqyHGGcd6OLGqSlBB6p1j9mpzja6Oe5BoPqWmeDx6X9rLw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/node": { - "version": "26.6.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-26.6.5.tgz", - "integrity": "sha512-uMzsv9stDdofIZBx4UGh4Z9ZgXnGC9seRDscilBcTHAeOFk67MZg/k9bWVfO+bk4qZmG+l52hRnLwUiH2LnJTg==", - "dev": true, - "license": "MIT", - "dependencies": { - "undici-types": "~8.9.0" - } - }, - "node_modules/@typescript/typescript-aix-ppc64": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@typescript/typescript-aix-ppc64/-/typescript-aix-ppc64-7.0.2.tgz", - "integrity": "sha512-MTKKkWB7p/0E9xi1d1tHtZ5PiLkGEMIq88pK2CubZjOsLtYTLqhgIgi6zepFa+9GHZ6h05NMCkQxGKiPXMxXtQ==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "Apache-2.0", - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=16.20.0" - } - }, - "node_modules/@typescript/typescript-darwin-arm64": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@typescript/typescript-darwin-arm64/-/typescript-darwin-arm64-7.0.2.tgz", - "integrity": "sha512-gowzar9MwS/aRWp6f3a4KUqzRjAZjOsmGNCM6LcTgXum+dBfgsBVMN+AgvOCCbguXyick6LJhpBszxMebJ8syA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "Apache-2.0", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=16.20.0" - } - }, - "node_modules/@typescript/typescript-darwin-x64": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@typescript/typescript-darwin-x64/-/typescript-darwin-x64-7.0.2.tgz", - "integrity": "sha512-SZ9xZInqApNlNGc9s0W1VSsktYSOe9cFqNOIqmN1Gs8SmkjKZYFt017G4VwPxASInODuAdbTW7sXiFUf893RgA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "Apache-2.0", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=16.20.0" - } - }, - "node_modules/@typescript/typescript-freebsd-arm64": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@typescript/typescript-freebsd-arm64/-/typescript-freebsd-arm64-7.0.2.tgz", - "integrity": "sha512-W5NH4y/J0plIIS5b2xvTEkU7JFxyqdMAOgf+Ilhl0vHQXKO5dZoxd+C/jEtq56c4F3wk71RB4BMRQ2XdI+bwYQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "Apache-2.0", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=16.20.0" - } - }, - "node_modules/@typescript/typescript-freebsd-x64": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@typescript/typescript-freebsd-x64/-/typescript-freebsd-x64-7.0.2.tgz", - "integrity": "sha512-UMGDx5sTpzNw3WiPebH7l90IWfJggEd+egHt/q6p7/Cm3zqoV7VxkGXt+3DxPIw8CcmvAB0j3sVVfbhX+M4Tpw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "Apache-2.0", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=16.20.0" - } - }, - "node_modules/@typescript/typescript-linux-arm": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@typescript/typescript-linux-arm/-/typescript-linux-arm-7.0.2.tgz", - "integrity": "sha512-gffT3xPz9sR7j/YJExkyPntrI0P2EP9XbOyWzth2/Gs0RstK+90RBcO0ncXoXy/beYll1SXw846Nf2zdnEz0QQ==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=16.20.0" - } - }, - "node_modules/@typescript/typescript-linux-arm64": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@typescript/typescript-linux-arm64/-/typescript-linux-arm64-7.0.2.tgz", - "integrity": "sha512-Qh4eU4/y3yDjnfjjyPYihMj5/ODIlmt+Bzu17OI+fiSRDW57QmU5SiN63exPRNJPKUzcc1INa1NXdrJ+MqHjUQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=16.20.0" - } - }, - "node_modules/@typescript/typescript-linux-loong64": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@typescript/typescript-linux-loong64/-/typescript-linux-loong64-7.0.2.tgz", - "integrity": "sha512-uEHck9i8hoAzXPiYRib1O7miOnz23SxIeVl6F4LXox+qov1K35jHcEW6VHKvZI+pyvl7fZEP4MCU5LYvIq1GuQ==", - "cpu": [ - "loong64" - ], - "dev": true, - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=16.20.0" - } - }, - "node_modules/@typescript/typescript-linux-mips64el": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@typescript/typescript-linux-mips64el/-/typescript-linux-mips64el-7.0.2.tgz", - "integrity": "sha512-R4KvAMnE43W5Qeqb0Ly56O3mWMWIAgsMyz36DCaycd5nbg/9kzm0liw3JocfRqyJY0KPmzFjbswozXyW0DnIYA==", - "cpu": [ - "mips64el" - ], - "dev": true, - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=16.20.0" - } - }, - "node_modules/@typescript/typescript-linux-ppc64": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@typescript/typescript-linux-ppc64/-/typescript-linux-ppc64-7.0.2.tgz", - "integrity": "sha512-DORx5b3sd/4S7eayxm4FQv+A7CrkUIGRaHiwI8oiHTAI1fAPWhF4J0vAlkC8biAlHSVVwxMQ3tjZ2/DVbnQiiA==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=16.20.0" - } - }, - "node_modules/@typescript/typescript-linux-riscv64": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@typescript/typescript-linux-riscv64/-/typescript-linux-riscv64-7.0.2.tgz", - "integrity": "sha512-wf0jqEDOjrPRnKwYRyyJDRo11KMbvMFrU+q4zqKyChODBzvlkbhNQfKvLxQCcwTpdDaXSHZTVuh0JoCrKCUMHQ==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=16.20.0" - } - }, - "node_modules/@typescript/typescript-linux-s390x": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@typescript/typescript-linux-s390x/-/typescript-linux-s390x-7.0.2.tgz", - "integrity": "sha512-IkwJc3L7yhytWd/ewjyxNDfOmswCm9GWMJT/ue/dU4aZNbwZeYAetq42VyLmsmSjvoX7z74X6ZaYCtzAr0EuGw==", - "cpu": [ - "s390x" - ], - "dev": true, - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=16.20.0" - } - }, - "node_modules/@typescript/typescript-linux-x64": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@typescript/typescript-linux-x64/-/typescript-linux-x64-7.0.2.tgz", - "integrity": "sha512-EYdf2cNg7rgCWJnxCdJ+F3V39O8ihb37eHAu1LK8oAFizgTQbPOK7zHHXbPt8rX24COqODXeI3sIf0fCXG7H/A==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=16.20.0" - } - }, - "node_modules/@typescript/typescript-netbsd-arm64": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@typescript/typescript-netbsd-arm64/-/typescript-netbsd-arm64-7.0.2.tgz", - "integrity": "sha512-+polYF4MF04aPpO5FTkHran9yUQDSXqy5GiSDKpsll5jy3l3+g9QLhpf39T+ePtefhXLOGrLl0QIjkQP6VnelA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "Apache-2.0", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=16.20.0" - } - }, - "node_modules/@typescript/typescript-netbsd-x64": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@typescript/typescript-netbsd-x64/-/typescript-netbsd-x64-7.0.2.tgz", - "integrity": "sha512-8YIT0EHM/3dq10ZOVF/A7pc/YSMtbcecct4rWtexrnSCHOPcpC2KTLXfTCR6vDpnSiY12heNb1GiN/wu+T/FyA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "Apache-2.0", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=16.20.0" - } - }, - "node_modules/@typescript/typescript-openbsd-arm64": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@typescript/typescript-openbsd-arm64/-/typescript-openbsd-arm64-7.0.2.tgz", - "integrity": "sha512-APT8+ClYnuYm1u9+kgGXoMj2VzWzcymwh2gNSQVySHfkRDGOTVkoWLjCmOQSaO+PoqQ57B0flRp9SA+7GnnkzQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "Apache-2.0", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=16.20.0" - } - }, - "node_modules/@typescript/typescript-openbsd-x64": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@typescript/typescript-openbsd-x64/-/typescript-openbsd-x64-7.0.2.tgz", - "integrity": "sha512-yX7s+Q0Dln0Dt9tEzZsAjXXR/+ytBM7AlglaqyeMPxQszJ1JhlJdZ6jLA+IzldHtflX81em7lDao1xXu+aRRkg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "Apache-2.0", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=16.20.0" - } - }, - "node_modules/@typescript/typescript-sunos-x64": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@typescript/typescript-sunos-x64/-/typescript-sunos-x64-7.0.2.tgz", - "integrity": "sha512-dLJDGaLZ1D4HPQn62u1n8mBDkJREwMsAkCdkwd4Ieqw+x3TUyTsqY0YiBCtE6H6OzzgGk3iuZ3vFWRS+E8/d1g==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "Apache-2.0", - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=16.20.0" - } - }, - "node_modules/@typescript/typescript-win32-arm64": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@typescript/typescript-win32-arm64/-/typescript-win32-arm64-7.0.2.tgz", - "integrity": "sha512-Gyl1Vy6OsWesLzmq+EP0Fb7b4Nid5232AvcA2SFcdYreldpNtYFFofPjnt62y9hQy7VTaZp65ICJjuAQRaVcIQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "Apache-2.0", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=16.20.0" - } - }, - "node_modules/@typescript/typescript-win32-x64": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@typescript/typescript-win32-x64/-/typescript-win32-x64-7.0.2.tgz", - "integrity": "sha512-0BQ3HkAHHlKLSp1qRvf3SUhGpGsDuhB/jgFw75guyqbxJqEaS0Cw/VFO8i2nHglJUzQCRtMMR/IBAKE3ETMC4g==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "Apache-2.0", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=16.20.0" - } - }, - "node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "license": "MIT", - "dependencies": { - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", - "license": "MIT" - }, - "node_modules/axios": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.20.0.tgz", - "integrity": "sha512-r8aOh8j9cGKpgQAqpzrUHnSIc6a59Y3Xf/cv8sy1DrHCkZHzQGEuoq1tARk6qSyDdtQGSDgpb9kFlruzPvrgwg==", - "license": "MIT", - "dependencies": { - "follow-redirects": "^1.16.0", - "form-data": "^4.0.6", - "https-proxy-agent": "^5.0.1", - "proxy-from-env": "^2.1.0" - } - }, - "node_modules/before-after-hook": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-4.0.0.tgz", - "integrity": "sha512-q6tR3RPqIB1pMiTRMFcZwuG5T8vwp+vUvEG0vuI6B+Rikh5BfPp2fQ82c925FOs+b0lcFQ8CFrL+KbilfZFhOQ==", - "license": "Apache-2.0" - }, - "node_modules/call-bind-apply-helpers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", - "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "license": "MIT", - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/content-type": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-3.1.1.tgz", - "integrity": "sha512-GW4qUsfFo59d0HbUibDlWv5wPz+vAAcaTWbKIuKCf0JkC7wWkSyf8f13IpXn5JkeMlB2P8iTSSIjwXljorg2vA==", - "license": "MIT", - "engines": { - "node": ">=22" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "license": "MIT", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/dunder-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", - "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "es-errors": "^1.3.0", - "gopd": "^1.2.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-define-property": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", - "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-object-atoms": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.2.tgz", - "integrity": "sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-set-tostringtag": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", - "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/esbuild": { - "version": "0.28.2", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.28.2.tgz", - "integrity": "sha512-HKVLS8dvII+xoKW9kmqxbRKrnWEXfJJr/FZhhJmiqIB0e053QNYFqOBouTMO/k5sID4MvCiUCvv8b9M4h32wIA==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.28.2", - "@esbuild/android-arm": "0.28.2", - "@esbuild/android-arm64": "0.28.2", - "@esbuild/android-x64": "0.28.2", - "@esbuild/darwin-arm64": "0.28.2", - "@esbuild/darwin-x64": "0.28.2", - "@esbuild/freebsd-arm64": "0.28.2", - "@esbuild/freebsd-x64": "0.28.2", - "@esbuild/linux-arm": "0.28.2", - "@esbuild/linux-arm64": "0.28.2", - "@esbuild/linux-ia32": "0.28.2", - "@esbuild/linux-loong64": "0.28.2", - "@esbuild/linux-mips64el": "0.28.2", - "@esbuild/linux-ppc64": "0.28.2", - "@esbuild/linux-riscv64": "0.28.2", - "@esbuild/linux-s390x": "0.28.2", - "@esbuild/linux-x64": "0.28.2", - "@esbuild/netbsd-arm64": "0.28.2", - "@esbuild/netbsd-x64": "0.28.2", - "@esbuild/openbsd-arm64": "0.28.2", - "@esbuild/openbsd-x64": "0.28.2", - "@esbuild/openharmony-arm64": "0.28.2", - "@esbuild/sunos-x64": "0.28.2", - "@esbuild/win32-arm64": "0.28.2", - "@esbuild/win32-ia32": "0.28.2", - "@esbuild/win32-x64": "0.28.2" - } - }, - "node_modules/follow-redirects": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.16.1.tgz", - "integrity": "sha512-FNvFGzoMLWmE6Yj9spb/zjd7yiNCHiAW9/Tg9CXrQ8wuu32HtlJOwWO11OJafl5FfY3DxTdQ0vj42zU1kvv5jg==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "license": "MIT", - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/form-data": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.6.tgz", - "integrity": "sha512-vKatAh4SlVfgbv+YtmhiRjhEMJsYpsG1Y2rMQtR+SVSbytsSD1YGzDIcrAJmdFec88u/+VoGmxnl+80gL1tRCQ==", - "license": "MIT", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "es-set-tostringtag": "^2.1.0", - "hasown": "^2.0.4", - "mime-types": "^2.1.35" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-intrinsic": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", - "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "function-bind": "^1.1.2", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "math-intrinsics": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", - "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", - "license": "MIT", - "dependencies": { - "dunder-proto": "^1.0.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/gopd": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", - "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", - "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", - "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", - "license": "MIT", - "dependencies": { - "has-symbols": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/hasown": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.4.tgz", - "integrity": "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==", - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "license": "MIT", - "dependencies": { - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/json-with-bigint": { - "version": "3.5.12", - "resolved": "https://registry.npmjs.org/json-with-bigint/-/json-with-bigint-3.5.12.tgz", - "integrity": "sha512-uwbF/wSSuOgC7qqlq27Xp5B6a2MHVug3t0idZdTqu0JnlFvgJuH7ju+KAk/J06C7GfhoYy2gnb9wz2INqcne7w==", - "license": "MIT" - }, - "node_modules/math-intrinsics": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", - "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "license": "MIT", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "license": "MIT" - }, - "node_modules/proxy-from-env": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-2.1.0.tgz", - "integrity": "sha512-cJ+oHTW1VAEa8cJslgmUZrc+sjRKgAKl3Zyse6+PV38hZe/V6Z14TbCuXcan9F9ghlz4QrFr2c92TNF82UkYHA==", - "license": "MIT", - "engines": { - "node": ">=10" - } - }, - "node_modules/semver": { - "version": "7.8.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", - "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/tunnel": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", - "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==", - "license": "MIT", - "engines": { - "node": ">=0.6.11 <=0.7.0 || >=0.7.3" - } - }, - "node_modules/typescript": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-7.0.2.tgz", - "integrity": "sha512-8FYau96o3NKOhbjKi/qNvG/W5jhzxkbdm5sj9AbZ/5T5sWqn3hJgLfGx27sRKZWTvyzCP8dLRBTf5tBTSRVUNA==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc" - }, - "engines": { - "node": ">=16.20.0" - }, - "optionalDependencies": { - "@typescript/typescript-aix-ppc64": "7.0.2", - "@typescript/typescript-darwin-arm64": "7.0.2", - "@typescript/typescript-darwin-x64": "7.0.2", - "@typescript/typescript-freebsd-arm64": "7.0.2", - "@typescript/typescript-freebsd-x64": "7.0.2", - "@typescript/typescript-linux-arm": "7.0.2", - "@typescript/typescript-linux-arm64": "7.0.2", - "@typescript/typescript-linux-loong64": "7.0.2", - "@typescript/typescript-linux-mips64el": "7.0.2", - "@typescript/typescript-linux-ppc64": "7.0.2", - "@typescript/typescript-linux-riscv64": "7.0.2", - "@typescript/typescript-linux-s390x": "7.0.2", - "@typescript/typescript-linux-x64": "7.0.2", - "@typescript/typescript-netbsd-arm64": "7.0.2", - "@typescript/typescript-netbsd-x64": "7.0.2", - "@typescript/typescript-openbsd-arm64": "7.0.2", - "@typescript/typescript-openbsd-x64": "7.0.2", - "@typescript/typescript-sunos-x64": "7.0.2", - "@typescript/typescript-win32-arm64": "7.0.2", - "@typescript/typescript-win32-x64": "7.0.2" - } - }, - "node_modules/undici": { - "version": "6.29.1", - "resolved": "https://registry.npmjs.org/undici/-/undici-6.29.1.tgz", - "integrity": "sha512-EvRlUt/QqAEvXdQeRMYUfwOQsfzpDztykrG2owGEE/rBOBoYv9uF39ZzsNDh4lTFHhTr2XOZjKkYgueD12ZmGA==", - "license": "MIT", - "engines": { - "node": ">=18.17" - } - }, - "node_modules/undici-types": { - "version": "8.9.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-8.9.0.tgz", - "integrity": "sha512-KTDyRTYX8sWmKXAikPHHSyc63CRPETMctyjKFupcC6OBLXT3xsN0e9aF7m+mIXutFWpUXuedtowG7iLOzp0kQg==", - "dev": true, - "license": "MIT" - }, - "node_modules/universal-user-agent": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.3.tgz", - "integrity": "sha512-TmnEAEAsBJVZM/AADELsK76llnwcf9vMKuPz8JflO1frO8Lchitr0fNaN9d+Ap0BjKtqWqd/J17qeDnXh8CL2A==", - "license": "ISC" - } - } + "name": "setup-packer", + "version": "3.0.1", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "setup-packer", + "version": "3.0.1", + "license": "ISC", + "dependencies": { + "@actions/core": "3.0.1", + "@actions/github": "9.1.1", + "@actions/io": "3.0.2", + "@actions/tool-cache": "4.0.0", + "axios": "^1.21.0" + }, + "devDependencies": { + "@biomejs/biome": "^1.9.4", + "@tsconfig/node24": "^24.0.0", + "@tsconfig/strictest": "^2.0.5", + "@types/node": "^22.13.10", + "esbuild": "^0.25.5", + "typescript": "^5.8.2" + } + }, + "node_modules/@actions/core": { + "version": "3.0.1", + "license": "MIT", + "dependencies": { + "@actions/exec": "^3.0.0", + "@actions/http-client": "^4.0.0" + } + }, + "node_modules/@actions/exec": { + "version": "3.0.0", + "license": "MIT", + "dependencies": { + "@actions/io": "^3.0.2" + } + }, + "node_modules/@actions/github": { + "version": "9.1.1", + "license": "MIT", + "dependencies": { + "@actions/http-client": "^3.0.2", + "@octokit/core": "^7.0.6", + "@octokit/plugin-paginate-rest": "^14.0.0", + "@octokit/plugin-rest-endpoint-methods": "^17.0.0", + "@octokit/request": "^10.0.7", + "@octokit/request-error": "^7.1.0", + "undici": "^6.23.0" + } + }, + "node_modules/@actions/github/node_modules/@actions/http-client": { + "version": "3.0.2", + "license": "MIT", + "dependencies": { + "tunnel": "^0.0.6", + "undici": "^6.23.0" + } + }, + "node_modules/@actions/http-client": { + "version": "4.0.1", + "license": "MIT", + "dependencies": { + "tunnel": "^0.0.6", + "undici": "^6.23.0" + } + }, + "node_modules/@actions/io": { + "version": "3.0.2", + "license": "MIT" + }, + "node_modules/@actions/tool-cache": { + "version": "4.0.0", + "license": "MIT", + "dependencies": { + "@actions/core": "^3.0.0", + "@actions/exec": "^3.0.0", + "@actions/http-client": "^4.0.0", + "@actions/io": "^3.0.0", + "semver": "^7.7.3" + } + }, + "node_modules/@biomejs/biome": { + "version": "1.9.4", + "dev": true, + "hasInstallScript": true, + "license": "MIT OR Apache-2.0", + "bin": { + "biome": "bin/biome" + }, + "engines": { + "node": ">=14.21.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/biome" + }, + "optionalDependencies": { + "@biomejs/cli-darwin-arm64": "1.9.4", + "@biomejs/cli-darwin-x64": "1.9.4", + "@biomejs/cli-linux-arm64": "1.9.4", + "@biomejs/cli-linux-arm64-musl": "1.9.4", + "@biomejs/cli-linux-x64": "1.9.4", + "@biomejs/cli-linux-x64-musl": "1.9.4", + "@biomejs/cli-win32-arm64": "1.9.4", + "@biomejs/cli-win32-x64": "1.9.4" + } + }, + "node_modules/@biomejs/cli-darwin-arm64": { + "version": "1.9.4", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-darwin-x64": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-1.9.4.tgz", + "integrity": "sha512-ngYBh/+bEedqkSevPVhLP4QfVPCpb+4BBe2p7Xs32dBgs7rh9nY2AIYUL6BgLw1JVXV8GlpKmb/hNiuIxfPfZg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-linux-arm64": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-1.9.4.tgz", + "integrity": "sha512-fJIW0+LYujdjUgJJuwesP4EjIBl/N/TcOX3IvIHJQNsAqvV2CHIogsmA94BPG6jZATS4Hi+xv4SkBBQSt1N4/g==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-linux-arm64-musl": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-1.9.4.tgz", + "integrity": "sha512-v665Ct9WCRjGa8+kTr0CzApU0+XXtRgwmzIf1SeKSGAv+2scAlW6JR5PMFo6FzqqZ64Po79cKODKf3/AAmECqA==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-linux-x64": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-1.9.4.tgz", + "integrity": "sha512-lRCJv/Vi3Vlwmbd6K+oQ0KhLHMAysN8lXoCI7XeHlxaajk06u7G+UsFSO01NAs5iYuWKmVZjmiOzJ0OJmGsMwg==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-linux-x64-musl": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-1.9.4.tgz", + "integrity": "sha512-gEhi/jSBhZ2m6wjV530Yy8+fNqG8PAinM3oV7CyO+6c3CEh16Eizm21uHVsyVBEB6RIM8JHIl6AGYCv6Q6Q9Tg==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-win32-arm64": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-1.9.4.tgz", + "integrity": "sha512-tlbhLk+WXZmgwoIKwHIHEBZUwxml7bRJgk0X2sPyNR3S93cdRq6XulAZRQJ17FYGGzWne0fgrXBKpl7l4M87Hg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-win32-x64": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-1.9.4.tgz", + "integrity": "sha512-8Y5wMhVIPaWe6jw2H+KlEm4wP/f7EW3810ZLmDlrEEy5KvBsb9ECEfu/kMWD484ijfQ8+nIi0giMgu9g1UAuuA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz", + "integrity": "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.12.tgz", + "integrity": "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz", + "integrity": "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.12.tgz", + "integrity": "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.25.12", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz", + "integrity": "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz", + "integrity": "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz", + "integrity": "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz", + "integrity": "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz", + "integrity": "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz", + "integrity": "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz", + "integrity": "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz", + "integrity": "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz", + "integrity": "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz", + "integrity": "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz", + "integrity": "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz", + "integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz", + "integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz", + "integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz", + "integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz", + "integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz", + "integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz", + "integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz", + "integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz", + "integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz", + "integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@octokit/auth-token": { + "version": "6.0.0", + "license": "MIT", + "engines": { + "node": ">= 20" + } + }, + "node_modules/@octokit/core": { + "version": "7.0.8", + "license": "MIT", + "dependencies": { + "@octokit/auth-token": "^6.0.0", + "@octokit/graphql": "^9.0.5", + "@octokit/request": "^10.0.16", + "@octokit/request-error": "^7.1.2", + "@octokit/types": "^18.0.0", + "before-after-hook": "^4.0.0", + "universal-user-agent": "^7.0.0" + }, + "engines": { + "node": ">= 20" + } + }, + "node_modules/@octokit/endpoint": { + "version": "11.0.5", + "license": "MIT", + "dependencies": { + "@octokit/types": "^18.0.0", + "universal-user-agent": "^7.0.2" + }, + "engines": { + "node": ">= 20" + } + }, + "node_modules/@octokit/graphql": { + "version": "9.0.5", + "license": "MIT", + "dependencies": { + "@octokit/request": "^10.0.16", + "@octokit/types": "^18.0.0", + "universal-user-agent": "^7.0.0" + }, + "engines": { + "node": ">= 20" + } + }, + "node_modules/@octokit/openapi-types": { + "version": "29.0.1", + "license": "MIT" + }, + "node_modules/@octokit/plugin-paginate-rest": { + "version": "14.0.0", + "license": "MIT", + "dependencies": { + "@octokit/types": "^16.0.0" + }, + "engines": { + "node": ">= 20" + }, + "peerDependencies": { + "@octokit/core": ">=6" + } + }, + "node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/openapi-types": { + "version": "27.0.0", + "license": "MIT" + }, + "node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types": { + "version": "16.0.0", + "license": "MIT", + "dependencies": { + "@octokit/openapi-types": "^27.0.0" + } + }, + "node_modules/@octokit/plugin-rest-endpoint-methods": { + "version": "17.0.0", + "license": "MIT", + "dependencies": { + "@octokit/types": "^16.0.0" + }, + "engines": { + "node": ">= 20" + }, + "peerDependencies": { + "@octokit/core": ">=6" + } + }, + "node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/openapi-types": { + "version": "27.0.0", + "license": "MIT" + }, + "node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types": { + "version": "16.0.0", + "license": "MIT", + "dependencies": { + "@octokit/openapi-types": "^27.0.0" + } + }, + "node_modules/@octokit/request": { + "version": "10.0.16", + "license": "MIT", + "dependencies": { + "@octokit/endpoint": "^11.0.5", + "@octokit/request-error": "^7.1.2", + "@octokit/types": "^18.0.0", + "content-type": "^3.0.0", + "json-with-bigint": "^3.5.12", + "universal-user-agent": "^7.0.2" + }, + "engines": { + "node": ">= 20" + } + }, + "node_modules/@octokit/request-error": { + "version": "7.1.2", + "license": "MIT", + "dependencies": { + "@octokit/types": "^18.0.0" + }, + "engines": { + "node": ">= 20" + } + }, + "node_modules/@octokit/types": { + "version": "18.0.0", + "license": "MIT", + "dependencies": { + "@octokit/openapi-types": "^29.0.1" + } + }, + "node_modules/@tsconfig/node24": { + "version": "24.0.5", + "dev": true, + "license": "MIT" + }, + "node_modules/@tsconfig/strictest": { + "version": "2.0.8", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "22.20.5", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", + "license": "MIT", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/async-function": { + "version": "1.0.0", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/async-generator-function": { + "version": "1.0.0", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "license": "MIT" + }, + "node_modules/axios": { + "version": "1.21.0", + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.16.0", + "form-data": "^4.0.6", + "https-proxy-agent": "^5.0.1", + "proxy-from-env": "^2.1.0" + } + }, + "node_modules/before-after-hook": { + "version": "4.0.0", + "license": "Apache-2.0" + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/content-type": { + "version": "3.1.1", + "license": "MIT", + "engines": { + "node": ">=22" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/debug": { + "version": "4.4.0", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.2", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/esbuild": { + "version": "0.25.12", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.25.12", + "@esbuild/android-arm": "0.25.12", + "@esbuild/android-arm64": "0.25.12", + "@esbuild/android-x64": "0.25.12", + "@esbuild/darwin-arm64": "0.25.12", + "@esbuild/darwin-x64": "0.25.12", + "@esbuild/freebsd-arm64": "0.25.12", + "@esbuild/freebsd-x64": "0.25.12", + "@esbuild/linux-arm": "0.25.12", + "@esbuild/linux-arm64": "0.25.12", + "@esbuild/linux-ia32": "0.25.12", + "@esbuild/linux-loong64": "0.25.12", + "@esbuild/linux-mips64el": "0.25.12", + "@esbuild/linux-ppc64": "0.25.12", + "@esbuild/linux-riscv64": "0.25.12", + "@esbuild/linux-s390x": "0.25.12", + "@esbuild/linux-x64": "0.25.12", + "@esbuild/netbsd-arm64": "0.25.12", + "@esbuild/netbsd-x64": "0.25.12", + "@esbuild/openbsd-arm64": "0.25.12", + "@esbuild/openbsd-x64": "0.25.12", + "@esbuild/openharmony-arm64": "0.25.12", + "@esbuild/sunos-x64": "0.25.12", + "@esbuild/win32-arm64": "0.25.12", + "@esbuild/win32-ia32": "0.25.12", + "@esbuild/win32-x64": "0.25.12" + } + }, + "node_modules/follow-redirects": { + "version": "1.16.2", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/form-data": { + "version": "4.0.6", + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.4", + "mime-types": "^2.1.35" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/generator-function": { + "version": "2.0.1", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.1", + "license": "MIT", + "dependencies": { + "async-function": "^1.0.0", + "async-generator-function": "^1.0.0", + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "generator-function": "^2.0.0", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.4", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "license": "MIT", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/json-with-bigint": { + "version": "3.5.12", + "license": "MIT" + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "license": "MIT" + }, + "node_modules/proxy-from-env": { + "version": "2.1.0", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/semver": { + "version": "7.8.6", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/tunnel": { + "version": "0.0.6", + "license": "MIT", + "engines": { + "node": ">=0.6.11 <=0.7.0 || >=0.7.3" + } + }, + "node_modules/typescript": { + "version": "5.9.3", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/undici": { + "version": "6.29.1", + "license": "MIT", + "engines": { + "node": ">=18.17" + } + }, + "node_modules/undici-types": { + "version": "6.21.0", + "dev": true, + "license": "MIT" + }, + "node_modules/universal-user-agent": { + "version": "7.0.3", + "license": "ISC" + } + } } diff --git a/package.json b/package.json index 445ad73..677736f 100644 --- a/package.json +++ b/package.json @@ -1,29 +1,29 @@ { - "name": "setup-packer", - "version": "4.0.0", - "private": true, - "license": "ISC", - "author": "step-security", - "scripts": { - "build": "esbuild --bundle --format=cjs --outfile=dist/index.js --platform=node --target=node24 src/index.ts", - "format": "biome format --write .", - "format:check": "biome format .", - "lint": "biome lint .", - "type-check": "tsc" - }, - "dependencies": { - "axios": "^1.20.0", - "@actions/core": "3.0.1", - "@actions/github": "9.1.1", - "@actions/io": "3.0.2", - "@actions/tool-cache": "4.0.0" - }, - "devDependencies": { - "@biomejs/biome": "2.5.15", - "@tsconfig/node24": "24.0.5", - "@tsconfig/strictest": "2.0.8", - "@types/node": "26.6.5", - "esbuild": "0.28.2", - "typescript": "7.0.2" - } + "name": "setup-packer", + "version": "3.0.1", + "private": true, + "license": "ISC", + "author": "step-security", + "scripts": { + "build": "rm -rf dist && esbuild --bundle --format=cjs --outfile=dist/index.js --platform=node --target=node24 src/index.ts", + "format": "biome format --write .", + "format:check": "biome format .", + "lint": "biome lint .", + "type-check": "tsc" + }, + "dependencies": { + "@actions/core": "3.0.1", + "@actions/github": "9.1.1", + "@actions/io": "3.0.2", + "@actions/tool-cache": "4.0.0", + "axios": "^1.21.0" + }, + "devDependencies": { + "@biomejs/biome": "^1.9.4", + "@tsconfig/node24": "^24.0.0", + "@tsconfig/strictest": "^2.0.5", + "@types/node": "^22.13.10", + "esbuild": "^0.25.5", + "typescript": "^5.8.2" + } } diff --git a/src/index.ts b/src/index.ts index ac16d8b..5e49fcc 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,17 +1,17 @@ import * as core from "@actions/core"; -import { acquirePacker } from "./installer"; -import { validateSubscription } from "./subscription"; +import { acquirePacker } from "./installer.js"; +import { validateSubscription } from "./subscription.js"; async function run() { - try { - await validateSubscription(); - await acquirePacker(); - } catch (error) { - if (error instanceof Error) { - core.setFailed(error.message); - } - } + try { + await validateSubscription(); + await acquirePacker(); + } catch (error) { + if (error instanceof Error) { + core.setFailed(error.message); + } + } } -void run(); +run(); diff --git a/src/installer.ts b/src/installer.ts index 64dbc18..238bfab 100644 --- a/src/installer.ts +++ b/src/installer.ts @@ -7,147 +7,147 @@ import * as github from "@actions/github"; import * as io from "@actions/io"; import * as tc from "@actions/tool-cache"; -import { GITHUB_TOKEN, PACKER_VERSION } from "./constants"; +import { GITHUB_TOKEN, PACKER_VERSION } from "./constants.js"; function getPlatform() { - const platform = os.platform(); - switch (platform) { - case "darwin": { - return "darwin"; - } - case "freebsd": { - return "freebsd"; - } - case "linux": { - return "linux"; - } - case "openbsd": { - return "openbsd"; - } - case "win32": { - return "windows"; - } - default: { - throw new Error(`Unsupported platform: ${platform}`); - } - } + const platform = os.platform(); + switch (platform) { + case "darwin": { + return "darwin"; + } + case "freebsd": { + return "freebsd"; + } + case "linux": { + return "linux"; + } + case "openbsd": { + return "openbsd"; + } + case "win32": { + return "windows"; + } + default: { + throw new Error(`Unsupported platform: ${platform}`); + } + } } function getArchitecture() { - const arch = os.arch(); - switch (arch) { - case "arm": { - return "arm"; - } - case "arm64": { - return "arm64"; - } - case "ia32": { - return "386"; - } - case "x64": { - return "amd64"; - } - default: { - throw new Error(`Unsupported architecture: ${arch}`); - } - } + const arch = os.arch(); + switch (arch) { + case "arm": { + return "arm"; + } + case "arm64": { + return "arm64"; + } + case "ia32": { + return "386"; + } + case "x64": { + return "amd64"; + } + default: { + throw new Error(`Unsupported architecture: ${arch}`); + } + } } function getVariant() { - const platform = getPlatform(); - const architecture = getArchitecture(); - const variant = `${platform}_${architecture}`; - return variant; + const platform = getPlatform(); + const architecture = getArchitecture(); + const variant = `${platform}_${architecture}`; + return variant; } async function getLatestVersion() { - const octokit = github.getOctokit(GITHUB_TOKEN); - const { - data: { tag_name: _version }, - } = await octokit.rest.repos.getLatestRelease({ - owner: "hashicorp", - repo: "packer", - }); - const version = _version.slice(1); - return version; + const octokit = github.getOctokit(GITHUB_TOKEN); + const { + data: { tag_name: _version }, + } = await octokit.rest.repos.getLatestRelease({ + owner: "hashicorp", + repo: "packer", + }); + const version = _version.slice(1); + return version; } const VERSION_PATTERN = /^\d+\.\d+\.\d+(?:-[0-9A-Za-z.]+)?$/; async function getVersion(input: string) { - const version = input === "latest" ? await getLatestVersion() : input; - if (!VERSION_PATTERN.test(version)) { - throw new Error( - `Invalid packer-version "${version}": expected "latest" or a version like 1.11.2`, - ); - } - return version; + const version = input === "latest" ? await getLatestVersion() : input; + if (!VERSION_PATTERN.test(version)) { + throw new Error( + `Invalid packer-version "${version}": expected "latest" or a version like 1.11.2`, + ); + } + return version; } function getDownloadUrl(version: string, variant: string) { - const downloadUrl = `https://releases.hashicorp.com/packer/${version}/packer_${version}_${variant}.zip`; - return downloadUrl; + const downloadUrl = `https://releases.hashicorp.com/packer/${version}/packer_${version}_${variant}.zip`; + return downloadUrl; } function getChecksumsUrl(version: string) { - return `https://releases.hashicorp.com/packer/${version}/packer_${version}_SHA256SUMS`; + return `https://releases.hashicorp.com/packer/${version}/packer_${version}_SHA256SUMS`; } async function sha256(path: string) { - const hash = crypto.createHash("sha256"); - for await (const chunk of fs.createReadStream(path)) { - hash.update(chunk); - } - return hash.digest("hex"); + const hash = crypto.createHash("sha256"); + for await (const chunk of fs.createReadStream(path)) { + hash.update(chunk); + } + return hash.digest("hex"); } async function verifyChecksum( - zipPath: string, - version: string, - variant: string, + zipPath: string, + version: string, + variant: string, ) { - const checksumsPath = await tc.downloadTool(getChecksumsUrl(version)); - const checksums = fs.readFileSync(checksumsPath, "utf8"); - const fileName = `packer_${version}_${variant}.zip`; - const line = checksums - .split("\n") - .map((l) => l.trim().split(/\s+/)) - .find(([, name]) => name === fileName); - const expected = line?.[0]?.toLowerCase(); - if (!expected) { - throw new Error(`No SHA256 checksum found for ${fileName}`); - } - const actual = await sha256(zipPath); - if (actual !== expected) { - throw new Error( - `Checksum mismatch for ${fileName}: expected ${expected}, got ${actual}`, - ); - } - core.info(`Verified SHA256 checksum for ${fileName}`); + const checksumsPath = await tc.downloadTool(getChecksumsUrl(version)); + const checksums = fs.readFileSync(checksumsPath, "utf8"); + const fileName = `packer_${version}_${variant}.zip`; + const line = checksums + .split("\n") + .map((l) => l.trim().split(/\s+/)) + .find(([, name]) => name === fileName); + const expected = line?.[0]?.toLowerCase(); + if (!expected) { + throw new Error(`No SHA256 checksum found for ${fileName}`); + } + const actual = await sha256(zipPath); + if (actual !== expected) { + throw new Error( + `Checksum mismatch for ${fileName}: expected ${expected}, got ${actual}`, + ); + } + core.info(`Verified SHA256 checksum for ${fileName}`); } export async function acquirePacker(): Promise { - const version = await getVersion(PACKER_VERSION); - const variant = getVariant(); - const downloadUrl = getDownloadUrl(version, variant); - const cachedPath = tc.find("packer", version, variant); - if (cachedPath === "") { - const downloadedPath = await tc.downloadTool(downloadUrl); - await verifyChecksum(downloadedPath, version, variant); - const extractedPath = await tc.extractZip(downloadedPath); - const cachedPath = await tc.cacheDir( - extractedPath, - "packer", - version, - variant, - ); - core.addPath(cachedPath); - } else { - core.addPath(cachedPath); - } - const packerPath = await io.which("packer", true); - core.info(`Version: ${version}`); - core.info(`Variant: ${variant}`); - core.info(`Cache location: ${packerPath}`); + const version = await getVersion(PACKER_VERSION); + const variant = getVariant(); + const downloadUrl = getDownloadUrl(version, variant); + const cachedPath = tc.find("packer", version, variant); + if (cachedPath === "") { + const downloadedPath = await tc.downloadTool(downloadUrl); + await verifyChecksum(downloadedPath, version, variant); + const extractedPath = await tc.extractZip(downloadedPath); + const cachedPath = await tc.cacheDir( + extractedPath, + "packer", + version, + variant, + ); + core.addPath(cachedPath); + } else { + core.addPath(cachedPath); + } + const packerPath = await io.which("packer", true); + core.info(`Version: ${version}`); + core.info(`Variant: ${variant}`); + core.info(`Cache location: ${packerPath}`); } diff --git a/src/subscription.ts b/src/subscription.ts index b3d5e0a..602bf75 100644 --- a/src/subscription.ts +++ b/src/subscription.ts @@ -3,48 +3,48 @@ import * as fs from "node:fs"; import axios, { isAxiosError } from "axios"; export async function validateSubscription() { - const eventPath = process.env["GITHUB_EVENT_PATH"]; - let repoPrivate: boolean | undefined; + const eventPath = process.env["GITHUB_EVENT_PATH"]; + let repoPrivate: boolean | undefined; - if (eventPath && fs.existsSync(eventPath)) { - const eventData = JSON.parse(fs.readFileSync(eventPath, "utf8")); - repoPrivate = eventData?.repository?.private; - } + if (eventPath && fs.existsSync(eventPath)) { + const eventData = JSON.parse(fs.readFileSync(eventPath, "utf8")); + repoPrivate = eventData?.repository?.private; + } - const upstream = "hashicorp-contrib/setup-packer"; - const action = process.env["GITHUB_ACTION_REPOSITORY"]; - const docsUrl = - "https://docs.stepsecurity.io/actions/stepsecurity-maintained-actions"; + const upstream = "hashicorp-contrib/setup-packer"; + const action = process.env["GITHUB_ACTION_REPOSITORY"]; + const docsUrl = + "https://docs.stepsecurity.io/actions/stepsecurity-maintained-actions"; - core.info(""); - core.info("\u001b[1;36mStepSecurity Maintained Action\u001b[0m"); - core.info(`Secure drop-in replacement for ${upstream}`); - if (repoPrivate === false) - core.info("\u001b[32m\u2713 Free for public repositories\u001b[0m"); - core.info(`\u001b[36mLearn more:\u001b[0m ${docsUrl}`); - core.info(""); + core.info(""); + core.info("\u001b[1;36mStepSecurity Maintained Action\u001b[0m"); + core.info(`Secure drop-in replacement for ${upstream}`); + if (repoPrivate === false) + core.info("\u001b[32m\u2713 Free for public repositories\u001b[0m"); + core.info(`\u001b[36mLearn more:\u001b[0m ${docsUrl}`); + core.info(""); - if (repoPrivate === false) return; + if (repoPrivate === false) return; - const serverUrl = process.env["GITHUB_SERVER_URL"] || "https://github.com"; - const body: Record = { action: action || "" }; - if (serverUrl !== "https://github.com") body["ghes_server"] = serverUrl; - try { - await axios.post( - `https://agent.api.stepsecurity.io/v1/github/${process.env["GITHUB_REPOSITORY"]}/actions/maintained-actions-subscription`, - body, - { timeout: 3000 }, - ); - } catch (error) { - if (isAxiosError(error) && error.response?.status === 403) { - core.error( - `\u001b[1;31mThis action requires a StepSecurity subscription for private repositories.\u001b[0m`, - ); - core.error( - `\u001b[31mLearn how to enable a subscription: ${docsUrl}\u001b[0m`, - ); - process.exit(1); - } - core.info("Timeout or API not reachable. Continuing to next step."); - } + const serverUrl = process.env["GITHUB_SERVER_URL"] || "https://github.com"; + const body: Record = { action: action || "" }; + if (serverUrl !== "https://github.com") body["ghes_server"] = serverUrl; + try { + await axios.post( + `https://agent.api.stepsecurity.io/v1/github/${process.env["GITHUB_REPOSITORY"]}/actions/maintained-actions-subscription`, + body, + { timeout: 3000 }, + ); + } catch (error) { + if (isAxiosError(error) && error.response?.status === 403) { + core.error( + "\u001b[1;31mThis action requires a StepSecurity subscription for private repositories.\u001b[0m", + ); + core.error( + `\u001b[31mLearn how to enable a subscription: ${docsUrl}\u001b[0m`, + ); + process.exit(1); + } + core.info("Timeout or API not reachable. Continuing to next step."); + } } diff --git a/tsconfig.json b/tsconfig.json index 03c18e5..47c123e 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,11 +1,11 @@ { - "$schema": "https://json.schemastore.org/tsconfig", - "extends": [ - "@tsconfig/strictest/tsconfig.json", - "@tsconfig/node24/tsconfig.json" - ], - "compilerOptions": { - "noEmit": true - }, - "exclude": ["dist", "node_modules"] + "$schema": "https://json.schemastore.org/tsconfig", + "extends": [ + "@tsconfig/strictest/tsconfig.json", + "@tsconfig/node24/tsconfig.json" + ], + "compilerOptions": { + "noEmit": true + }, + "exclude": ["dist", "node_modules"] }