diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index a1eb432..cb5d09f 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -289,39 +289,6 @@ jobs: run: npx --yes npm@^11 publish --access public # No NODE_AUTH_TOKEN needed - OIDC handles authentication - publish-to-private-registry: - needs: publish - runs-on: ubuntu-latest - steps: - - name: Check out repository code - uses: actions/checkout@v4 - with: - ref: master - fetch-depth: 0 - - # First setup-node: for installing dependencies from npmjs.org - - name: Set up Node for dependency installation - uses: actions/setup-node@v4 - with: - node-version: '20' - registry-url: 'https://registry.npmjs.org' - - - name: Install dependencies - run: npm install - - # Second setup-node: reconfigure for publishing to private registry - - name: Set up Node for private registry publishing - uses: actions/setup-node@v4 - with: - node-version: '20' - registry-url: ${{ secrets.PRIVATE_NPM_REGISTRY_URL }} - - - name: Publish package to private registry - run: npm publish - env: - NODE_AUTH_TOKEN: ${{ secrets.PRIVATE_NPM_REGISTRY_TOKEN }} - SKIP_POSTVERSION: true - upload-release-assets: needs: [pack-tarballs, pack-macos, pack-deb, pack-windows] diff --git a/CHANGELOG.md b/CHANGELOG.md deleted file mode 100644 index 68aa8c5..0000000 --- a/CHANGELOG.md +++ /dev/null @@ -1,135 +0,0 @@ -### Changelog - -All notable changes to this project will be documented in this file. Dates are displayed in UTC. - -Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). - -#### [v1.0.10](https://github.com/fireblocks/fireblocks-cli/compare/v1.0.9...v1.0.10) - -> 11 June 2026 - -- Generated CLI #6460 [`#37`](https://github.com/fireblocks/fireblocks-cli/pull/37) - -#### [v1.0.9](https://github.com/fireblocks/fireblocks-cli/compare/v1.0.8...v1.0.9) - -> 2 June 2026 - -- Generated CLI #3180 [`#36`](https://github.com/fireblocks/fireblocks-cli/pull/36) -- dump new version 1.0.9 [`aa7f393`](https://github.com/fireblocks/fireblocks-cli/commit/aa7f393c314ad9046f06751b3bebc40ff242773b) - -#### [v1.0.8](https://github.com/fireblocks/fireblocks-cli/compare/v1.0.7...v1.0.8) - -> 7 May 2026 - -- Generated CLI #3457 [`#35`](https://github.com/fireblocks/fireblocks-cli/pull/35) -- Update README.md [`#34`](https://github.com/fireblocks/fireblocks-cli/pull/34) -- dump new version 1.0.8 [`e4c99fa`](https://github.com/fireblocks/fireblocks-cli/commit/e4c99fa60cc6e0b9777fd471f4af40dcc4b136bc) - -#### [v1.0.7](https://github.com/fireblocks/fireblocks-cli/compare/v1.0.6...v1.0.7) - -> 28 April 2026 - -- Generated CLI #3601 [`#33`](https://github.com/fireblocks/fireblocks-cli/pull/33) -- dump new version 1.0.7 [`d306029`](https://github.com/fireblocks/fireblocks-cli/commit/d3060292702bc3605cb1243d1fcf7c821ec02fdf) - -#### [v1.0.6](https://github.com/fireblocks/fireblocks-cli/compare/v1.0.5...v1.0.6) - -> 27 April 2026 - -- Generated CLI #628 [`#32`](https://github.com/fireblocks/fireblocks-cli/pull/32) -- dump new version 1.0.6 [`b5dab36`](https://github.com/fireblocks/fireblocks-cli/commit/b5dab369afd7a1b57ee5b411c3b5ee039bf212b7) - -#### [v1.0.5](https://github.com/fireblocks/fireblocks-cli/compare/v1.0.4...v1.0.5) - -> 21 April 2026 - -- Generated CLI #4515 [`#29`](https://github.com/fireblocks/fireblocks-cli/pull/29) -- dump new version 1.0.5 [`f038846`](https://github.com/fireblocks/fireblocks-cli/commit/f0388467198de85fd07ee4af6643f13a4c700777) - -#### [v1.0.4](https://github.com/fireblocks/fireblocks-cli/compare/v1.0.3...v1.0.4) - -> 21 April 2026 - -- Generated CLI #6469 [`#28`](https://github.com/fireblocks/fireblocks-cli/pull/28) -- dump new version 1.0.4 [`445f047`](https://github.com/fireblocks/fireblocks-cli/commit/445f047a26c2b1d62c5d084d9ab74c6dd70ff7a1) - -#### [v1.0.3](https://github.com/fireblocks/fireblocks-cli/compare/v1.0.2...v1.0.3) - -> 21 April 2026 - -- Generated CLI #4147 [`#27`](https://github.com/fireblocks/fireblocks-cli/pull/27) -- Generated CLI #3663 [`#26`](https://github.com/fireblocks/fireblocks-cli/pull/26) -- dump new version 1.0.3 [`3d5771d`](https://github.com/fireblocks/fireblocks-cli/commit/3d5771dfc96d51f18bab1dea20f2f810e84cfc8b) -- dump new version 1.0.3 [`653c2b4`](https://github.com/fireblocks/fireblocks-cli/commit/653c2b47fbed3b3c6e0e3e264c3fd21db048702e) - -#### [v1.0.2](https://github.com/fireblocks/fireblocks-cli/compare/v1.0.1...v1.0.2) - -> 20 April 2026 - -- Generated CLI #4144 [`#25`](https://github.com/fireblocks/fireblocks-cli/pull/25) -- release 1.0.2 [`9416c27`](https://github.com/fireblocks/fireblocks-cli/commit/9416c27d05c71a2894682e94f9b93b3e10a54c80) - -#### [v1.0.1](https://github.com/fireblocks/fireblocks-cli/compare/v1.0.0...v1.0.1) - -> 20 April 2026 - -- Generated CLI #2861 [`#24`](https://github.com/fireblocks/fireblocks-cli/pull/24) -- release 1.0.1 [`1c80a47`](https://github.com/fireblocks/fireblocks-cli/commit/1c80a47fae69a42537915f8db5a9a4e1e7c7883d) - -### [v1.0.0](https://github.com/fireblocks/fireblocks-cli/compare/v0.0.7...v1.0.0) - -> 20 April 2026 - -- Generated CLI #2861 [`#23`](https://github.com/fireblocks/fireblocks-cli/pull/23) -- Update README.md [`#22`](https://github.com/fireblocks/fireblocks-cli/pull/22) -- Generated CLI #6187 [`#21`](https://github.com/fireblocks/fireblocks-cli/pull/21) -- release 1.0.0 [`1ceadf9`](https://github.com/fireblocks/fireblocks-cli/commit/1ceadf9200db313a26d7ded2c2e883a7b5a54ca8) -- release 1.0.0 [`166b754`](https://github.com/fireblocks/fireblocks-cli/commit/166b7548fafd1c4dd1f87fcde2b3764df75c9fe3) - -#### [v0.0.7](https://github.com/fireblocks/fireblocks-cli/compare/v0.0.6...v0.0.7) - -> 20 April 2026 - -- Generated CLI #3643 [`#20`](https://github.com/fireblocks/fireblocks-cli/pull/20) -- release 0.0.7 [`3856d2b`](https://github.com/fireblocks/fireblocks-cli/commit/3856d2bb87dc9cf83c6e6a6bc5af20e000dd86e7) - -#### [v0.0.6](https://github.com/fireblocks/fireblocks-cli/compare/v0.0.5...v0.0.6) - -> 20 April 2026 - -- Generated CLI #2002 [`#18`](https://github.com/fireblocks/fireblocks-cli/pull/18) -- release 0.0.6 [`a9f3754`](https://github.com/fireblocks/fireblocks-cli/commit/a9f375413fdb4c3582cc1e098154fd72e6196b13) - -#### [v0.0.5](https://github.com/fireblocks/fireblocks-cli/compare/v0.0.4...v0.0.5) - -> 20 April 2026 - -- Generated CLI #5855 [`#17`](https://github.com/fireblocks/fireblocks-cli/pull/17) -- release 0.0.5 [`c1cbb86`](https://github.com/fireblocks/fireblocks-cli/commit/c1cbb869c72d5233fc103bdd6117031b215fc2dd) - -#### [v0.0.4](https://github.com/fireblocks/fireblocks-cli/compare/v0.0.3...v0.0.4) - -> 19 April 2026 - -- Generated CLI #9358 [`#15`](https://github.com/fireblocks/fireblocks-cli/pull/15) - -#### [v0.0.3](https://github.com/fireblocks/fireblocks-cli/compare/v0.0.2...v0.0.3) - -> 19 April 2026 - -- Generated CLI #3678 [`#13`](https://github.com/fireblocks/fireblocks-cli/pull/13) - -#### [v0.0.2](https://github.com/fireblocks/fireblocks-cli/compare/v0.0.1...v0.0.2) - -> 19 April 2026 - -- Generated CLI #6127 [`#12`](https://github.com/fireblocks/fireblocks-cli/pull/12) - -#### v0.0.1 - -> 19 April 2026 - -- Generated CLI #212 [`#10`](https://github.com/fireblocks/fireblocks-cli/pull/10) -- Generated CLI #6774 [`#8`](https://github.com/fireblocks/fireblocks-cli/pull/8) -- Generated CLI #5771 [`#7`](https://github.com/fireblocks/fireblocks-cli/pull/7) -- Empty commit [`01a4e60`](https://github.com/fireblocks/fireblocks-cli/commit/01a4e60b38b583644d86f6220bb1751ce3594bb0) diff --git a/package.json b/package.json index 8e736df..1ce4e0b 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@fireblocks/fireblocks-cli", "description": "Agent-first CLI for Fireblocks infrastructure. Execute any Fireblocks API operation from the command line.", - "version": "1.0.10", + "version": "0.1.0", "author": "Fireblocks", "repository": { "type": "git", @@ -40,11 +40,7 @@ "./dist", "./oclif.manifest.json" ], - "keywords": [ - "oclif", - "fireblocks", - "cli" - ], + "keywords": ["oclif", "fireblocks", "cli"], "license": "MIT", "main": "dist/index.js", "type": "module", @@ -57,160 +53,163 @@ }, "topicSeparator": " ", "topics": { - "vaults": { - "description": "Vaults operations" + "admin-quorum": { + "description": "Admin Quorum operations" }, - "embedded-wallets": { - "description": "Embedded Wallets operations" + "api-user": { + "description": "Api User operations" }, - "workspace": { - "description": "Workspace operations" + "audit-logs": { + "description": "Audit Logs operations" }, - "exchange-accounts": { - "description": "Exchange accounts operations" + "blockchains-assets": { + "description": "Blockchains & assets operations" }, - "fiat-accounts": { - "description": "Fiat accounts operations" + "compliance": { + "description": "Compliance operations" + }, + "compliance-screening-configuration": { + "description": "Compliance Screening Configuration operations" }, "connected-accounts": { - "description": "Connected Accounts operations (Beta)" + "description": "Connected Accounts operations (Beta)" }, - "compliance": { - "description": "Compliance operations" + "console-user": { + "description": "Console User operations" }, - "network-connections": { - "description": "Network connections operations" + "contract-interactions": { + "description": "Contract Interactions operations" }, - "internal-wallets": { - "description": "Internal wallets operations" + "contract-templates": { + "description": "Contract Templates operations" }, - "key-link": { - "description": "Key Link operations (Beta)" + "contracts": { + "description": "Contracts operations" }, - "keys": { - "description": "Keys operations (Beta)" + "cosigners": { + "description": "Cosigners operations (Beta)" }, - "external-wallets": { - "description": "External wallets operations" + "deployed-contracts": { + "description": "Deployed Contracts operations" }, - "contracts": { - "description": "Contracts operations" + "earn": { + "description": "Earn operations (Beta)" }, - "blockchains-assets": { - "description": "Blockchains & assets operations" + "embedded-wallets": { + "description": "Embedded Wallets operations" }, - "transactions": { - "description": "Transactions operations" + "exchange-accounts": { + "description": "Exchange accounts operations" }, - "payments-payout": { - "description": "Payments - Payout operations" + "external-wallets": { + "description": "External wallets operations" }, - "payments-flows": { - "description": "Payments - Flows operations" + "fiat-accounts": { + "description": "Fiat accounts operations" }, "gas-stations": { - "description": "Gas stations operations" + "description": "Gas stations operations" }, - "user-groups": { - "description": "User groups operations (Beta)" + "genie": { + "description": "Genie operations (Beta)" }, - "users": { - "description": "Users operations" + "internal-wallets": { + "description": "Internal wallets operations" }, - "audit-logs": { - "description": "Audit Logs operations" + "key-link": { + "description": "Key Link operations (Beta)" }, - "off-exchanges": { - "description": "Off exchanges operations" + "keys": { + "description": "Keys operations (Beta)" }, - "webhooks": { - "description": "Webhooks operations" + "network-connections": { + "description": "Network connections operations" }, - "webhooks-v2": { - "description": "Webhooks V2 operations" + "nfts": { + "description": "NFTs operations" }, - "contract-templates": { - "description": "Contract Templates operations" + "off-exchanges": { + "description": "Off exchanges operations" }, - "deployed-contracts": { - "description": "Deployed Contracts operations" + "onchain-data": { + "description": "Onchain Data operations" }, - "tokenization": { - "description": "Tokenization operations" + "ota": { + "description": "OTA operations (Beta)" }, - "contract-interactions": { - "description": "Contract Interactions operations" + "payments-flows": { + "description": "Payments - Flows operations" }, - "onchain-data": { - "description": "Onchain Data operations" + "payments-payout": { + "description": "Payments - Payout operations" }, - "staking": { - "description": "Staking operations" + "policy-editor": { + "description": "Policy Editor operations (Beta)" }, - "earn": { - "description": "Earn operations (Beta)" + "policy-editor-v2": { + "description": "Policy Editor V2 operations" }, - "trading": { - "description": "Trading operations (Beta)" + "reports": { + "description": "Reports operations (Beta)" }, - "admin-quorum": { - "description": "Admin Quorum operations" + "reset-device": { + "description": "Reset device operations" }, - "nfts": { - "description": "NFTs operations" + "smart-transfer": { + "description": "Smart Transfer operations" }, - "web3-connections": { - "description": "Web3 connections operations" + "staking": { + "description": "Staking operations" }, - "travel-rule": { - "description": "Travel Rule operations" + "tags": { + "description": "Tags operations" }, - "compliance-screening-configuration": { - "description": "Compliance Screening Configuration operations" + "tokenization": { + "description": "Tokenization operations" }, - "trlink": { - "description": "TRLink operations" + "trading": { + "description": "Trading operations (Beta)" }, - "ota": { - "description": "OTA operations (Beta)" + "transactions": { + "description": "Transactions operations" }, - "workspace-status": { - "description": "Workspace Status operations (Beta)" + "travel-rule": { + "description": "Travel Rule operations" }, - "policy-editor": { - "description": "Policy Editor operations (Beta)" + "trlink": { + "description": "TRLink operations" }, - "policy-editor-v2": { - "description": "Policy Editor V2 operations (Beta)" + "user-groups": { + "description": "User groups operations (Beta)" }, - "console-user": { - "description": "Console User operations" + "users": { + "description": "Users operations" }, - "api-user": { - "description": "Api User operations" + "utxo-management": { + "description": "UTXO Management operations (Beta)" }, - "reset-device": { - "description": "Reset device operations" + "vaults": { + "description": "Vaults operations" }, - "whitelist-ip-addresses": { - "description": "whitelist ip addresses operations" + "web3-connections": { + "description": "Web3 connections operations" }, - "smart-transfer": { - "description": "Smart Transfer operations" + "webhooks": { + "description": "Webhooks operations" }, - "tags": { - "description": "Tags operations" + "webhooks-v2": { + "description": "Webhooks V2 operations" }, - "cosigners": { - "description": "Cosigners operations (Beta)" + "whitelist-ip-addresses": { + "description": "whitelist ip addresses operations" }, - "utxo-management": { - "description": "UTXO Management operations (Beta)" + "workspace": { + "description": "Workspace operations" }, - "genie": { - "description": "Genie operations (Beta)" + "workspace-status": { + "description": "Workspace Status operations (Beta)" } - }, +}, "plugins": [ "@oclif/plugin-help", "@oclif/plugin-autocomplete" @@ -228,7 +227,7 @@ "win32-x64" ], "macos": { - "identifier": "com.fireblocks.mycli" + "identifier": "com.fireblocks.mycli" } }, "scripts": { @@ -239,6 +238,6 @@ "pack:mac": "oclif pack macos", "pack:win": "oclif pack win --targets win32-x64", "pack:deb": "oclif pack deb" - }, +}, "types": "dist/index.d.ts" } diff --git a/src/commands/api-user/issue-api-user-pairing-token.ts b/src/commands/api-user/issue-api-user-pairing-token.ts new file mode 100644 index 0000000..08b25ba --- /dev/null +++ b/src/commands/api-user/issue-api-user-pairing-token.ts @@ -0,0 +1,53 @@ +import {Flags} from '@oclif/core' +import {FireblocksBaseCommand} from '../../lib/base-command.js' + +export default class IssueApiUserPairingToken extends FireblocksBaseCommand { + static summary = 'Issue API user pairing token' + + static description = 'Issues a device pairing token for the given user and returns the user\'s info along with the token.\n- The API user must be in PENDING_ACTIVATION status. If the user is already set up (enabled), the request is rejected with a 409 Conflict.\n- Please note that this endpoint is available only for API keys with Owner/Admin/Non Signing Admin permissions.\nEndpoint Permission: Owner, Admin, Non-Signing Admin.\n\nOperation ID: issueApiUserPairingToken\nDocs: https://docs.fireblocks.com/api/swagger-ui/#/Api%20User/issueApiUserPairingToken' + + static enableJsonFlag = false + + static flags = { + 'user-id': Flags.string({ + description: 'The ID of the api user', + required: true, + }), + 'include-headers': Flags.boolean({ + description: 'Include spec-defined response headers in output', + default: false, + }), + } + + static method = 'POST' + static path = '/v1/management/api_users/{userId}/pairing_token' + static isBeta = false + static responseHeaders: string[] = ["X-Request-ID"] + + async run(): Promise { + const {flags} = await this.parse(IssueApiUserPairingToken) + + + const headers: Record = {} + if (flags['idempotency-key']) { + headers['Idempotency-Key'] = flags['idempotency-key'] + } + + const pathParams: Record = {} + pathParams['userId'] = String(flags['user-id']) + + + await this.confirmOrAbort('POST', '/v1/management/api_users/{userId}/pairing_token') + + const result = await this.makeRequest( + 'POST', + '/v1/management/api_users/{userId}/pairing_token', + { + headers, + pathParams, + }, + ) + + return result + } +} diff --git a/src/commands/compliance/delete-legal-entity.ts b/src/commands/compliance/delete-legal-entity.ts new file mode 100644 index 0000000..984953f --- /dev/null +++ b/src/commands/compliance/delete-legal-entity.ts @@ -0,0 +1,50 @@ +import {Flags} from '@oclif/core' +import {FireblocksBaseCommand} from '../../lib/base-command.js' + +export default class DeleteLegalEntity extends FireblocksBaseCommand { + static summary = 'Delete a legal entity' + + static description = 'Delete a legal entity will change the status of a legal entity registration to REVOKED. Endpoint Permission: Admin, Non-Signing Admin.\n\nOperation ID: deleteLegalEntity\nDocs: https://docs.fireblocks.com/api/swagger-ui/#/Compliance/deleteLegalEntity' + + static enableJsonFlag = false + + static flags = { + 'legal-entity-id': Flags.string({ + description: 'The unique ID of the legal entity registration to delete', + required: true, + }), + 'include-headers': Flags.boolean({ + description: 'Include spec-defined response headers in output', + default: false, + }), + } + + static method = 'DELETE' + static path = '/v1/legal_entities/{legalEntityId}' + static isBeta = false + static responseHeaders: string[] = ["X-Request-ID"] + + async run(): Promise { + const {flags} = await this.parse(DeleteLegalEntity) + + + const headers: Record = {} + + const pathParams: Record = {} + pathParams['legalEntityId'] = String(flags['legal-entity-id']) + + + await this.confirmOrAbort('DELETE', '/v1/legal_entities/{legalEntityId}') + + const result = await this.makeRequest( + 'DELETE', + '/v1/legal_entities/{legalEntityId}', + { + headers, + pathParams, + }, + ) + + return result + } +} diff --git a/src/commands/compliance/get-legal-entity-for-address.ts b/src/commands/compliance/get-legal-entity-for-address.ts index b37311f..580d1b8 100644 --- a/src/commands/compliance/get-legal-entity-for-address.ts +++ b/src/commands/compliance/get-legal-entity-for-address.ts @@ -4,7 +4,7 @@ import {FireblocksBaseCommand} from '../../lib/base-command.js' export default class GetLegalEntityForAddress extends FireblocksBaseCommand { static summary = 'Look up legal entity by blockchain address' - static description = 'Returns legal entity information for the given blockchain address (verification status, LEI, Travel Rule providers, contact email, and related fields — see response schema). URL-encode \`{address}\` when required.\n\nOperation ID: getLegalEntityForAddress\nDocs: https://docs.fireblocks.com/api/swagger-ui/#/Compliance/getLegalEntityForAddress' + static description = 'Returns legal entity information for the given blockchain address (LEI data availability, LEI identifier, Travel Rule providers, contact email, and related fields — see response schema). URL-encode \`{address}\` when required.\n\nOperation ID: getLegalEntityForAddress\nDocs: https://docs.fireblocks.com/api/swagger-ui/#/Compliance/getLegalEntityForAddress' static enableJsonFlag = false diff --git a/src/commands/connected-accounts/create-connected-account.ts b/src/commands/connected-accounts/create-connected-account.ts new file mode 100644 index 0000000..6e85e60 --- /dev/null +++ b/src/commands/connected-accounts/create-connected-account.ts @@ -0,0 +1,65 @@ +import {Flags} from '@oclif/core' +import {FireblocksBaseCommand} from '../../lib/base-command.js' + +export default class CreateConnectedAccount extends FireblocksBaseCommand { + static summary = 'Create a connected account' + + static description = 'Creates a new connected account for the authenticated tenant.\n\nThe \`creds\` field must be a Base64-encoded RSA-encrypted credential blob.\nUse \`GET /exchange_accounts/credentials_public_key\` to retrieve the public key for encryption.\n\nThe \`providerType\` is derived server-side from the \`providerId\` — callers do not supply it.\n\nEndpoint Permission: Editor, Admin, Non-Signing Admin.\n\n**Note:** This endpoint is currently in beta and might be subject to changes.\n\nOperation ID: createConnectedAccount\nDocs: https://docs.fireblocks.com/api/swagger-ui/#/Connected%20Accounts/createConnectedAccount' + + static enableJsonFlag = false + + static flags = { + data: Flags.string({ + description: 'JSON request body', + required: true, + }), + 'include-headers': Flags.boolean({ + description: 'Include spec-defined response headers in output', + default: false, + }), + } + + static method = 'POST' + static path = '/v1/connected_accounts' + static isBeta = true + static responseHeaders: string[] = ["X-Request-ID"] + + async run(): Promise { + const {flags} = await this.parse(CreateConnectedAccount) + + this.logToStderr('Warning: This command is in beta and may change in future releases.') + + let body: Record | undefined + if (flags.data) { + try { + const parsed = JSON.parse(flags.data) + if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed)) { + this.error('--data must be a JSON object (e.g., \'{"key": "value"}\')') + } + body = parsed as Record + } catch { + this.error('Invalid JSON in --data flag. Ensure the value is valid JSON.') + } + } + + const headers: Record = {} + if (flags['idempotency-key']) { + headers['Idempotency-Key'] = flags['idempotency-key'] + } + + + + await this.confirmOrAbort('POST', '/v1/connected_accounts') + + const result = await this.makeRequest( + 'POST', + '/v1/connected_accounts', + { + body, + headers, + }, + ) + + return result + } +} diff --git a/src/commands/connected-accounts/get-connected-account-allowlist-entry.ts b/src/commands/connected-accounts/get-connected-account-allowlist-entry.ts index e1da3ca..8053be6 100644 --- a/src/commands/connected-accounts/get-connected-account-allowlist-entry.ts +++ b/src/commands/connected-accounts/get-connected-account-allowlist-entry.ts @@ -4,7 +4,7 @@ import {FireblocksBaseCommand} from '../../lib/base-command.js' export default class GetConnectedAccountAllowlistEntry extends FireblocksBaseCommand { static summary = 'Get a single allowlist entry for a connected account' - static description = 'Retrieves a single allowlist entry by its Fireblocks identifier for a specified connected account.\n\n**Note:** This endpoint is currently in beta and might be subject to changes. Currently supports CoinbaseExchange accounts only.\n\nOperation ID: getConnectedAccountAllowlistEntry\nDocs: https://docs.fireblocks.com/api/swagger-ui/#/Connected%20Accounts/getConnectedAccountAllowlistEntry' + static description = 'Retrieves a single allowlist entry by its Fireblocks identifier for a specified connected account.\n\n**Note:** This endpoint is currently in beta and might be subject to changes. Currently supports CoinbaseExchange/Binance accounts only.\n\nOperation ID: getConnectedAccountAllowlistEntry\nDocs: https://docs.fireblocks.com/api/swagger-ui/#/Connected%20Accounts/getConnectedAccountAllowlistEntry' static enableJsonFlag = false diff --git a/src/commands/connected-accounts/get-connected-account-allowlist.ts b/src/commands/connected-accounts/get-connected-account-allowlist.ts index 73aa57d..4476658 100644 --- a/src/commands/connected-accounts/get-connected-account-allowlist.ts +++ b/src/commands/connected-accounts/get-connected-account-allowlist.ts @@ -4,7 +4,7 @@ import {FireblocksBaseCommand} from '../../lib/base-command.js' export default class GetConnectedAccountAllowlist extends FireblocksBaseCommand { static summary = 'Get allowlist for connected account' - static description = 'Retrieves the address allowlist for a specified connected account.\n\n**Note:** This endpoint is currently in beta and might be subject to changes. Currently supports CoinbaseExchange accounts only.\n\nOperation ID: getConnectedAccountAllowlist\nDocs: https://docs.fireblocks.com/api/swagger-ui/#/Connected%20Accounts/getConnectedAccountAllowlist' + static description = 'Retrieves the address allowlist for a specified connected account.\n\n**Note:** This endpoint is currently in beta and might be subject to changes. Currently supports CoinbaseExchange/Binance accounts only.\n\nOperation ID: getConnectedAccountAllowlist\nDocs: https://docs.fireblocks.com/api/swagger-ui/#/Connected%20Accounts/getConnectedAccountAllowlist' static enableJsonFlag = false diff --git a/src/commands/connected-accounts/sync-connected-account-allowlist.ts b/src/commands/connected-accounts/sync-connected-account-allowlist.ts index de9c70d..1f48b97 100644 --- a/src/commands/connected-accounts/sync-connected-account-allowlist.ts +++ b/src/commands/connected-accounts/sync-connected-account-allowlist.ts @@ -4,7 +4,7 @@ import {FireblocksBaseCommand} from '../../lib/base-command.js' export default class SyncConnectedAccountAllowlist extends FireblocksBaseCommand { static summary = 'Sync allowlist for connected account' - static description = 'Triggers an on-demand sync from the exchange, bypassing the cache and fetching live data immediately.\n\n**Rate limit:** 1 request per minute per connected account.\n\n**Note:** This endpoint is currently in beta and might be subject to changes. Currently supports CoinbaseExchange accounts only.\n\nOperation ID: syncConnectedAccountAllowlist\nDocs: https://docs.fireblocks.com/api/swagger-ui/#/Connected%20Accounts/syncConnectedAccountAllowlist' + static description = 'Triggers an on-demand sync from the exchange, bypassing the cache and fetching live data immediately.\n\n**Rate limit:** 1 request per minute per connected account.\n\n**Note:** This endpoint is currently in beta and might be subject to changes. Currently supports CoinbaseExchange/Binance accounts only.\n\nOperation ID: syncConnectedAccountAllowlist\nDocs: https://docs.fireblocks.com/api/swagger-ui/#/Connected%20Accounts/syncConnectedAccountAllowlist' static enableJsonFlag = false diff --git a/src/commands/policy-editor-v2/get-active-policy.ts b/src/commands/policy-editor-v2/get-active-policy.ts index b4a4ca8..002bb2c 100644 --- a/src/commands/policy-editor-v2/get-active-policy.ts +++ b/src/commands/policy-editor-v2/get-active-policy.ts @@ -4,7 +4,7 @@ import {FireblocksBaseCommand} from '../../lib/base-command.js' export default class GetActivePolicy extends FireblocksBaseCommand { static summary = 'Get the active policy and its validation by policy type' - static description = 'Returns the active policy and its validation for a specific policy type.\n\n**Note:** This endpoint is currently in beta and subject to change. If you want to participate in the Policies beta, contact your Fireblocks Customer Success Manager or send an email to csm@fireblocks.com.\n\nEndpoint Permissions: Owner, Admin, Non-Signing Admin.\n\nOperation ID: getActivePolicy\nDocs: https://docs.fireblocks.com/api/swagger-ui/#/Policy%20Editor%20V2/getActivePolicy' + static description = 'Returns the active policy and its validation for a specific policy type.\n\nEndpoint Permissions: Owner, Admin, Non-Signing Admin.\n\nOperation ID: getActivePolicy\nDocs: https://docs.fireblocks.com/api/swagger-ui/#/Policy%20Editor%20V2/getActivePolicy' static enableJsonFlag = false @@ -21,14 +21,12 @@ export default class GetActivePolicy extends FireblocksBaseCommand { static method = 'GET' static path = '/v1/policy/active_policy' - static isBeta = true + static isBeta = false static responseHeaders: string[] = ["X-Request-ID"] async run(): Promise { const {flags} = await this.parse(GetActivePolicy) - this.logToStderr('Warning: This command is in beta and may change in future releases.') - const headers: Record = {} diff --git a/src/commands/policy-editor-v2/get-draft.ts b/src/commands/policy-editor-v2/get-draft.ts index b791c99..2acd3d4 100644 --- a/src/commands/policy-editor-v2/get-draft.ts +++ b/src/commands/policy-editor-v2/get-draft.ts @@ -4,7 +4,7 @@ import {FireblocksBaseCommand} from '../../lib/base-command.js' export default class GetDraft extends FireblocksBaseCommand { static summary = 'Get the active draft by policy type' - static description = 'Returns the active draft and its validation for a specific policy type. \n**Note:** These endpoints are currently in beta and might be subject to changes.\n\nOperation ID: getDraft\nDocs: https://docs.fireblocks.com/api/swagger-ui/#/Policy%20Editor%20V2/getDraft' + static description = 'Returns the active draft and its validation for a specific policy type.\n\nOperation ID: getDraft\nDocs: https://docs.fireblocks.com/api/swagger-ui/#/Policy%20Editor%20V2/getDraft' static enableJsonFlag = false @@ -21,14 +21,12 @@ export default class GetDraft extends FireblocksBaseCommand { static method = 'GET' static path = '/v1/policy/draft' - static isBeta = true + static isBeta = false static responseHeaders: string[] = ["X-Request-ID"] async run(): Promise { const {flags} = await this.parse(GetDraft) - this.logToStderr('Warning: This command is in beta and may change in future releases.') - const headers: Record = {} diff --git a/src/commands/policy-editor-v2/publish-draft.ts b/src/commands/policy-editor-v2/publish-draft.ts index 3c0bcd2..8098046 100644 --- a/src/commands/policy-editor-v2/publish-draft.ts +++ b/src/commands/policy-editor-v2/publish-draft.ts @@ -4,7 +4,7 @@ import {FireblocksBaseCommand} from '../../lib/base-command.js' export default class PublishDraft extends FireblocksBaseCommand { static summary = 'Send publish request for a certain draft id' - static description = 'Send publish request of certain draft id and returns the response. \n**Note:** These endpoints are currently in beta and might be subject to changes.\nIf you want to participate and learn more about the Fireblocks Policy Editor, please contact your Fireblocks Customer Success Manager or send an email to CSM@fireblocks.com.\n\nOperation ID: publishDraft\nDocs: https://docs.fireblocks.com/api/swagger-ui/#/Policy%20Editor%20V2/publishDraft' + static description = 'Send publish request of certain draft id and returns the response.\n\n**⚠️ IMPORTANT SECURITY NOTICE:**\n\nThe Fireblocks Policy is a critical security guardrail. Programmatically modifying your policy via the API introduces significant security risks. As an industry best practice, Fireblocks strongly recommends manual editing accompanied by strict human oversight and approval workflows for all policy changes. Programmatic updates should only be implemented by advanced users with comprehensive, multi-layer security controls in place.\n\nIf you want to learn more about the Fireblocks Policy Editor, please contact your Fireblocks Customer Success Manager or send an email to CSM@fireblocks.com.\n\nOperation ID: publishDraft\nDocs: https://docs.fireblocks.com/api/swagger-ui/#/Policy%20Editor%20V2/publishDraft' static enableJsonFlag = false @@ -21,14 +21,12 @@ export default class PublishDraft extends FireblocksBaseCommand { static method = 'POST' static path = '/v1/policy/draft' - static isBeta = true + static isBeta = false static responseHeaders: string[] = ["X-Request-ID"] async run(): Promise { const {flags} = await this.parse(PublishDraft) - this.logToStderr('Warning: This command is in beta and may change in future releases.') - let body: Record | undefined if (flags.data) { try { diff --git a/src/commands/policy-editor-v2/update-draft.ts b/src/commands/policy-editor-v2/update-draft.ts index 07ee0f1..7dfc6a2 100644 --- a/src/commands/policy-editor-v2/update-draft.ts +++ b/src/commands/policy-editor-v2/update-draft.ts @@ -4,7 +4,7 @@ import {FireblocksBaseCommand} from '../../lib/base-command.js' export default class UpdateDraft extends FireblocksBaseCommand { static summary = 'Update the draft with a new set of rules by policy types' - static description = 'Update the draft and return its validation for specific policy types. \n**Note:** These endpoints are currently in beta and might be subject to changes.\n\nOperation ID: updateDraft\nDocs: https://docs.fireblocks.com/api/swagger-ui/#/Policy%20Editor%20V2/updateDraft' + static description = 'Update the draft and return its validation for specific policy types.\n\n**⚠️ IMPORTANT SECURITY NOTICE:**\n\nThe Fireblocks Policy is a critical security guardrail. Programmatically modifying your policy via the API introduces significant security risks. As an industry best practice, Fireblocks strongly recommends manual editing accompanied by strict human oversight and approval workflows for all policy changes. Programmatic updates should only be implemented by advanced users with comprehensive, multi-layer security controls in place.\n\nOperation ID: updateDraft\nDocs: https://docs.fireblocks.com/api/swagger-ui/#/Policy%20Editor%20V2/updateDraft' static enableJsonFlag = false @@ -21,14 +21,12 @@ export default class UpdateDraft extends FireblocksBaseCommand { static method = 'PUT' static path = '/v1/policy/draft' - static isBeta = true + static isBeta = false static responseHeaders: string[] = ["X-Request-ID"] async run(): Promise { const {flags} = await this.parse(UpdateDraft) - this.logToStderr('Warning: This command is in beta and may change in future releases.') - let body: Record | undefined if (flags.data) { try { diff --git a/src/commands/reports/create-report.ts b/src/commands/reports/create-report.ts new file mode 100644 index 0000000..90b49b9 --- /dev/null +++ b/src/commands/reports/create-report.ts @@ -0,0 +1,65 @@ +import {Flags} from '@oclif/core' +import {FireblocksBaseCommand} from '../../lib/base-command.js' + +export default class CreateReport extends FireblocksBaseCommand { + static summary = 'Create a report' + + static description = 'Creates a new asynchronous report job and returns a receipt containing the report ID.\nPoll \`GET /v1/reports/{reportId}\` to check status. When \`status\` is \`COMPLETED\`, the poll\nresponse includes a fresh pre-signed download URL in \`links.downloadUrl\`.\n\n**Note:** These endpoints are currently in beta and might be subject to changes.\n\nEndpoint Permission: Viewer and above.\n\nOperation ID: createReport\nDocs: https://docs.fireblocks.com/api/swagger-ui/#/Reports/createReport' + + static enableJsonFlag = false + + static flags = { + data: Flags.string({ + description: 'JSON request body', + required: true, + }), + 'include-headers': Flags.boolean({ + description: 'Include spec-defined response headers in output', + default: false, + }), + } + + static method = 'POST' + static path = '/v1/reports' + static isBeta = true + static responseHeaders: string[] = ["X-Request-ID"] + + async run(): Promise { + const {flags} = await this.parse(CreateReport) + + this.logToStderr('Warning: This command is in beta and may change in future releases.') + + let body: Record | undefined + if (flags.data) { + try { + const parsed = JSON.parse(flags.data) + if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed)) { + this.error('--data must be a JSON object (e.g., \'{"key": "value"}\')') + } + body = parsed as Record + } catch { + this.error('Invalid JSON in --data flag. Ensure the value is valid JSON.') + } + } + + const headers: Record = {} + if (flags['idempotency-key']) { + headers['Idempotency-Key'] = flags['idempotency-key'] + } + + + + await this.confirmOrAbort('POST', '/v1/reports') + + const result = await this.makeRequest( + 'POST', + '/v1/reports', + { + body, + headers, + }, + ) + + return result + } +} diff --git a/src/commands/reports/get-report.ts b/src/commands/reports/get-report.ts new file mode 100644 index 0000000..013fe38 --- /dev/null +++ b/src/commands/reports/get-report.ts @@ -0,0 +1,50 @@ +import {Flags} from '@oclif/core' +import {FireblocksBaseCommand} from '../../lib/base-command.js' + +export default class GetReport extends FireblocksBaseCommand { + static summary = 'Get report status' + + static description = 'Returns the current status of a report job. Check the \`status\` field to determine the outcome.\n\nWhen \`status\` is \`COMPLETED\`, the response includes a fresh pre-signed download URL in\n\`links.downloadUrl\` (TTL ~1 hour). Re-poll this endpoint to obtain a new URL after expiry.\n\nWhen \`status\` is \`FAILED\`, the \`failedAt\` timestamp indicates when the failure occurred.\n\n**Note:** These endpoints are currently in beta and might be subject to changes.\n\nEndpoint Permission: Viewer and above.\n\nOperation ID: getReport\nDocs: https://docs.fireblocks.com/api/swagger-ui/#/Reports/getReport' + + static enableJsonFlag = false + + static flags = { + 'report-id': Flags.string({ + description: 'The unique identifier of the report job', + required: true, + }), + 'include-headers': Flags.boolean({ + description: 'Include spec-defined response headers in output', + default: false, + }), + } + + static method = 'GET' + static path = '/v1/reports/{reportId}' + static isBeta = true + static responseHeaders: string[] = ["X-Request-ID"] + + async run(): Promise { + const {flags} = await this.parse(GetReport) + + this.logToStderr('Warning: This command is in beta and may change in future releases.') + + + const headers: Record = {} + + const pathParams: Record = {} + pathParams['reportId'] = String(flags['report-id']) + + + const result = await this.makeRequest( + 'GET', + '/v1/reports/{reportId}', + { + headers, + pathParams, + }, + ) + + return result + } +} diff --git a/src/commands/reports/list-reports.ts b/src/commands/reports/list-reports.ts new file mode 100644 index 0000000..50e7d02 --- /dev/null +++ b/src/commands/reports/list-reports.ts @@ -0,0 +1,86 @@ +import {Flags} from '@oclif/core' +import {FireblocksBaseCommand} from '../../lib/base-command.js' + +export default class ListReports extends FireblocksBaseCommand { + static summary = 'List reports' + + static description = 'Returns a paginated list of report jobs scoped to the calling tenant.\n\n**Note:** Download URLs are not included in list responses. Call \`GET /v1/reports/{reportId}\` to\nobtain a fresh signed download URL for a specific completed report.\n\n**Note:** These endpoints are currently in beta and might be subject to changes.\n\nEndpoint Permission: Viewer and above.\n\nOperation ID: listReports\nDocs: https://docs.fireblocks.com/api/swagger-ui/#/Reports/listReports' + + static enableJsonFlag = false + + static flags = { + 'page-cursor': Flags.string({ + description: 'Opaque cursor returned from a previous list call', + }), + 'page-size': Flags.integer({ + description: 'Maximum number of items per page', + default: 20, + }), + 'sort-by': Flags.string({ + description: 'Field to sort by', + default: 'createdAt', + options: ['createdAt', 'completedAt'], + }), + 'order': Flags.string({ + description: 'Sort direction', + default: 'DESC', + options: ['ASC', 'DESC'], + }), + 'status': Flags.string({ + description: 'Filter by lifecycle status. Repeat the parameter to filter on multiple statuses (e.g., ?status=QUEUED&status=PROCESSING).', + }), + 'report-type': Flags.string({ + description: 'Filter by report type. Repeat the parameter to filter on multiple types.', + }), + 'include-headers': Flags.boolean({ + description: 'Include spec-defined response headers in output', + default: false, + }), + } + + static method = 'GET' + static path = '/v1/reports' + static isBeta = true + static responseHeaders: string[] = ["X-Request-ID"] + + async run(): Promise { + const {flags} = await this.parse(ListReports) + + this.logToStderr('Warning: This command is in beta and may change in future releases.') + + + const headers: Record = {} + + + const queryParams: Record = {} + if (flags['page-cursor'] !== undefined && flags['page-cursor'] !== null) { + queryParams['pageCursor'] = String(flags['page-cursor']) + } + if (flags['page-size'] !== undefined && flags['page-size'] !== null) { + queryParams['pageSize'] = String(flags['page-size']) + } + if (flags['sort-by'] !== undefined && flags['sort-by'] !== null) { + queryParams['sortBy'] = String(flags['sort-by']) + } + if (flags['order'] !== undefined && flags['order'] !== null) { + queryParams['order'] = String(flags['order']) + } + if (flags['status'] !== undefined && flags['status'] !== null) { + queryParams['status'] = String(flags['status']) + } + if (flags['report-type'] !== undefined && flags['report-type'] !== null) { + queryParams['reportType'] = String(flags['report-type']) + } + + const result = await this.makeRequest( + 'GET', + '/v1/reports', + { + headers, + queryParams, + }, + ) + + return result + } +} diff --git a/src/commands/staking/get-position-related-transactions.ts b/src/commands/staking/get-position-related-transactions.ts new file mode 100644 index 0000000..52ea4f7 --- /dev/null +++ b/src/commands/staking/get-position-related-transactions.ts @@ -0,0 +1,71 @@ +import {Flags} from '@oclif/core' +import {FireblocksBaseCommand} from '../../lib/base-command.js' + +export default class GetPositionRelatedTransactions extends FireblocksBaseCommand { + static summary = 'List related transactions for a position' + + static description = 'Returns enriched transaction history for a staking position with cursor-based pagination. Includes in-flight transactions with status pending. The in-flight transaction is always returned first; completed and failed history is ordered by the order parameter.\n\nOperation ID: getPositionRelatedTransactions\nDocs: https://docs.fireblocks.com/api/swagger-ui/#/Staking/getPositionRelatedTransactions' + + static enableJsonFlag = false + + static flags = { + 'id': Flags.string({ + description: 'Unique identifier of the staking position.', + required: true, + }), + 'page-size': Flags.integer({ + description: 'Number of results per page (minimum: 1, maximum: 100).', + required: true, + }), + 'page-cursor': Flags.string({ + description: 'Cursor for the next page of results. Use the value from the \'next\' field in the previous response.', + }), + 'order': Flags.string({ + description: 'ASC / DESC ordering for completed/failed history (default DESC). The in-flight transaction is always returned first.', + default: 'DESC', + options: ['ASC', 'DESC'], + }), + 'include-headers': Flags.boolean({ + description: 'Include spec-defined response headers in output', + default: false, + }), + } + + static method = 'GET' + static path = '/v1/staking/positions/{id}/related_transactions' + static isBeta = false + static responseHeaders: string[] = ["X-Request-ID"] + + async run(): Promise { + const {flags} = await this.parse(GetPositionRelatedTransactions) + + + const headers: Record = {} + + const pathParams: Record = {} + pathParams['id'] = String(flags['id']) + + const queryParams: Record = {} + if (flags['page-size'] !== undefined && flags['page-size'] !== null) { + queryParams['pageSize'] = String(flags['page-size']) + } + if (flags['page-cursor'] !== undefined && flags['page-cursor'] !== null) { + queryParams['pageCursor'] = String(flags['page-cursor']) + } + if (flags['order'] !== undefined && flags['order'] !== null) { + queryParams['order'] = String(flags['order']) + } + + const result = await this.makeRequest( + 'GET', + '/v1/staking/positions/{id}/related_transactions', + { + headers, + pathParams, + queryParams, + }, + ) + + return result + } +} diff --git a/src/commands/tags/cancel-approval-request.ts b/src/commands/tags/cancel-approval-request.ts deleted file mode 100644 index 903abd2..0000000 --- a/src/commands/tags/cancel-approval-request.ts +++ /dev/null @@ -1,53 +0,0 @@ -import {Flags} from '@oclif/core' -import {FireblocksBaseCommand} from '../../lib/base-command.js' - -export default class CancelApprovalRequest extends FireblocksBaseCommand { - static summary = 'Cancel an approval request by id' - - static description = 'Cancel an approval request by id. Can only cancel requests in PENDING status. Returns 202 Accepted when the cancellation is processed.\n\nOperation ID: cancelApprovalRequest\nDocs: https://docs.fireblocks.com/api/swagger-ui/#/Tags/cancelApprovalRequest' - - static enableJsonFlag = false - - static flags = { - 'id': Flags.string({ - description: 'The id parameter', - required: true, - }), - 'include-headers': Flags.boolean({ - description: 'Include spec-defined response headers in output', - default: false, - }), - } - - static method = 'POST' - static path = '/v1/tags/approval_requests/{id}/cancel' - static isBeta = false - static responseHeaders: string[] = ["X-Request-ID"] - - async run(): Promise { - const {flags} = await this.parse(CancelApprovalRequest) - - - const headers: Record = {} - if (flags['idempotency-key']) { - headers['Idempotency-Key'] = flags['idempotency-key'] - } - - const pathParams: Record = {} - pathParams['id'] = String(flags['id']) - - - await this.confirmOrAbort('POST', '/v1/tags/approval_requests/{id}/cancel') - - const result = await this.makeRequest( - 'POST', - '/v1/tags/approval_requests/{id}/cancel', - { - headers, - pathParams, - }, - ) - - return result - } -} diff --git a/src/commands/trading/get-order-requirements.ts b/src/commands/trading/get-order-requirements.ts new file mode 100644 index 0000000..0ca258a --- /dev/null +++ b/src/commands/trading/get-order-requirements.ts @@ -0,0 +1,50 @@ +import {Flags} from '@oclif/core' +import {FireblocksBaseCommand} from '../../lib/base-command.js' + +export default class GetOrderRequirements extends FireblocksBaseCommand { + static summary = 'Get order requirement details for an order' + + static description = 'Fetch order requirement details for an order that is in \`AWAITING_INFORMATION\` status.\n\nThe response includes \`requirementId\` and \`dueBy\` metadata, a\n\`requiredData\` JSON Schema (Draft-7) describing the shape of the \`data\` object expected on\n\`POST /trading/orders/{orderId}/requirement/data\`, and \`requiredFiles\` descriptors for any files the\nprovider requires (uploaded via \`POST /trading/orders/{orderId}/requirement/file\`).\n\nNote: These endpoints are currently in beta and might be subject to changes.\n\nIf you want to participate and learn more about the Fireblocks Trading, please contact your Fireblocks Customer Success Manager or send an email to CSM@fireblocks.com.\n\nEndpoint Permission: Owner, Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer.\n\nFor detailed information about error codes and troubleshooting, please refer to our [API Error Codes documentation](https://developers.fireblocks.com/reference/api-error-codes).\n\nOperation ID: getOrderRequirements\nDocs: https://docs.fireblocks.com/api/swagger-ui/#/Trading/getOrderRequirements' + + static enableJsonFlag = false + + static flags = { + 'order-id': Flags.string({ + description: 'The ID of the order for which the order requirement is issued.', + required: true, + }), + 'include-headers': Flags.boolean({ + description: 'Include spec-defined response headers in output', + default: false, + }), + } + + static method = 'GET' + static path = '/v1/trading/orders/{orderId}/requirement' + static isBeta = true + static responseHeaders: string[] = ["X-Request-ID"] + + async run(): Promise { + const {flags} = await this.parse(GetOrderRequirements) + + this.logToStderr('Warning: This command is in beta and may change in future releases.') + + + const headers: Record = {} + + const pathParams: Record = {} + pathParams['orderId'] = String(flags['order-id']) + + + const result = await this.makeRequest( + 'GET', + '/v1/trading/orders/{orderId}/requirement', + { + headers, + pathParams, + }, + ) + + return result + } +} diff --git a/src/commands/trading/submit-order-requirements.ts b/src/commands/trading/submit-order-requirements.ts new file mode 100644 index 0000000..0368a33 --- /dev/null +++ b/src/commands/trading/submit-order-requirements.ts @@ -0,0 +1,72 @@ +import {Flags} from '@oclif/core' +import {FireblocksBaseCommand} from '../../lib/base-command.js' + +export default class SubmitOrderRequirements extends FireblocksBaseCommand { + static summary = 'Submit a response to an order requirement' + + static description = 'Submit the user\'s textual response to an order requirement on an order that is in \`AWAITING_INFORMATION\` status.\n\nThe request body carries \`data\` — a free-form object conforming to the \`requiredData\` JSON Schema\nreturned by the GET endpoint. Any required files are uploaded separately via\n\`POST /trading/orders/{orderId}/requirement/file\`.\n\nNote: These endpoints are currently in beta and might be subject to changes.\n\nIf you want to participate and learn more about the Fireblocks Trading, please contact your Fireblocks Customer Success Manager or send an email to CSM@fireblocks.com.\n\nEndpoint Permission: Owner, Admin, Non-Signing Admin, Signer, Editor.\n\nFor detailed information about error codes and troubleshooting, please refer to our [API Error Codes documentation](https://developers.fireblocks.com/reference/api-error-codes).\n\nOperation ID: submitOrderRequirements\nDocs: https://docs.fireblocks.com/api/swagger-ui/#/Trading/submitOrderRequirements' + + static enableJsonFlag = false + + static flags = { + 'order-id': Flags.string({ + description: 'The ID of the order to submit the order requirement response for.', + required: true, + }), + data: Flags.string({ + description: 'JSON request body', + required: true, + }), + 'include-headers': Flags.boolean({ + description: 'Include spec-defined response headers in output', + default: false, + }), + } + + static method = 'POST' + static path = '/v1/trading/orders/{orderId}/requirement/data' + static isBeta = true + static responseHeaders: string[] = ["X-Request-ID"] + + async run(): Promise { + const {flags} = await this.parse(SubmitOrderRequirements) + + this.logToStderr('Warning: This command is in beta and may change in future releases.') + + let body: Record | undefined + if (flags.data) { + try { + const parsed = JSON.parse(flags.data) + if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed)) { + this.error('--data must be a JSON object (e.g., \'{"key": "value"}\')') + } + body = parsed as Record + } catch { + this.error('Invalid JSON in --data flag. Ensure the value is valid JSON.') + } + } + + const headers: Record = {} + if (flags['idempotency-key']) { + headers['Idempotency-Key'] = flags['idempotency-key'] + } + + const pathParams: Record = {} + pathParams['orderId'] = String(flags['order-id']) + + + await this.confirmOrAbort('POST', '/v1/trading/orders/{orderId}/requirement/data') + + const result = await this.makeRequest( + 'POST', + '/v1/trading/orders/{orderId}/requirement/data', + { + body, + headers, + pathParams, + }, + ) + + return result + } +} diff --git a/src/commands/trading/upload-order-requirement-file.ts b/src/commands/trading/upload-order-requirement-file.ts new file mode 100644 index 0000000..ab65223 --- /dev/null +++ b/src/commands/trading/upload-order-requirement-file.ts @@ -0,0 +1,72 @@ +import {Flags} from '@oclif/core' +import {FireblocksBaseCommand} from '../../lib/base-command.js' + +export default class UploadOrderRequirementFile extends FireblocksBaseCommand { + static summary = 'Upload a file for an order requirement' + + static description = 'Upload a single file (multipart/form-data) in response to an order requirement on an order that is in\n\`AWAITING_INFORMATION\` status. Call this endpoint once per required file.\n\nSend \`fileKey\` (matching a \`fileKey\` from \`requiredFiles\` on the GET response) and the binary \`file\`. Its type\nmust be one of the supported file formats. Fireblocks encrypts each file and uploads it individually to the\nunderlying provider. The textual response is submitted separately via\n\`POST /trading/orders/{orderId}/requirement/data\`.\n\nNote: These endpoints are currently in beta and might be subject to changes.\n\nIf you want to participate and learn more about the Fireblocks Trading, please contact your Fireblocks Customer Success Manager or send an email to CSM@fireblocks.com.\n\nEndpoint Permission: Owner, Admin, Non-Signing Admin, Signer, Editor.\n\nFor detailed information about error codes and troubleshooting, please refer to our [API Error Codes documentation](https://developers.fireblocks.com/reference/api-error-codes).\n\nOperation ID: uploadOrderRequirementFile\nDocs: https://docs.fireblocks.com/api/swagger-ui/#/Trading/uploadOrderRequirementFile' + + static enableJsonFlag = false + + static flags = { + 'order-id': Flags.string({ + description: 'The ID of the order to upload the order requirement file for.', + required: true, + }), + data: Flags.string({ + description: 'JSON request body', + required: true, + }), + 'include-headers': Flags.boolean({ + description: 'Include spec-defined response headers in output', + default: false, + }), + } + + static method = 'POST' + static path = '/v1/trading/orders/{orderId}/requirement/file' + static isBeta = true + static responseHeaders: string[] = ["X-Request-ID"] + + async run(): Promise { + const {flags} = await this.parse(UploadOrderRequirementFile) + + this.logToStderr('Warning: This command is in beta and may change in future releases.') + + let body: Record | undefined + if (flags.data) { + try { + const parsed = JSON.parse(flags.data) + if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed)) { + this.error('--data must be a JSON object (e.g., \'{"key": "value"}\')') + } + body = parsed as Record + } catch { + this.error('Invalid JSON in --data flag. Ensure the value is valid JSON.') + } + } + + const headers: Record = {} + if (flags['idempotency-key']) { + headers['Idempotency-Key'] = flags['idempotency-key'] + } + + const pathParams: Record = {} + pathParams['orderId'] = String(flags['order-id']) + + + await this.confirmOrAbort('POST', '/v1/trading/orders/{orderId}/requirement/file') + + const result = await this.makeRequest( + 'POST', + '/v1/trading/orders/{orderId}/requirement/file', + { + body, + headers, + pathParams, + }, + ) + + return result + } +} diff --git a/yarn.lock b/yarn.lock index 4d00ddb..83bf68f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -70,304 +70,257 @@ "@smithy/util-utf8" "^2.0.0" tslib "^2.6.2" +"@aws-sdk/checksums@^3.1000.2": + version "3.1000.2" + resolved "https://registry.npmjs.org/@aws-sdk/checksums/-/checksums-3.1000.2.tgz#be7ac8cdf05d9d7bde93ae1b771d7042cee2cd92" + integrity sha512-PIha+kauTbp6IRmOpYktPTrlfrrSqDVixvhO/EUOFOf62DPX81CaJoHJreuA1m9HYpSKyXf99BKjU1dvJPeUfw== + dependencies: + "@aws-crypto/crc32" "5.2.0" + "@aws-crypto/crc32c" "5.2.0" + "@aws-crypto/util" "5.2.0" + "@aws-sdk/core" "^3.974.18" + "@aws-sdk/types" "^3.973.11" + "@smithy/core" "^3.24.6" + "@smithy/types" "^4.14.3" + tslib "^2.6.2" + "@aws-sdk/client-cloudfront@^3.1009.0": - version "3.1052.0" - resolved "https://registry.npmjs.org/@aws-sdk/client-cloudfront/-/client-cloudfront-3.1052.0.tgz#ba9923add62b05f48e8595e87728f48fd7db26ab" - integrity sha512-Tm7pZToRrQnmpuGib27P/yEAeZzvxPf52ZBv8vJ5GrOKTg/GgkdjKqPkoluy/8LnG2vvLpdpMgClp54SQGdpGg== + version "3.1063.0" + resolved "https://registry.npmjs.org/@aws-sdk/client-cloudfront/-/client-cloudfront-3.1063.0.tgz#800afca27bb082ef1ddefa62324ed09af1cd4ed1" + integrity sha512-M3dhaPTgnlQXpPJTCMP3+i19NFq1vur8OposSVM4DH0RePeSizmXJGF8miH4KPHGGjDJTTyUFJB2ULAJ/TOIEg== dependencies: "@aws-crypto/sha256-browser" "5.2.0" "@aws-crypto/sha256-js" "5.2.0" - "@aws-sdk/core" "^3.974.13" - "@aws-sdk/credential-provider-node" "^3.972.44" - "@aws-sdk/types" "^3.973.9" - "@smithy/core" "^3.24.3" - "@smithy/fetch-http-handler" "^5.4.3" - "@smithy/node-http-handler" "^4.7.3" - "@smithy/types" "^4.14.2" + "@aws-sdk/core" "^3.974.18" + "@aws-sdk/credential-provider-node" "^3.972.52" + "@aws-sdk/types" "^3.973.11" + "@smithy/core" "^3.24.6" + "@smithy/fetch-http-handler" "^5.4.6" + "@smithy/node-http-handler" "^4.7.6" + "@smithy/types" "^4.14.3" tslib "^2.6.2" -"@aws-sdk/client-s3@^3.1048.0": - version "3.1052.0" - resolved "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.1052.0.tgz#e1f19442db791755cfffcc7142cae45b351758d9" - integrity sha512-8fgQHfk1WjGUyowyqtMwq9HzZvIQQ86cqn9IZW5Qkq8kaolVjMmZez60qVYxKYvKhVRYUP5hWYPVCyraoud0AA== +"@aws-sdk/client-s3@^3.1053.0": + version "3.1063.0" + resolved "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.1063.0.tgz#b5e10c8db7fee96c326768d97221b8f674a17446" + integrity sha512-ETn+vvmZVK1MmOZwVBXmWANpmD5iTbzojIqyEIoZ86qo+8oWy35S8QyQNE/ZDI+WHgMU1dS+VSYbpRl1QkEySg== dependencies: "@aws-crypto/sha1-browser" "5.2.0" "@aws-crypto/sha256-browser" "5.2.0" "@aws-crypto/sha256-js" "5.2.0" - "@aws-sdk/core" "^3.974.13" - "@aws-sdk/credential-provider-node" "^3.972.44" - "@aws-sdk/middleware-bucket-endpoint" "^3.972.15" - "@aws-sdk/middleware-expect-continue" "^3.972.13" - "@aws-sdk/middleware-flexible-checksums" "^3.974.21" - "@aws-sdk/middleware-location-constraint" "^3.972.11" - "@aws-sdk/middleware-sdk-s3" "^3.972.42" - "@aws-sdk/middleware-ssec" "^3.972.11" - "@aws-sdk/signature-v4-multi-region" "^3.996.28" - "@aws-sdk/types" "^3.973.9" - "@smithy/core" "^3.24.3" - "@smithy/fetch-http-handler" "^5.4.3" - "@smithy/node-http-handler" "^4.7.3" - "@smithy/types" "^4.14.2" + "@aws-sdk/core" "^3.974.18" + "@aws-sdk/credential-provider-node" "^3.972.52" + "@aws-sdk/middleware-flexible-checksums" "^3.974.27" + "@aws-sdk/middleware-sdk-s3" "^3.972.48" + "@aws-sdk/signature-v4-multi-region" "^3.996.32" + "@aws-sdk/types" "^3.973.11" + "@smithy/core" "^3.24.6" + "@smithy/fetch-http-handler" "^5.4.6" + "@smithy/node-http-handler" "^4.7.6" + "@smithy/types" "^4.14.3" tslib "^2.6.2" -"@aws-sdk/core@^3.974.13": - version "3.974.13" - resolved "https://registry.npmjs.org/@aws-sdk/core/-/core-3.974.13.tgz#a785d4a726590f679671d18b36c69e3fc9b6cab5" - integrity sha512-+Y5/4tHki0uYgyx8eun146DegRVQBpdKGK5RbV0FTKJPpaKTchvqVxrrRFK6Wk0JksO4iAZKw3eqxGEIwtO98w== +"@aws-sdk/core@^3.974.18": + version "3.974.18" + resolved "https://registry.npmjs.org/@aws-sdk/core/-/core-3.974.18.tgz#add4817784a3d96d19057701c40fc4ae76e21506" + integrity sha512-JDYCPI0j7zGrzXTDFsLB346cxss7J/AxH7+O0MzWlqppJBEyB9Qe6TQXRL6iwLUo/xZkNv9KFmBL2hqElmwW0g== dependencies: - "@aws-sdk/types" "^3.973.9" - "@aws-sdk/xml-builder" "^3.972.25" + "@aws-sdk/types" "^3.973.11" + "@aws-sdk/xml-builder" "^3.972.28" "@aws/lambda-invoke-store" "^0.2.2" - "@smithy/core" "^3.24.3" - "@smithy/signature-v4" "^5.4.2" - "@smithy/types" "^4.14.2" + "@smithy/core" "^3.24.6" + "@smithy/signature-v4" "^5.4.6" + "@smithy/types" "^4.14.3" bowser "^2.11.0" tslib "^2.6.2" -"@aws-sdk/crc64-nvme@^3.972.9": - version "3.972.9" - resolved "https://registry.npmjs.org/@aws-sdk/crc64-nvme/-/crc64-nvme-3.972.9.tgz#4ea4d574d473e25e59973fcbab101ca1b64fab91" - integrity sha512-P+QGozmXn2mZZI7sDgk+aUm+RTI61MPSFB+Ir2vjEjEbEsE4e7hYtzrDvAUxZy9ko81h53e11+F/GYlvwDkaOQ== - dependencies: - "@smithy/types" "^4.14.2" - tslib "^2.6.2" - -"@aws-sdk/credential-provider-env@^3.972.39": - version "3.972.39" - resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.972.39.tgz#538cc859f2ac0e15b141b9e246613a752849ae8c" - integrity sha512-29wX9zpAvEt1vcj0psha+y6ygBHy2V/S72mp6e7q0KARLWXq+pwE/lR6qGkwknQvruh52lXvlqZIga8Hdxkucw== +"@aws-sdk/credential-provider-env@^3.972.44": + version "3.972.44" + resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.972.44.tgz#123bf8b3131ac308898b15181478ce14e5e19fe9" + integrity sha512-3hKJVrZ7bqXzDAXCQp+OaQ1ASN+vWstaNuEH418wQVl//cRZhqhfR9Bjk1qIWmgUGe8/D3gdO73PgidRj378EQ== dependencies: - "@aws-sdk/core" "^3.974.13" - "@aws-sdk/types" "^3.973.9" - "@smithy/core" "^3.24.3" - "@smithy/types" "^4.14.2" + "@aws-sdk/core" "^3.974.18" + "@aws-sdk/types" "^3.973.11" + "@smithy/core" "^3.24.6" + "@smithy/types" "^4.14.3" tslib "^2.6.2" -"@aws-sdk/credential-provider-http@^3.972.41": - version "3.972.41" - resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.972.41.tgz#07037e7346881cb8bb8ec1fe9f8ed0104072b63a" - integrity sha512-IA3CQTjtJkb6u1H4mE4936c8OPBMa9Jggtwe8U2Mqw/vvb/tZ5Ebd0mcZcX0uKWQhOyYo/+qNIwkV5Xh+FeJJA== - dependencies: - "@aws-sdk/core" "^3.974.13" - "@aws-sdk/types" "^3.973.9" - "@smithy/core" "^3.24.3" - "@smithy/fetch-http-handler" "^5.4.3" - "@smithy/node-http-handler" "^4.7.3" - "@smithy/types" "^4.14.2" +"@aws-sdk/credential-provider-http@^3.972.46": + version "3.972.46" + resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.972.46.tgz#d54eb35e09b0e5ccd7e7171b1bdf2b384b823ea9" + integrity sha512-VhwC9pGAZHhiQ2xSViyOPDFqvr9aRxGCAXZtADsUhU3R65nad7y//CwynE6mQnWNR+suRlqE79W36IVayL+m1g== + dependencies: + "@aws-sdk/core" "^3.974.18" + "@aws-sdk/types" "^3.973.11" + "@smithy/core" "^3.24.6" + "@smithy/fetch-http-handler" "^5.4.6" + "@smithy/node-http-handler" "^4.7.6" + "@smithy/types" "^4.14.3" tslib "^2.6.2" -"@aws-sdk/credential-provider-ini@^3.972.43": - version "3.972.43" - resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.972.43.tgz#cb9779beebd45bd242c12ea48a820047c77e1b05" - integrity sha512-4mzII+3mZEVXXE1xzrLQrCJL7/r62A63bA6SVzZoNL5rqCJghpf+xgGltVrIBBs0n+mOZBKrQl2tRREtvZ5l6A== - dependencies: - "@aws-sdk/core" "^3.974.13" - "@aws-sdk/credential-provider-env" "^3.972.39" - "@aws-sdk/credential-provider-http" "^3.972.41" - "@aws-sdk/credential-provider-login" "^3.972.43" - "@aws-sdk/credential-provider-process" "^3.972.39" - "@aws-sdk/credential-provider-sso" "^3.972.43" - "@aws-sdk/credential-provider-web-identity" "^3.972.43" - "@aws-sdk/nested-clients" "^3.997.11" - "@aws-sdk/types" "^3.973.9" - "@smithy/core" "^3.24.3" - "@smithy/credential-provider-imds" "^4.3.2" - "@smithy/types" "^4.14.2" +"@aws-sdk/credential-provider-ini@^3.972.50": + version "3.972.50" + resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.972.50.tgz#bb99cebe7dc335a6c262e43022ead6fde2f0035d" + integrity sha512-09Xi6ovxiK42+De/qBGF71sT5F2bWgYM+1fFyDwSOpy1xpsQ5R/naIu7MVDpH6Dic36QNc8dAv4KADtMGK2JYg== + dependencies: + "@aws-sdk/core" "^3.974.18" + "@aws-sdk/credential-provider-env" "^3.972.44" + "@aws-sdk/credential-provider-http" "^3.972.46" + "@aws-sdk/credential-provider-login" "^3.972.49" + "@aws-sdk/credential-provider-process" "^3.972.44" + "@aws-sdk/credential-provider-sso" "^3.972.49" + "@aws-sdk/credential-provider-web-identity" "^3.972.49" + "@aws-sdk/nested-clients" "^3.997.17" + "@aws-sdk/types" "^3.973.11" + "@smithy/core" "^3.24.6" + "@smithy/credential-provider-imds" "^4.3.7" + "@smithy/types" "^4.14.3" tslib "^2.6.2" -"@aws-sdk/credential-provider-login@^3.972.43": - version "3.972.43" - resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-login/-/credential-provider-login-3.972.43.tgz#2d6dd4a7d082b0c54be9c5c5269161c14f7ae717" - integrity sha512-HG7kQCwXtbv3oBV61Ins0oNX8KKyvrMqqRkb6ZiAfQHbMuHaiNaEb2KnpKLPkNpqImSBK82UkVE/kaY6IfWikA== +"@aws-sdk/credential-provider-login@^3.972.49": + version "3.972.49" + resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-login/-/credential-provider-login-3.972.49.tgz#f3d04fc835cd1c670441023f3509c0b8c73e3041" + integrity sha512-EfJF/1Fh9mI4pZyoheU2RY9xUhTcugIZNkD63+orXMkYj/QXacJNbKVDUK90Yv5hE+aX+rt9J/EZ9Qr3vKOa7g== dependencies: - "@aws-sdk/core" "^3.974.13" - "@aws-sdk/nested-clients" "^3.997.11" - "@aws-sdk/types" "^3.973.9" - "@smithy/core" "^3.24.3" - "@smithy/types" "^4.14.2" + "@aws-sdk/core" "^3.974.18" + "@aws-sdk/nested-clients" "^3.997.17" + "@aws-sdk/types" "^3.973.11" + "@smithy/core" "^3.24.6" + "@smithy/types" "^4.14.3" tslib "^2.6.2" -"@aws-sdk/credential-provider-node@^3.972.44": - version "3.972.44" - resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.972.44.tgz#af009a773d2e20214edfcc98894d3d0779fbc1c3" - integrity sha512-sDaBIT0yrNNIPfvlsiTCmANm07zKju+ipWODjEXgZlsjMeIJR3LVp7RDyAOzUoAsTbDfYKDWp+i5WrFiQP6rmQ== - dependencies: - "@aws-sdk/credential-provider-env" "^3.972.39" - "@aws-sdk/credential-provider-http" "^3.972.41" - "@aws-sdk/credential-provider-ini" "^3.972.43" - "@aws-sdk/credential-provider-process" "^3.972.39" - "@aws-sdk/credential-provider-sso" "^3.972.43" - "@aws-sdk/credential-provider-web-identity" "^3.972.43" - "@aws-sdk/types" "^3.973.9" - "@smithy/core" "^3.24.3" - "@smithy/credential-provider-imds" "^4.3.2" - "@smithy/types" "^4.14.2" +"@aws-sdk/credential-provider-node@^3.972.52": + version "3.972.52" + resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.972.52.tgz#9963981d5d043c9d7b5558e8d8586bfe15b29570" + integrity sha512-7QX+PbyiWBEOVipJq8Nke/TqXT6lAPLE7fvTaopa39/IVWuLfS+Fzdy71sZJONf/mLGgmtj6aU17+REw3+aRrw== + dependencies: + "@aws-sdk/credential-provider-env" "^3.972.44" + "@aws-sdk/credential-provider-http" "^3.972.46" + "@aws-sdk/credential-provider-ini" "^3.972.50" + "@aws-sdk/credential-provider-process" "^3.972.44" + "@aws-sdk/credential-provider-sso" "^3.972.49" + "@aws-sdk/credential-provider-web-identity" "^3.972.49" + "@aws-sdk/types" "^3.973.11" + "@smithy/core" "^3.24.6" + "@smithy/credential-provider-imds" "^4.3.7" + "@smithy/types" "^4.14.3" tslib "^2.6.2" -"@aws-sdk/credential-provider-process@^3.972.39": - version "3.972.39" - resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.972.39.tgz#236f8822180b297e0e98771ee69aea428280a4a7" - integrity sha512-2k/amBifLd75eXNwgvPw/2lKYSQ3NhvHQgkVKVjfUq13/eJ3JRtHmznuFenn74OK3sSfp4SMy1YB2w+UVXoKqA== - dependencies: - "@aws-sdk/core" "^3.974.13" - "@aws-sdk/types" "^3.973.9" - "@smithy/core" "^3.24.3" - "@smithy/types" "^4.14.2" - tslib "^2.6.2" - -"@aws-sdk/credential-provider-sso@^3.972.43": - version "3.972.43" - resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.972.43.tgz#24546d197ce74a29c89c37b3860952ee28f90c9b" - integrity sha512-LPc3+Y4vhH1T4x6CMqwCM6hk5+SRf/Lwmgm8INm95wxTtIRHcMwQUVkDzWu4Iw/RSncxYM2BC01OrYbxOPZvyg== - dependencies: - "@aws-sdk/core" "^3.974.13" - "@aws-sdk/nested-clients" "^3.997.11" - "@aws-sdk/token-providers" "3.1052.0" - "@aws-sdk/types" "^3.973.9" - "@smithy/core" "^3.24.3" - "@smithy/types" "^4.14.2" - tslib "^2.6.2" - -"@aws-sdk/credential-provider-web-identity@^3.972.43": - version "3.972.43" - resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.972.43.tgz#1d4e99a4cba32c63bab21184f8d5d418c0744224" - integrity sha512-wQtL34lUD/09VXjwAUo2T+I3aEXRDxMB3DKmTJL/Zj0Gi6sLDTrVhae1XVt01yzkquOWajI/sZW72JGDZ1ciTw== - dependencies: - "@aws-sdk/core" "^3.974.13" - "@aws-sdk/nested-clients" "^3.997.11" - "@aws-sdk/types" "^3.973.9" - "@smithy/core" "^3.24.3" - "@smithy/types" "^4.14.2" - tslib "^2.6.2" - -"@aws-sdk/middleware-bucket-endpoint@^3.972.15": - version "3.972.15" - resolved "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.972.15.tgz#f1752b8107289df1313b647bf42e8e5f78f44192" - integrity sha512-O2HDANa+MrvbxpaRVQDiH3T13uAa9AkMjKyZmDygwauAmmvqZ5B0iRmKW+fuVGW6NPXuyXurFgIx69lSvmAWGA== +"@aws-sdk/credential-provider-process@^3.972.44": + version "3.972.44" + resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.972.44.tgz#fe9b358351570e6cd6df38aaba8b7304b89ce879" + integrity sha512-V+UUhZpRP7QDRhi+qgBDisM9tUBnYmMje8Bk77A6MZsfeGeGdMsQXmaHP1CDYFcept0o/Rz5g2Y0TMeVlG9dzg== dependencies: - "@aws-sdk/core" "^3.974.13" - "@aws-sdk/types" "^3.973.9" - "@smithy/core" "^3.24.3" - "@smithy/types" "^4.14.2" + "@aws-sdk/core" "^3.974.18" + "@aws-sdk/types" "^3.973.11" + "@smithy/core" "^3.24.6" + "@smithy/types" "^4.14.3" tslib "^2.6.2" -"@aws-sdk/middleware-expect-continue@^3.972.13": - version "3.972.13" - resolved "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.972.13.tgz#d6eac0372151e7aa978985ceb67311ab77b03939" - integrity sha512-sHiqIFg8o2ipT7t40B89Vj0ubSUtY6OSt/+Ee/OXhHch5K4+81zP2+QX8Lkc/nJ2QSmCySxOke7TEbmX69fe2g== - dependencies: - "@aws-sdk/types" "^3.973.9" - "@smithy/core" "^3.24.3" - "@smithy/types" "^4.14.2" +"@aws-sdk/credential-provider-sso@^3.972.49": + version "3.972.49" + resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.972.49.tgz#15e53221a59a4c656923acb4c976460fa81ab53b" + integrity sha512-9QqOYGuh5tZ76OzaT68kwI78AH+5lS/uZGGvkfxb3fc8FzRrIz2jOufNTliEBEeSAwmgK2rWLNsK+IB3zbtNPA== + dependencies: + "@aws-sdk/core" "^3.974.18" + "@aws-sdk/nested-clients" "^3.997.17" + "@aws-sdk/token-providers" "3.1063.0" + "@aws-sdk/types" "^3.973.11" + "@smithy/core" "^3.24.6" + "@smithy/types" "^4.14.3" tslib "^2.6.2" -"@aws-sdk/middleware-flexible-checksums@^3.974.21": - version "3.974.21" - resolved "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.974.21.tgz#efa1acea9921691f8fe80160ebaa6514b2e0839c" - integrity sha512-alAu9heyiBK/OmRNXVxq8mmPTgeW2AQ6EYjRsI38kPZa1MZvt2Jh+BlGq7/GG9OVXOaEgD7DlGj/Lzfy5OmuEg== +"@aws-sdk/credential-provider-web-identity@^3.972.49": + version "3.972.49" + resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.972.49.tgz#9adcc1411d8156df4b521c1ed316ffcdaaf140c4" + integrity sha512-IYx1lN38MnnPXv+NBLpuATu0cZakbZ321TAfjW+aVkw7HIJF38YnEwdeEO55MSl3pl7hIX1IvvnD6EmnAzmAJw== dependencies: - "@aws-crypto/crc32" "5.2.0" - "@aws-crypto/crc32c" "5.2.0" - "@aws-crypto/util" "5.2.0" - "@aws-sdk/core" "^3.974.13" - "@aws-sdk/crc64-nvme" "^3.972.9" - "@aws-sdk/types" "^3.973.9" - "@smithy/core" "^3.24.3" - "@smithy/types" "^4.14.2" + "@aws-sdk/core" "^3.974.18" + "@aws-sdk/nested-clients" "^3.997.17" + "@aws-sdk/types" "^3.973.11" + "@smithy/core" "^3.24.6" + "@smithy/types" "^4.14.3" tslib "^2.6.2" -"@aws-sdk/middleware-location-constraint@^3.972.11": - version "3.972.11" - resolved "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.972.11.tgz#272507843738acd4a5644842911a2016f7dfb0e1" - integrity sha512-hkfspNUP4criAH6ton6BGKgnm5dZx+7bUOy1YqlTfejDeUPAM23D81q/IX+hdlS3KUsfwGz5ADTqZWKBEUpf4A== +"@aws-sdk/middleware-flexible-checksums@^3.974.27": + version "3.974.27" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.974.27.tgz#3d4999d33d973f701c1cc4d894daee16fd2ec533" + integrity sha512-bZqezPLdllFC4VAeV/f+EIc/hz56ab3TD/+4zNCgOgmG5ZHAE5dMHrX1gtTwdcQXbPr3KR7x3zTC3zuCTE6+ng== dependencies: - "@aws-sdk/types" "^3.973.9" - "@smithy/types" "^4.14.2" - tslib "^2.6.2" - -"@aws-sdk/middleware-sdk-s3@^3.972.42": - version "3.972.42" - resolved "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.972.42.tgz#f4217eea10d2de43b482f6f2d0d9895be061e571" - integrity sha512-/xNqNGXv9LaxZd25L9VV4pnSOw9OdDNO4rAHamM+h3KQBSITljIH9vk3dveGga1I2j36lQd0rdG3gjNEXvtNew== - dependencies: - "@aws-sdk/core" "^3.974.13" - "@aws-sdk/signature-v4-multi-region" "^3.996.28" - "@aws-sdk/types" "^3.973.9" - "@smithy/core" "^3.24.3" - "@smithy/signature-v4" "^5.4.2" - "@smithy/types" "^4.14.2" + "@aws-sdk/checksums" "^3.1000.2" tslib "^2.6.2" -"@aws-sdk/middleware-ssec@^3.972.11": - version "3.972.11" - resolved "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.972.11.tgz#b5d5ddde7d54239137949f63b3d5dee6331628ea" - integrity sha512-7PQvGNhtveKlvVqNahqWx5yrwxP7ecwAoB1dYBf8eKwfo2tzzCbNnW+q2nO3N066ktQaB4iBQbDRWtizm+amoQ== +"@aws-sdk/middleware-sdk-s3@^3.972.48": + version "3.972.48" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.972.48.tgz#1ece6df31ab1f6fc83181412db17fa5451191b7d" + integrity sha512-MRTqx8wD/T3REt6LTT3/yN8rrp6+xIHrbUekkDYJTYWVch70mwtdJBovR4qKJz1jIPlbN+9R/Sn6R04BfsglzA== dependencies: - "@aws-sdk/types" "^3.973.9" - "@smithy/types" "^4.14.2" + "@aws-sdk/core" "^3.974.18" + "@aws-sdk/signature-v4-multi-region" "^3.996.32" + "@aws-sdk/types" "^3.973.11" + "@smithy/core" "^3.24.6" + "@smithy/types" "^4.14.3" tslib "^2.6.2" -"@aws-sdk/nested-clients@^3.997.11": - version "3.997.11" - resolved "https://registry.npmjs.org/@aws-sdk/nested-clients/-/nested-clients-3.997.11.tgz#ed97d5dadc5ee15a31834e8af218e502d986d632" - integrity sha512-nWXXJ1r/r8N2Gw1pWolRgED38/A9A8DHR2ETWIv220zh4PZHcybbR4hUVWWktmNXTRHzDJwRluapHn0rZxuoqA== +"@aws-sdk/nested-clients@^3.997.17": + version "3.997.17" + resolved "https://registry.npmjs.org/@aws-sdk/nested-clients/-/nested-clients-3.997.17.tgz#9b2c8f2280bd67dea777d4f31eff74083d9b326f" + integrity sha512-lDRgraoTfKRawUyc176Ow93mrNrOho/x+EoK4C+lKU+vKkHWhNhzvSMVAx0WEJUJoeQxxDN5ZdKMfiGEyNejig== dependencies: "@aws-crypto/sha256-browser" "5.2.0" "@aws-crypto/sha256-js" "5.2.0" - "@aws-sdk/core" "^3.974.13" - "@aws-sdk/signature-v4-multi-region" "^3.996.28" - "@aws-sdk/types" "^3.973.9" - "@smithy/core" "^3.24.3" - "@smithy/fetch-http-handler" "^5.4.3" - "@smithy/node-http-handler" "^4.7.3" - "@smithy/types" "^4.14.2" + "@aws-sdk/core" "^3.974.18" + "@aws-sdk/signature-v4-multi-region" "^3.996.32" + "@aws-sdk/types" "^3.973.11" + "@smithy/core" "^3.24.6" + "@smithy/fetch-http-handler" "^5.4.6" + "@smithy/node-http-handler" "^4.7.6" + "@smithy/types" "^4.14.3" tslib "^2.6.2" -"@aws-sdk/signature-v4-multi-region@^3.996.28": - version "3.996.28" - resolved "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.996.28.tgz#79c12506d5545953c06fe75956b38050d57902f2" - integrity sha512-qs9z5LqXO/CZC2Lg9SGKpoLU8Rhi+m2pFKZqfO9pytX1clc0katqtsDNupJxFy0xT9wsZSPzM2v1y+/H/zfp5Q== +"@aws-sdk/signature-v4-multi-region@^3.996.32": + version "3.996.32" + resolved "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.996.32.tgz#1a4c96af7090a423c42c3658119abf2c8168e8f9" + integrity sha512-llvApLcsWtmRFhG2wT3WIp1CmDeRaIYutqty1ZZXoMzK7TiJ6MOLOimk9eXUS8PwgG4ew4pa4QAbt0lfhn++1w== dependencies: - "@aws-sdk/types" "^3.973.9" - "@smithy/core" "^3.24.3" - "@smithy/signature-v4" "^5.4.2" - "@smithy/types" "^4.14.2" + "@aws-sdk/types" "^3.973.11" + "@smithy/signature-v4" "^5.4.6" + "@smithy/types" "^4.14.3" tslib "^2.6.2" -"@aws-sdk/token-providers@3.1052.0": - version "3.1052.0" - resolved "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.1052.0.tgz#0793c2f58351bf91937e8f83abf39d11937ec8f2" - integrity sha512-QqZNB3so7UIDxZtroc85TQaLVxdZRFm0eWM1CSR2N+b06as9TOrilvrlTZuj3guYlxMs6yLOgGxnklJ5qMYtTw== +"@aws-sdk/token-providers@3.1063.0": + version "3.1063.0" + resolved "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.1063.0.tgz#5460afd8c787fcafcf39efcc7aa2e0a9646de6dc" + integrity sha512-nYDaWWdzjKiDP5xj8k4oUgcYd4WPgzfAOgdU5vJsaqH/07Dfvm7ffisHCFJ+NEl7kUC9JEIUxh0kznvenbo3NQ== dependencies: - "@aws-sdk/core" "^3.974.13" - "@aws-sdk/nested-clients" "^3.997.11" - "@aws-sdk/types" "^3.973.9" - "@smithy/core" "^3.24.3" - "@smithy/types" "^4.14.2" + "@aws-sdk/core" "^3.974.18" + "@aws-sdk/nested-clients" "^3.997.17" + "@aws-sdk/types" "^3.973.11" + "@smithy/core" "^3.24.6" + "@smithy/types" "^4.14.3" tslib "^2.6.2" -"@aws-sdk/types@^3.222.0", "@aws-sdk/types@^3.973.9": - version "3.973.9" - resolved "https://registry.npmjs.org/@aws-sdk/types/-/types-3.973.9.tgz#7d1c08cc6e82ec2ac2f2da102a7dd55806592f7f" - integrity sha512-kuBfgQVdcz5Bmapc4A13YbpVw/pXkesfhetcFYwbntqas8sF41OHyd4o28+/TG2ZQdHBsv90Lsu5y6oitvYCdg== +"@aws-sdk/types@^3.222.0", "@aws-sdk/types@^3.973.11": + version "3.973.11" + resolved "https://registry.npmjs.org/@aws-sdk/types/-/types-3.973.11.tgz#40689661e7cca5bc285d44afe946160d5a7767a7" + integrity sha512-YjS0qFuECClRh4qhEyW8XagW0fwEPBeZ1cfsW/gU73Kh/ExFILxbzxOfPCmzF/2DwEvhvsHYt0b0qnvStwKYrg== dependencies: - "@smithy/types" "^4.14.2" + "@smithy/types" "^4.14.3" tslib "^2.6.2" "@aws-sdk/util-locate-window@^3.0.0": - version "3.965.5" - resolved "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.965.5.tgz#e30e6ff2aff6436209ed42c765dec2d2a48df7c0" - integrity sha512-WhlJNNINQB+9qtLtZJcpQdgZw3SCDCpXdUJP7cToGwHbCWCnRckGlc6Bx/OhWwIYFNAn+FIydY8SZ0QmVu3xTQ== + version "3.965.6" + resolved "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.965.6.tgz#09d1774f2a5da6ad470e42241ba221fecc7233b7" + integrity sha512-ZfHjfwSzeXj+Lg9AK5ZNmeDkXev6V+w2tn1t4kgDdRtUaRCthepTQiFwbD06EF9oNGH4LaLg+Mb6U16Ypv5bSw== dependencies: tslib "^2.6.2" -"@aws-sdk/xml-builder@^3.972.25": - version "3.972.25" - resolved "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.972.25.tgz#252ed0afef165a247c2dcc5d72e54b8f9e45f2e2" - integrity sha512-GH+Kjz4nPKWKHnsiQpnhP1MJdTGIcK4rAka6tzakgjjUkVgNsmPeEbbRAf09SzS1hjGu6duGHCBsxYke0BhHjQ== +"@aws-sdk/xml-builder@^3.972.28": + version "3.972.28" + resolved "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.972.28.tgz#989480c71277d945fc5788df0acd32cc2ea98be5" + integrity sha512-lI/l3c/vPvsxmspzV63NfS3x9q4CkMmdhJy4QiM+NThAufVkDvi/PZZQ6xETnICL0UD7jI808pY83gllf86RFg== dependencies: - "@nodable/entities" "2.1.0" - "@smithy/types" "^4.14.2" + "@smithy/types" "^4.14.3" fast-xml-parser "5.7.3" tslib "^2.6.2" @@ -376,34 +329,34 @@ resolved "https://registry.npmjs.org/@aws/lambda-invoke-store/-/lambda-invoke-store-0.2.4.tgz#802f6a50f6b6589063ef63ba8acdee86fcb9f395" integrity sha512-iY8yvjE0y651BixKNPgmv1WrQc+GZ142sb0z4gYnChDDY2YqI4P/jsSopBWrKfAt7LOJAkOXt7rC/hms+WclQQ== -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.28.6", "@babel/code-frame@^7.29.0": - version "7.29.0" - resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz#7cd7a59f15b3cc0dcd803038f7792712a7d0b15c" - integrity sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw== +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.29.7": + version "7.29.7" + resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.7.tgz#f2fbbfea87c44a21590ec515b778b2c26d8866e7" + integrity sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw== dependencies: - "@babel/helper-validator-identifier" "^7.28.5" + "@babel/helper-validator-identifier" "^7.29.7" js-tokens "^4.0.0" picocolors "^1.1.1" -"@babel/compat-data@^7.28.6": - version "7.29.3" - resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.3.tgz#e3f5347f0589596c91d227ccb6a541d37fb1307b" - integrity sha512-LIVqM46zQWZhj17qA8wb4nW/ixr2y1Nw+r1etiAWgRM6U1IqP+LNhL1yg440jYZR72jCWcWbLWzIosH+uP1fqg== +"@babel/compat-data@^7.29.7": + version "7.29.7" + resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.7.tgz#6f0237f0f36d2e51c0570a636faed9d2d0efe629" + integrity sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg== "@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.23.9": - version "7.29.0" - resolved "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz#5286ad785df7f79d656e88ce86e650d16ca5f322" - integrity sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA== - dependencies: - "@babel/code-frame" "^7.29.0" - "@babel/generator" "^7.29.0" - "@babel/helper-compilation-targets" "^7.28.6" - "@babel/helper-module-transforms" "^7.28.6" - "@babel/helpers" "^7.28.6" - "@babel/parser" "^7.29.0" - "@babel/template" "^7.28.6" - "@babel/traverse" "^7.29.0" - "@babel/types" "^7.29.0" + version "7.29.7" + resolved "https://registry.npmjs.org/@babel/core/-/core-7.29.7.tgz#80c10b17248082968b57a857b91640971f2070f7" + integrity sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA== + dependencies: + "@babel/code-frame" "^7.29.7" + "@babel/generator" "^7.29.7" + "@babel/helper-compilation-targets" "^7.29.7" + "@babel/helper-module-transforms" "^7.29.7" + "@babel/helpers" "^7.29.7" + "@babel/parser" "^7.29.7" + "@babel/template" "^7.29.7" + "@babel/traverse" "^7.29.7" + "@babel/types" "^7.29.7" "@jridgewell/remapping" "^2.3.5" convert-source-map "^2.0.0" debug "^4.1.0" @@ -411,84 +364,84 @@ json5 "^2.2.3" semver "^6.3.1" -"@babel/generator@^7.29.0", "@babel/generator@^7.7.2": - version "7.29.1" - resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.29.1.tgz#d09876290111abbb00ef962a7b83a5307fba0d50" - integrity sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw== +"@babel/generator@^7.29.7", "@babel/generator@^7.7.2": + version "7.29.7" + resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.29.7.tgz#cca0b8827e6bcf3ba176788e7f3b180ad6db2fa3" + integrity sha512-DkXD5OJQaAQIdZ1bt3UZdEnHAn9Imd3IVBdX03UFe+ony9Ojw5pzr9YVKGDY1jt+Gcn/FnGkNf8r+Vj5NOJWtQ== dependencies: - "@babel/parser" "^7.29.0" - "@babel/types" "^7.29.0" + "@babel/parser" "^7.29.7" + "@babel/types" "^7.29.7" "@jridgewell/gen-mapping" "^0.3.12" "@jridgewell/trace-mapping" "^0.3.28" jsesc "^3.0.2" -"@babel/helper-compilation-targets@^7.28.6": - version "7.28.6" - resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz#32c4a3f41f12ed1532179b108a4d746e105c2b25" - integrity sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA== +"@babel/helper-compilation-targets@^7.29.7": + version "7.29.7" + resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.29.7.tgz#7a1def704302401c47f64fa85589e974ae217042" + integrity sha512-wem6WaBj4NaVYVdNhLPPVacES6ZJ+KBBfSkTMD3YZxbP3rm3Di85tJU5ljaUNhaOynt+Aj0xruhYuzQBt8n71g== dependencies: - "@babel/compat-data" "^7.28.6" - "@babel/helper-validator-option" "^7.27.1" + "@babel/compat-data" "^7.29.7" + "@babel/helper-validator-option" "^7.29.7" browserslist "^4.24.0" lru-cache "^5.1.1" semver "^6.3.1" -"@babel/helper-globals@^7.28.0": - version "7.28.0" - resolved "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz#b9430df2aa4e17bc28665eadeae8aa1d985e6674" - integrity sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw== +"@babel/helper-globals@^7.29.7": + version "7.29.7" + resolved "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.29.7.tgz#f04a96fbd8473241b1079243f5b3f03a3010ab7b" + integrity sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA== -"@babel/helper-module-imports@^7.28.6": - version "7.28.6" - resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz#60632cbd6ffb70b22823187201116762a03e2d5c" - integrity sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw== +"@babel/helper-module-imports@^7.29.7": + version "7.29.7" + resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.29.7.tgz#ef25048a518e828d7393fac5882ddd73921d7396" + integrity sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g== dependencies: - "@babel/traverse" "^7.28.6" - "@babel/types" "^7.28.6" + "@babel/traverse" "^7.29.7" + "@babel/types" "^7.29.7" -"@babel/helper-module-transforms@^7.28.6": - version "7.28.6" - resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz#9312d9d9e56edc35aeb6e95c25d4106b50b9eb1e" - integrity sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA== +"@babel/helper-module-transforms@^7.29.7": + version "7.29.7" + resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.29.7.tgz#b062747a5997ba138637201328bbff77960574ae" + integrity sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg== dependencies: - "@babel/helper-module-imports" "^7.28.6" - "@babel/helper-validator-identifier" "^7.28.5" - "@babel/traverse" "^7.28.6" + "@babel/helper-module-imports" "^7.29.7" + "@babel/helper-validator-identifier" "^7.29.7" + "@babel/traverse" "^7.29.7" -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.28.6", "@babel/helper-plugin-utils@^7.8.0": - version "7.28.6" - resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.28.6.tgz#6f13ea251b68c8532e985fd532f28741a8af9ac8" - integrity sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug== +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.29.7", "@babel/helper-plugin-utils@^7.8.0": + version "7.29.7" + resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.29.7.tgz#c0a0766f1a13617d8a17407d7ab8f9d486225ea4" + integrity sha512-G7sHYigPY17oO5SYWnfD/0MTBwVR781S/JI643e/JhUYgVgWE/61SoW3NH9KWUKyKq5LVh3npif99Wkt6j86Jw== -"@babel/helper-string-parser@^7.27.1": - version "7.27.1" - resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz#54da796097ab19ce67ed9f88b47bb2ec49367687" - integrity sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA== +"@babel/helper-string-parser@^7.29.7": + version "7.29.7" + resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.29.7.tgz#7f0871d99824d23137d60f86fcf6130fd5a1b51f" + integrity sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw== -"@babel/helper-validator-identifier@^7.28.5": - version "7.28.5" - resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz#010b6938fab7cb7df74aa2bbc06aa503b8fe5fb4" - integrity sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q== +"@babel/helper-validator-identifier@^7.29.7": + version "7.29.7" + resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz#bd87084ced0c796ec46bda492de6e83d29e89fc2" + integrity sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg== -"@babel/helper-validator-option@^7.27.1": - version "7.27.1" - resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz#fa52f5b1e7db1ab049445b421c4471303897702f" - integrity sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg== +"@babel/helper-validator-option@^7.29.7": + version "7.29.7" + resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.29.7.tgz#cf315be940213b354eb4abcc0bd01ebe3f73bc2a" + integrity sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw== -"@babel/helpers@^7.28.6": - version "7.29.2" - resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.2.tgz#9cfbccb02b8e229892c0b07038052cc1a8709c49" - integrity sha512-HoGuUs4sCZNezVEKdVcwqmZN8GoHirLUcLaYVNBK2J0DadGtdcqgr3BCbvH8+XUo4NGjNl3VOtSjEKNzqfFgKw== +"@babel/helpers@^7.29.7": + version "7.29.7" + resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.7.tgz#45abfde7548997e34376c3e69feb475cffb4a607" + integrity sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg== dependencies: - "@babel/template" "^7.28.6" - "@babel/types" "^7.29.0" + "@babel/template" "^7.29.7" + "@babel/types" "^7.29.7" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.23.9", "@babel/parser@^7.28.6", "@babel/parser@^7.29.0": - version "7.29.3" - resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.29.3.tgz#116f70a77958307fceac27747573032f8a62f88e" - integrity sha512-b3ctpQwp+PROvU/cttc4OYl4MzfJUWy6FZg+PMXfzmt/+39iHVF0sDfqay8TQM3JA2EUOyKcFZt75jWriQijsA== +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.23.9", "@babel/parser@^7.29.7": + version "7.29.7" + resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.29.7.tgz#837b87387cbf5ec5530cb634b3c622f68edb9334" + integrity sha512-hnORnjP/1P/zFEndoeX+n+t1RwWRJiJpM/jO7FW32Kn9r5+sJB2JWOdYo4L6k78j15eCwY3Gm/7364B1EMwtNg== dependencies: - "@babel/types" "^7.29.0" + "@babel/types" "^7.29.7" "@babel/plugin-syntax-async-generators@^7.8.4": version "7.8.4" @@ -519,11 +472,11 @@ "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-import-attributes@^7.24.7": - version "7.28.6" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.28.6.tgz#b71d5914665f60124e133696f17cd7669062c503" - integrity sha512-jiLC0ma9XkQT3TKJ9uYvlakm66Pamywo+qwL+oL8HJOvc6TWdZXVfhqJr8CCzbSGUAbDOzlGHJC1U+vRfLQDvw== + version "7.29.7" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.29.7.tgz#6115264516e95ead0f35a41710906612e447f605" + integrity sha512-zGYcYfq/WmZ4V+kBIXQon9dSSc8ircGZqw9ZaNhhGj9nZkeBu1jHLBDQqYYi5WA9uawvA2sIMbry2nCFhf5Djg== dependencies: - "@babel/helper-plugin-utils" "^7.28.6" + "@babel/helper-plugin-utils" "^7.29.7" "@babel/plugin-syntax-import-meta@^7.10.4": version "7.10.4" @@ -540,11 +493,11 @@ "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-jsx@^7.7.2": - version "7.28.6" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.28.6.tgz#f8ca28bbd84883b5fea0e447c635b81ba73997ee" - integrity sha512-wgEmr06G6sIpqr8YDwA2dSRTE3bJ+V0IfpzfSY3Lfgd7YWOaAdlykvJi13ZKBt8cZHfgH1IXN+CL656W3uUa4w== + version "7.29.7" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.29.7.tgz#622c16f9ad63782fe6e83dadc7e40330744b7f1e" + integrity sha512-TSu8+mHCoEaaCDEZ0I3+6mvTBYR4PCxQwf2z9/r5Tbztv6NaLR3B9thGTTxX2WGuGHJqRiAbKPeGTJ5XWXVg6A== dependencies: - "@babel/helper-plugin-utils" "^7.28.6" + "@babel/helper-plugin-utils" "^7.29.7" "@babel/plugin-syntax-logical-assignment-operators@^7.10.4": version "7.10.4" @@ -603,41 +556,41 @@ "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-typescript@^7.7.2": - version "7.28.6" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.28.6.tgz#c7b2ddf1d0a811145b1de800d1abd146af92e3a2" - integrity sha512-+nDNmQye7nlnuuHDboPbGm00Vqg3oO8niRRL27/4LYHUsHYh0zJ1xWOz0uRwNFmM1Avzk8wZbc6rdiYhomzv/A== - dependencies: - "@babel/helper-plugin-utils" "^7.28.6" - -"@babel/template@^7.28.6", "@babel/template@^7.3.3": - version "7.28.6" - resolved "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz#0e7e56ecedb78aeef66ce7972b082fce76a23e57" - integrity sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ== - dependencies: - "@babel/code-frame" "^7.28.6" - "@babel/parser" "^7.28.6" - "@babel/types" "^7.28.6" - -"@babel/traverse@^7.28.6", "@babel/traverse@^7.29.0": - version "7.29.0" - resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz#f323d05001440253eead3c9c858adbe00b90310a" - integrity sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA== - dependencies: - "@babel/code-frame" "^7.29.0" - "@babel/generator" "^7.29.0" - "@babel/helper-globals" "^7.28.0" - "@babel/parser" "^7.29.0" - "@babel/template" "^7.28.6" - "@babel/types" "^7.29.0" + version "7.29.7" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.29.7.tgz#7c29388932313ed58413a0343048d75d92fb5b24" + integrity sha512-ngr+82Sh0xMz25TPCZi+nC2iTzjfCdWS2ONXTp/PtSCHCgaCNBpdMqgvJ2ccdLlClVZ7sisIgB914j/JFe+RZA== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/template@^7.29.7", "@babel/template@^7.3.3": + version "7.29.7" + resolved "https://registry.npmjs.org/@babel/template/-/template-7.29.7.tgz#4d9d4004f645cdd304de958c725162784ecac700" + integrity sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg== + dependencies: + "@babel/code-frame" "^7.29.7" + "@babel/parser" "^7.29.7" + "@babel/types" "^7.29.7" + +"@babel/traverse@^7.29.7": + version "7.29.7" + resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.7.tgz#c47b07a41b95da0907d026b5dd894d98de7d2f2d" + integrity sha512-EhlfNQtZ+NK22w5BM61ciuiq1m58ed33Wr1Xan//ZRTy6hgjnwyCffRYwzsGXdASJSUJ1guZILsErh1eQcl+zw== + dependencies: + "@babel/code-frame" "^7.29.7" + "@babel/generator" "^7.29.7" + "@babel/helper-globals" "^7.29.7" + "@babel/parser" "^7.29.7" + "@babel/template" "^7.29.7" + "@babel/types" "^7.29.7" debug "^4.3.1" -"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.28.2", "@babel/types@^7.28.6", "@babel/types@^7.29.0", "@babel/types@^7.3.3": - version "7.29.0" - resolved "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz#9f5b1e838c446e72cf3cd4b918152b8c605e37c7" - integrity sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A== +"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.28.2", "@babel/types@^7.29.7", "@babel/types@^7.3.3": + version "7.29.7" + resolved "https://registry.npmjs.org/@babel/types/-/types-7.29.7.tgz#8005e31d82712ee7adaef6e23c63b71a62770a92" + integrity sha512-4zBIxpPzowiZpusoFkyGVwakdRJUyuH5PxQ/PrqghfdFWWasvnCdPfQXHrenDai+gyLARulZjZowCOj6fjT4pA== dependencies: - "@babel/helper-string-parser" "^7.27.1" - "@babel/helper-validator-identifier" "^7.28.5" + "@babel/helper-string-parser" "^7.29.7" + "@babel/helper-validator-identifier" "^7.29.7" "@bcoe/v8-coverage@^0.2.3": version "0.2.3" @@ -1247,15 +1200,15 @@ outvariant "^1.4.3" strict-event-emitter "^0.5.1" -"@nodable/entities@2.1.0", "@nodable/entities@^2.1.0": - version "2.1.0" - resolved "https://registry.npmjs.org/@nodable/entities/-/entities-2.1.0.tgz#f543e5c6446720d4cf9e498a83019dd159973bc2" - integrity sha512-nyT7T3nbMyBI/lvr6L5TyWbFJAI9FTgVRakNoBqCD+PmID8DzFrrNdLLtHMwMszOtqZa8PAOV24ZqDnQrhQINA== +"@nodable/entities@^2.1.0": + version "2.1.1" + resolved "https://registry.npmjs.org/@nodable/entities/-/entities-2.1.1.tgz#ce41931e9b72606d7f0598d665e46e889285d78a" + integrity sha512-Pig3HxDIoMgjdEH8OCf/dkcTmLFjJRjWuq8jSnklu284/TKOPibSRERmOykiwmyXTtv61mP+44f3GMx0tLAyjg== -"@oclif/core@^4", "@oclif/core@^4.11.2", "@oclif/core@^4.11.3": - version "4.11.3" - resolved "https://registry.npmjs.org/@oclif/core/-/core-4.11.3.tgz#87ebe0d3a47d162359482ecf5f5a7220ac709a36" - integrity sha512-gQCSYAtUhJilGKaSaZhqejH9X1dDu+jWQjLmtGOgN/XcKaAEPPSeT2mu1UvlvtPox1/NNRdlBcUa8KRKo2HnJQ== +"@oclif/core@^4", "@oclif/core@^4.11.4": + version "4.11.4" + resolved "https://registry.npmjs.org/@oclif/core/-/core-4.11.4.tgz#14082760c0b8e677331aeba3f32e6bf75e2556c0" + integrity sha512-URwiQ5ALx/sJ2iH4vzXEd+H4K6NAI7LRs6Jag3hrgKEpGmaE6alfRC8qjO4GIgb6A3ACaJumqP9twi/M9ywdHQ== dependencies: ansi-escapes "^4.3.2" ansis "^3.17.0" @@ -1268,7 +1221,7 @@ is-wsl "^2.2.0" lilconfig "^3.1.3" minimatch "^10.2.5" - semver "^7.8.0" + semver "^7.8.1" string-width "^4.2.3" supports-color "^8" tinyglobby "^0.2.16" @@ -1277,33 +1230,33 @@ wrap-ansi "^7.0.0" "@oclif/plugin-autocomplete@^3.2.42": - version "3.2.49" - resolved "https://registry.npmjs.org/@oclif/plugin-autocomplete/-/plugin-autocomplete-3.2.49.tgz#f9c2a5135b20fbeeef150244f1cc56ad1ea5716d" - integrity sha512-+rrAZ468bW/B9uVrn6sEnFYepy3M1N/BWht8mHzhFIFCIduPSoE+8MweROxZLOGBZrXGWt0iavuPQmy0eaXRfQ== + version "3.2.50" + resolved "https://registry.npmjs.org/@oclif/plugin-autocomplete/-/plugin-autocomplete-3.2.50.tgz#540657df5dfea04f3908008d40554ed00be2e850" + integrity sha512-SQRIJSYue/1tIn7X55W/97gTb8UkSoHeFAcBng2r2YMJyWj8uB1DtFl28D8BDXPQXPTiPK89hQGejoT7RdkR2w== dependencies: "@oclif/core" "^4" ansis "^3.16.0" debug "^4.4.1" ejs "^3.1.10" -"@oclif/plugin-help@^6", "@oclif/plugin-help@^6.2.49": - version "6.2.49" - resolved "https://registry.npmjs.org/@oclif/plugin-help/-/plugin-help-6.2.49.tgz#863f5ccb36b0453a463232e564a381ff3923fd07" - integrity sha512-fEsO0YU7ThtzHE1RGuoHxFu/OGlqxm7PCfFp+U1PS8sde4E0cDqjVDuv78+VKrr45LpC5lWOApj7pm3FNfHrVA== +"@oclif/plugin-help@^6", "@oclif/plugin-help@^6.2.50": + version "6.2.50" + resolved "https://registry.npmjs.org/@oclif/plugin-help/-/plugin-help-6.2.50.tgz#1d458a41cad7b9e44dc35c1ef351bde5d14eefea" + integrity sha512-rNCG4hUm+kPXFbhJfAVk/fZ3OdWJYwBDASlyX8CqOLP0MssjIGl7iEgfZz7TMuZFa+KucupKU5NRSc0KWfPTQA== dependencies: "@oclif/core" "^4" -"@oclif/plugin-not-found@^3.2.85": - version "3.2.86" - resolved "https://registry.npmjs.org/@oclif/plugin-not-found/-/plugin-not-found-3.2.86.tgz#0109818a857a98d4a5d818819ffff282c71134fa" - integrity sha512-BJhJSahwsYayZpo18f0fPTg8tKb9dIvydaz03NCK3eMfmcsT1MmXhXqh1KEV8J7mz0sQ6f0qFEb6BXy490/iUg== +"@oclif/plugin-not-found@^3.2.87": + version "3.2.87" + resolved "https://registry.npmjs.org/@oclif/plugin-not-found/-/plugin-not-found-3.2.87.tgz#b70e062fe47b1a254d16db2229d791de12d1716a" + integrity sha512-lKyZ4INrx5vB14HNWIkM6Vla/4rWVhOA2U7uCAj6gEBg36/KVmwYXxpZ9ckzZS0+jtLE84TVqS8NCYEhQiQojw== dependencies: "@inquirer/prompts" "^7.10.1" - "@oclif/core" "^4.11.3" + "@oclif/core" "^4.11.4" ansis "^3.17.0" fast-levenshtein "^3.0.0" -"@oclif/plugin-warn-if-update-available@^3.1.57": +"@oclif/plugin-warn-if-update-available@^3.1.65": version "3.1.65" resolved "https://registry.npmjs.org/@oclif/plugin-warn-if-update-available/-/plugin-warn-if-update-available-3.1.65.tgz#21cb740ccec5ebfef1666c0e46480d97b5687fe4" integrity sha512-HcSJc8SeCVUBHwc063xDL0LcpdjcamAISlisSX14VDDYQayMantvtVNOo9PmciwYpXRXfAykeH1z066YkA9JvQ== @@ -1386,31 +1339,31 @@ dependencies: "@sinonjs/commons" "^3.0.0" -"@smithy/core@^3.24.3", "@smithy/core@^3.24.4": - version "3.24.4" - resolved "https://registry.npmjs.org/@smithy/core/-/core-3.24.4.tgz#aded2ba46962b5cceaaa75f646433ac4813c2e17" - integrity sha512-3UNRKEyQyAgVgM0LGlerCLm+ChZWZ1GPfde+jBEW6bm6bSBGU1p0EbblaUV3unbhwvidjLA5Zs3sOs7mnZwvAw== +"@smithy/core@^3.24.6": + version "3.24.6" + resolved "https://registry.npmjs.org/@smithy/core/-/core-3.24.6.tgz#72891bad85d577b2e43f30a8fc67adf36d577798" + integrity sha512-wBXDRup6UU97VKyaiRo8AssnfStPtG0oAAfpq/bC0a1YYau8pM86YB4kM6ccoVi1mS8l/UHbn9oDM+7uozr/ug== dependencies: "@aws-crypto/crc32" "5.2.0" - "@smithy/types" "^4.14.2" + "@smithy/types" "^4.14.3" tslib "^2.6.2" -"@smithy/credential-provider-imds@^4.3.2": - version "4.3.4" - resolved "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-4.3.4.tgz#0ab80322b380902d404682ad8adbbcf021c657c3" - integrity sha512-vKW0MEFRU4Y3MkVZUkpJm+g9qyPGLCXhc0YLggUdSdBB4g7IaSSsCE75P9rBXyWHrXY1UYSQUl8/DwsTR7QciA== +"@smithy/credential-provider-imds@^4.3.7": + version "4.3.8" + resolved "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-4.3.8.tgz#d22f0ed81bac46017fa2f8f848ad89ab506892bb" + integrity sha512-5cAM+KZC02sTqDt6NaLXyu50M/GNMd1eTzDVR8Lb0BBsVtu7RWHo47VPPEEv1vt3Yub6uzr+M5FHC+GtoT0USg== dependencies: - "@smithy/core" "^3.24.4" - "@smithy/types" "^4.14.2" + "@smithy/core" "^3.24.6" + "@smithy/types" "^4.14.3" tslib "^2.6.2" -"@smithy/fetch-http-handler@^5.4.3": - version "5.4.4" - resolved "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-5.4.4.tgz#df28cfdbdbd192cef9508347b488d8874d0166dd" - integrity sha512-qM7AUKI4G6d7lNgaZD3lA1tWSolh5r6gcixfTZAPstVURfjIbvreVTPz+994M0yC3HbX4YYhDRgr31Xy3XwWOQ== +"@smithy/fetch-http-handler@^5.4.6": + version "5.4.6" + resolved "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-5.4.6.tgz#745cdf8b6c333632672f8f48360bde04b8955b47" + integrity sha512-FEwEYJ1jlBKdhe9TPzfghEi1bP55ZeEImlDkEa62bBBYzUcnB6RUCyuiS2mqKt6ZVjUbBgcNhzfIctH+Hevx9g== dependencies: - "@smithy/core" "^3.24.4" - "@smithy/types" "^4.14.2" + "@smithy/core" "^3.24.6" + "@smithy/types" "^4.14.3" tslib "^2.6.2" "@smithy/is-array-buffer@^2.2.0": @@ -1420,28 +1373,28 @@ dependencies: tslib "^2.6.2" -"@smithy/node-http-handler@^4.7.3": - version "4.7.4" - resolved "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-4.7.4.tgz#dfa9634130841cbb0a780c8b4a3ea7ec1c904f0c" - integrity sha512-HIeF+1vrDGzPkkv39Hj2vlHSXHY3p958jd/8ZnePIY6+ZOsQX8coyEUKO5yQu4r0bQIVsbpotVIrXXwyycMStQ== +"@smithy/node-http-handler@^4.7.6": + version "4.7.7" + resolved "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-4.7.7.tgz#cd0669141c5ee10c8b0516b652326ca4c28d643a" + integrity sha512-ZAFvHXrEk6K180EVhmZVg8GU5pUH5BSFqRs27JW3j1qEFx9YyYwWFx17x/MHcjALYimGAji7qEOlF1++be+G5A== dependencies: - "@smithy/core" "^3.24.4" - "@smithy/types" "^4.14.2" + "@smithy/core" "^3.24.6" + "@smithy/types" "^4.14.3" tslib "^2.6.2" -"@smithy/signature-v4@^5.4.2": - version "5.4.4" - resolved "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-5.4.4.tgz#8302828623453d84e41210dda99f18753bb3da7e" - integrity sha512-e5UtkMvsatzBfbeBZjEOt0k0Z3BEsjTFL/n6fdO5vtBLe67tdy0dX7xw2DU7uZ3acwoHyeCqpU2Fzb7pxwHb6Q== +"@smithy/signature-v4@^5.4.6": + version "5.4.6" + resolved "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-5.4.6.tgz#5d2b98aa10e629b6aef36f2289226df81ba4c98e" + integrity sha512-Ojg4B6oIDlIr1R86xCDJt1zJWnYa0VINmqdjfe9qxWjdRivHalZ3iSlQgVqYbW0MdpFOC5XfHEWsnbmdnpIILQ== dependencies: - "@smithy/core" "^3.24.4" - "@smithy/types" "^4.14.2" + "@smithy/core" "^3.24.6" + "@smithy/types" "^4.14.3" tslib "^2.6.2" -"@smithy/types@^4.14.2": - version "4.14.2" - resolved "https://registry.npmjs.org/@smithy/types/-/types-4.14.2.tgz#6034ff1e0e52bfb7d744ac371b651a8bf21f30f1" - integrity sha512-P+otAxbV4CqBybp7EkcJCrig63yE2E7PuNVOmilVMRcx/O+QDzGULTrKsq4DV13gSfak9ObPrWaHl/9bL5YcWw== +"@smithy/types@^4.14.3": + version "4.14.3" + resolved "https://registry.npmjs.org/@smithy/types/-/types-4.14.3.tgz#784e6d556231645744edf3fea85daaac9054eb40" + integrity sha512-YupL0ZWmFtJexUN2cHzkvvF/b9pKrtAIfT1o7/oY/Ppu8IYeZ+lDPM5vZdQJaSeA132dJCqojjGC9NhXeF71VQ== dependencies: tslib "^2.6.2" @@ -1573,16 +1526,16 @@ "@types/node" "*" "@types/node@*": - version "25.9.1" - resolved "https://registry.npmjs.org/@types/node/-/node-25.9.1.tgz#3bda556db500ae4319c08e7fc9ab94f19013ba0b" - integrity sha512-xfrlY7UD5rMJk3ZVJP8BNzS28J36YJg+xp+LPXV1TdWxr8uMH5A860QNxYDGQe/ylDSgjxE52Q9VnO7p75tJxg== + version "25.9.2" + resolved "https://registry.npmjs.org/@types/node/-/node-25.9.2.tgz#fc8958e757994b71fee516f9634bdb03d1b19e9f" + integrity sha512-G05zqtJhcDLb8uslf5EjCxXg9G1KQxiV8OS0R26IC//Eoyitzqe8z37I7cqvnZlrlSfgocQRfSn/AHBZJJFyGw== dependencies: undici-types ">=7.24.0 <7.24.7" "@types/node@^22", "@types/node@^22.5.5": - version "22.19.19" - resolved "https://registry.npmjs.org/@types/node/-/node-22.19.19.tgz#3124bf26ded54168b768138321fef99b420c6112" - integrity sha512-dyh/xO2Fh5bYrfWaaqGrRQQGkNdmYw6AmaAUvYeUMNTWQtvb796ikLdmTchRmOlOiIJ1TDXfWgVx1QkUlQ6Hew== + version "22.19.20" + resolved "https://registry.npmjs.org/@types/node/-/node-22.19.20.tgz#243823634b177312895dab14a7fb1d0103094313" + integrity sha512-6tELRwSDYWW9EdZhbeZmYGZ1/7Djkt+Ah3/ScEYT9cDord7UJzasR/4D3VONg9tQI5CDp+/CZC1AXj2pCFOvpw== dependencies: undici-types "~6.21.0" @@ -1760,9 +1713,9 @@ balanced-match@^4.0.2: integrity sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA== baseline-browser-mapping@^2.10.12: - version "2.10.31" - resolved "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.31.tgz#9c6825f052601ce6974a90dd49683b1726887b0b" - integrity sha512-MujYO3eP72uvmSE0i4wltsodRfIpZATP3jvzRNRGGxgzId7aVocVJJV3nf01qnzzKFGxQVC9bpWxl5cjxTr/7Q== + version "2.10.34" + resolved "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.34.tgz#dedb606362446777cfe328d30d4ee15056d06303" + integrity sha512-IMDedajPifLnHNY0X9n8hKxRTQ6/eTHwr5bDo04WnuqxyKw6LYtQywCuuqPZwhl3aBXMvQpJov42GLCwRRdQzw== bowser@^2.11.0: version "2.14.1" @@ -1770,17 +1723,17 @@ bowser@^2.11.0: integrity sha512-tzPjzCxygAKWFOJP011oxFHs57HzIhOEracIgAePE4pqB3LikALKnSzUyU4MGs9/iCEUuHlAJTjTc5M+u7YEGg== brace-expansion@^1.1.7: - version "1.1.14" - resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz#d9de602370d91347cd9ddad1224d4fd701eb348b" - integrity sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g== + version "1.1.15" + resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.15.tgz#a6d90d54067236e5f42570a3b7378d594d9b7738" + integrity sha512-EwOCDEex4quD37XhqM3omwtMoJjr//isUZz1JopUNWms+4Z2ViyM/k1YIRePpoVNnQhENnxtFjLaxNHrT7xIUg== dependencies: balanced-match "^1.0.0" concat-map "0.0.1" brace-expansion@^2.0.1: - version "2.1.0" - resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.0.tgz#4f41a41190216ee36067ec381526fe9539c4f0ae" - integrity sha512-TN1kCZAgdgweJhWWpgKYrQaMNHcDULHkWwQIspdtjV4Y5aurRdZpjAqn6yX3FPqTA9ngHCc4hJxMAMgGfve85w== + version "2.1.1" + resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.1.tgz#c68b1c4111c76aae3a6fba55d496cee10c39dad8" + integrity sha512-WR1cURNjuvBLMZBMbqM0UoE+WAfdUcEV1ccD8PVBVOI+Z3ND4+SZbN8RsfT2bMuG1qwz5RFvPukSZm5fF2D5eA== dependencies: balanced-match "^1.0.0" @@ -1870,9 +1823,9 @@ camelcase@^6.2.0: integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== caniuse-lite@^1.0.30001782: - version "1.0.30001793" - resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001793.tgz#238887ddf5fcfc8c36d872394d0a78a517312a72" - integrity sha512-iwSsYWaCOoh26cV8NwNRViHlrfUvYsHDfRVcbtmw0Kg6PJIZZXwMkj1442FYLBGkeUf1juAsU3DTfxW579mrPA== + version "1.0.30001797" + resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001797.tgz#1332709e1439f01ff92085dd17001e0a45897ec0" + integrity sha512-l8xKG+gwAIExZGl9FrF7KUwuOmk6wbEPC9Xoy/RtnWv1XG0Q4LFlagaLpUv3Kiza3W/wm27zy0yWJEieYKAP6w== capital-case@^1.0.4: version "1.0.4" @@ -2070,21 +2023,11 @@ defer-to-connect@^2.0.1: resolved "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz#8016bdb4143e4632b77a3449c6236277de520587" integrity sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg== -detect-indent@^7.0.1: - version "7.0.2" - resolved "https://registry.npmjs.org/detect-indent/-/detect-indent-7.0.2.tgz#16c516bf75d4b2f759f68214554996d467c8d648" - integrity sha512-y+8xyqdGLL+6sh0tVeHcfP/QDd8gUgbasolJJpY7NgeQGSZ739bDtSiaiDgtoicy+mtYB81dKLxO9xRhCyIB3A== - detect-newline@^3.0.0: version "3.1.0" resolved "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== -detect-newline@^4.0.0: - version "4.0.1" - resolved "https://registry.npmjs.org/detect-newline/-/detect-newline-4.0.1.tgz#fcefdb5713e1fb8cb2839b8b6ee22e6716ab8f23" - integrity sha512-qE3Veg1YXzGHQhlA6jzebZN2qVf6NX+A7m7qlhCGG30dJixrAQhYOsJjsnBjJkCSmuOPpCk30145fr8FV0bzog== - diff-sequences@^29.6.3: version "29.6.3" resolved "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz#4deaf894d11407c51efc8418012f9e70b84ea921" @@ -2111,9 +2054,9 @@ ejs@^3.1.10: jake "^10.8.5" electron-to-chromium@^1.5.328: - version "1.5.360" - resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.360.tgz#7faf4231324c7f8d49c5c0938e8712f623d8b8d7" - integrity sha512-GkcBt6YYAw9SxFWn+xVar4cLVGlXVuswwtRLBozi2zp0GjXs4ZnOrqV4zbXzg35n7w81hCkyJNYicgXlVHAmBA== + version "1.5.368" + resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.368.tgz#8e8d4600c5f5f01e891f8f843b4a941afb640412" + integrity sha512-7RckJJK4uESJF9PxvfMWd3TGqIiieUTG4HxnKaKuIpGbcr+r2ZEB3g2gAhCP3Fqm42vJSzLfgab9eva/C4/XVw== emittery@^0.13.1: version "0.13.1" @@ -2340,21 +2283,11 @@ get-package-type@^0.1.0: resolved "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== -get-stdin@^9.0.0: - version "9.0.0" - resolved "https://registry.npmjs.org/get-stdin/-/get-stdin-9.0.0.tgz#3983ff82e03d56f1b2ea0d3e60325f39d703a575" - integrity sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA== - get-stream@^6.0.0, get-stream@^6.0.1: version "6.0.1" resolved "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== -git-hooks-list@^3.0.0: - version "3.2.0" - resolved "https://registry.npmjs.org/git-hooks-list/-/git-hooks-list-3.2.0.tgz#ffe5d5895e29d24f930f9a98dd604b7e407d2f5f" - integrity sha512-ZHG9a1gEhUMX1TvGrLdyWb9kDopCBbTnI8z4JgRMYxsijWipgjSEYoPWqBuIB0DnRnvqlQSEeVmzpeuPm7NdFQ== - github-slugger@^2: version "2.0.0" resolved "https://registry.npmjs.org/github-slugger/-/github-slugger-2.0.0.tgz#52cf2f9279a21eb6c59dd385b410f0c0adda8f1a" @@ -2417,9 +2350,9 @@ has-flag@^4.0.0: integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== hasown@^2.0.3: - version "2.0.3" - resolved "https://registry.npmjs.org/hasown/-/hasown-2.0.3.tgz#5e5c2b15b60370a4c7930c383dfb76bf17bc403c" - integrity sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg== + version "2.0.4" + resolved "https://registry.npmjs.org/hasown/-/hasown-2.0.4.tgz#8c62d8cb90beb2aad5d0a5b67581ad9854c3f003" + integrity sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A== dependencies: function-bind "^1.1.2" @@ -2558,11 +2491,6 @@ is-number@^7.0.0: resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== -is-plain-obj@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz#d65025edec3657ce032fd7db63c97883eaed71f0" - integrity sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg== - is-retry-allowed@^1.1.0: version "1.2.0" resolved "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz#d778488bd0a4666a3be8a1482b9f2baafedea8b4" @@ -3024,9 +2952,9 @@ js-yaml@^3.13.1: esprima "^4.0.0" js-yaml@^4: - version "4.1.1" - resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz#854c292467705b699476e1a2decc0c8a3458806b" - integrity sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA== + version "4.2.0" + resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.2.0.tgz#2bd9e85682dd91bd469afb809d816043b3d49524" + integrity sha512-ePWsvanv0DWuDRsW8dnt+R4jQ31SCRCQ7hhNcPXZPsoBZiemuZNYGf7adZdqX2D86j6rvKp3RpCxVTSb8WQlOw== dependencies: argparse "^2.0.1" @@ -3256,9 +3184,9 @@ node-int64@^0.4.0: integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== node-releases@^2.0.36: - version "2.0.45" - resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.45.tgz#d84e1efff3ed4ed0fdee86a840c0a8589f0ec527" - integrity sha512-iIbHXV9eBB2nB0wa7oTsrrXq+qQt+9SIlx9AX3T96YgobtEQfis5n6TJ6vV+3QP8DwdriEAcGhARaFCu37peBg== + version "2.0.47" + resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.47.tgz#521bb2786da8eb140b748841c0b3b3a75334ffc4" + integrity sha512-Uzmd6LXpouKo8EUK68IjH4+E01w/hXyV3R3g/geCJo+rXLNfh1xucB+LOzYEOQPSiUK3h/xZf0cQGcSsmyL2Og== normalize-package-data@^6: version "6.0.2" @@ -3287,19 +3215,19 @@ npm-run-path@^4.0.1: path-key "^3.0.0" oclif@^4: - version "4.23.7" - resolved "https://registry.npmjs.org/oclif/-/oclif-4.23.7.tgz#d20625e79fa4904664580ee2f25600b0fa7c40dc" - integrity sha512-rog7/P6l6PXe7O3zWMcKB4prQm35z6NyDfpED6B3UwnPr1Fy+KWdcBHSr6Er3AjmvYsP5wsJwwPEsxUfvMNsyg== + version "4.23.13" + resolved "https://registry.npmjs.org/oclif/-/oclif-4.23.13.tgz#3087a8fa88573691bb35bd5cbcc143831c0fc347" + integrity sha512-Pk6vrGD8RMHI8nM7rE7Em5ShuN2t9sP0s7KsUdVVLk6CNz+9kO2hBB74abWWh+CAmjfkyLWxoS31nOOomOmTfA== dependencies: "@aws-sdk/client-cloudfront" "^3.1009.0" - "@aws-sdk/client-s3" "^3.1048.0" + "@aws-sdk/client-s3" "^3.1053.0" "@inquirer/confirm" "^3.1.22" "@inquirer/input" "^2.2.4" "@inquirer/select" "^2.5.0" - "@oclif/core" "^4.11.2" - "@oclif/plugin-help" "^6.2.49" - "@oclif/plugin-not-found" "^3.2.85" - "@oclif/plugin-warn-if-update-available" "^3.1.57" + "@oclif/core" "^4.11.4" + "@oclif/plugin-help" "^6.2.50" + "@oclif/plugin-not-found" "^3.2.87" + "@oclif/plugin-warn-if-update-available" "^3.1.65" ansis "^3.16.0" async-retry "^1.3.3" change-case "^4" @@ -3309,10 +3237,8 @@ oclif@^4: fs-extra "^8.1" github-slugger "^2" got "^13" - lodash "^4.18.1" normalize-package-data "^6" - semver "^7.7.4" - sort-package-json "^2.15.1" + semver "^7.8.2" tiny-jsonc "^1.0.2" validate-npm-package-name "^5.0.1" @@ -3580,10 +3506,10 @@ semver@^6.3.0, semver@^6.3.1: resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== -semver@^7.3.5, semver@^7.5.3, semver@^7.5.4, semver@^7.6.0, semver@^7.7.4, semver@^7.8.0: - version "7.8.1" - resolved "https://registry.npmjs.org/semver/-/semver-7.8.1.tgz#bf4970b5e70fda0686363cc18bfe8805d5ed957e" - integrity sha512-rkVq3IXh+4FDGch+KwzX3aV9W3kO54GyEgpvBzSyctDA6Xtd7RJQV1xmXbeQp5v7+VzLOfVqiutSE6GICgPFvg== +semver@^7.3.5, semver@^7.5.3, semver@^7.5.4, semver@^7.8.0, semver@^7.8.1, semver@^7.8.2: + version "7.8.2" + resolved "https://registry.npmjs.org/semver/-/semver-7.8.2.tgz#194bd65723a28cf82542d2bf176b91c26b343be1" + integrity sha512-c8jsqUZm3omBOI66G90z1Dyw5z622G8oLG+omfsHBJf3CWQTlOcwOjvOG6wtiNfW6anKm/eA39LMwMtMez2TiQ== sentence-case@^3.0.4: version "3.0.4" @@ -3651,25 +3577,6 @@ snake-case@^3.0.4: dot-case "^3.0.4" tslib "^2.0.3" -sort-object-keys@^1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/sort-object-keys/-/sort-object-keys-1.1.3.tgz#bff833fe85cab147b34742e45863453c1e190b45" - integrity sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg== - -sort-package-json@^2.15.1: - version "2.15.1" - resolved "https://registry.npmjs.org/sort-package-json/-/sort-package-json-2.15.1.tgz#e5a035fad7da277b1947b9eecc93ea09c1c2526e" - integrity sha512-9x9+o8krTT2saA9liI4BljNjwAbvUnWf11Wq+i/iZt8nl2UGYnf3TH5uBydE7VALmP7AGwlfszuEeL8BDyb0YA== - dependencies: - detect-indent "^7.0.1" - detect-newline "^4.0.0" - get-stdin "^9.0.0" - git-hooks-list "^3.0.0" - is-plain-obj "^4.1.0" - semver "^7.6.0" - sort-object-keys "^1.1.3" - tinyglobby "^0.2.9" - source-map-support@0.5.13: version "0.5.13" resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932" @@ -3803,10 +3710,10 @@ tiny-jsonc@^1.0.2: resolved "https://registry.npmjs.org/tiny-jsonc/-/tiny-jsonc-1.0.2.tgz#208df4c437684199cc724f31c2b91ee39c349678" integrity sha512-f5QDAfLq6zIVSyCZQZhhyl0QS6MvAyTxgz4X4x3+EoCktNWEYJ6PeoEA97fyb98njpBNNi88ybpD7m+BDFXaCw== -tinyglobby@^0.2.16, tinyglobby@^0.2.9: - version "0.2.16" - resolved "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.16.tgz#1c3b7eb953fce42b226bc5a1ee06428281aff3d6" - integrity sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg== +tinyglobby@^0.2.16: + version "0.2.17" + resolved "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz#562a9a6c9eb2b3b123d39719f9af5bb44fcd7631" + integrity sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g== dependencies: fdir "^6.5.0" picomatch "^4.0.4" @@ -3863,9 +3770,9 @@ tslib@^2.0.3, tslib@^2.6.2: integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== tsx@^4: - version "4.22.3" - resolved "https://registry.npmjs.org/tsx/-/tsx-4.22.3.tgz#7ca7cb34028e3e247f1fad300c157e42a90a1f50" - integrity sha512-mdoNxBC/cSQObGGVQ5Bpn5i+yv7j68gk3Nfm3wFjcJg3Z0Mix9jzAFfP12prmm5eVGmDKtp0yyArrs0Q+8gZHg== + version "4.22.4" + resolved "https://registry.npmjs.org/tsx/-/tsx-4.22.4.tgz#0ab3b7fb4ec7feeee74e5b1f26337caa71e44700" + integrity sha512-X8EX+XV4QR5xCsrgxaED954zTDfY8KqlDtskKEL0cHhyS/P8b4IFOvGDQpsC9Q1XnLq915wEfwwY/zzskCtmhg== dependencies: esbuild "~0.28.0" optionalDependencies: