diff --git a/.coderabbit.yaml b/.coderabbit.yaml new file mode 100644 index 00000000000..1364c37fdb4 --- /dev/null +++ b/.coderabbit.yaml @@ -0,0 +1,12 @@ +# CodeRabbit configuration - https://docs.coderabbit.ai/getting-started/yaml-configuration +# Repo config overrides org-level settings. Explicitly list all branches to review +# so main stays covered while adding feature/*, release/* and hotfix/* +language: "en-US" +reviews: + auto_review: + enabled: true + base_branches: + - "main" + - "feature/.*" + - "release/.*" + - "hotfix/.*" diff --git a/.cursor/commands/bi-test-healer.md b/.cursor/commands/bi-test-healer.md new file mode 100644 index 00000000000..6604d740305 --- /dev/null +++ b/.cursor/commands/bi-test-healer.md @@ -0,0 +1,44 @@ +--- +description: Use this agent when you need to debug and fix failing Playwright tests. +tools: ['edit/createFile', 'edit/createDirectory', 'edit/editFiles', 'search/fileSearch', 'search/textSearch', 'search/listDirectory', 'search/readFile', 'playwright-test/browser_console_messages', 'playwright-test/browser_evaluate', 'playwright-test/browser_generate_locator', 'playwright-test/browser_network_requests', 'playwright-test/browser_snapshot', 'playwright-test/test_debug', 'playwright-test/test_list', 'playwright-test/test_run'] +--- + +You are the Playwright Test Healer, an expert test automation engineer specializing in debugging and +resolving Playwright test failures. Your mission is to systematically identify, diagnose, and fix +broken Playwright tests using a methodical approach. + +Your workflow: +1. **Initial Execution**: Run all tests using playwright_test_run_test tool to identify failing tests +2. **Debug failed tests**: For each failing test run playwright_test_debug_test. +3. **Error Investigation**: When the test pauses on errors, use available Playwright MCP tools to: + - Examine the error details + - Capture page snapshot to understand the context + - Analyze selectors, timing issues, or assertion failures +4. **Root Cause Analysis**: Determine the underlying cause of the failure by examining: + - Element selectors that may have changed + - Timing and synchronization issues + - Data dependencies or test environment problems + - Application changes that broke test assumptions +5. **Code Remediation**: Edit the test code to address identified issues, focusing on: + - Updating selectors to match current application state + - Fixing assertions and expected values + - Improving test reliability and maintainability + - For inherently dynamic data, utilize regular expressions to produce resilient locators +6. **Verification**: Restart the test after each fix to validate the changes +7. **Iteration**: Repeat the investigation and fixing process until the test passes cleanly + +Key principles: +- Be systematic and thorough in your debugging approach +- Document your findings and reasoning for each fix +- Prefer robust, maintainable solutions over quick hacks +- Use Playwright best practices for reliable test automation +- If multiple errors exist, fix them one at a time and retest +- Provide clear explanations of what was broken and how you fixed it +- You will continue this process until the test runs successfully without any failures or errors. +- If the error persists and you have high level of confidence that the test is correct, mark this test as test.fixme() + so that it is skipped during the execution. Add a comment before the failing step explaining what is happening instead + of the expected behavior. +- Do not ask user questions, you are not interactive tool, do the most reasonable thing possible to pass the test. +- Never wait for networkidle or use other discouraged or deprecated apis +Context: A developer has a failing Playwright test that needs to be debugged and fixed. user: 'The login test is failing, can you fix it?' assistant: 'I'll use the healer agent to debug and fix the failing login test.' The user has identified a specific failing test that needs debugging and fixing, which is exactly what the healer agent is designed for. +Context: After running a test suite, several tests are reported as failing. user: 'Test user-registration.spec.ts is broken after the recent changes' assistant: 'Let me use the healer agent to investigate and fix the user-registration test.' A specific test file is failing and needs debugging, which requires the systematic approach of the playwright-test-healer agent. \ No newline at end of file diff --git a/.cursor/commands/generate-ai-tests.md b/.cursor/commands/generate-ai-tests.md new file mode 100644 index 00000000000..2bf8592e911 --- /dev/null +++ b/.cursor/commands/generate-ai-tests.md @@ -0,0 +1,59 @@ +--- +description: Use this agent when you need to create automated browser tests using Playwright. +tools: ['search/fileSearch', 'search/textSearch', 'search/listDirectory', 'search/readFile', 'microsoft/playwright-mcp/*'] +--- + +You are a Playwright Test Generator, an expert in browser automation and end-to-end testing. +Your specialty is creating robust, reliable Playwright tests that accurately simulate user interactions and validate +application behavior. + +# For each test you generate +- First you must go to the given url and go through the vscode extension application +- Obtain the test plan with all the steps and verification specification +- Run the `generator_setup_page` tool to set up page for the scenario +- For each step and verification in the scenario, do the following: + - Use Playwright tool to manually execute it in real-time. + - Use the step description as the intent for each Playwright tool call. +- Retrieve generator log via `generator_read_log` +- Immediately after reading the test log, invoke `generator_write_test` with the generated source code + - File should contain single test + - File name must be fs-friendly scenario name + - Test must be placed in a describe matching the top-level test plan item + - Test title must match the scenario name + - Includes a comment with the step text before each step execution. Do not duplicate comments if step requires + multiple actions. + - Always use best practices from the log when generating tests. + + + For following plan: + + ```markdown file=specs/plan.md + ### 1. Adding New Todos + **Seed:** `test/e2e-playwright-tests/seed.spec.ts` + + #### 1.1 Add Valid Todo + **Steps:** + 1. Click in the "What needs to be done?" input field + + #### 1.2 Add Multiple Todos + ... + ``` + + Following file is generated: + + ```ts file=add-valid-todo.spec.ts + // spec: specs/plan.md + // seed: tests/seed.spec.ts + + test.describe('Adding New Todos', () => { + test('Add Valid Todo', async { page } => { + // 1. Click in the "What needs to be done?" input field + await page.click(...); + + ... + }); + }); + ``` + +Context: User wants to test a login flow on their web application. user: 'I need a test that logs into my app at localhost:3000 with username admin@test.com and password 123456, then verifies the dashboard page loads' assistant: 'I'll use the generator agent to create and validate this login test for you' The user needs a specific browser automation test created, which is exactly what the generator agent is designed for. +Context: User has built a new checkout flow and wants to ensure it works correctly. user: 'Can you create a test that adds items to cart, proceeds to checkout, fills in payment details, and confirms the order?' assistant: 'I'll use the generator agent to build a comprehensive checkout flow test' This is a complex user journey that needs to be automated and tested, perfect for the generator agent. \ No newline at end of file diff --git a/.cursor/commands/planner.md b/.cursor/commands/planner.md new file mode 100644 index 00000000000..d0699310c04 --- /dev/null +++ b/.cursor/commands/planner.md @@ -0,0 +1,92 @@ +--- +description: Use this agent when you need to create comprehensive test plan for a web application or website. +tools: ['edit/createFile', 'edit/createDirectory', 'search/fileSearch', 'search/textSearch', 'search/listDirectory', 'search/readFile', 'playwright-test/browser_click', 'playwright-test/browser_close', 'playwright-test/browser_console_messages', 'playwright-test/browser_drag', 'playwright-test/browser_evaluate', 'playwright-test/browser_file_upload', 'playwright-test/browser_handle_dialog', 'playwright-test/browser_hover', 'playwright-test/browser_navigate', 'playwright-test/browser_navigate_back', 'playwright-test/browser_network_requests', 'playwright-test/browser_press_key', 'playwright-test/browser_select_option', 'playwright-test/browser_snapshot', 'playwright-test/browser_take_screenshot', 'playwright-test/browser_type', 'playwright-test/browser_wait_for', 'playwright-test/planner_setup_page'] +--- + +You are an expert web test planner with extensive experience in quality assurance, user experience testing, and test +scenario design. Your expertise includes functional testing, edge case identification, and comprehensive test coverage +planning. + +You will: + +1. **Navigate and Explore** + - Invoke the `planner_setup_page` tool once to set up page before using any other tools + - Explore the browser snapshot + - Do not take screenshots unless absolutely necessary + - Use browser_* tools to navigate and discover interface + - Thoroughly explore the interface, identifying all interactive elements, forms, navigation paths, and functionality + +2. **Analyze User Flows** + - Map out the primary user journeys and identify critical paths through the application + - Consider different user types and their typical behaviors + +3. **Design Comprehensive Scenarios** + + Create detailed test scenarios that cover: + - Happy path scenarios (normal user behavior) + - Edge cases and boundary conditions + - Error handling and validation + +4. **Structure Test Plans** + + Each scenario must include: + - Clear, descriptive title + - Detailed step-by-step instructions + - Expected outcomes where appropriate + - Assumptions about starting state (always assume blank/fresh state) + - Success criteria and failure conditions + +5. **Create Documentation** + + Save your test plan as requested: + - Executive summary of the tested page/application + - Individual scenarios as separate sections + - Each scenario formatted with numbered steps + - Clear expected results for verification + + +# TodoMVC Application - Comprehensive Test Plan + +## Application Overview + +The TodoMVC application is a React-based todo list manager that provides core task management functionality. The +application features: + +- **Task Management**: Add, edit, complete, and delete individual todos +- **Bulk Operations**: Mark all todos as complete/incomplete and clear all completed todos +- **Filtering**: View todos by All, Active, or Completed status +- **URL Routing**: Support for direct navigation to filtered views via URLs +- **Counter Display**: Real-time count of active (incomplete) todos +- **Persistence**: State maintained during session (browser refresh behavior not tested) + +## Test Scenarios + +### 1. Adding New Todos + +**Seed:** `e2e-playwright-tests/ai-written-tests/seed.spec.ts` + +#### 1.1 Add Valid Todo +**Steps:** +1. Click in the "What needs to be done?" input field +2. Type "Buy groceries" +3. Press Enter key + +**Expected Results:** +- Todo appears in the list with unchecked checkbox +- Counter shows "1 item left" +- Input field is cleared and ready for next entry +- Todo list controls become visible (Mark all as complete checkbox) + +#### 1.2 +... + + +**Quality Standards**: +- Write steps that are specific enough for any tester to follow +- Include negative testing scenarios +- Ensure scenarios are independent and can be run in any order + +**Output Format**: Always save the complete test plan as a markdown file with clear headings, numbered steps, and +professional formatting suitable for sharing with development and QA teams. +Context: User wants to test a new e-commerce checkout flow. user: 'I need test scenarios for our new checkout process at https://mystore.com/checkout' assistant: 'I'll use the planner agent to navigate to your checkout page and create comprehensive test scenarios.' The user needs test planning for a specific web page, so use the planner agent to explore and create test scenarios. +Context: User has deployed a new feature and wants thorough testing coverage. user: 'Can you help me test our new user dashboard at https://app.example.com/dashboard?' assistant: 'I'll launch the planner agent to explore your dashboard and develop detailed test scenarios.' This requires web exploration and test scenario creation, perfect for the planner agent. \ No newline at end of file diff --git a/.github/actions/pr/action.yml b/.github/actions/pr/action.yml index fbe3a08175b..79c9663a6e1 100644 --- a/.github/actions/pr/action.yml +++ b/.github/actions/pr/action.yml @@ -128,17 +128,17 @@ runs: run: | baseBranch="" if [ "${{ inputs.ballerina }}" == 'true' ]; then - baseBranch="release-ballerina" + baseBranch="stable/ballerina" elif [ "${{ inputs.bi }}" == 'true' ]; then - baseBranch="release-bi" + baseBranch="stable/bi" elif [ "${{ inputs.wso2-platform }}" == 'true' ]; then - baseBranch="release-platform" + baseBranch="stable/platform" elif [ "${{ inputs.choreo }}" == 'true' ]; then - baseBranch="release-choreo" + baseBranch="stable/choreo" elif [ "${{ inputs.apk }}" == 'true' ]; then - baseBranch="release-apk" + baseBranch="stable/apk" elif [ "${{ inputs.mi }}" == 'true' ]; then - baseBranch="release-mi" + baseBranch="stable/mi" fi pr=$(gh pr create -B "$baseBranch" -H "${{ inputs.version }}" --title "Merge \"${{ inputs.version }}\" into \"$baseBranch\"" --body '$subject') echo "prURL=$pr" >> $GITHUB_OUTPUT diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 3ee1a108b2d..e434155159d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -233,7 +233,7 @@ jobs: name: Run Ballerina extension tests needs: Build_Stage if: false - # if: ${{ inputs.runTests || (inputs.isReleaseBuild && (inputs.ballerina || inputs.bi)) || needs.Build_Stage.outputs.runBalExtTests == 'true' || github.base_ref == 'release-ballerina' }} + # if: ${{ inputs.runTests || (inputs.isReleaseBuild && (inputs.ballerina || inputs.bi)) || needs.Build_Stage.outputs.runBalExtTests == 'true' || github.base_ref == 'stable/ballerina' }} timeout-minutes: 45 runs-on: ${{ inputs.runOnAWS && inputs.awsRunnerId || 'ubuntu-latest' }} steps: @@ -281,7 +281,7 @@ jobs: ExtTest_MI: name: Run MI diagram tests needs: Build_Stage - if: ${{ inputs.runTests || (inputs.isReleaseBuild && inputs.mi) || needs.Build_Stage.outputs.runMIExtTests == 'true' || github.base_ref == 'release-mi' }} + if: ${{ inputs.runTests || (inputs.isReleaseBuild && inputs.mi) || needs.Build_Stage.outputs.runMIExtTests == 'true' || github.base_ref == 'stable/mi' }} timeout-minutes: 30 runs-on: ${{ inputs.runOnAWS && inputs.awsRunnerId || 'ubuntu-latest' }} steps: diff --git a/.github/workflows/sync-main-with-releases.yml b/.github/workflows/sync-main-with-releases.yml index 8255d27bdc0..48bebbf58fb 100644 --- a/.github/workflows/sync-main-with-releases.yml +++ b/.github/workflows/sync-main-with-releases.yml @@ -4,7 +4,7 @@ on: types: - closed branches: - - 'release-**' + - 'stable/**' jobs: sync-main: diff --git a/.github/workflows/test-pr.yml b/.github/workflows/test-pr.yml index 6dcc056684d..b7513480cfb 100644 --- a/.github/workflows/test-pr.yml +++ b/.github/workflows/test-pr.yml @@ -17,5 +17,5 @@ jobs: with: runOnAWS: ${{ contains(github.event.pull_request.labels.*.name, 'Runner/AWS') }} enableE2ETests: ${{ contains(github.event.pull_request.labels.*.name, 'Checks/Enable UI Tests') }} - runBIE2ETests: ${{ contains(github.event.pull_request.labels.*.name, 'Checks/Run BI UI Tests') || github.base_ref == 'release-bi' || github.base_ref == 'release-ballerina' }} - runMIE2ETests: ${{ contains(github.event.pull_request.labels.*.name, 'Checks/Run MI UI Tests') || github.base_ref == 'release-mi' }} + runBIE2ETests: ${{ contains(github.event.pull_request.labels.*.name, 'Checks/Run BI UI Tests') || github.base_ref == 'stable/bi' || github.base_ref == 'stable/ballerina' }} + runMIE2ETests: ${{ contains(github.event.pull_request.labels.*.name, 'Checks/Run MI UI Tests') || github.base_ref == 'stable/mi' }} diff --git a/.husky/pre-commit b/.husky/pre-commit new file mode 100755 index 00000000000..d3efbe07601 --- /dev/null +++ b/.husky/pre-commit @@ -0,0 +1,23 @@ +#!/usr/bin/env sh + +# Validate strict versioning in package.json files +echo "🔍 Validating package.json versions..." + +# Get all staged package.json files +STAGED_PACKAGE_JSON=$(git diff --cached --name-only --diff-filter=ACM | grep 'package.json$' || true) + +if [ -n "$STAGED_PACKAGE_JSON" ]; then + # Convert to array and pass to validation script + node common/scripts/validate-package-versions.js "$STAGED_PACKAGE_JSON" + + if [ $? -ne 0 ]; then + echo "" + echo "❌ Pre-commit hook failed: Non-strict versions found in package.json files." + echo " Please fix the version declarations and try again." + exit 1 + fi + + echo "✅ All staged package.json files use strict versioning." +else + echo "â„šī¸ No package.json files in this commit." +fi diff --git a/.vscode/settings.json b/.vscode/settings.json index dd11f4ba2a6..f1ee1cfecc1 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -5,6 +5,7 @@ "prettier.printWidth": 120, "prettier.tabWidth": 4, "files.associations": { - "rush.json": "jsonc" + "rush.json": "jsonc", + "rush.bi.json": "jsonc" }, } diff --git a/README.md b/README.md index cbef0978cf2..02dd380249f 100644 --- a/README.md +++ b/README.md @@ -85,6 +85,20 @@ To add a new package: - `rush check`: Checks dependency consistency across packages. - `rush purge`: Cleans up temporary files and folders. +## Git Pre-Commit Hooks + +This repository uses [Husky](https://typicode.github.io/husky/) to enforce code quality standards before commits. + +### Strict Version Validation + +All `package.json` files must use **strict versioning** for npm dependencies: +- ❌ **Not allowed**: `^1.2.3`, `~1.2.3` (caret and tilde prefixes) +- ✅ **Allowed**: `1.2.3` (exact version) + +The pre-commit hook will automatically validate all staged `package.json` files and block commits with non-strict versions. + +For more details, see the [Git Hooks Documentation](./docs/git-hooks.md). + ## Contribution Guidelines If you are planning on contributing to the development efforts of WSO2 API Manager or related extensions, you can do so by checking out the latest development version. The `master` branch holds the latest unreleased source code. diff --git a/common/autoinstallers/rush-plugins/package.json b/common/autoinstallers/rush-plugins/package.json index bb96aaf2f0a..58d74f85feb 100644 --- a/common/autoinstallers/rush-plugins/package.json +++ b/common/autoinstallers/rush-plugins/package.json @@ -9,6 +9,6 @@ } }, "dependencies": { - "@gigara/rush-github-action-build-cache-plugin": "^1.1.4" + "@gigara/rush-github-action-build-cache-plugin": "1.1.8" } } diff --git a/common/autoinstallers/rush-plugins/pnpm-lock.yaml b/common/autoinstallers/rush-plugins/pnpm-lock.yaml index 06014a452f2..fc22b31e684 100644 --- a/common/autoinstallers/rush-plugins/pnpm-lock.yaml +++ b/common/autoinstallers/rush-plugins/pnpm-lock.yaml @@ -13,7 +13,7 @@ importers: .: dependencies: '@gigara/rush-github-action-build-cache-plugin': - specifier: ^1.1.4 + specifier: 1.1.8 version: 1.1.8 packages: diff --git a/common/config/rush/.pnpmfile.cjs b/common/config/rush/.pnpmfile.cjs index 3925db8ed66..8c519843e96 100644 --- a/common/config/rush/.pnpmfile.cjs +++ b/common/config/rush/.pnpmfile.cjs @@ -15,206 +15,58 @@ module.exports = { hooks: { readPackage(pkg, context) { - if (pkg.dependencies) { - if (pkg.dependencies['vfile']) { - pkg.dependencies['vfile'] = '6.0.3'; - } - - // Security vulnerability fixes - if (pkg.dependencies['@modelcontextprotocol/sdk']) { - pkg.dependencies['@modelcontextprotocol/sdk'] = '^1.26.0'; - } - if (pkg.dependencies['@isaacs/brace-expansion']) { - pkg.dependencies['@isaacs/brace-expansion'] = '^5.0.1'; - } - if (pkg.dependencies['axios']) { - pkg.dependencies['axios'] = '^1.13.5'; - } - if (pkg.dependencies['http-proxy']) { - pkg.dependencies['http-proxy'] = '^1.18.1'; - } - if (pkg.dependencies['prismjs']) { - pkg.dependencies['prismjs'] = '^1.30.0'; - } - if (pkg.dependencies['webpack']) { - pkg.dependencies['webpack'] = '^5.94.0'; - } - if (pkg.dependencies['webpack-dev-server']) { - pkg.dependencies['webpack-dev-server'] = '^5.2.1'; - } - if (pkg.dependencies['braces']) { - pkg.dependencies['braces'] = '^3.0.3'; - } - if (pkg.dependencies['micromatch']) { - pkg.dependencies['micromatch'] = '^4.0.8'; - } - if (pkg.dependencies['esbuild']) { - pkg.dependencies['esbuild'] = '^0.25.0'; - } - if (pkg.dependencies['xmldom']) { - pkg.dependencies['xmldom'] = 'npm:@xmldom/xmldom@^0.8.10'; - } - if (pkg.dependencies['@eslint/plugin-kit']) { - pkg.dependencies['@eslint/plugin-kit'] = '^0.3.4'; - } - if (pkg.dependencies['on-headers']) { - pkg.dependencies['on-headers'] = '^1.1.0'; - } - if (pkg.dependencies['form-data']) { - pkg.dependencies['form-data'] = '^4.0.4'; - } - if (pkg.dependencies['min-document']) { - pkg.dependencies['min-document'] = '^2.19.1'; - } - if (pkg.dependencies['js-yaml']) { - pkg.dependencies['js-yaml'] = '^4.1.1'; - } - if (pkg.dependencies['diff']) { - pkg.dependencies['diff'] = '^8.0.3'; - } - if (pkg.dependencies['eslint']) { - pkg.dependencies['eslint'] = '^9.27.0'; - } - if (pkg.dependencies['fast-xml-parser']) { - pkg.dependencies['fast-xml-parser'] = '5.3.8'; - } - if (pkg.dependencies['hono']) { - pkg.dependencies['hono'] = '^4.12.4'; - } - if (pkg.dependencies['@hono/node-server']) { - pkg.dependencies['@hono/node-server'] = '^1.19.10'; - } - if (pkg.dependencies['dompurify']) { - pkg.dependencies['dompurify'] = '^3.3.2'; - } - if (pkg.dependencies['express-rate-limit']) { - pkg.dependencies['express-rate-limit'] = '^8.2.2'; - } - if (pkg.dependencies['@tootallnate/once']) { - pkg.dependencies['@tootallnate/once'] = '^3.0.1'; - } - if (pkg.dependencies['immutable']) { - pkg.dependencies['immutable'] = '^3.8.3'; - } - if (pkg.dependencies['serialize-javascript']) { - pkg.dependencies['serialize-javascript'] = '^7.0.3'; - } - if (pkg.dependencies['minimatch']) { - const ver = pkg.dependencies['minimatch']; - if (/^[\^~]?3\./.test(ver)) { - pkg.dependencies['minimatch'] = '^3.1.4'; - } else if (/^[\^~]?5\./.test(ver)) { - pkg.dependencies['minimatch'] = '^5.1.8'; - } else if (/^[\^~]?9\./.test(ver)) { - pkg.dependencies['minimatch'] = '^9.0.7'; - } else if (/^[\^~]?10\./.test(ver)) { - pkg.dependencies['minimatch'] = '^10.2.3'; + function applyOverrides(deps) { + if (!deps) return; + if (deps['http-proxy']) deps['http-proxy'] = '1.18.1'; + if (deps['prismjs']) deps['prismjs'] = '1.30.0'; + if (deps['xmldom']) deps['xmldom'] = 'npm:@xmldom/xmldom@0.8.10'; + if (deps['braces']) deps['braces'] = '3.0.3'; + if (deps['micromatch']) deps['micromatch'] = '4.0.8'; + if (deps['js-yaml']) deps['js-yaml'] = '4.1.1'; + if (deps['diff']) deps['diff'] = '^8.0.3'; + if (deps['eslint']) deps['eslint'] = '^9.27.0'; + if (deps['fast-xml-parser']) deps['fast-xml-parser'] = '5.3.8'; + if (deps['lodash']) deps['lodash'] = '4.17.23'; + if (deps['qs']) deps['qs'] = '6.14.2'; + if (deps['serialize-javascript']) deps['serialize-javascript'] = '7.0.3'; + if (deps['@hono/node-server']) deps['@hono/node-server'] = '1.19.10'; + if (deps['@tootallnate/once']) deps['@tootallnate/once'] = '3.0.1'; + if (deps['dompurify']) deps['dompurify'] = '3.3.2'; + if (deps['express-rate-limit']) deps['express-rate-limit'] = '8.2.2'; + if (deps['hono']) deps['hono'] = '4.12.7'; + if (deps['immutable']) deps['immutable'] = '3.8.3'; + if (deps['bn.js']) { + deps['bn.js'] = deps['bn.js'].startsWith('^5') ? '5.2.3' : '4.12.3'; + } + if (deps['minimatch']) { + const currentVersion = deps['minimatch']; + let newVersion; + if (currentVersion.startsWith('^3') || currentVersion.startsWith('3')) { + newVersion = '3.1.4'; + } else if (currentVersion.startsWith('^4') || currentVersion.startsWith('4')) { + newVersion = '4.2.5'; + } else if (currentVersion.startsWith('^5') || currentVersion.startsWith('5')) { + newVersion = '5.1.8'; + } else if (currentVersion.startsWith('^6') || currentVersion.startsWith('6')) { + newVersion = '6.2.2'; + } else if (currentVersion.startsWith('^7') || currentVersion.startsWith('7')) { + newVersion = '7.4.8'; + } else if (currentVersion.startsWith('^8') || currentVersion.startsWith('8')) { + newVersion = '8.0.6'; + } else if (currentVersion.startsWith('^9') || currentVersion.startsWith('9')) { + newVersion = '9.0.7'; + } else if (currentVersion.startsWith('^10') || currentVersion.startsWith('10')) { + newVersion = '10.2.3'; + } else { + context.log(`Unexpected minimatch version: ${currentVersion}`); + newVersion = currentVersion; } - } - if (pkg.dependencies['lodash']) { - pkg.dependencies['lodash'] = '4.17.23'; - } - if (pkg.dependencies['bn.js']) { - pkg.dependencies['bn.js'] = '5.2.3'; + deps['minimatch'] = newVersion; } } - if (pkg.devDependencies) { - // Security vulnerability fixes for dev dependencies - if (pkg.devDependencies['@modelcontextprotocol/sdk']) { - pkg.devDependencies['@modelcontextprotocol/sdk'] = '^1.26.0'; - } - if (pkg.devDependencies['@isaacs/brace-expansion']) { - pkg.devDependencies['@isaacs/brace-expansion'] = '^5.0.1'; - } - if (pkg.devDependencies['axios']) { - pkg.devDependencies['axios'] = '^1.13.5'; - } - if (pkg.devDependencies['http-proxy']) { - pkg.devDependencies['http-proxy'] = '^1.18.1'; - } - if (pkg.devDependencies['prismjs']) { - pkg.devDependencies['prismjs'] = '^1.30.0'; - } - if (pkg.devDependencies['webpack']) { - pkg.devDependencies['webpack'] = '^5.94.0'; - } - if (pkg.devDependencies['webpack-dev-server']) { - pkg.devDependencies['webpack-dev-server'] = '^5.2.1'; - } - if (pkg.devDependencies['braces']) { - pkg.devDependencies['braces'] = '^3.0.3'; - } - if (pkg.devDependencies['micromatch']) { - pkg.devDependencies['micromatch'] = '^4.0.8'; - } - if (pkg.devDependencies['esbuild']) { - pkg.devDependencies['esbuild'] = '^0.25.0'; - } - if (pkg.devDependencies['xmldom']) { - pkg.devDependencies['xmldom'] = 'npm:@xmldom/xmldom@^0.8.10'; - } - if (pkg.devDependencies['@eslint/plugin-kit']) { - pkg.devDependencies['@eslint/plugin-kit'] = '^0.3.4'; - } - if (pkg.devDependencies['on-headers']) { - pkg.devDependencies['on-headers'] = '^1.1.0'; - } - if (pkg.devDependencies['form-data']) { - pkg.devDependencies['form-data'] = '^4.0.4'; - } - if (pkg.devDependencies['min-document']) { - pkg.devDependencies['min-document'] = '^2.19.1'; - } - if (pkg.devDependencies['diff']) { - pkg.devDependencies['diff'] = '^8.0.3'; - } - if (pkg.devDependencies['eslint']) { - pkg.devDependencies['eslint'] = '^9.27.0'; - } - if (pkg.devDependencies['fast-xml-parser']) { - pkg.devDependencies['fast-xml-parser'] = '5.3.8'; - } - if (pkg.devDependencies['hono']) { - pkg.devDependencies['hono'] = '^4.12.4'; - } - if (pkg.devDependencies['@hono/node-server']) { - pkg.devDependencies['@hono/node-server'] = '^1.19.10'; - } - if (pkg.devDependencies['dompurify']) { - pkg.devDependencies['dompurify'] = '^3.3.2'; - } - if (pkg.devDependencies['express-rate-limit']) { - pkg.devDependencies['express-rate-limit'] = '^8.2.2'; - } - if (pkg.devDependencies['@tootallnate/once']) { - pkg.devDependencies['@tootallnate/once'] = '^3.0.1'; - } - if (pkg.devDependencies['immutable']) { - pkg.devDependencies['immutable'] = '^3.8.3'; - } - if (pkg.devDependencies['serialize-javascript']) { - pkg.devDependencies['serialize-javascript'] = '^7.0.3'; - } - if (pkg.devDependencies['minimatch']) { - const ver = pkg.devDependencies['minimatch']; - if (/^[\^~]?3\./.test(ver)) { - pkg.devDependencies['minimatch'] = '^3.1.4'; - } else if (/^[\^~]?5\./.test(ver)) { - pkg.devDependencies['minimatch'] = '^5.1.8'; - } else if (/^[\^~]?9\./.test(ver)) { - pkg.devDependencies['minimatch'] = '^9.0.7'; - } else if (/^[\^~]?10\./.test(ver)) { - pkg.devDependencies['minimatch'] = '^10.2.3'; - } - } - if (pkg.devDependencies['lodash']) { - pkg.devDependencies['lodash'] = '4.17.23'; - } - if (pkg.devDependencies['bn.js']) { - pkg.devDependencies['bn.js'] = '5.2.3'; - } - } + applyOverrides(pkg.dependencies); + applyOverrides(pkg.devDependencies); return pkg; } diff --git a/common/config/rush/common-versions.json b/common/config/rush/common-versions.json index f8f8b7600cd..3043056da1b 100644 --- a/common/config/rush/common-versions.json +++ b/common/config/rush/common-versions.json @@ -24,44 +24,5 @@ * instead of the latest version. */ // "some-library": "1.2.3" - "webpack": "^5.56.0", - "@eslint/plugin-kit": "^0.3.4", - "on-headers": "^1.1.0", - "form-data": "^4.0.4", - "tmp": "^0.2.4" - }, - - /** - * When set to true, for all projects in the repo, all dependencies will be automatically added as preferredVersions, - * except in cases where different projects specify different version ranges for a given dependency. For older - * package managers, this tended to reduce duplication of indirect dependencies. However, it can sometimes cause - * trouble for indirect dependencies with incompatible peerDependencies ranges. - * - * The default value is true. If you're encountering installation errors related to peer dependencies, - * it's recommended to set this to false. - * - * After modifying this field, it's recommended to run "rush update --full" so that the package manager - * will recalculate all version selections. - */ - "implicitlyPreferredVersions": false, - - /** - * The "rush check" command can be used to enforce that every project in the repo must specify - * the same SemVer range for a given dependency. However, sometimes exceptions are needed. - * The allowedAlternativeVersions table allows you to list other SemVer ranges that will be - * accepted by "rush check" for a given dependency. - * - * IMPORTANT: THIS TABLE IS FOR *ADDITIONAL* VERSION RANGES THAT ARE ALTERNATIVES TO THE - * USUAL VERSION (WHICH IS INFERRED BY LOOKING AT ALL PROJECTS IN THE REPO). - * This design avoids unnecessary churn in this file. - */ - "allowedAlternativeVersions": { - /** - * For example, allow some projects to use an older TypeScript compiler - * (in addition to whatever "usual" version is being used by other projects in the repo): - */ - // "typescript": [ - // "~2.4.0" - // ] } } diff --git a/common/config/rush/pnpm-config.json b/common/config/rush/pnpm-config.json index d5247d39dce..8216e9fd8ca 100644 --- a/common/config/rush/pnpm-config.json +++ b/common/config/rush/pnpm-config.json @@ -89,13 +89,6 @@ * Ppnpmdocumentation: https://pnpm.io/package_json#pnpmoverrides */ "globalOverrides": { - "@modelcontextprotocol/sdk": "^1.25.2", - "tar-fs": "3.1.1", - "jws": "3.2.3", - "js-yaml": "^4.1.1", - "diff": "^8.0.3", - "undici": "^7.18.2", - "lodash": "4.17.23" // "example1": "^1.0.0", // "example2": "npm:@company/example2@^1.0.0" }, diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index 94bb941c9dd..b822b2389c6 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -4,15 +4,6 @@ settings: autoInstallPeers: false excludeLinksFromLockfile: false -overrides: - '@modelcontextprotocol/sdk': ^1.25.2 - tar-fs: 3.1.1 - jws: 3.2.3 - js-yaml: ^4.1.1 - diff: ^8.0.3 - undici: ^7.18.2 - lodash: 4.17.23 - pnpmfileChecksum: sha256-XTeZQwJtKk4dimqf7175GhJCXrnq3Yh7+kwb86Bwcdo= importers: @@ -22,10 +13,10 @@ importers: ../../workspaces/api-designer/api-designer-core: dependencies: '@types/vscode-webview': - specifier: ^1.57.3 - version: 1.57.5 + specifier: 1.57.3 + version: 1.57.3 vscode-messenger-common: - specifier: ^0.4.5 + specifier: 0.4.5 version: 0.4.5 devDependencies: '@typescript-eslint/eslint-plugin': @@ -47,20 +38,20 @@ importers: specifier: 11.6.1 version: 11.6.1 '@babel/core': - specifier: ^7.24.4 - version: 7.27.7 + specifier: 7.24.4 + version: 7.24.4 '@types/json-schema': specifier: 7.0.15 version: 7.0.15 '@types/lodash': - specifier: ~4.14.199 - version: 4.14.202 + specifier: 4.14.199 + version: 4.14.199 '@types/xml2js': - specifier: ~0.4.12 - version: 0.4.14 + specifier: 0.4.12 + version: 0.4.12 '@vscode/vsce': - specifier: ^3.7.0 - version: 3.7.1 + specifier: 3.7.0 + version: 3.7.0 '@wso2/api-designer-core': specifier: workspace:* version: link:../api-designer-core @@ -74,60 +65,60 @@ importers: specifier: workspace:* version: link:../../common-libs/font-wso2-vscode adm-zip: - specifier: ~0.5.14 - version: 0.5.16 + specifier: 0.5.14 + version: 0.5.14 axios: - specifier: ^1.13.5 - version: 1.13.6 + specifier: 1.13.5 + version: 1.13.5 copyfiles: - specifier: ^2.4.1 + specifier: 2.4.1 version: 2.4.1 cors-anywhere: - specifier: ^0.4.4 + specifier: 0.4.4 version: 0.4.4 js-yaml: - specifier: ^4.1.1 + specifier: 4.1.1 version: 4.1.1 json-schema: specifier: 0.4.0 version: 0.4.0 jsonix: - specifier: ~3.0.0 + specifier: 3.0.0 version: 3.0.0 lodash: specifier: 4.17.23 version: 4.17.23 node-fetch: - specifier: ~2.6.2 - version: 2.6.13(encoding@0.1.13) + specifier: 2.6.7 + version: 2.6.7(encoding@0.1.13) node-loader: - specifier: ~2.0.0 - version: 2.0.0(webpack@5.105.4) + specifier: 2.0.0 + version: 2.0.0(webpack@5.104.1) portfinder: - specifier: ^1.0.32 - version: 1.0.38 + specifier: 1.0.32 + version: 1.0.32 to-json-schema: specifier: 0.2.5 version: 0.2.5 vscode-messenger: - specifier: ^0.4.5 + specifier: 0.4.5 version: 0.4.5 vscode-messenger-common: - specifier: ^0.4.5 + specifier: 0.4.5 version: 0.4.5 xstate: - specifier: ^4.38.3 + specifier: 4.38.3 version: 4.38.3 devDependencies: '@types/js-yaml': - specifier: ~4.0.9 + specifier: 4.0.9 version: 4.0.9 '@types/node': specifier: 16.x version: 16.18.126 '@types/vscode': - specifier: ^1.81.0 - version: 1.110.0 + specifier: 1.81.0 + version: 1.81.0 '@typescript-eslint/eslint-plugin': specifier: 8.32.1 version: 8.32.1(@typescript-eslint/parser@8.32.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3))(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3) @@ -135,32 +126,32 @@ importers: specifier: 8.32.1 version: 8.32.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3) '@vscode/test-electron': - specifier: ^2.3.4 - version: 2.5.2 + specifier: 2.3.4 + version: 2.3.4 eslint: specifier: ^9.27.0 version: 9.39.4(jiti@2.6.1) rimraf: - specifier: ~5.0.5 - version: 5.0.10 + specifier: 5.0.5 + version: 5.0.5 ts-loader: - specifier: ^9.4.4 - version: 9.5.4(typescript@5.8.3)(webpack@5.105.4) + specifier: 9.4.4 + version: 9.4.4(typescript@5.8.3)(webpack@5.104.1) typescript: specifier: 5.8.3 version: 5.8.3 webpack: - specifier: ^5.94.0 - version: 5.105.4(webpack-cli@5.1.4) + specifier: 5.104.1 + version: 5.104.1(webpack-cli@5.1.4) webpack-cli: - specifier: ^5.1.4 - version: 5.1.4(webpack@5.105.4) + specifier: 5.1.4 + version: 5.1.4(webpack@5.104.1) ../../workspaces/api-designer/api-designer-rpc-client: dependencies: '@types/vscode-webview': - specifier: ^1.57.3 - version: 1.57.5 + specifier: 1.57.3 + version: 1.57.3 '@wso2/api-designer-core': specifier: workspace:* version: link:../api-designer-core @@ -171,10 +162,10 @@ importers: specifier: 18.2.0 version: 18.2.0(react@18.2.0) vscode-messenger-common: - specifier: ^0.4.5 + specifier: 0.4.5 version: 0.4.5 vscode-messenger-webview: - specifier: ^0.4.5 + specifier: 0.4.5 version: 0.4.5 devDependencies: '@types/react': @@ -199,29 +190,29 @@ importers: ../../workspaces/api-designer/api-designer-visualizer: dependencies: '@emotion/css': - specifier: ^11.10.5 - version: 11.13.5 + specifier: 11.10.5 + version: 11.10.5(@babel/core@7.29.0) '@emotion/react': - specifier: ^11.9.3 - version: 11.14.0(@types/react@18.2.0)(react@18.2.0) + specifier: 11.9.3 + version: 11.9.3(@babel/core@7.29.0)(@types/react@18.2.0)(react@18.2.0) '@emotion/styled': - specifier: ^11.11.0 - version: 11.14.1(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0) + specifier: 11.11.0 + version: 11.11.0(@emotion/react@11.9.3(@babel/core@7.29.0)(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0) '@hookform/resolvers': - specifier: ~3.3.4 + specifier: 3.3.4 version: 3.3.4(react-hook-form@7.56.4(react@18.2.0)) '@mdxeditor/editor': - specifier: ~3.14.0 + specifier: 3.14.0 version: 3.14.0(@codemirror/language@6.11.3)(@lezer/highlight@1.2.3)(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@tanstack/query-core': - specifier: ^4.0.0-beta.1 - version: 4.43.0 + specifier: 5.77.1 + version: 5.77.1 '@tanstack/react-query': - specifier: 4.0.10 - version: 4.0.10(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + specifier: 5.77.1 + version: 5.77.1(react@18.2.0) '@vscode/webview-ui-toolkit': - specifier: ^1.2.0 - version: 1.4.0(react@18.2.0) + specifier: 1.2.0 + version: 1.2.0(react@18.2.0) '@wso2/api-designer-core': specifier: workspace:* version: link:../api-designer-core @@ -235,16 +226,16 @@ importers: specifier: workspace:* version: link:../../common-libs/ui-toolkit js-yaml: - specifier: ^4.1.1 + specifier: 4.1.1 version: 4.1.1 lodash: specifier: 4.17.23 version: 4.17.23 path: - specifier: ~0.12.7 + specifier: 0.12.7 version: 0.12.7 process: - specifier: ~0.11.10 + specifier: 0.11.10 version: 0.11.10 react: specifier: 18.2.0 @@ -256,42 +247,42 @@ importers: specifier: 7.56.4 version: 7.56.4(react@18.2.0) react-markdown: - specifier: ~9.0.1 - version: 9.0.3(@types/react@18.2.0)(react@18.2.0) + specifier: 9.0.1 + version: 9.0.1(@types/react@18.2.0)(react@18.2.0) yup: - specifier: ~1.4.0 + specifier: 1.4.0 version: 1.4.0 devDependencies: '@babel/plugin-syntax-flow': - specifier: ~7.22.5 - version: 7.22.5(@babel/core@7.27.7) + specifier: 7.22.5 + version: 7.22.5(@babel/core@7.29.0) '@babel/preset-typescript': - specifier: ~7.22.11 - version: 7.22.15(@babel/core@7.27.7) + specifier: 7.22.11 + version: 7.22.11(@babel/core@7.29.0) '@storybook/addon-actions': - specifier: ~7.4.0 - version: 7.4.6(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + specifier: 7.4.0 + version: 7.4.0(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/addon-essentials': - specifier: ~7.4.0 - version: 7.4.6(@types/react-dom@18.2.0)(@types/react@18.2.0)(encoding@0.1.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + specifier: 7.4.0 + version: 7.4.0(@types/react-dom@18.2.0)(@types/react@18.2.0)(encoding@0.1.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/cli': - specifier: ^7.6.10 - version: 7.6.24(encoding@0.1.13) + specifier: 7.6.10 + version: 7.6.10(encoding@0.1.13) '@storybook/react': - specifier: ~7.4.0 - version: 7.4.6(encoding@0.1.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) + specifier: 7.4.0 + version: 7.4.0(encoding@0.1.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) '@storybook/react-webpack5': - specifier: ~7.4.0 - version: 7.4.6(@babel/core@7.27.7)(@swc/helpers@0.5.19)(@types/react-dom@18.2.0)(@types/react@18.2.0)(@types/webpack@5.28.5(webpack-cli@5.1.4))(encoding@0.1.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(type-fest@4.41.0)(typescript@5.8.3)(webpack-cli@5.1.4)(webpack-dev-server@5.2.3)(webpack-hot-middleware@2.26.1) + specifier: 7.4.0 + version: 7.4.0(@babel/core@7.29.0)(@swc/helpers@0.5.19)(@types/webpack@5.28.5(webpack-cli@5.1.4))(encoding@0.1.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(type-fest@4.41.0)(typescript@5.8.3)(webpack-cli@5.1.4)(webpack-dev-server@5.2.3)(webpack-hot-middleware@2.26.1) '@types/js-yaml': - specifier: ~4.0.9 + specifier: 4.0.9 version: 4.0.9 '@types/lodash': - specifier: ~4.14.198 - version: 4.14.202 + specifier: 4.14.198 + version: 4.14.198 '@types/node': - specifier: ^20.10.6 - version: 20.19.37 + specifier: 20.10.6 + version: 20.10.6 '@types/react': specifier: 18.2.0 version: 18.2.0 @@ -299,56 +290,59 @@ importers: specifier: 18.2.0 version: 18.2.0 '@types/vscode-webview': - specifier: ~1.57.2 - version: 1.57.5 + specifier: 1.57.2 + version: 1.57.2 '@vscode/codicons': specifier: 0.0.44 version: 0.0.44 copyfiles: - specifier: ^2.4.1 + specifier: 2.4.1 version: 2.4.1 css-loader: - specifier: ^5.2.7 - version: 5.2.7(webpack@5.105.4) + specifier: 5.2.7 + version: 5.2.7(webpack@5.104.1) sass-loader: - specifier: ^13.2.0 - version: 13.3.3(sass@1.98.0)(webpack@5.105.4) + specifier: 13.2.0 + version: 13.2.0(sass@1.89.0)(webpack@5.104.1) source-map-loader: - specifier: ^4.0.1 - version: 4.0.2(webpack@5.105.4) + specifier: 4.0.1 + version: 4.0.1(webpack@5.104.1) style-loader: - specifier: ^1.3.0 - version: 1.3.0(webpack@5.105.4) + specifier: 1.3.0 + version: 1.3.0(webpack@5.104.1) ts-loader: - specifier: ^9.5.0 - version: 9.5.4(typescript@5.8.3)(webpack@5.105.4) + specifier: 9.5.0 + version: 9.5.0(typescript@5.8.3)(webpack@5.104.1) typescript: specifier: 5.8.3 version: 5.8.3 webpack: - specifier: ^5.94.0 - version: 5.105.4(webpack-cli@5.1.4) + specifier: 5.104.1 + version: 5.104.1(webpack-cli@5.1.4) webpack-cli: - specifier: ~5.1.4 - version: 5.1.4(webpack-dev-server@5.2.3)(webpack@5.105.4) + specifier: 5.1.4 + version: 5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1) webpack-dev-server: - specifier: ^5.2.1 - version: 5.2.3(webpack-cli@5.1.4)(webpack@5.105.4) + specifier: 5.2.3 + version: 5.2.3(webpack-cli@5.1.4)(webpack@5.104.1) ../../workspaces/apk/apk-extension: devDependencies: '@types/glob': - specifier: ^8.0.0 - version: 8.1.0 + specifier: 8.0.0 + version: 8.0.0 + '@types/minimatch': + specifier: 5.1.2 + version: 5.1.2 '@types/mocha': - specifier: ^10.0.1 - version: 10.0.10 + specifier: 10.0.1 + version: 10.0.1 '@types/node': - specifier: ^18.11.19 - version: 18.19.130 + specifier: 18.11.19 + version: 18.11.19 '@types/vscode': - specifier: ^1.63.0 - version: 1.110.0 + specifier: 1.63.0 + version: 1.63.0 '@typescript-eslint/eslint-plugin': specifier: 8.32.1 version: 8.32.1(@typescript-eslint/parser@8.32.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3))(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3) @@ -356,23 +350,23 @@ importers: specifier: 8.32.1 version: 8.32.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3) '@vscode/test-electron': - specifier: ^2.3.2 - version: 2.5.2 + specifier: 2.3.2 + version: 2.3.2 '@vscode/vsce': - specifier: ^3.7.0 - version: 3.7.1 + specifier: 3.7.0 + version: 3.7.0 copyfiles: - specifier: ^2.4.1 + specifier: 2.4.1 version: 2.4.1 eslint: specifier: ^9.27.0 version: 9.39.4(jiti@2.6.1) glob: - specifier: ^11.1.0 + specifier: 11.1.0 version: 11.1.0 mocha: - specifier: ^10.2.0 - version: 10.8.2 + specifier: 10.2.0 + version: 10.2.0 typescript: specifier: 5.8.3 version: 5.8.3 @@ -380,60 +374,60 @@ importers: ../../workspaces/ballerina/ballerina-core: dependencies: '@types/mousetrap': - specifier: ~1.6.11 - version: 1.6.15 + specifier: 1.6.11 + version: 1.6.11 '@types/vscode-webview': - specifier: ^1.57.3 - version: 1.57.5 + specifier: 1.57.3 + version: 1.57.3 '@types/ws': - specifier: ^8.2.1 - version: 8.18.1 + specifier: 8.2.1 + version: 8.2.1 '@wso2/syntax-tree': specifier: workspace:* version: link:../syntax-tree handlebars: - specifier: ~4.7.8 + specifier: 4.7.8 version: 4.7.8 isomorphic-ws: - specifier: ^5.0.0 + specifier: 5.0.0 version: 5.0.0(ws@8.19.0) mousetrap: - specifier: ^1.6.5 + specifier: 1.6.5 version: 1.6.5 react: specifier: 18.2.0 version: 18.2.0 tree-kill: - specifier: ^1.2.2 + specifier: 1.2.2 version: 1.2.2 vscode-jsonrpc: - specifier: ^8.2.1 + specifier: 8.2.1 version: 8.2.1 vscode-languageserver-protocol: - specifier: ^3.17.5 + specifier: 3.17.5 version: 3.17.5 vscode-languageserver-types: - specifier: ^3.17.5 + specifier: 3.17.5 version: 3.17.5 vscode-messenger-common: - specifier: ^0.5.1 + specifier: 0.5.1 version: 0.5.1 vscode-uri: - specifier: ^3.0.8 - version: 3.1.0 + specifier: 3.0.8 + version: 3.0.8 vscode-ws-jsonrpc: - specifier: ^3.4.0 - version: 3.5.0 + specifier: 3.4.0 + version: 3.4.0 devDependencies: '@types/node': - specifier: ^22.15.21 - version: 22.15.35 + specifier: 22.15.21 + version: 22.15.21 '@types/react': specifier: 18.2.0 version: 18.2.0 '@types/vscode': - specifier: ^1.83.1 - version: 1.110.0 + specifier: 1.100.0 + version: 1.100.0 '@typescript-eslint/eslint-plugin': specifier: 8.32.1 version: 8.32.1(@typescript-eslint/parser@8.32.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3))(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3) @@ -441,7 +435,7 @@ importers: specifier: 8.32.1 version: 8.32.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3) copyfiles: - specifier: ^2.4.1 + specifier: 2.4.1 version: 2.4.1 eslint: specifier: ^9.27.0 @@ -453,23 +447,23 @@ importers: ../../workspaces/ballerina/ballerina-extension: dependencies: '@ai-sdk/amazon-bedrock': - specifier: ^4.0.4 - version: 4.0.77(zod@4.1.11) + specifier: 4.0.4 + version: 4.0.4(zod@4.1.8) '@ai-sdk/anthropic': - specifier: ^3.0.2 - version: 3.0.58(zod@4.1.11) + specifier: 3.0.2 + version: 3.0.2(zod@4.1.8) '@iarna/toml': - specifier: ^2.2.5 + specifier: 2.2.5 version: 2.2.5 '@types/lodash': - specifier: ^4.14.200 - version: 4.17.17 + specifier: 4.14.200 + version: 4.14.200 '@vscode/test-electron': - specifier: ^2.5.2 + specifier: 2.5.2 version: 2.5.2 '@vscode/vsce': - specifier: ^3.7.0 - version: 3.7.1 + specifier: 3.7.0 + version: 3.7.0 '@wso2/ballerina-core': specifier: workspace:* version: link:../ballerina-core @@ -489,28 +483,28 @@ importers: specifier: workspace:* version: link:../../wso2-platform/wso2-platform-core ai: - specifier: ^6.0.7 - version: 6.0.116(zod@4.1.11) + specifier: 6.0.7 + version: 6.0.7(zod@4.1.8) cors-anywhere: - specifier: ^0.4.4 + specifier: 0.4.4 version: 0.4.4 del-cli: - specifier: ^5.1.0 + specifier: 5.1.0 version: 5.1.0 dotenv: - specifier: ~16.5.0 + specifier: 16.5.0 version: 16.5.0 file-uri-to-path: - specifier: ^2.0.0 + specifier: 2.0.0 version: 2.0.0 glob: - specifier: ^11.1.0 + specifier: 11.1.0 version: 11.1.0 handlebars: - specifier: ~4.7.8 + specifier: 4.7.8 version: 4.7.8 jwt-decode: - specifier: ^4.0.0 + specifier: 4.0.0 version: 4.0.0 lodash: specifier: 4.17.23 @@ -519,167 +513,167 @@ importers: specifier: 0.13.1-next.9 version: 0.13.1-next.9 node-fetch: - specifier: ^3.3.2 + specifier: 3.3.2 version: 3.3.2 node-schedule: - specifier: ^2.1.1 + specifier: 2.1.1 version: 2.1.1 portfinder: - specifier: ^1.0.32 - version: 1.0.38 + specifier: 1.0.32 + version: 1.0.32 protobufjs: - specifier: ^7.2.5 - version: 7.5.4 + specifier: 7.2.5 + version: 7.2.5 source-map-support: - specifier: ^0.5.21 + specifier: 0.5.21 version: 0.5.21 unzipper: - specifier: ~0.12.3 + specifier: 0.12.3 version: 0.12.3 uuid: - specifier: ^11.1.0 + specifier: 11.1.0 version: 11.1.0 vscode-debugadapter: - specifier: ^1.51.0 + specifier: 1.51.0 version: 1.51.0 vscode-debugprotocol: - specifier: ^1.51.0 + specifier: 1.51.0 version: 1.51.0 vscode-extension-telemetry: - specifier: ^0.1.7 + specifier: 0.1.7 version: 0.1.7 vscode-languageclient: - specifier: ^8.1.0 + specifier: 8.1.0 version: 8.1.0 vscode-languageserver-protocol: - specifier: ^3.17.5 + specifier: 3.17.5 version: 3.17.5 vscode-languageserver-types: - specifier: ^3.17.5 + specifier: 3.17.5 version: 3.17.5 vscode-messenger: - specifier: ^0.4.5 + specifier: 0.4.5 version: 0.4.5 vscode-messenger-common: - specifier: ^0.4.5 + specifier: 0.4.5 version: 0.4.5 vscode-test: - specifier: ^1.6.1 + specifier: 1.6.1 version: 1.6.1 vscode-uri: - specifier: ^3.0.8 - version: 3.1.0 + specifier: 3.0.8 + version: 3.0.8 xml-js: - specifier: ^1.6.11 + specifier: 1.6.11 version: 1.6.11 xstate: - specifier: ^4.38.3 + specifier: 4.38.3 version: 4.38.3 zod: - specifier: ^4.1.8 - version: 4.1.11 + specifier: 4.1.8 + version: 4.1.8 devDependencies: '@sentry/webpack-plugin': - specifier: ^1.20.1 - version: 1.21.0(encoding@0.1.13) + specifier: 1.20.1 + version: 1.20.1(encoding@0.1.13) '@types/chai': - specifier: ^4.3.9 - version: 4.3.20 + specifier: 4.3.9 + version: 4.3.9 '@types/mocha': - specifier: ~10.0.3 - version: 10.0.10 + specifier: 10.0.3 + version: 10.0.3 '@types/node': - specifier: ^18.18.7 - version: 18.19.130 + specifier: 18.18.7 + version: 18.18.7 '@types/tcp-port-used': - specifier: ^1.0.3 - version: 1.0.4 + specifier: 1.0.3 + version: 1.0.3 '@types/vscode': - specifier: ^1.83.1 - version: 1.110.0 + specifier: 1.100.0 + version: 1.100.0 '@types/vscode-notebook-renderer': - specifier: ~1.72.2 - version: 1.72.4 + specifier: 1.72.2 + version: 1.72.2 adm-zip: - specifier: ^0.5.16 + specifier: 0.5.16 version: 0.5.16 axios: - specifier: ^1.13.5 - version: 1.13.6 + specifier: 1.13.5 + version: 1.13.5 chai: - specifier: ^4.3.10 - version: 4.5.0 + specifier: 4.3.10 + version: 4.3.10 copyfiles: - specifier: ^2.4.1 + specifier: 2.4.1 version: 2.4.1 cross-env: - specifier: ^7.0.3 + specifier: 7.0.3 version: 7.0.3 decache: - specifier: ^4.6.2 + specifier: 4.6.2 version: 4.6.2 express: - specifier: ^4.22.1 + specifier: 4.22.1 version: 4.22.1 istanbul: - specifier: ^0.4.5 + specifier: 0.4.5 version: 0.4.5 js-yaml: - specifier: ^4.1.1 + specifier: 4.1.1 version: 4.1.1 keytar: - specifier: ^7.9.0 + specifier: 7.9.0 version: 7.9.0 kill-port: specifier: 2.0.1 version: 2.0.1 mocha: - specifier: ^10.2.0 - version: 10.8.2 + specifier: 10.2.0 + version: 10.2.0 pako: - specifier: ^2.1.0 + specifier: 2.1.0 version: 2.1.0 pkce-challenge: - specifier: ^3.1.0 + specifier: 3.1.0 version: 3.1.0 remap-istanbul: - specifier: ^0.13.0 + specifier: 0.13.0 version: 0.13.0 rimraf: - specifier: ^3.0.2 + specifier: 3.0.2 version: 3.0.2 tcp-port-used: - specifier: ^1.0.2 + specifier: 1.0.2 version: 1.0.2 ts-loader: - specifier: ^9.5.0 - version: 9.5.4(typescript@5.8.3)(webpack@5.105.4) + specifier: 9.5.0 + version: 9.5.0(typescript@5.8.3)(webpack@5.104.1) tslint: - specifier: ^6.1.3 + specifier: 6.1.3 version: 6.1.3(typescript@5.8.3) typescript: specifier: 5.8.3 version: 5.8.3 vscode-debugadapter-testsupport: - specifier: ^1.51.0 + specifier: 1.51.0 version: 1.51.0 vscode-extension-tester: - specifier: ^5.10.0 - version: 5.10.0(mocha@10.8.2)(typescript@5.8.3) + specifier: 5.10.0 + version: 5.10.0(mocha@10.2.0)(typescript@5.8.3) webpack: - specifier: ^5.94.0 - version: 5.105.4(webpack-cli@6.0.1) + specifier: 5.104.1 + version: 5.104.1(webpack-cli@6.0.1) webpack-cli: - specifier: ^6.0.1 - version: 6.0.1(webpack@5.105.4) + specifier: 6.0.1 + version: 6.0.1(webpack@5.104.1) yarn: - specifier: ^1.22.19 - version: 1.22.22 + specifier: 1.22.19 + version: 1.22.19 ../../workspaces/ballerina/ballerina-low-code-diagram: dependencies: '@date-io/date-fns': - specifier: ^3.2.1 + specifier: 3.2.1 version: 3.2.1(date-fns@4.1.0) '@wso2/ballerina-core': specifier: workspace:* @@ -688,46 +682,46 @@ importers: specifier: workspace:* version: link:../syntax-tree classnames: - specifier: ^2.5.1 + specifier: 2.5.1 version: 2.5.1 clipboard-copy: - specifier: ^4.0.1 + specifier: 4.0.1 version: 4.0.1 clsx: - specifier: ^2.1.1 + specifier: 2.1.1 version: 2.1.1 cron-validator: specifier: 1.3.1 version: 1.3.1 date-fns: - specifier: ^4.1.0 + specifier: 4.1.0 version: 4.1.0 date-fns-tz: - specifier: ^3.2.0 + specifier: 3.2.0 version: 3.2.0(date-fns@4.1.0) dexie: - specifier: ^4.0.11 - version: 4.3.0 + specifier: 4.0.11 + version: 4.0.11 graphql: - specifier: ^16.11.0 - version: 16.13.1 + specifier: 16.11.0 + version: 16.11.0 handlebars: - specifier: ^4.7.8 + specifier: 4.7.8 version: 4.7.8 jest: - specifier: ^29.7.0 - version: 29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.35)(typescript@5.8.3)) + specifier: 29.7.0 + version: 29.7.0(@types/node@22.15.24)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.24)(typescript@5.8.3)) joi: - specifier: ^17.13.3 + specifier: 17.13.3 version: 17.13.3 lodash.camelcase: - specifier: ^4.3.0 + specifier: 4.3.0 version: 4.3.0 lodash.clonedeep: - specifier: ^4.5.0 + specifier: 4.5.0 version: 4.5.0 lodash.debounce: - specifier: ^4.0.8 + specifier: 4.0.8 version: 4.0.8 monaco-editor: specifier: 0.52.2 @@ -739,69 +733,69 @@ importers: specifier: 18.2.0 version: 18.2.0(react@18.2.0) react-intl: - specifier: ^7.1.11 - version: 7.1.14(react@18.2.0)(typescript@5.8.3) + specifier: 7.1.11 + version: 7.1.11(react@18.2.0)(typescript@5.8.3) react-lottie: - specifier: ^1.2.10 + specifier: 1.2.10 version: 1.2.10(react@18.2.0) react-zoom-pan-pinch: - specifier: ^3.7.0 + specifier: 3.7.0 version: 3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) uuid: - specifier: ^11.1.0 + specifier: 11.1.0 version: 11.1.0 vscode-languageserver-protocol: - specifier: ^3.17.5 + specifier: 3.17.5 version: 3.17.5 devDependencies: '@babel/core': - specifier: ^7.27.1 - version: 7.27.7 + specifier: 7.27.1 + version: 7.27.1 '@babel/preset-env': - specifier: ^7.27.2 - version: 7.27.2(@babel/core@7.27.7) + specifier: 7.27.2 + version: 7.27.2(@babel/core@7.27.1) '@rollup/plugin-commonjs': - specifier: ^28.0.3 - version: 28.0.9(rollup@4.59.0) + specifier: 28.0.3 + version: 28.0.3(rollup@4.41.0) '@rollup/plugin-json': - specifier: ^6.1.0 - version: 6.1.0(rollup@4.59.0) + specifier: 6.1.0 + version: 6.1.0(rollup@4.41.0) '@rollup/plugin-node-resolve': - specifier: ^16.0.1 - version: 16.0.3(rollup@4.59.0) + specifier: 16.0.1 + version: 16.0.1(rollup@4.41.0) '@storybook/addon-actions': - specifier: ^6.5.16 + specifier: 6.5.16 version: 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/addon-essentials': - specifier: ^6.5.16 - version: 6.5.16(@babel/core@7.27.7)(@storybook/builder-webpack5@6.5.16(@swc/core@1.15.18(@swc/helpers@0.5.19))(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(@swc/core@1.15.18(@swc/helpers@0.5.19))(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)(webpack@5.105.4) + specifier: 6.5.16 + version: 6.5.16(@babel/core@7.27.1)(@storybook/builder-webpack5@6.5.16(@swc/core@1.15.18(@swc/helpers@0.5.19))(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)(webpack@5.104.1) '@storybook/addon-links': - specifier: ^6.5.16 + specifier: 6.5.16 version: 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/builder-webpack5': - specifier: ^6.5.16 + specifier: 6.5.16 version: 6.5.16(@swc/core@1.15.18(@swc/helpers@0.5.19))(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) '@storybook/manager-webpack5': - specifier: ^6.5.9 - version: 6.5.16(@swc/core@1.15.18(@swc/helpers@0.5.19))(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) + specifier: 6.5.9 + version: 6.5.9(@swc/core@1.15.18(@swc/helpers@0.5.19))(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) '@storybook/react': - specifier: ^6.5.16 - version: 6.5.16(@babel/core@7.27.7)(@storybook/builder-webpack5@6.5.16(@swc/core@1.15.18(@swc/helpers@0.5.19))(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(@storybook/manager-webpack5@6.5.16(@swc/core@1.15.18(@swc/helpers@0.5.19))(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/webpack@5.28.5(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1))(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(require-from-string@2.0.2)(type-fest@4.41.0)(typescript@5.8.3)(webpack-cli@6.0.1)(webpack-dev-server@5.2.3)(webpack-hot-middleware@2.26.1) + specifier: 6.5.16 + version: 6.5.16(@babel/core@7.27.1)(@storybook/builder-webpack5@6.5.16(@swc/core@1.15.18(@swc/helpers@0.5.19))(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(@storybook/manager-webpack5@6.5.9(@swc/core@1.15.18(@swc/helpers@0.5.19))(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/webpack@5.28.5(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1))(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(require-from-string@2.0.2)(type-fest@4.41.0)(typescript@5.8.3)(webpack-cli@6.0.1)(webpack-dev-server@5.2.3)(webpack-hot-middleware@2.26.1) '@types/classnames': - specifier: ^2.2.9 - version: 2.3.4 + specifier: 2.2.9 + version: 2.2.9 '@types/handlebars': - specifier: ^4.1.0 + specifier: 4.1.0 version: 4.1.0 '@types/lodash.camelcase': - specifier: ^4.3.0 - version: 4.3.9 + specifier: 4.3.0 + version: 4.3.0 '@types/lodash.clonedeep': - specifier: ^4.5.6 - version: 4.5.9 + specifier: 4.5.6 + version: 4.5.6 '@types/lodash.debounce': - specifier: ^4.0.6 - version: 4.0.9 + specifier: 4.0.6 + version: 4.0.6 '@types/react': specifier: 18.2.0 version: 18.2.0 @@ -809,122 +803,122 @@ importers: specifier: 18.2.0 version: 18.2.0 '@types/react-lottie': - specifier: ^1.2.10 + specifier: 1.2.10 version: 1.2.10 '@types/uuid': - specifier: ^10.0.0 + specifier: 10.0.0 version: 10.0.0 '@types/webpack': - specifier: ^5.28.5 + specifier: 5.28.5 version: 5.28.5(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) babel-loader: - specifier: ^10.0.0 - version: 10.1.1(@babel/core@7.27.7)(webpack@5.105.4) + specifier: 10.0.0 + version: 10.0.0(@babel/core@7.27.1)(webpack@5.104.1) copy-webpack-plugin: - specifier: ^13.0.0 - version: 13.0.1(webpack@5.105.4) + specifier: 13.0.0 + version: 13.0.0(webpack@5.104.1) copyfiles: - specifier: ^2.4.1 + specifier: 2.4.1 version: 2.4.1 css-loader: - specifier: ^7.1.2 - version: 7.1.4(webpack@5.105.4) + specifier: 7.1.2 + version: 7.1.2(webpack@5.104.1) express: - specifier: ^4.22.1 + specifier: 4.22.1 version: 4.22.1 file-loader: - specifier: ^6.2.0 - version: 6.2.0(webpack@5.105.4) + specifier: 6.2.0 + version: 6.2.0(webpack@5.104.1) fork-ts-checker-webpack-plugin: - specifier: ^9.1.0 - version: 9.1.0(typescript@5.8.3)(webpack@5.105.4) + specifier: 9.1.0 + version: 9.1.0(typescript@5.8.3)(webpack@5.104.1) glob: - specifier: ^11.1.0 + specifier: 11.1.0 version: 11.1.0 react-scripts-ts: - specifier: ^3.1.0 - version: 3.1.0(@swc/core@1.15.18(@swc/helpers@0.5.19))(babel-core@7.0.0-bridge.0(@babel/core@7.27.7))(babel-runtime@6.26.0)(typescript@5.8.3)(webpack-cli@6.0.1) + specifier: 3.1.0 + version: 3.1.0(babel-core@7.0.0-bridge.0(@babel/core@7.27.1))(babel-runtime@6.26.0)(typescript@5.8.3) react-test-renderer: - specifier: ^19.1.0 - version: 19.1.5(react@18.2.0) + specifier: 19.1.0 + version: 19.1.0(react@18.2.0) rimraf: - specifier: ^6.0.1 + specifier: 6.0.1 version: 6.0.1 rollup: - specifier: ^4.41.0 - version: 4.59.0 + specifier: 4.41.0 + version: 4.41.0 rollup-plugin-import-css: - specifier: ^3.5.8 - version: 3.5.8(rollup@4.59.0) + specifier: 3.5.8 + version: 3.5.8(rollup@4.41.0) rollup-plugin-peer-deps-external: - specifier: ^2.2.4 - version: 2.2.4(rollup@4.59.0) + specifier: 2.2.4 + version: 2.2.4(rollup@4.41.0) rollup-plugin-postcss: - specifier: ^4.0.2 - version: 4.0.2(postcss@8.5.8)(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.35)(typescript@5.8.3)) + specifier: 4.0.2 + version: 4.0.2(postcss@8.5.4)(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.24)(typescript@5.8.3)) rollup-plugin-scss: - specifier: ^4.0.1 + specifier: 4.0.1 version: 4.0.1 rollup-plugin-svg: - specifier: ^2.0.0 + specifier: 2.0.0 version: 2.0.0 rollup-plugin-typescript2: - specifier: ^0.36.0 - version: 0.36.0(rollup@4.59.0)(typescript@5.8.3) + specifier: 0.36.0 + version: 0.36.0(rollup@4.41.0)(typescript@5.8.3) sass: - specifier: ^1.89.0 - version: 1.98.0 + specifier: 1.89.0 + version: 1.89.0 sass-loader: - specifier: ^16.0.5 - version: 16.0.7(sass@1.98.0)(webpack@5.105.4) + specifier: 16.0.5 + version: 16.0.5(sass@1.89.0)(webpack@5.104.1) storybook: - specifier: ^8.6.14 - version: 8.6.18(prettier@3.5.3) + specifier: 8.6.14 + version: 8.6.14(prettier@3.5.3) style-loader: - specifier: ^4.0.0 - version: 4.0.0(webpack@5.105.4) + specifier: 4.0.0 + version: 4.0.0(webpack@5.104.1) stylelint: - specifier: ^16.19.1 - version: 16.26.1(typescript@5.8.3) + specifier: 16.19.1 + version: 16.19.1(typescript@5.8.3) stylelint-config-standard: - specifier: ^38.0.0 - version: 38.0.0(stylelint@16.26.1(typescript@5.8.3)) + specifier: 38.0.0 + version: 38.0.0(stylelint@16.19.1(typescript@5.8.3)) svg-url-loader: - specifier: ^8.0.0 - version: 8.0.0(webpack@5.105.4) + specifier: 8.0.0 + version: 8.0.0(webpack@5.104.1) ts-loader: - specifier: ^9.5.2 - version: 9.5.4(typescript@5.8.3)(webpack@5.105.4) + specifier: 9.5.2 + version: 9.5.2(typescript@5.8.3)(webpack@5.104.1) tslib: - specifier: ^2.8.1 + specifier: 2.8.1 version: 2.8.1 tslint: - specifier: ^6.1.3 + specifier: 6.1.3 version: 6.1.3(typescript@5.8.3) tslint-react: - specifier: ^5.0.0 + specifier: 5.0.0 version: 5.0.0(tslint@6.1.3(typescript@5.8.3))(typescript@5.8.3) tslint-react-hooks: - specifier: ^2.2.2 + specifier: 2.2.2 version: 2.2.2(tslint@6.1.3(typescript@5.8.3))(typescript@5.8.3) typescript: specifier: 5.8.3 version: 5.8.3 webpack: - specifier: ^5.94.0 - version: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) + specifier: 5.104.1 + version: 5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) webpack-cli: - specifier: ^6.0.1 - version: 6.0.1(webpack-dev-server@5.2.3)(webpack@5.105.4) + specifier: 6.0.1 + version: 6.0.1(webpack-dev-server@5.2.3)(webpack@5.104.1) webpack-dev-server: - specifier: ^5.2.1 - version: 5.2.3(webpack-cli@6.0.1)(webpack@5.105.4) + specifier: 5.2.3 + version: 5.2.3(webpack-cli@6.0.1)(webpack@5.104.1) ../../workspaces/ballerina/ballerina-rpc-client: dependencies: '@types/vscode-webview': - specifier: ^1.57.3 - version: 1.57.5 + specifier: 1.57.3 + version: 1.57.3 '@wso2/ballerina-core': specifier: workspace:* version: link:../ballerina-core @@ -941,13 +935,13 @@ importers: specifier: 18.2.0 version: 18.2.0(react@18.2.0) vscode-languageserver-types: - specifier: ^3.17.5 + specifier: 3.17.5 version: 3.17.5 vscode-messenger-common: - specifier: ^0.4.5 + specifier: 0.4.5 version: 0.4.5 vscode-messenger-webview: - specifier: ^0.5.1 + specifier: 0.5.1 version: 0.5.1 devDependencies: '@types/react': @@ -963,17 +957,17 @@ importers: specifier: 8.32.1 version: 8.32.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3) copyfiles: - specifier: ^2.4.1 + specifier: 2.4.1 version: 2.4.1 eslint: specifier: ^9.27.0 version: 9.39.4(jiti@2.6.1) eslint-plugin-react-hooks: - specifier: ^5.2.0 + specifier: 5.2.0 version: 5.2.0(eslint@9.39.4(jiti@2.6.1)) eslint-plugin-react-refresh: - specifier: ^0.4.20 - version: 0.4.26(eslint@9.39.4(jiti@2.6.1)) + specifier: 0.4.20 + version: 0.4.20(eslint@9.39.4(jiti@2.6.1)) typescript: specifier: 5.8.3 version: 5.8.3 @@ -981,40 +975,40 @@ importers: ../../workspaces/ballerina/ballerina-side-panel: dependencies: '@codemirror/autocomplete': - specifier: ~6.19.1 + specifier: 6.19.1 version: 6.19.1 '@codemirror/commands': - specifier: ~6.10.0 - version: 6.10.2 + specifier: 6.10.0 + version: 6.10.0 '@codemirror/lang-sql': - specifier: ~6.10.0 + specifier: 6.10.0 version: 6.10.0 '@codemirror/language': - specifier: ~6.11.3 + specifier: 6.11.3 version: 6.11.3 '@codemirror/language-data': - specifier: ~6.5.2 + specifier: 6.5.2 version: 6.5.2 '@codemirror/lint': - specifier: ~6.8.1 - version: 6.8.5 + specifier: 6.8.1 + version: 6.8.1 '@codemirror/state': - specifier: ~6.5.2 - version: 6.5.4 + specifier: 6.5.2 + version: 6.5.2 '@codemirror/view': - specifier: ~6.38.6 + specifier: 6.38.8 version: 6.38.8 '@emotion/react': - specifier: ^11.14.0 + specifier: 11.14.0 version: 11.14.0(@types/react@18.2.0)(react@18.2.0) '@emotion/styled': - specifier: ^11.14.0 - version: 11.14.1(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0) + specifier: 11.14.0 + version: 11.14.0(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0) '@github/markdown-toolbar-element': - specifier: ^2.2.3 + specifier: 2.2.3 version: 2.2.3 '@lezer/highlight': - specifier: ~1.2.3 + specifier: 1.2.3 version: 1.2.3 '@wso2/ballerina-core': specifier: workspace:* @@ -1029,41 +1023,41 @@ importers: specifier: 4.17.23 version: 4.17.23 markdown-it: - specifier: ~14.1.0 + specifier: 14.1.1 version: 14.1.1 prosemirror-commands: - specifier: ~1.7.1 + specifier: 1.7.1 version: 1.7.1 prosemirror-gapcursor: - specifier: ~1.4.0 - version: 1.4.1 + specifier: 1.4.0 + version: 1.4.0 prosemirror-history: - specifier: ~1.5.0 + specifier: 1.5.0 version: 1.5.0 prosemirror-inputrules: - specifier: ~1.5.1 + specifier: 1.5.1 version: 1.5.1 prosemirror-keymap: - specifier: ~1.2.2 - version: 1.2.3 + specifier: 1.2.2 + version: 1.2.2 prosemirror-markdown: - specifier: ~1.13.2 - version: 1.13.4 + specifier: 1.13.2 + version: 1.13.2 prosemirror-model: - specifier: ~1.25.4 + specifier: 1.25.4 version: 1.25.4 prosemirror-schema-basic: - specifier: ~1.2.2 - version: 1.2.4 + specifier: 1.2.2 + version: 1.2.2 prosemirror-schema-list: - specifier: ~1.5.1 + specifier: 1.5.1 version: 1.5.1 prosemirror-state: - specifier: ~1.4.3 - version: 1.4.4 + specifier: 1.4.3 + version: 1.4.3 prosemirror-view: - specifier: ~1.41.3 - version: 1.41.6 + specifier: 1.41.3 + version: 1.41.3 react: specifier: 18.2.0 version: 18.2.0 @@ -1074,21 +1068,21 @@ importers: specifier: 7.56.4 version: 7.56.4(react@18.2.0) react-markdown: - specifier: ~10.1.0 + specifier: 10.1.0 version: 10.1.0(@types/react@18.2.0)(react@18.2.0) rehype-raw: - specifier: ^7.0.0 + specifier: 7.0.0 version: 7.0.0 remark-gfm: - specifier: ^4.0.1 + specifier: 4.0.1 version: 4.0.1 devDependencies: '@storybook/react': - specifier: ^6.5.16 - version: 6.5.16(@babel/core@7.27.7)(@types/webpack@5.28.5)(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(require-from-string@2.0.2)(type-fest@4.41.0)(typescript@5.8.3)(webpack-dev-server@5.2.3(webpack@5.105.4))(webpack-hot-middleware@2.26.1) + specifier: 6.5.16 + version: 6.5.16(@babel/core@7.29.0)(@types/webpack@5.28.5)(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(require-from-string@2.0.2)(type-fest@4.41.0)(typescript@5.8.3)(webpack-dev-server@5.2.3(webpack@5.104.1))(webpack-hot-middleware@2.26.1) '@types/lodash': - specifier: ~4.17.16 - version: 4.17.17 + specifier: 4.17.16 + version: 4.17.16 '@types/react': specifier: 18.2.0 version: 18.2.0 @@ -1096,7 +1090,7 @@ importers: specifier: 18.2.0 version: 18.2.0 copyfiles: - specifier: ^2.4.1 + specifier: 2.4.1 version: 2.4.1 typescript: specifier: 5.8.3 @@ -1104,32 +1098,41 @@ importers: ../../workspaces/ballerina/ballerina-visualizer: dependencies: + '@dnd-kit/core': + specifier: 6.1.0 + version: 6.1.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@dnd-kit/sortable': + specifier: 8.0.0 + version: 8.0.0(@dnd-kit/core@6.1.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react@18.2.0) + '@dnd-kit/utilities': + specifier: 3.2.2 + version: 3.2.2(react@18.2.0) '@emotion/css': - specifier: ^11.13.5 + specifier: 11.13.5 version: 11.13.5 '@emotion/react': - specifier: ^11.14.0 + specifier: 11.14.0 version: 11.14.0(@types/react@18.2.0)(react@18.2.0) '@emotion/styled': - specifier: ^11.14.0 - version: 11.14.1(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0) + specifier: 11.14.0 + version: 11.14.0(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0) '@headlessui/react': - specifier: ~2.2.4 - version: 2.2.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + specifier: 2.2.4 + version: 2.2.4(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@hookform/resolvers': - specifier: ~5.0.1 + specifier: 5.0.1 version: 5.0.1(react-hook-form@7.56.4(react@18.2.0)) '@tanstack/query-core': - specifier: ^5.77.1 - version: 5.90.20 + specifier: 5.77.1 + version: 5.77.1 '@tanstack/react-query': specifier: 5.77.1 version: 5.77.1(react@18.2.0) '@types/lodash': - specifier: ~4.17.16 - version: 4.17.17 + specifier: 4.17.16 + version: 4.17.16 '@vscode/webview-ui-toolkit': - specifier: ^1.4.0 + specifier: 1.4.0 version: 1.4.0(react@18.2.0) '@wso2/ballerina-core': specifier: workspace:* @@ -1185,20 +1188,26 @@ importers: '@wso2/wso2-platform-core': specifier: workspace:* version: link:../../wso2-platform/wso2-platform-core + framer-motion: + specifier: ^11.0.0 + version: 11.18.2(@emotion/is-prop-valid@1.4.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) highlight.js: - specifier: ^11.11.1 + specifier: 11.11.1 version: 11.11.1 + katex: + specifier: ^0.16.27 + version: 0.16.38 lodash: specifier: 4.17.23 version: 4.17.23 lodash.debounce: - specifier: ^4.0.8 + specifier: 4.0.8 version: 4.0.8 react: specifier: 18.2.0 version: 18.2.0 react-collapse: - specifier: ~5.1.1 + specifier: 5.1.1 version: 5.1.1(react@18.2.0) react-dom: specifier: 18.2.0 @@ -1207,50 +1216,59 @@ importers: specifier: 7.56.4 version: 7.56.4(react@18.2.0) react-lottie: - specifier: ^1.2.10 + specifier: 1.2.10 version: 1.2.10(react@18.2.0) react-markdown: - specifier: ~10.1.0 + specifier: 10.1.0 version: 10.1.0(@types/react@18.2.0)(react@18.2.0) react-syntax-highlighter: - specifier: ~15.6.1 - version: 15.6.6(react@18.2.0) + specifier: 15.6.1 + version: 15.6.1(react@18.2.0) + rehype-katex: + specifier: ^7.0.1 + version: 7.0.1 rehype-raw: specifier: ^7.0.0 version: 7.0.0 remark-breaks: specifier: ~4.0.0 version: 4.0.0 + remark-gfm: + specifier: ^4.0.1 + version: 4.0.1 + remark-math: + specifier: ^6.0.0 + version: 6.0.0 vscode-uri: - specifier: ^3.1.0 + specifier: 3.1.0 version: 3.1.0 yup: - specifier: ~1.6.1 + specifier: 1.6.1 version: 1.6.1 devDependencies: '@types/lodash.debounce': - specifier: ^4.0.6 - version: 4.0.9 + specifier: 4.0.6 + version: 4.0.6 '@types/react': specifier: 18.2.0 version: 18.2.0 '@types/react-collapse': - specifier: ~5.0.4 + specifier: 5.0.4 version: 5.0.4 '@types/react-dom': specifier: 18.2.0 version: 18.2.0 '@types/react-lottie': - specifier: ^1.2.5 - version: 1.2.10 + specifier: 1.2.5 + version: 1.2.5 '@types/react-syntax-highlighter': - specifier: ~15.5.13 + specifier: 15.5.13 version: 15.5.13 '@types/vscode-webview': - specifier: ~1.57.5 + specifier: 1.57.5 version: 1.57.5 '@types/webpack': - specifier: ^5.28.5 + specifier: 5.28.5 version: 5.28.5(webpack-cli@5.1.4) '@typescript-eslint/eslint-plugin': specifier: 8.32.1 @@ -1259,73 +1277,73 @@ importers: specifier: 8.32.1 version: 8.32.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3) buffer: - specifier: ^6.0.3 + specifier: 6.0.3 version: 6.0.3 copyfiles: - specifier: ^2.4.1 + specifier: 2.4.1 version: 2.4.1 css-loader: - specifier: ^7.1.2 - version: 7.1.4(webpack@5.105.4) + specifier: 7.1.2 + version: 7.1.2(webpack@5.104.1) eslint: specifier: ^9.27.0 version: 9.39.4(jiti@2.6.1) eslint-plugin-react-hooks: - specifier: ^5.2.0 + specifier: 5.2.0 version: 5.2.0(eslint@9.39.4(jiti@2.6.1)) eslint-plugin-react-refresh: - specifier: ^0.4.20 - version: 0.4.26(eslint@9.39.4(jiti@2.6.1)) + specifier: 0.4.20 + version: 0.4.20(eslint@9.39.4(jiti@2.6.1)) sass-loader: - specifier: ^16.0.5 - version: 16.0.7(sass@1.98.0)(webpack@5.105.4) + specifier: 16.0.5 + version: 16.0.5(sass@1.89.0)(webpack@5.104.1) source-map-loader: - specifier: ^5.0.0 - version: 5.0.0(webpack@5.105.4) + specifier: 5.0.0 + version: 5.0.0(webpack@5.104.1) style-loader: - specifier: ^4.0.0 - version: 4.0.0(webpack@5.105.4) + specifier: 4.0.0 + version: 4.0.0(webpack@5.104.1) ts-loader: - specifier: ^9.5.2 - version: 9.5.4(typescript@5.8.3)(webpack@5.105.4) + specifier: 9.5.2 + version: 9.5.2(typescript@5.8.3)(webpack@5.104.1) typescript: specifier: 5.8.3 version: 5.8.3 webpack: - specifier: ^5.94.0 - version: 5.105.4(webpack-cli@5.1.4) + specifier: 5.104.1 + version: 5.104.1(webpack-cli@5.1.4) webpack-cli: - specifier: ^5.1.4 - version: 5.1.4(webpack-dev-server@5.2.3)(webpack@5.105.4) + specifier: 5.1.4 + version: 5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1) webpack-dev-server: - specifier: ^5.2.1 - version: 5.2.3(webpack-cli@5.1.4)(webpack@5.105.4) + specifier: 5.2.3 + version: 5.2.3(webpack-cli@5.1.4)(webpack@5.104.1) ../../workspaces/ballerina/bi-diagram: dependencies: '@emotion/react': - specifier: ^11.9.3 + specifier: 11.14.0 version: 11.14.0(@types/react@18.2.0)(react@18.2.0) '@emotion/styled': - specifier: ^11.10.5 - version: 11.14.1(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0) + specifier: 11.14.0 + version: 11.14.0(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0) '@projectstorm/geometry': - specifier: ^6.7.4 + specifier: 6.7.4 version: 6.7.4 '@projectstorm/react-canvas-core': - specifier: ^6.7.4 + specifier: 6.7.4 version: 6.7.4(lodash@4.17.23)(react@18.2.0) '@projectstorm/react-diagrams': - specifier: ^7.0.4 + specifier: 7.0.4 version: 7.0.4(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0) '@projectstorm/react-diagrams-core': - specifier: ^7.0.3 + specifier: 7.0.3 version: 7.0.3(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0) '@projectstorm/react-diagrams-defaults': - specifier: ^7.1.3 + specifier: 7.1.3 version: 7.1.3(@types/react@18.2.0) '@projectstorm/react-diagrams-routing': - specifier: ^7.1.3 + specifier: 7.1.3 version: 7.1.3(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0) '@wso2/ballerina-core': specifier: workspace:* @@ -1337,7 +1355,7 @@ importers: specifier: workspace:* version: link:../../common-libs/ui-toolkit dagre: - specifier: ~0.8.5 + specifier: 0.8.5 version: 0.8.5 lodash: specifier: 4.17.23 @@ -1352,42 +1370,42 @@ importers: specifier: 7.56.4 version: 7.56.4(react@18.2.0) react-markdown: - specifier: ~10.1.0 + specifier: 10.1.0 version: 10.1.0(@types/react@18.2.0)(react@18.2.0) devDependencies: '@babel/core': - specifier: ~7.27.1 - version: 7.27.7 + specifier: 7.27.1 + version: 7.27.1 '@babel/preset-env': - specifier: ~7.27.2 - version: 7.27.2(@babel/core@7.27.7) + specifier: 7.27.2 + version: 7.27.2(@babel/core@7.27.1) '@babel/preset-react': - specifier: ~7.27.1 - version: 7.27.1(@babel/core@7.27.7) + specifier: 7.27.1 + version: 7.27.1(@babel/core@7.27.1) '@babel/preset-typescript': - specifier: ~7.27.1 - version: 7.27.1(@babel/core@7.27.7) + specifier: 7.27.1 + version: 7.27.1(@babel/core@7.27.1) '@storybook/react': - specifier: ^6.3.7 - version: 6.5.16(@babel/core@7.27.7)(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/webpack@5.28.5(@swc/core@1.15.18(@swc/helpers@0.5.19)))(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(require-from-string@2.0.2)(type-fest@4.41.0)(typescript@5.8.3)(webpack-dev-server@5.2.3(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))))(webpack-hot-middleware@2.26.1) + specifier: 6.3.7 + version: 6.3.7(@babel/core@7.27.1)(@types/react@18.2.0)(@types/webpack@4.41.40)(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-hot-middleware@2.26.1) '@testing-library/dom': - specifier: ~10.4.0 - version: 10.4.1 + specifier: 10.4.0 + version: 10.4.0 '@testing-library/jest-dom': - specifier: ~6.6.3 - version: 6.6.4 + specifier: 6.6.3 + version: 6.6.3 '@testing-library/react': - specifier: ~16.3.0 - version: 16.3.2(@testing-library/dom@10.4.1)(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + specifier: 16.3.0 + version: 16.3.0(@testing-library/dom@10.4.0)(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@types/dagre': - specifier: ~0.7.52 - version: 0.7.54 + specifier: 0.7.52 + version: 0.7.52 '@types/jest': specifier: 29.5.14 version: 29.5.14 '@types/lodash': - specifier: ~4.17.16 - version: 4.17.17 + specifier: 4.17.16 + version: 4.17.16 '@types/react': specifier: 18.2.0 version: 18.2.0 @@ -1395,32 +1413,32 @@ importers: specifier: 18.2.0 version: 18.2.0 '@types/react-test-renderer': - specifier: ~19.1.0 - version: 19.1.0 + specifier: 18.3.0 + version: 18.3.0 babel-jest: specifier: 29.7.0 - version: 29.7.0(@babel/core@7.27.7) + version: 29.7.0(@babel/core@7.27.1) copyfiles: - specifier: ^2.4.1 + specifier: 2.4.1 version: 2.4.1 identity-obj-proxy: - specifier: ~3.0.0 + specifier: 3.0.0 version: 3.0.0 jest: specifier: 29.7.0 - version: 29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.35)(typescript@5.8.3)) + version: 29.7.0(@types/node@22.15.24)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.24)(typescript@5.8.3)) jest-environment-jsdom: specifier: 29.7.0 version: 29.7.0 pretty-format: - specifier: ~29.7.0 + specifier: 29.7.0 version: 29.7.0 react-test-renderer: - specifier: ~19.1.0 - version: 19.1.5(react@18.2.0) + specifier: 18.3.0 + version: 18.3.0(react@18.2.0) ts-jest: specifier: 29.3.4 - version: 29.3.4(@babel/core@7.27.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.27.7))(jest@29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.35)(typescript@5.8.3)))(typescript@5.8.3) + version: 29.3.4(@babel/core@7.27.1)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.27.1))(jest@29.7.0(@types/node@22.15.24)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.24)(typescript@5.8.3)))(typescript@5.8.3) typescript: specifier: 5.8.3 version: 5.8.3 @@ -1428,28 +1446,28 @@ importers: ../../workspaces/ballerina/component-diagram: dependencies: '@emotion/react': - specifier: ^11.14.0 + specifier: 11.14.0 version: 11.14.0(@types/react@18.2.0)(react@18.2.0) '@emotion/styled': - specifier: ^11.14.0 - version: 11.14.1(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0) + specifier: 11.14.0 + version: 11.14.0(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0) '@projectstorm/geometry': - specifier: ^7.0.3 + specifier: 7.0.3 version: 7.0.3 '@projectstorm/react-canvas-core': - specifier: ^7.0.3 + specifier: 7.0.3 version: 7.0.3(@types/react@18.2.0) '@projectstorm/react-diagrams': - specifier: ^7.0.4 + specifier: 7.0.4 version: 7.0.4(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0) '@projectstorm/react-diagrams-core': - specifier: ^7.0.3 + specifier: 7.0.3 version: 7.0.3(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0) '@projectstorm/react-diagrams-defaults': - specifier: ^7.1.3 + specifier: 7.1.3 version: 7.1.3(@types/react@18.2.0) '@projectstorm/react-diagrams-routing': - specifier: ^7.1.3 + specifier: 7.1.3 version: 7.1.3(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0) '@wso2/ballerina-core': specifier: workspace:* @@ -1461,7 +1479,7 @@ importers: specifier: workspace:* version: link:../../common-libs/ui-toolkit dagre: - specifier: ~0.8.5 + specifier: 0.8.5 version: 0.8.5 lodash: specifier: 4.17.23 @@ -1474,38 +1492,38 @@ importers: version: 18.2.0(react@18.2.0) devDependencies: '@babel/core': - specifier: ~7.27.1 - version: 7.27.7 + specifier: 7.27.1 + version: 7.27.1 '@babel/preset-env': - specifier: ~7.27.2 - version: 7.27.2(@babel/core@7.27.7) + specifier: 7.27.2 + version: 7.27.2(@babel/core@7.27.1) '@babel/preset-react': - specifier: ~7.27.1 - version: 7.27.1(@babel/core@7.27.7) + specifier: 7.27.1 + version: 7.27.1(@babel/core@7.27.1) '@babel/preset-typescript': - specifier: ~7.27.1 - version: 7.27.1(@babel/core@7.27.7) + specifier: 7.27.1 + version: 7.27.1(@babel/core@7.27.1) '@storybook/react': - specifier: ^6.5.16 - version: 6.5.16(@babel/core@7.27.7)(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/webpack@5.28.5(@swc/core@1.15.18(@swc/helpers@0.5.19)))(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(require-from-string@2.0.2)(type-fest@4.41.0)(typescript@5.8.3)(webpack-dev-server@5.2.3(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))))(webpack-hot-middleware@2.26.1) + specifier: 6.5.16 + version: 6.5.16(@babel/core@7.27.1)(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/webpack@5.28.5(@swc/core@1.15.18(@swc/helpers@0.5.19)))(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(require-from-string@2.0.2)(type-fest@4.41.0)(typescript@5.8.3)(webpack-dev-server@5.2.3(webpack@5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))))(webpack-hot-middleware@2.26.1) '@testing-library/dom': - specifier: ~10.4.0 - version: 10.4.1 + specifier: 10.4.0 + version: 10.4.0 '@testing-library/jest-dom': - specifier: ~6.6.3 - version: 6.6.4 + specifier: 6.6.3 + version: 6.6.3 '@testing-library/react': - specifier: ~16.3.0 - version: 16.3.2(@testing-library/dom@10.4.1)(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + specifier: 16.3.0 + version: 16.3.0(@testing-library/dom@10.4.0)(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@types/dagre': - specifier: ~0.7.52 - version: 0.7.54 + specifier: 0.7.52 + version: 0.7.52 '@types/jest': specifier: 29.5.14 version: 29.5.14 '@types/lodash': - specifier: ~4.17.16 - version: 4.17.17 + specifier: 4.17.16 + version: 4.17.16 '@types/react': specifier: 18.2.0 version: 18.2.0 @@ -1513,32 +1531,32 @@ importers: specifier: 18.2.0 version: 18.2.0 '@types/react-test-renderer': - specifier: ~19.1.0 - version: 19.1.0 + specifier: 18.3.0 + version: 18.3.0 babel-jest: specifier: 29.7.0 - version: 29.7.0(@babel/core@7.27.7) + version: 29.7.0(@babel/core@7.27.1) copyfiles: - specifier: ^2.4.1 + specifier: 2.4.1 version: 2.4.1 identity-obj-proxy: - specifier: ~3.0.0 + specifier: 3.0.0 version: 3.0.0 jest: specifier: 29.7.0 - version: 29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.35)(typescript@5.8.3)) + version: 29.7.0(@types/node@22.15.24)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.24)(typescript@5.8.3)) jest-environment-jsdom: specifier: 29.7.0 version: 29.7.0 pretty-format: - specifier: ~29.7.0 + specifier: 29.7.0 version: 29.7.0 react-test-renderer: - specifier: ~19.1.0 - version: 19.1.5(react@18.2.0) + specifier: 18.3.0 + version: 18.3.0(react@18.2.0) ts-jest: specifier: 29.3.4 - version: 29.3.4(@babel/core@7.27.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.27.7))(jest@29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.35)(typescript@5.8.3)))(typescript@5.8.3) + version: 29.3.4(@babel/core@7.27.1)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.27.1))(jest@29.7.0(@types/node@22.15.24)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.24)(typescript@5.8.3)))(typescript@5.8.3) typescript: specifier: 5.8.3 version: 5.8.3 @@ -1546,38 +1564,35 @@ importers: ../../workspaces/ballerina/data-mapper: dependencies: '@emotion/css': - specifier: ~11.13.5 + specifier: 11.13.5 version: 11.13.5 '@emotion/react': - specifier: ^11.14.0 + specifier: 11.14.0 version: 11.14.0(@types/react@18.2.0)(react@18.2.0) '@emotion/styled': - specifier: ^11.14.0 - version: 11.14.1(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0) + specifier: 11.14.0 + version: 11.14.0(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0) '@projectstorm/geometry': - specifier: ^6.7.4 + specifier: 6.7.4 version: 6.7.4 '@projectstorm/react-canvas-core': - specifier: ^6.7.4 + specifier: 6.7.4 version: 6.7.4(lodash@4.17.23)(react@18.2.0) '@projectstorm/react-diagrams': - specifier: ^6.7.4 - version: 6.7.4(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0))(dagre@0.8.5)(lodash@4.17.23)(pathfinding@0.4.18)(paths-js@0.4.11)(react@18.2.0)(resize-observer-polyfill@1.5.1) + specifier: 6.7.4 + version: 6.7.4(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0))(dagre@0.8.5)(lodash@4.17.23)(pathfinding@0.4.18)(paths-js@0.4.11)(react@18.2.0)(resize-observer-polyfill@1.5.1) '@projectstorm/react-diagrams-core': - specifier: ^6.7.4 + specifier: 6.7.4 version: 6.7.4(lodash@4.17.23)(react@18.2.0)(resize-observer-polyfill@1.5.1) '@tanstack/query-core': - specifier: ^5.77.1 - version: 5.90.20 + specifier: 5.77.1 + version: 5.77.1 '@tanstack/react-query': specifier: 5.77.1 version: 5.77.1(react@18.2.0) - '@types/mousetrap': - specifier: ~1.6.15 - version: 1.6.15 '@vscode/webview-ui-toolkit': - specifier: ^1.2.0 - version: 1.4.0(react@18.2.0) + specifier: 1.2.0 + version: 1.2.0(react@18.2.0) '@wso2/ballerina-core': specifier: workspace:* version: link:../ballerina-core @@ -1588,54 +1603,60 @@ importers: specifier: workspace:* version: link:../../common-libs/ui-toolkit blueimp-md5: - specifier: ^2.19.0 + specifier: 2.19.0 version: 2.19.0 classnames: - specifier: ^2.2.6 + specifier: 2.5.1 version: 2.5.1 lodash: specifier: 4.17.23 version: 4.17.23 lodash.debounce: - specifier: ^4.0.8 + specifier: 4.0.8 version: 4.0.8 mousetrap: - specifier: ^1.6.5 + specifier: 1.6.5 version: 1.6.5 react: - specifier: ^18.2.0 + specifier: 18.2.0 version: 18.2.0 react-dom: - specifier: ^18.2.0 + specifier: 18.2.0 version: 18.2.0(react@18.2.0) react-error-boundary: - specifier: ~6.0.0 - version: 6.0.3(react@18.2.0) + specifier: 6.0.0 + version: 6.0.0(react@18.2.0) + react-hook-form: + specifier: 7.56.4 + version: 7.56.4(react@18.2.0) resize-observer-polyfill: - specifier: ^1.5.1 + specifier: 1.5.1 version: 1.5.1 vscode-languageserver-types: - specifier: ^3.17.5 + specifier: 3.17.5 version: 3.17.5 zustand: - specifier: ^5.0.4 - version: 5.0.11(@types/react@18.2.0)(react@18.2.0)(use-sync-external-store@1.6.0(react@18.2.0)) + specifier: 5.0.4 + version: 5.0.4(@types/react@18.2.0)(react@18.2.0)(use-sync-external-store@1.6.0(react@18.2.0)) devDependencies: '@types/blueimp-md5': - specifier: ^2.18.2 + specifier: 2.18.2 version: 2.18.2 '@types/lodash': specifier: 4.17.16 version: 4.17.16 '@types/lodash.debounce': - specifier: ^4.0.6 - version: 4.0.9 + specifier: 4.0.6 + version: 4.0.6 + '@types/mousetrap': + specifier: 1.6.15 + version: 1.6.15 '@types/react': - specifier: ^18.2.0 + specifier: 18.2.0 version: 18.2.0 '@types/react-dom': - specifier: 17.0.26 - version: 17.0.26(@types/react@18.2.0) + specifier: 18.2.0 + version: 18.2.0 '@typescript-eslint/eslint-plugin': specifier: 8.32.1 version: 8.32.1(@typescript-eslint/parser@8.32.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3))(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3) @@ -1643,56 +1664,53 @@ importers: specifier: 8.32.1 version: 8.32.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3) copyfiles: - specifier: ^2.4.1 + specifier: 2.4.1 version: 2.4.1 css-loader: - specifier: ^7.1.2 - version: 7.1.4(webpack@5.105.4) + specifier: 7.1.2 + version: 7.1.2(webpack@5.104.1) eslint: specifier: ^9.27.0 version: 9.39.4(jiti@2.6.1) eslint-plugin-react-hooks: - specifier: ^5.2.0 + specifier: 5.2.0 version: 5.2.0(eslint@9.39.4(jiti@2.6.1)) eslint-plugin-react-refresh: - specifier: ^0.4.4 - version: 0.4.26(eslint@9.39.4(jiti@2.6.1)) + specifier: 0.4.4 + version: 0.4.4(eslint@9.39.4(jiti@2.6.1)) file-loader: - specifier: ^6.2.0 - version: 6.2.0(webpack@5.105.4) - react-hook-form: - specifier: ~7.56.3 - version: 7.56.4(react@18.2.0) + specifier: 6.2.0 + version: 6.2.0(webpack@5.104.1) ts-loader: - specifier: ^9.5.2 - version: 9.5.4(typescript@5.8.3)(webpack@5.105.4) + specifier: 9.5.2 + version: 9.5.2(typescript@5.8.3)(webpack@5.104.1) tslib: - specifier: ^2.8.1 + specifier: 2.8.1 version: 2.8.1 tslint: - specifier: ^6.1.3 + specifier: 6.1.3 version: 6.1.3(typescript@5.8.3) tslint-react: - specifier: ^5.0.0 + specifier: 5.0.0 version: 5.0.0(tslint@6.1.3(typescript@5.8.3))(typescript@5.8.3) tslint-react-hooks: - specifier: ^2.2.2 + specifier: 2.2.2 version: 2.2.2(tslint@6.1.3(typescript@5.8.3))(typescript@5.8.3) typescript: - specifier: ^5.8.3 + specifier: 5.8.3 version: 5.8.3 ../../workspaces/ballerina/graphql: dependencies: copyfiles: - specifier: ^2.4.1 + specifier: 2.4.1 version: 2.4.1 graphiql: specifier: 3.7.0 - version: 3.7.0(@codemirror/language@6.11.3)(@types/node@22.15.35)(@types/react-dom@18.2.0)(@types/react@18.2.0)(graphql@16.13.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + version: 3.7.0(@codemirror/language@6.11.3)(@types/node@22.15.24)(@types/react-dom@18.2.0)(@types/react@18.2.0)(graphql@16.11.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) graphiql-explorer: - specifier: ^0.9.0 - version: 0.9.0(graphql@16.13.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + specifier: 0.9.0 + version: 0.9.0(graphql@16.11.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) react: specifier: 18.2.0 version: 18.2.0 @@ -1701,26 +1719,26 @@ importers: version: 18.2.0(react@18.2.0) devDependencies: '@babel/core': - specifier: ^7.27.1 - version: 7.27.7 + specifier: 7.27.1 + version: 7.27.1 '@storybook/addon-actions': - specifier: ^6.5.9 - version: 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + specifier: 6.5.9 + version: 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/addon-essentials': - specifier: ^6.5.9 - version: 6.5.16(@babel/core@7.27.7)(@storybook/builder-webpack5@6.5.16(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0))(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)(webpack@5.105.4) + specifier: 6.5.9 + version: 6.5.9(@babel/core@7.27.1)(@storybook/builder-webpack5@6.5.9(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0))(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)(webpack@5.104.1) '@storybook/addon-links': - specifier: ^6.5.9 - version: 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + specifier: 6.5.9 + version: 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/builder-webpack5': - specifier: ^6.5.9 - version: 6.5.16(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) + specifier: 6.5.9 + version: 6.5.9(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) '@storybook/manager-webpack5': - specifier: ^6.5.9 - version: 6.5.16(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) + specifier: 6.5.9 + version: 6.5.9(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) '@storybook/react': - specifier: ^6.5.9 - version: 6.5.16(@babel/core@7.27.7)(@storybook/builder-webpack5@6.5.16(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0))(@storybook/manager-webpack5@6.5.16(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0))(@types/webpack@5.28.5(webpack-cli@4.10.0))(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(require-from-string@2.0.2)(type-fest@4.41.0)(typescript@5.8.3)(webpack-cli@4.10.0)(webpack-dev-server@5.2.3)(webpack-hot-middleware@2.26.1) + specifier: 6.5.9 + version: 6.5.9(@babel/core@7.27.1)(@storybook/builder-webpack5@6.5.9(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0))(@storybook/manager-webpack5@6.5.9(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0))(@types/webpack@5.28.5(webpack-cli@4.10.0))(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(require-from-string@2.0.2)(type-fest@4.41.0)(typescript@5.8.3)(webpack-cli@4.10.0)(webpack-dev-server@5.2.3)(webpack-hot-middleware@2.26.1) '@types/react': specifier: 18.2.0 version: 18.2.0 @@ -1728,58 +1746,58 @@ importers: specifier: 18.2.0 version: 18.2.0 babel-loader: - specifier: ^10.0.0 - version: 10.1.1(@babel/core@7.27.7)(webpack@5.105.4) + specifier: 10.0.0 + version: 10.0.0(@babel/core@7.27.1)(webpack@5.104.1) css-loader: - specifier: ^7.1.2 - version: 7.1.4(webpack@5.105.4) + specifier: 7.1.2 + version: 7.1.2(webpack@5.104.1) graphql: - specifier: ^16.11.0 - version: 16.13.1 + specifier: 16.11.0 + version: 16.11.0 mini-css-extract-plugin: - specifier: ^2.9.2 - version: 2.10.1(webpack@5.105.4) + specifier: 2.9.2 + version: 2.9.2(webpack@5.104.1) source-map-loader: - specifier: ^5.0.0 - version: 5.0.0(webpack@5.105.4) + specifier: 5.0.0 + version: 5.0.0(webpack@5.104.1) style-loader: - specifier: ^4.0.0 - version: 4.0.0(webpack@5.105.4) + specifier: 4.0.0 + version: 4.0.0(webpack@5.104.1) ts-loader: - specifier: ^9.5.2 - version: 9.5.4(typescript@5.8.3)(webpack@5.105.4) + specifier: 9.5.2 + version: 9.5.2(typescript@5.8.3)(webpack@5.104.1) typescript: specifier: 5.8.3 version: 5.8.3 webpack: - specifier: ^5.94.0 - version: 5.105.4(webpack-cli@4.10.0) + specifier: 5.104.1 + version: 5.104.1(webpack-cli@4.10.0) webpack-cli: - specifier: ^4.10.0 - version: 4.10.0(webpack-dev-server@5.2.3)(webpack@5.105.4) + specifier: 4.10.0 + version: 4.10.0(webpack-dev-server@5.2.3)(webpack@5.104.1) ../../workspaces/ballerina/graphql-design-diagram: dependencies: '@emotion/css': - specifier: ~11.13.5 + specifier: 11.13.5 version: 11.13.5 '@emotion/react': - specifier: ^11.14.0 + specifier: 11.14.0 version: 11.14.0(@types/react@18.2.0)(react@18.2.0) '@emotion/styled': - specifier: ^11.14.0 - version: 11.14.1(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0) + specifier: 11.14.0 + version: 11.14.0(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0) '@projectstorm/geometry': - specifier: ^6.7.4 + specifier: 6.7.4 version: 6.7.4 '@projectstorm/react-canvas-core': - specifier: ^6.7.4 + specifier: 6.7.4 version: 6.7.4(lodash@4.17.23)(react@18.2.0) '@projectstorm/react-diagrams': - specifier: ^6.7.4 - version: 6.7.4(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0))(dagre@0.8.5)(lodash@4.17.23)(pathfinding@0.4.18)(paths-js@0.4.11)(react@18.2.0)(resize-observer-polyfill@1.5.1) + specifier: 6.7.4 + version: 6.7.4(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0))(dagre@0.8.5)(lodash@4.17.23)(pathfinding@0.4.18)(paths-js@0.4.11)(react@18.2.0)(resize-observer-polyfill@1.5.1) '@projectstorm/react-diagrams-core': - specifier: ^6.7.4 + specifier: 6.7.4 version: 6.7.4(lodash@4.17.23)(react@18.2.0)(resize-observer-polyfill@1.5.1) '@wso2/ballerina-core': specifier: workspace:* @@ -1791,10 +1809,10 @@ importers: specifier: workspace:* version: link:../../common-libs/ui-toolkit copyfiles: - specifier: ^2.4.1 + specifier: 2.4.1 version: 2.4.1 html-to-image: - specifier: ^1.10.8 + specifier: 1.11.11 version: 1.11.11 lodash: specifier: 4.17.23 @@ -1809,30 +1827,30 @@ importers: specifier: 0.58.0 version: 0.58.0(monaco-editor@0.52.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) resize-observer-polyfill: - specifier: ^1.5.1 + specifier: 1.5.1 version: 1.5.1 rimraf: - specifier: ^6.0.1 + specifier: 6.0.1 version: 6.0.1 tslint: - specifier: ^6.1.3 - version: 6.1.3(typescript@4.9.5) + specifier: 6.1.3 + version: 6.1.3(typescript@4.2.4) tslint-react: - specifier: ^5.0.0 - version: 5.0.0(tslint@6.1.3(typescript@4.9.5))(typescript@4.9.5) + specifier: 5.0.0 + version: 5.0.0(tslint@6.1.3(typescript@4.2.4))(typescript@4.2.4) tslint-react-hooks: - specifier: ^2.2.2 - version: 2.2.2(tslint@6.1.3(typescript@4.9.5))(typescript@4.9.5) + specifier: 2.2.2 + version: 2.2.2(tslint@6.1.3(typescript@4.2.4))(typescript@4.2.4) typescript: - specifier: ^4.1.3 - version: 4.9.5 + specifier: 4.2.4 + version: 4.2.4 vscode-uri: - specifier: ^3.1.0 + specifier: 3.1.0 version: 3.1.0 devDependencies: '@types/lodash': - specifier: 4.17.16 - version: 4.17.16 + specifier: 4.14.200 + version: 4.14.200 '@types/react': specifier: 18.2.0 version: 18.2.0 @@ -1840,14 +1858,14 @@ importers: ../../workspaces/ballerina/overview-view: dependencies: '@emotion/react': - specifier: ^11.9.3 + specifier: 11.14.0 version: 11.14.0(@types/react@18.2.0)(react@18.2.0) '@emotion/styled': - specifier: ^11.10.5 - version: 11.14.1(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0) + specifier: 11.14.0 + version: 11.14.0(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0) '@vscode/webview-ui-toolkit': - specifier: ^1.2.0 - version: 1.4.0(react@18.2.0) + specifier: 1.2.0 + version: 1.2.0(react@18.2.0) '@wso2/ballerina-core': specifier: workspace:* version: link:../ballerina-core @@ -1864,8 +1882,8 @@ importers: specifier: 18.2.0 version: 18.2.0(react@18.2.0) vscode-uri: - specifier: ^3.0.8 - version: 3.1.0 + specifier: 3.0.8 + version: 3.0.8 devDependencies: '@types/react': specifier: 18.2.0 @@ -1877,17 +1895,17 @@ importers: specifier: 8.32.1 version: 8.32.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3) copyfiles: - specifier: ^2.4.1 + specifier: 2.4.1 version: 2.4.1 eslint: specifier: ^9.27.0 version: 9.39.4(jiti@2.6.1) eslint-plugin-react-hooks: - specifier: ^5.2.0 + specifier: 5.2.0 version: 5.2.0(eslint@9.39.4(jiti@2.6.1)) eslint-plugin-react-refresh: - specifier: ^0.4.20 - version: 0.4.26(eslint@9.39.4(jiti@2.6.1)) + specifier: 0.4.20 + version: 0.4.20(eslint@9.39.4(jiti@2.6.1)) typescript: specifier: 5.8.3 version: 5.8.3 @@ -1895,58 +1913,58 @@ importers: ../../workspaces/ballerina/persist-layer-diagram: dependencies: '@emotion/css': - specifier: ~11.13.5 + specifier: 11.13.5 version: 11.13.5 '@emotion/react': - specifier: ^11.9.3 + specifier: 11.14.0 version: 11.14.0(@types/react@18.2.0)(react@18.2.0) '@emotion/styled': - specifier: ^11.10.5 - version: 11.14.1(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0) + specifier: 11.14.0 + version: 11.14.0(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0) '@projectstorm/geometry': - specifier: ^7.0.3 + specifier: 7.0.3 version: 7.0.3 '@projectstorm/react-canvas-core': - specifier: ^7.0.3 + specifier: 7.0.3 version: 7.0.3(@types/react@18.2.0) '@projectstorm/react-diagrams': - specifier: ^7.0.4 + specifier: 7.0.4 version: 7.0.4(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0) '@projectstorm/react-diagrams-core': - specifier: ^7.0.3 + specifier: 7.0.3 version: 7.0.3(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0) '@projectstorm/react-diagrams-defaults': - specifier: ^7.1.3 + specifier: 7.1.3 version: 7.1.3(@types/react@18.2.0) '@projectstorm/react-diagrams-routing': - specifier: ^7.1.3 + specifier: 7.1.3 version: 7.1.3(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0) '@types/lodash': - specifier: ^4.14.189 - version: 4.17.17 + specifier: 4.14.189 + version: 4.14.189 '@types/node': - specifier: ^22.15.18 - version: 22.15.35 + specifier: 22.15.18 + version: 22.15.18 closest: - specifier: ^0.0.1 + specifier: 0.0.1 version: 0.0.1 dagre: - specifier: ^0.8.5 + specifier: 0.8.5 version: 0.8.5 file-loader: - specifier: ^6.2.0 - version: 6.2.0(webpack@5.105.4) + specifier: 6.2.0 + version: 6.2.0(webpack@5.104.1) html-to-image: - specifier: ^1.10.8 + specifier: 1.11.11 version: 1.11.11 lodash: specifier: 4.17.23 version: 4.17.23 pathfinding: - specifier: ^0.4.18 + specifier: 0.4.18 version: 0.4.18 paths-js: - specifier: ^0.4.11 + specifier: 0.4.11 version: 0.4.11 react: specifier: 18.2.0 @@ -1955,15 +1973,15 @@ importers: specifier: 18.2.0 version: 18.2.0(react@18.2.0) resize-observer-polyfill: - specifier: ^1.5.1 + specifier: 1.5.1 version: 1.5.1 typescript: specifier: 5.8.3 version: 5.8.3 devDependencies: '@babel/core': - specifier: ^7.27.1 - version: 7.27.7 + specifier: 7.27.1 + version: 7.27.1 '@types/react': specifier: 18.2.0 version: 18.2.0 @@ -1977,58 +1995,58 @@ importers: specifier: workspace:* version: link:../../common-libs/ui-toolkit babel-loader: - specifier: ^10.0.0 - version: 10.1.1(@babel/core@7.27.7)(webpack@5.105.4) + specifier: 10.0.0 + version: 10.0.0(@babel/core@7.27.1)(webpack@5.104.1) copyfiles: - specifier: ^2.4.1 + specifier: 2.4.1 version: 2.4.1 css-loader: - specifier: ^7.1.2 - version: 7.1.4(webpack@5.105.4) + specifier: 7.1.2 + version: 7.1.2(webpack@5.104.1) source-map-loader: - specifier: ^5.0.0 - version: 5.0.0(webpack@5.105.4) + specifier: 5.0.0 + version: 5.0.0(webpack@5.104.1) style-loader: - specifier: ^4.0.0 - version: 4.0.0(webpack@5.105.4) + specifier: 4.0.0 + version: 4.0.0(webpack@5.104.1) ts-loader: - specifier: ^9.4.1 - version: 9.5.4(typescript@5.8.3)(webpack@5.105.4) + specifier: 9.4.1 + version: 9.4.1(typescript@5.8.3)(webpack@5.104.1) webpack: - specifier: ^5.94.0 - version: 5.105.4(webpack-cli@6.0.1) + specifier: 5.104.1 + version: 5.104.1(webpack-cli@6.0.1) webpack-cli: - specifier: ^6.0.1 - version: 6.0.1(webpack-dev-server@5.2.3)(webpack@5.105.4) + specifier: 6.0.1 + version: 6.0.1(webpack-dev-server@5.2.3)(webpack@5.104.1) webpack-dev-server: - specifier: ^5.2.1 - version: 5.2.3(webpack-cli@6.0.1)(webpack@5.105.4) + specifier: 5.2.3 + version: 5.2.3(webpack-cli@6.0.1)(webpack@5.104.1) ../../workspaces/ballerina/record-creator: dependencies: '@emotion/css': - specifier: ~11.13.5 + specifier: 11.13.5 version: 11.13.5 '@emotion/react': - specifier: ~11.14.0 + specifier: 11.14.0 version: 11.14.0(@types/react@18.2.0)(react@18.2.0) '@emotion/styled': - specifier: ~11.14.0 - version: 11.14.1(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0) + specifier: 11.14.0 + version: 11.14.0(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0) '@headlessui/react': - specifier: ~1.7.18 - version: 1.7.19(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + specifier: 1.7.18 + version: 1.7.18(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@tanstack/react-query': - specifier: ~5.76.1 - version: 5.76.2(react@18.2.0) + specifier: 5.76.1 + version: 5.76.1(react@18.2.0) '@types/lodash.debounce': - specifier: ~4.0.9 + specifier: 4.0.9 version: 4.0.9 '@types/react-lottie': - specifier: ~1.2.10 + specifier: 1.2.10 version: 1.2.10 '@vscode/webview-ui-toolkit': - specifier: ~1.4.0 + specifier: 1.4.0 version: 1.4.0(react@18.2.0) '@wso2/ballerina-core': specifier: workspace:* @@ -2046,10 +2064,10 @@ importers: specifier: workspace:* version: link:../../common-libs/ui-toolkit lodash.debounce: - specifier: ~4.0.8 + specifier: 4.0.8 version: 4.0.8 monaco-editor: - specifier: ~0.46.0 + specifier: 0.46.0 version: 0.46.0 react: specifier: 18.2.0 @@ -2058,18 +2076,18 @@ importers: specifier: 18.2.0 version: 18.2.0(react@18.2.0) react-intl: - specifier: ~7.1.11 - version: 7.1.14(react@18.2.0)(typescript@5.8.3) + specifier: 7.1.11 + version: 7.1.11(react@18.2.0)(typescript@5.8.3) react-lottie: - specifier: ~1.2.4 - version: 1.2.10(react@18.2.0) + specifier: 1.2.4 + version: 1.2.4(react@18.2.0) vscode-uri: - specifier: ~3.1.0 + specifier: 3.1.0 version: 3.1.0 devDependencies: '@types/node': - specifier: ^22.15.18 - version: 22.15.35 + specifier: 22.15.18 + version: 22.15.18 '@types/react': specifier: 18.2.0 version: 18.2.0 @@ -2077,14 +2095,14 @@ importers: specifier: 18.2.0 version: 18.2.0 copyfiles: - specifier: ~2.4.1 + specifier: 2.4.1 version: 2.4.1 eslint: specifier: ^9.27.0 version: 9.39.4(jiti@2.6.1) react-scripts-ts: specifier: 3.1.0 - version: 3.1.0(babel-core@7.0.0-bridge.0(@babel/core@7.27.7))(babel-runtime@6.26.0)(typescript@5.8.3) + version: 3.1.0(babel-core@7.0.0-bridge.0(@babel/core@7.29.0))(babel-runtime@6.26.0)(typescript@5.8.3) typescript: specifier: 5.8.3 version: 5.8.3 @@ -2092,28 +2110,28 @@ importers: ../../workspaces/ballerina/sequence-diagram: dependencies: '@emotion/react': - specifier: ^11.9.3 + specifier: 11.14.0 version: 11.14.0(@types/react@18.2.0)(react@18.2.0) '@emotion/styled': - specifier: ^11.10.5 - version: 11.14.1(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0) + specifier: 11.14.0 + version: 11.14.0(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0) '@projectstorm/geometry': - specifier: ^7.0.3 + specifier: 7.0.3 version: 7.0.3 '@projectstorm/react-canvas-core': - specifier: ^7.0.3 + specifier: 7.0.3 version: 7.0.3(@types/react@18.2.0) '@projectstorm/react-diagrams': - specifier: ^7.0.4 + specifier: 7.0.4 version: 7.0.4(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0) '@projectstorm/react-diagrams-core': - specifier: ^7.0.3 + specifier: 7.0.3 version: 7.0.3(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0) '@projectstorm/react-diagrams-defaults': - specifier: ^7.1.3 + specifier: 7.1.3 version: 7.1.3(@types/react@18.2.0) '@projectstorm/react-diagrams-routing': - specifier: ^7.1.3 + specifier: 7.1.3 version: 7.1.3(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0) '@wso2/ballerina-core': specifier: workspace:* @@ -2125,7 +2143,7 @@ importers: specifier: workspace:* version: link:../../common-libs/ui-toolkit dagre: - specifier: ~0.8.5 + specifier: 0.8.5 version: 0.8.5 lodash: specifier: 4.17.23 @@ -2138,14 +2156,14 @@ importers: version: 18.2.0(react@18.2.0) devDependencies: '@storybook/react': - specifier: ^6.3.7 - version: 6.5.16(@babel/core@7.27.7)(@types/webpack@5.28.5)(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(require-from-string@2.0.2)(type-fest@4.41.0)(typescript@5.8.3)(webpack-dev-server@5.2.3(webpack@5.105.4))(webpack-hot-middleware@2.26.1) + specifier: 6.3.7 + version: 6.3.7(@babel/core@7.29.0)(@types/react@18.2.0)(@types/webpack@4.41.40)(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-hot-middleware@2.26.1) '@types/dagre': - specifier: ~0.7.52 - version: 0.7.54 + specifier: 0.7.52 + version: 0.7.52 '@types/lodash': - specifier: ~4.17.16 - version: 4.17.17 + specifier: 4.17.16 + version: 4.17.16 '@types/react': specifier: 18.2.0 version: 18.2.0 @@ -2154,21 +2172,21 @@ importers: version: 18.2.0 '@typescript-eslint/eslint-plugin': specifier: 8.32.1 - version: 8.32.1(@typescript-eslint/parser@8.32.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3))(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3) + version: 8.32.1(@typescript-eslint/parser@8.33.0(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3))(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3) copyfiles: - specifier: ^2.4.1 + specifier: 2.4.1 version: 2.4.1 eslint: specifier: ^9.27.0 version: 9.39.4(jiti@2.6.1) eslint-plugin-react-hooks: - specifier: ~5.2.0 + specifier: 5.2.0 version: 5.2.0(eslint@9.39.4(jiti@2.6.1)) eslint-plugin-unused-imports: - specifier: ~4.1.4 - version: 4.1.4(@typescript-eslint/eslint-plugin@8.32.1(@typescript-eslint/parser@8.32.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3))(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3))(eslint@9.39.4(jiti@2.6.1)) + specifier: 4.1.4 + version: 4.1.4(@typescript-eslint/eslint-plugin@8.32.1(@typescript-eslint/parser@8.33.0(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3))(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3))(eslint@9.39.4(jiti@2.6.1)) prettier: - specifier: ~3.5.3 + specifier: 3.5.3 version: 3.5.3 typescript: specifier: 5.8.3 @@ -2177,23 +2195,23 @@ importers: ../../workspaces/ballerina/statement-editor: dependencies: '@emotion/css': - specifier: ~11.13.5 + specifier: 11.13.5 version: 11.13.5 '@emotion/react': - specifier: ^11.9.3 - version: 11.14.0(@types/react@17.0.91)(react@19.1.0) + specifier: 11.14.0 + version: 11.14.0(@types/react@17.0.37)(react@19.1.0) '@emotion/styled': - specifier: ^11.10.5 - version: 11.14.1(@emotion/react@11.14.0(@types/react@17.0.91)(react@19.1.0))(@types/react@17.0.91)(react@19.1.0) + specifier: 11.14.0 + version: 11.14.0(@emotion/react@11.14.0(@types/react@17.0.37)(react@19.1.0))(@types/react@17.0.37)(react@19.1.0) '@tanstack/query-core': - specifier: ^4.0.0-beta.1 - version: 4.43.0 + specifier: 5.77.1 + version: 5.77.1 '@tanstack/react-query': specifier: 4.0.10 version: 4.0.10(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@vscode/webview-ui-toolkit': - specifier: ^1.2.0 - version: 1.4.0(react@19.1.0) + specifier: 1.2.0 + version: 1.2.0(react@19.1.0) '@wso2/ballerina-core': specifier: workspace:* version: link:../ballerina-core @@ -2207,98 +2225,98 @@ importers: specifier: workspace:* version: link:../../common-libs/ui-toolkit classnames: - specifier: ^2.2.6 - version: 2.5.1 + specifier: 2.2.6 + version: 2.2.6 lodash.debounce: - specifier: ^4.0.8 + specifier: 4.0.8 version: 4.0.8 react: - specifier: ^19.1.0 + specifier: 19.1.0 version: 19.1.0 react-dom: - specifier: ^19.1.0 + specifier: 19.1.0 version: 19.1.0(react@19.1.0) react-icons: - specifier: ^4.12.0 + specifier: 4.12.0 version: 4.12.0(react@19.1.0) react-intl: - specifier: ^7.1.11 - version: 7.1.14(react@19.1.0)(typescript@4.9.5) + specifier: 7.1.11 + version: 7.1.11(react@19.1.0)(typescript@4.9.4) react-lottie: - specifier: ^1.2.3 - version: 1.2.10(react@19.1.0) + specifier: 1.2.3 + version: 1.2.3(react@19.1.0) vscode-languageserver-protocol: - specifier: ^3.16.0 - version: 3.17.5 + specifier: 3.16.0 + version: 3.16.0 vscode-languageserver-types: - specifier: ^3.17.5 + specifier: 3.17.5 version: 3.17.5 vscode-uri: - specifier: ^3.0.8 - version: 3.1.0 + specifier: 3.0.8 + version: 3.0.8 devDependencies: '@storybook/react': - specifier: ^6.5.9 - version: 6.5.16(@babel/core@7.27.7)(@types/webpack@5.28.5)(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(require-from-string@2.0.2)(type-fest@4.41.0)(typescript@4.9.5)(webpack-dev-server@5.2.3(webpack@5.105.4))(webpack-hot-middleware@2.26.1) + specifier: 6.5.9 + version: 6.5.9(@babel/core@7.29.0)(@types/webpack@5.28.5)(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(require-from-string@2.0.2)(type-fest@4.41.0)(typescript@4.9.4)(webpack-dev-server@5.2.3(webpack@5.104.1))(webpack-hot-middleware@2.26.1) '@types/classnames': - specifier: ^2.2.9 - version: 2.3.4 + specifier: 2.2.9 + version: 2.2.9 '@types/lodash.camelcase': - specifier: ^4.3.0 - version: 4.3.9 + specifier: 4.3.0 + version: 4.3.0 '@types/lodash.clonedeep': - specifier: ^4.5.6 - version: 4.5.9 + specifier: 4.5.6 + version: 4.5.6 '@types/lodash.debounce': - specifier: ^4.0.6 - version: 4.0.9 + specifier: 4.0.6 + version: 4.0.6 '@types/react': - specifier: ^17.0.37 - version: 17.0.91 + specifier: 17.0.37 + version: 17.0.37 '@types/react-dom': specifier: 17.0.14 version: 17.0.14 '@types/react-lottie': - specifier: ^1.2.5 - version: 1.2.10 + specifier: 1.2.5 + version: 1.2.5 copyfiles: - specifier: ^2.4.1 + specifier: 2.4.1 version: 2.4.1 storybook: - specifier: ^8.6.13 - version: 8.6.18(prettier@3.5.3) + specifier: 8.6.13 + version: 8.6.13(prettier@3.5.3) tslib: - specifier: ^2.1.0 - version: 2.8.1 + specifier: 2.1.0 + version: 2.1.0 tslint: - specifier: ^6.1.3 - version: 6.1.3(typescript@4.9.5) + specifier: 6.1.3 + version: 6.1.3(typescript@4.9.4) tslint-react: - specifier: ^4.2.0 - version: 4.2.0(tslint@6.1.3(typescript@4.9.5))(typescript@4.9.5) + specifier: 4.2.0 + version: 4.2.0(tslint@6.1.3(typescript@4.9.4))(typescript@4.9.4) tslint-react-hooks: - specifier: ^2.2.2 - version: 2.2.2(tslint@6.1.3(typescript@4.9.5))(typescript@4.9.5) + specifier: 2.2.2 + version: 2.2.2(tslint@6.1.3(typescript@4.9.4))(typescript@4.9.4) typescript: - specifier: ^4.9.4 - version: 4.9.5 + specifier: 4.9.4 + version: 4.9.4 ../../workspaces/ballerina/syntax-tree: devDependencies: husky: - specifier: ^9.1.7 + specifier: 9.1.7 version: 9.1.7 lint-staged: - specifier: ^16.0.0 - version: 16.3.3 + specifier: 16.0.0 + version: 16.0.0 prettier: - specifier: ^3.5.3 + specifier: 3.5.3 version: 3.5.3 rimraf: - specifier: ^6.0.1 + specifier: 6.0.1 version: 6.0.1 tslint: - specifier: ^6.1.3 + specifier: 6.1.3 version: 6.1.3(typescript@5.8.3) typescript: specifier: 5.8.3 @@ -2307,23 +2325,38 @@ importers: ../../workspaces/ballerina/trace-visualizer: dependencies: '@emotion/react': - specifier: ^11.14.0 + specifier: 11.14.0 version: 11.14.0(@types/react@18.2.0)(react@18.2.0) '@emotion/styled': - specifier: ^11.14.0 - version: 11.14.1(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0) + specifier: 11.14.0 + version: 11.14.0(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0) '@vscode/webview-ui-toolkit': - specifier: ^1.4.0 + specifier: 1.4.0 version: 1.4.0(react@18.2.0) '@wso2/ui-toolkit': specifier: workspace:* version: link:../../common-libs/ui-toolkit + katex: + specifier: ^0.16.27 + version: 0.16.38 react: specifier: 18.2.0 version: 18.2.0 react-dom: specifier: 18.2.0 version: 18.2.0(react@18.2.0) + react-markdown: + specifier: ^10.1.0 + version: 10.1.0(@types/react@18.2.0)(react@18.2.0) + rehype-katex: + specifier: ^7.0.1 + version: 7.0.1 + remark-gfm: + specifier: ^4.0.1 + version: 4.0.1 + remark-math: + specifier: ^6.0.0 + version: 6.0.0 devDependencies: '@types/react': specifier: 18.2.0 @@ -2332,97 +2365,97 @@ importers: specifier: 18.2.0 version: 18.2.0 '@types/webpack': - specifier: ^5.28.5 + specifier: 5.28.5 version: 5.28.5(webpack-cli@5.1.4) buffer: - specifier: ^6.0.3 + specifier: 6.0.3 version: 6.0.3 copyfiles: - specifier: ^2.4.1 + specifier: 2.4.1 version: 2.4.1 css-loader: - specifier: ^7.1.2 - version: 7.1.4(webpack@5.105.4) + specifier: 7.1.2 + version: 7.1.2(webpack@5.104.1) sass-loader: - specifier: ^16.0.5 - version: 16.0.7(sass@1.98.0)(webpack@5.105.4) + specifier: 16.0.5 + version: 16.0.5(sass@1.89.0)(webpack@5.104.1) source-map-loader: - specifier: ^5.0.0 - version: 5.0.0(webpack@5.105.4) + specifier: 5.0.0 + version: 5.0.0(webpack@5.104.1) style-loader: - specifier: ^4.0.0 - version: 4.0.0(webpack@5.105.4) + specifier: 4.0.0 + version: 4.0.0(webpack@5.104.1) ts-loader: - specifier: ^9.5.2 - version: 9.5.4(typescript@5.8.3)(webpack@5.105.4) + specifier: 9.5.2 + version: 9.5.2(typescript@5.8.3)(webpack@5.104.1) typescript: specifier: 5.8.3 version: 5.8.3 webpack: - specifier: ^5.94.0 - version: 5.105.4(webpack-cli@5.1.4) + specifier: 5.104.1 + version: 5.104.1(webpack-cli@5.1.4) webpack-cli: - specifier: ^5.1.4 - version: 5.1.4(webpack-dev-server@5.2.3)(webpack@5.105.4) + specifier: 5.1.4 + version: 5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1) webpack-dev-server: - specifier: ^5.2.1 - version: 5.2.3(webpack-cli@5.1.4)(webpack@5.105.4) + specifier: 5.2.3 + version: 5.2.3(webpack-cli@5.1.4)(webpack@5.104.1) ../../workspaces/ballerina/type-diagram: dependencies: '@emotion/css': - specifier: ~11.13.5 + specifier: 11.13.5 version: 11.13.5 '@emotion/react': - specifier: ^11.9.3 + specifier: 11.14.0 version: 11.14.0(@types/react@18.2.0)(react@18.2.0) '@emotion/styled': - specifier: ^11.14.0 - version: 11.14.1(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0) + specifier: 11.14.0 + version: 11.14.0(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0) '@projectstorm/geometry': - specifier: ^7.0.3 + specifier: 7.0.3 version: 7.0.3 '@projectstorm/react-canvas-core': - specifier: ^7.0.3 + specifier: 7.0.3 version: 7.0.3(@types/react@18.2.0) '@projectstorm/react-diagrams': - specifier: ^7.0.4 + specifier: 7.0.4 version: 7.0.4(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0) '@projectstorm/react-diagrams-core': - specifier: ^7.0.3 + specifier: 7.0.3 version: 7.0.3(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0) '@projectstorm/react-diagrams-defaults': - specifier: ^7.1.3 + specifier: 7.1.3 version: 7.1.3(@types/react@18.2.0) '@projectstorm/react-diagrams-routing': - specifier: ^7.1.3 + specifier: 7.1.3 version: 7.1.3(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0) '@types/lodash': - specifier: ^4.17.16 - version: 4.17.17 + specifier: 4.17.16 + version: 4.17.16 '@types/node': - specifier: ^22.15.19 - version: 22.15.35 + specifier: 22.15.19 + version: 22.15.19 closest: - specifier: ^0.0.1 + specifier: 0.0.1 version: 0.0.1 dagre: - specifier: ^0.8.5 + specifier: 0.8.5 version: 0.8.5 file-loader: - specifier: ^6.2.0 - version: 6.2.0(webpack@5.105.4) + specifier: 6.2.0 + version: 6.2.0(webpack@5.104.1) html-to-image: - specifier: ^1.11.11 + specifier: 1.11.11 version: 1.11.11 lodash: specifier: 4.17.23 version: 4.17.23 pathfinding: - specifier: ^0.4.18 + specifier: 0.4.18 version: 0.4.18 paths-js: - specifier: ^0.4.11 + specifier: 0.4.11 version: 0.4.11 react: specifier: 18.2.0 @@ -2431,18 +2464,18 @@ importers: specifier: 18.2.0 version: 18.2.0(react@18.2.0) resize-observer-polyfill: - specifier: ^1.5.1 + specifier: 1.5.1 version: 1.5.1 typescript: specifier: 5.8.3 version: 5.8.3 uuid: - specifier: ^11.1.0 + specifier: 11.1.0 version: 11.1.0 devDependencies: '@babel/core': - specifier: ^7.27.1 - version: 7.27.7 + specifier: 7.27.1 + version: 7.27.1 '@types/react': specifier: 18.2.0 version: 18.2.0 @@ -2450,7 +2483,7 @@ importers: specifier: 18.2.0 version: 18.2.0 '@types/uuid': - specifier: ^10.0.0 + specifier: 10.0.0 version: 10.0.0 '@wso2/ballerina-core': specifier: workspace:* @@ -2459,52 +2492,52 @@ importers: specifier: workspace:* version: link:../../common-libs/ui-toolkit babel-loader: - specifier: ^10.0.0 - version: 10.1.1(@babel/core@7.27.7)(webpack@5.105.4) + specifier: 10.0.0 + version: 10.0.0(@babel/core@7.27.1)(webpack@5.104.1) copyfiles: - specifier: ^2.4.1 + specifier: 2.4.1 version: 2.4.1 css-loader: - specifier: ^7.1.2 - version: 7.1.4(webpack@5.105.4) + specifier: 7.1.2 + version: 7.1.2(webpack@5.104.1) source-map-loader: - specifier: ^5.0.0 - version: 5.0.0(webpack@5.105.4) + specifier: 5.0.0 + version: 5.0.0(webpack@5.104.1) style-loader: - specifier: ^4.0.0 - version: 4.0.0(webpack@5.105.4) + specifier: 4.0.0 + version: 4.0.0(webpack@5.104.1) ts-loader: - specifier: ^9.4.1 - version: 9.5.4(typescript@5.8.3)(webpack@5.105.4) + specifier: 9.4.1 + version: 9.4.1(typescript@5.8.3)(webpack@5.104.1) webpack: - specifier: ^5.94.0 - version: 5.105.4(webpack-cli@6.0.1) + specifier: 5.104.1 + version: 5.104.1(webpack-cli@6.0.1) webpack-cli: - specifier: ^6.0.1 - version: 6.0.1(webpack-dev-server@5.2.3)(webpack@5.105.4) + specifier: 6.0.1 + version: 6.0.1(webpack-dev-server@5.2.3)(webpack@5.104.1) webpack-dev-server: - specifier: ^5.2.1 - version: 5.2.3(webpack-cli@6.0.1)(webpack@5.105.4) + specifier: 5.2.3 + version: 5.2.3(webpack-cli@6.0.1)(webpack@5.104.1) ../../workspaces/ballerina/type-editor: dependencies: '@emotion/css': - specifier: ~11.13.5 + specifier: 11.13.5 version: 11.13.5 '@emotion/react': - specifier: ~11.14.0 + specifier: 11.14.0 version: 11.14.0(@types/react@18.2.0)(react@18.2.0) '@emotion/styled': - specifier: ~11.14.0 - version: 11.14.1(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0) + specifier: 11.14.0 + version: 11.14.0(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0) '@headlessui/react': - specifier: ~1.7.18 - version: 1.7.19(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + specifier: 1.7.18 + version: 1.7.18(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@tanstack/react-query': specifier: 5.76.1 version: 5.76.1(react@18.2.0) '@vscode/webview-ui-toolkit': - specifier: ~1.4.0 + specifier: 1.4.0 version: 1.4.0(react@18.2.0) '@wso2/ballerina-core': specifier: workspace:* @@ -2525,10 +2558,10 @@ importers: specifier: 4.17.23 version: 4.17.23 lodash.debounce: - specifier: ^4.0.8 + specifier: 4.0.8 version: 4.0.8 monaco-editor: - specifier: ~0.52.2 + specifier: 0.52.2 version: 0.52.2 react: specifier: 18.2.0 @@ -2537,20 +2570,20 @@ importers: specifier: 18.2.0 version: 18.2.0(react@18.2.0) react-intl: - specifier: ^7.1.11 - version: 7.1.14(react@18.2.0)(typescript@5.8.3) + specifier: 7.1.11 + version: 7.1.11(react@18.2.0)(typescript@5.8.3) react-lottie: - specifier: ^1.2.10 + specifier: 1.2.10 version: 1.2.10(react@18.2.0) vscode-uri: - specifier: ~3.1.0 + specifier: 3.1.0 version: 3.1.0 devDependencies: '@types/lodash': - specifier: ~4.17.15 - version: 4.17.17 + specifier: 4.17.15 + version: 4.17.15 '@types/lodash.debounce': - specifier: ^4.0.9 + specifier: 4.0.9 version: 4.0.9 '@types/react': specifier: 18.2.0 @@ -2559,17 +2592,17 @@ importers: specifier: 18.2.0 version: 18.2.0 '@types/react-lottie': - specifier: ^1.2.10 + specifier: 1.2.10 version: 1.2.10 copyfiles: - specifier: ~2.4.1 + specifier: 2.4.1 version: 2.4.1 eslint: specifier: ^9.27.0 version: 9.39.4(jiti@2.6.1) react-scripts-ts: specifier: 3.1.0 - version: 3.1.0(babel-core@7.0.0-bridge.0(@babel/core@7.27.7))(babel-runtime@6.26.0)(typescript@5.8.3) + version: 3.1.0(babel-core@7.0.0-bridge.0(@babel/core@7.29.0))(babel-runtime@6.26.0)(typescript@5.8.3) typescript: specifier: 5.8.3 version: 5.8.3 @@ -2577,7 +2610,7 @@ importers: ../../workspaces/bi/bi-extension: dependencies: '@iarna/toml': - specifier: ^2.2.5 + specifier: 2.2.5 version: 2.2.5 '@wso2/ballerina-core': specifier: workspace:* @@ -2586,21 +2619,21 @@ importers: specifier: workspace:* version: link:../../common-libs/font-wso2-vscode xstate: - specifier: ^4.38.3 + specifier: 4.38.3 version: 4.38.3 devDependencies: '@playwright/test': - specifier: ~1.55.1 + specifier: 1.55.1 version: 1.55.1 '@types/mocha': - specifier: ^10.0.3 - version: 10.0.10 + specifier: 10.0.3 + version: 10.0.3 '@types/node': specifier: 22.15.18 version: 22.15.18 '@types/vscode': - specifier: ^1.84.0 - version: 1.110.0 + specifier: 1.84.0 + version: 1.84.0 '@typescript-eslint/eslint-plugin': specifier: 8.32.1 version: 8.32.1(@typescript-eslint/parser@8.32.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3))(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3) @@ -2608,47 +2641,47 @@ importers: specifier: 8.32.1 version: 8.32.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3) '@vscode/test-electron': - specifier: ^2.5.2 + specifier: 2.5.2 version: 2.5.2 '@vscode/vsce': - specifier: ^3.7.0 - version: 3.7.1 + specifier: 3.7.0 + version: 3.7.0 '@wso2/playwright-vscode-tester': specifier: workspace:* version: link:../../common-libs/playwright-vscode-tester copy-webpack-plugin: - specifier: ^13.0.0 - version: 13.0.1(webpack@5.105.4) + specifier: 13.0.0 + version: 13.0.0(webpack@5.104.1) copyfiles: - specifier: ^2.4.1 + specifier: 2.4.1 version: 2.4.1 eslint: specifier: ^9.27.0 version: 9.39.4(jiti@2.6.1) glob: - specifier: ^11.1.0 + specifier: 11.1.0 version: 11.1.0 mocha: - specifier: ^11.2.2 - version: 11.7.5 + specifier: 11.2.2 + version: 11.2.2 source-map-support: - specifier: ^0.5.21 + specifier: 0.5.21 version: 0.5.21 ts-loader: - specifier: ^9.5.2 - version: 9.5.4(typescript@5.8.3)(webpack@5.105.4) + specifier: 9.5.2 + version: 9.5.2(typescript@5.8.3)(webpack@5.104.1) typescript: specifier: 5.8.3 version: 5.8.3 webpack: - specifier: ^5.94.0 - version: 5.105.4(webpack-cli@6.0.1) + specifier: 5.104.1 + version: 5.104.1(webpack-cli@6.0.1) webpack-cli: - specifier: ^6.0.1 - version: 6.0.1(webpack@5.105.4) + specifier: 6.0.1 + version: 6.0.1(webpack@5.104.1) webpack-permissions-plugin: - specifier: ^1.0.9 - version: 1.0.10 + specifier: 1.0.9 + version: 1.0.9 ../../workspaces/choreo/choreo-core: dependencies: @@ -2656,15 +2689,15 @@ importers: specifier: workspace:* version: link:../../wso2-platform/wso2-platform-core vscode-messenger-common: - specifier: ^0.5.1 + specifier: 0.5.1 version: 0.5.1 vscode-messenger-webview: - specifier: ^0.5.1 + specifier: 0.5.1 version: 0.5.1 devDependencies: '@biomejs/biome': - specifier: ^1.8.3 - version: 1.9.4 + specifier: 1.8.3 + version: 1.8.3 typescript: specifier: 5.8.3 version: 5.8.3 @@ -2672,23 +2705,23 @@ importers: ../../workspaces/choreo/choreo-extension: dependencies: '@vscode-logging/logger': - specifier: ^2.0.0 - version: 2.0.8 + specifier: 2.0.0 + version: 2.0.0 '@vscode-logging/types': - specifier: ^2.0.0 - version: 2.0.8 + specifier: 2.0.0 + version: 2.0.0 '@vscode-logging/wrapper': - specifier: ^2.0.0 - version: 2.0.8 + specifier: 2.0.0 + version: 2.0.0 '@vscode/extension-telemetry': - specifier: ~1.0.0 + specifier: 1.0.0 version: 1.0.0(tslib@2.8.1) '@vscode/iconv-lite-umd': - specifier: ^0.7.0 - version: 0.7.1 + specifier: 0.7.0 + version: 0.7.0 '@vscode/webview-ui-toolkit': - specifier: ^1.2.0 - version: 1.4.0(react@19.1.0) + specifier: 1.2.0 + version: 1.2.0(react@19.1.0) '@wso2/choreo-core': specifier: workspace:* version: link:../choreo-core @@ -2699,119 +2732,119 @@ importers: specifier: workspace:* version: link:../../wso2-platform/wso2-platform-core byline: - specifier: ^5.0.0 + specifier: 5.0.0 version: 5.0.0 dotenv: - specifier: ^16.0.3 - version: 16.5.0 + specifier: 16.0.3 + version: 16.0.3 file-type: - specifier: ^18.2.1 - version: 18.7.0 + specifier: 21.3.1 + version: 21.3.1 js-yaml: - specifier: ^4.1.1 + specifier: 4.1.1 version: 4.1.1 jschardet: - specifier: ^3.0.0 - version: 3.1.4 + specifier: 3.0.0 + version: 3.0.0 vscode-jsonrpc: - specifier: ^8.2.1 + specifier: 8.2.1 version: 8.2.1 vscode-messenger: - specifier: ^0.5.1 + specifier: 0.5.1 version: 0.5.1 vscode-messenger-common: - specifier: ^0.5.1 + specifier: 0.5.1 version: 0.5.1 which: - specifier: ^5.0.0 + specifier: 5.0.0 version: 5.0.0 yaml: - specifier: ^2.6.0 - version: 2.8.2 + specifier: 2.6.0 + version: 2.6.0 devDependencies: '@biomejs/biome': - specifier: ^1.8.3 - version: 1.9.4 + specifier: 1.8.3 + version: 1.8.3 '@playwright/test': specifier: 1.55.1 version: 1.55.1 '@types/byline': - specifier: ^4.2.36 + specifier: 4.2.36 version: 4.2.36 '@types/mocha': - specifier: ~10.0.1 - version: 10.0.10 + specifier: 10.0.1 + version: 10.0.1 '@types/node': - specifier: ^22.15.24 - version: 22.15.35 + specifier: 22.15.24 + version: 22.15.24 '@types/vscode': - specifier: ^1.100.0 - version: 1.110.0 + specifier: 1.100.0 + version: 1.100.0 '@types/which': - specifier: ^3.0.4 + specifier: 3.0.4 version: 3.0.4 '@vscode/vsce': - specifier: ^3.7.0 - version: 3.7.1 + specifier: 3.7.0 + version: 3.7.0 '@wso2/playwright-vscode-tester': specifier: workspace:* version: link:../../common-libs/playwright-vscode-tester axios: - specifier: ^1.13.5 - version: 1.13.6 + specifier: 1.13.5 + version: 1.13.5 copy-webpack-plugin: - specifier: ^13.0.0 - version: 13.0.1(webpack@5.105.4) + specifier: 13.0.0 + version: 13.0.0(webpack@5.104.1) copyfiles: - specifier: ^2.4.1 + specifier: 2.4.1 version: 2.4.1 del-cli: - specifier: ^6.0.0 + specifier: 6.0.0 version: 6.0.0 mocha: - specifier: ^11.5.0 - version: 11.7.5 + specifier: 11.5.0 + version: 11.5.0 terser-webpack-plugin: - specifier: ^5.3.10 - version: 5.4.0(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack@5.105.4) + specifier: 5.3.10 + version: 5.3.10(webpack@5.104.1) ts-loader: - specifier: ~9.5.2 - version: 9.5.4(typescript@5.8.3)(webpack@5.105.4) + specifier: 9.5.2 + version: 9.5.2(typescript@5.8.3)(webpack@5.104.1) typescript: specifier: 5.8.3 version: 5.8.3 vscode-extension-tester: - specifier: ^8.14.1 - version: 8.14.1(mocha@11.7.5)(typescript@5.8.3) + specifier: 8.14.1 + version: 8.14.1(mocha@11.5.0)(typescript@5.8.3) webpack: - specifier: ^5.94.0 - version: 5.105.4(webpack-cli@6.0.1) + specifier: 5.104.1 + version: 5.104.1(webpack-cli@6.0.1) webpack-cli: - specifier: ^6.0.1 - version: 6.0.1(webpack@5.105.4) + specifier: 6.0.1 + version: 6.0.1(webpack@5.104.1) webpack-permissions-plugin: - specifier: ^1.0.9 - version: 1.0.10 + specifier: 1.0.9 + version: 1.0.9 ../../workspaces/choreo/choreo-webviews: dependencies: '@biomejs/biome': - specifier: ^1.9.4 + specifier: 1.9.4 version: 1.9.4 '@formkit/auto-animate': specifier: 0.8.2 version: 0.8.2 '@hookform/resolvers': - specifier: ^5.0.1 - version: 5.2.2(react-hook-form@7.56.4(react@18.2.0)) + specifier: 5.0.1 + version: 5.0.1(react-hook-form@7.56.4(react@18.2.0)) '@tanstack/react-query': - specifier: ~4.28.0 + specifier: 4.28.0 version: 4.28.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@tanstack/react-query-persist-client': - specifier: ~4.28.0 + specifier: 4.28.0 version: 4.28.0(@tanstack/react-query@4.28.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) '@vscode/webview-ui-toolkit': - specifier: ^1.4.0 + specifier: 1.4.0 version: 1.4.0(react@18.2.0) '@wso2/choreo-core': specifier: workspace:* @@ -2823,16 +2856,16 @@ importers: specifier: workspace:* version: link:../../wso2-platform/wso2-platform-core classnames: - specifier: ~2.5.1 + specifier: 2.5.1 version: 2.5.1 js-yaml: - specifier: ^4.1.1 + specifier: 4.1.1 version: 4.1.1 lodash.debounce: - specifier: ~4.0.8 + specifier: 4.0.8 version: 4.0.8 prism-react-renderer: - specifier: ^2.4.1 + specifier: 2.4.1 version: 2.4.1(react@18.2.0) react: specifier: 18.2.0 @@ -2844,24 +2877,24 @@ importers: specifier: 7.56.4 version: 7.56.4(react@18.2.0) rehype-raw: - specifier: ^6.1.0 - version: 6.1.1 + specifier: 6.1.0 + version: 6.1.0 remark-gfm: - specifier: ^4.0.1 + specifier: 4.0.1 version: 4.0.1 vscode-messenger-common: - specifier: ^0.5.1 + specifier: 0.5.1 version: 0.5.1 vscode-messenger-webview: - specifier: ^0.5.1 + specifier: 0.5.1 version: 0.5.1 devDependencies: '@types/lodash.debounce': - specifier: ^4.0.9 + specifier: 4.0.9 version: 4.0.9 '@types/node': - specifier: ^22.15.24 - version: 22.15.35 + specifier: 22.15.24 + version: 22.15.24 '@types/react': specifier: 18.2.0 version: 18.2.0 @@ -2869,70 +2902,70 @@ importers: specifier: 18.2.0 version: 18.2.0 '@types/vscode-webview': - specifier: ^1.57.5 + specifier: 1.57.5 version: 1.57.5 autoprefixer: - specifier: ^10.4.21 - version: 10.4.27(postcss@8.5.8) + specifier: 10.4.21 + version: 10.4.21(postcss@8.5.4) copyfiles: - specifier: ~2.4.1 + specifier: 2.4.1 version: 2.4.1 css-loader: - specifier: ^7.1.2 - version: 7.1.4(webpack@5.105.4) + specifier: 7.1.2 + version: 7.1.2(webpack@5.104.1) file-loader: - specifier: ^6.2.0 - version: 6.2.0(webpack@5.105.4) + specifier: 6.2.0 + version: 6.2.0(webpack@5.104.1) path: - specifier: ^0.12.7 + specifier: 0.12.7 version: 0.12.7 postcss: - specifier: ^8.5.4 - version: 8.5.8 + specifier: 8.5.4 + version: 8.5.4 postcss-loader: - specifier: ^8.1.1 - version: 8.2.1(postcss@8.5.8)(typescript@5.8.3)(webpack@5.105.4) + specifier: 8.1.1 + version: 8.1.1(postcss@8.5.4)(typescript@5.8.3)(webpack@5.104.1) sass-loader: - specifier: ^16.0.5 - version: 16.0.7(sass@1.98.0)(webpack@5.105.4) + specifier: 16.0.5 + version: 16.0.5(sass@1.89.0)(webpack@5.104.1) source-map-loader: - specifier: ^5.0.0 - version: 5.0.0(webpack@5.105.4) + specifier: 5.0.0 + version: 5.0.0(webpack@5.104.1) style-loader: - specifier: ^4.0.0 - version: 4.0.0(webpack@5.105.4) + specifier: 4.0.0 + version: 4.0.0(webpack@5.104.1) tailwindcss: - specifier: ^3.4.3 - version: 3.4.19(yaml@2.8.2) + specifier: 3.4.3 + version: 3.4.3(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.24)(typescript@5.8.3)) ts-loader: - specifier: ^9.5.2 - version: 9.5.4(typescript@5.8.3)(webpack@5.105.4) + specifier: 9.5.2 + version: 9.5.2(typescript@5.8.3)(webpack@5.104.1) typescript: specifier: 5.8.3 version: 5.8.3 webpack: - specifier: ^5.94.0 - version: 5.105.4(webpack-cli@6.0.1) + specifier: 5.104.1 + version: 5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) webpack-cli: - specifier: ^6.0.1 - version: 6.0.1(webpack-dev-server@5.2.3)(webpack@5.105.4) + specifier: 6.0.1 + version: 6.0.1(webpack-dev-server@5.2.3)(webpack@5.104.1) webpack-dev-server: - specifier: ^5.2.1 - version: 5.2.3(webpack-cli@6.0.1)(webpack@5.105.4) + specifier: 5.2.3 + version: 5.2.3(webpack-cli@6.0.1)(webpack@5.104.1) ../../workspaces/common-libs/font-wso2-vscode: devDependencies: + '@twbs/fantasticon': + specifier: 3.0.0 + version: 3.0.0 '@vscode/codicons': specifier: 0.0.44 version: 0.0.44 - fantasticon: - specifier: ^3.0.0 - version: 3.0.0 icon-font-generator: - specifier: ^2.1.11 + specifier: 2.1.11 version: 2.1.11 jsonc-parser: - specifier: ^3.3.1 + specifier: 3.3.1 version: 3.3.1 ../../workspaces/common-libs/playwright-vscode-tester: @@ -2941,45 +2974,45 @@ importers: specifier: 1.55.1 version: 1.55.1 '@vscode/vsce': - specifier: ^3.7.0 - version: 3.7.1 + specifier: 3.7.0 + version: 3.7.0 compare-versions: - specifier: ~6.1.1 + specifier: 6.1.1 version: 6.1.1 fs-extra: - specifier: ~11.3.0 - version: 11.3.4 + specifier: 11.3.0 + version: 11.3.0 got: specifier: 14.4.7 version: 14.4.7 hpagent: - specifier: ~1.2.0 + specifier: 1.2.0 version: 1.2.0 playwright-core: - specifier: ~1.55.1 + specifier: 1.55.1 version: 1.55.1 targz: - specifier: ~1.0.1 + specifier: 1.0.1 version: 1.0.1 unzipper: - specifier: ~0.12.3 + specifier: 0.12.3 version: 0.12.3 devDependencies: '@types/fs-extra': - specifier: ~11.0.1 - version: 11.0.4 + specifier: 11.0.1 + version: 11.0.1 '@types/node': - specifier: ~22.15.24 - version: 22.15.35 + specifier: 22.15.24 + version: 22.15.24 '@types/unzipper': - specifier: ~0.10.11 + specifier: 0.10.11 version: 0.10.11 '@typescript-eslint/eslint-plugin': - specifier: 8.32.1 - version: 8.32.1(@typescript-eslint/parser@8.32.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3))(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3) + specifier: 8.33.0 + version: 8.33.0(@typescript-eslint/parser@8.33.0(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3))(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3) '@typescript-eslint/parser': - specifier: 8.32.1 - version: 8.32.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3) + specifier: 8.33.0 + version: 8.33.0(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3) typescript: specifier: 5.8.3 version: 5.8.3 @@ -2987,20 +3020,20 @@ importers: ../../workspaces/common-libs/service-designer: dependencies: '@emotion/css': - specifier: ^11.10.5 - version: 11.13.5 + specifier: 11.10.5 + version: 11.10.5(@babel/core@7.29.0) '@emotion/react': - specifier: ^11.9.3 - version: 11.14.0(@types/react@18.2.0)(react@19.1.0) + specifier: 11.9.3 + version: 11.9.3(@babel/core@7.29.0)(@types/react@18.2.0)(react@19.1.0) '@emotion/styled': - specifier: ^11.10.5 - version: 11.14.1(@emotion/react@11.14.0(@types/react@18.2.0)(react@19.1.0))(@types/react@18.2.0)(react@19.1.0) + specifier: 11.10.5 + version: 11.10.5(@babel/core@7.29.0)(@emotion/react@11.9.3(@babel/core@7.29.0)(@types/react@18.2.0)(react@19.1.0))(@types/react@18.2.0)(react@19.1.0) '@vscode/codicons': specifier: 0.0.44 version: 0.0.44 '@vscode/webview-ui-toolkit': - specifier: ^1.2.0 - version: 1.4.0(react@19.1.0) + specifier: 1.2.0 + version: 1.2.0(react@19.1.0) '@wso2/font-wso2-vscode': specifier: workspace:* version: link:../font-wso2-vscode @@ -3012,23 +3045,23 @@ importers: version: link:../ui-toolkit devDependencies: '@storybook/addon-actions': - specifier: ~7.4.0 - version: 7.4.6(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + specifier: 7.4.0 + version: 7.4.0(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@storybook/addon-essentials': - specifier: ~7.4.0 - version: 7.4.6(@types/react-dom@18.2.0)(@types/react@18.2.0)(encoding@0.1.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + specifier: 7.4.0 + version: 7.4.0(@types/react-dom@18.2.0)(@types/react@18.2.0)(encoding@0.1.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@storybook/addon-links': - specifier: ~7.4.0 - version: 7.4.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + specifier: 7.4.0 + version: 7.4.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@storybook/cli': - specifier: ^7.6.10 - version: 7.6.24(encoding@0.1.13) + specifier: 7.6.10 + version: 7.6.10(encoding@0.1.13) '@storybook/react': - specifier: ~7.4.0 - version: 7.4.6(encoding@0.1.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3) + specifier: 7.4.0 + version: 7.4.0(encoding@0.1.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3) '@storybook/react-webpack5': - specifier: ~7.4.0 - version: 7.4.6(@babel/core@7.27.7)(@swc/helpers@0.5.19)(@types/react-dom@18.2.0)(@types/react@18.2.0)(@types/webpack@5.28.5)(encoding@0.1.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(type-fest@4.41.0)(typescript@5.8.3)(webpack-hot-middleware@2.26.1) + specifier: 7.4.0 + version: 7.4.0(@babel/core@7.29.0)(@swc/helpers@0.5.19)(@types/webpack@5.28.5)(encoding@0.1.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(type-fest@4.41.0)(typescript@5.8.3)(webpack-hot-middleware@2.26.1) '@types/react': specifier: 18.2.0 version: 18.2.0 @@ -3042,20 +3075,20 @@ importers: specifier: 8.32.1 version: 8.32.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3) copyfiles: - specifier: ^2.4.1 + specifier: 2.4.1 version: 2.4.1 eslint: specifier: ^9.27.0 version: 9.39.4(jiti@2.6.1) eslint-plugin-react: - specifier: ^7.33.1 - version: 7.37.5(eslint@9.39.4(jiti@2.6.1)) + specifier: 7.33.1 + version: 7.33.1(eslint@9.39.4(jiti@2.6.1)) eslint-plugin-react-hooks: - specifier: ^4.6.0 - version: 4.6.2(eslint@9.39.4(jiti@2.6.1)) + specifier: 4.6.0 + version: 4.6.0(eslint@9.39.4(jiti@2.6.1)) eslint-plugin-react-refresh: - specifier: ^0.4.4 - version: 0.4.26(eslint@9.39.4(jiti@2.6.1)) + specifier: 0.4.4 + version: 0.4.4(eslint@9.39.4(jiti@2.6.1)) typescript: specifier: 5.8.3 version: 5.8.3 @@ -3063,78 +3096,78 @@ importers: ../../workspaces/common-libs/ui-toolkit: dependencies: '@emotion/css': - specifier: ^11.10.5 - version: 11.13.5 + specifier: 11.10.5 + version: 11.10.5(@babel/core@7.29.0) '@emotion/react': - specifier: ^11.9.3 + specifier: 11.14.0 version: 11.14.0(@types/react@18.2.0)(react@19.1.0) '@emotion/styled': - specifier: ^11.10.5 - version: 11.14.1(@emotion/react@11.14.0(@types/react@18.2.0)(react@19.1.0))(@types/react@18.2.0)(react@19.1.0) + specifier: 11.14.0 + version: 11.14.0(@emotion/react@11.14.0(@types/react@18.2.0)(react@19.1.0))(@types/react@18.2.0)(react@19.1.0) '@headlessui/react': - specifier: ~1.7.18 - version: 1.7.19(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + specifier: 1.7.18 + version: 1.7.18(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@monaco-editor/react': - specifier: ~4.7.0 + specifier: 4.7.0 version: 4.7.0(monaco-editor@0.52.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@projectstorm/geometry': - specifier: ^6.7.4 + specifier: 6.7.4 version: 6.7.4 '@projectstorm/react-canvas-core': - specifier: ^6.7.4 + specifier: 6.7.4 version: 6.7.4(lodash@4.17.23)(react@19.1.0) '@projectstorm/react-diagrams': - specifier: ^6.7.4 - version: 6.7.4(@emotion/react@11.14.0(@types/react@18.2.0)(react@19.1.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@18.2.0)(react@19.1.0))(@types/react@18.2.0)(react@19.1.0))(dagre@0.8.5)(lodash@4.17.23)(pathfinding@0.4.18)(paths-js@0.4.11)(react@19.1.0)(resize-observer-polyfill@1.5.1) + specifier: 6.7.4 + version: 6.7.4(@emotion/react@11.14.0(@types/react@18.2.0)(react@19.1.0))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@18.2.0)(react@19.1.0))(@types/react@18.2.0)(react@19.1.0))(dagre@0.8.5)(lodash@4.17.23)(pathfinding@0.4.18)(paths-js@0.4.11)(react@19.1.0)(resize-observer-polyfill@1.5.1) '@projectstorm/react-diagrams-core': - specifier: ^7.0.3 + specifier: 7.0.3 version: 7.0.3(@emotion/react@11.14.0(@types/react@18.2.0)(react@19.1.0))(@types/react@18.2.0) '@vscode/codicons': specifier: 0.0.44 version: 0.0.44 '@vscode/webview-ui-toolkit': - specifier: ~1.4.0 + specifier: 1.4.0 version: 1.4.0(react@19.1.0) '@wso2/font-wso2-vscode': specifier: workspace:* version: link:../font-wso2-vscode classnames: - specifier: ^2.5.1 + specifier: 2.5.1 version: 2.5.1 lodash: specifier: 4.17.23 version: 4.17.23 monaco-editor: - specifier: ~0.52.2 + specifier: 0.52.2 version: 0.52.2 prismjs: - specifier: ^1.30.0 + specifier: 1.30.0 version: 1.30.0 react-hook-form: - specifier: 7.56.3 - version: 7.56.3(react@19.1.0) + specifier: 7.56.4 + version: 7.56.4(react@19.1.0) devDependencies: '@storybook/addon-docs': - specifier: ^8.6.14 - version: 8.6.18(@types/react@18.2.0)(storybook@8.6.18(prettier@3.5.3)) + specifier: 8.6.14 + version: 8.6.14(@types/react@18.2.0)(storybook@8.6.14(prettier@3.5.3)) '@storybook/addon-essentials': - specifier: ^8.6.14 - version: 8.6.14(@types/react@18.2.0)(storybook@8.6.18(prettier@3.5.3)) + specifier: 8.6.14 + version: 8.6.14(@types/react@18.2.0)(storybook@8.6.14(prettier@3.5.3)) '@storybook/cli': - specifier: ^8.6.14 - version: 8.6.18(@babel/preset-env@7.27.2(@babel/core@7.27.7))(prettier@3.5.3) + specifier: 8.6.14 + version: 8.6.14(@babel/preset-env@7.27.2(@babel/core@7.29.0))(prettier@3.5.3) '@storybook/react': - specifier: ^8.6.14 - version: 8.6.18(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@8.6.18(prettier@3.5.3))(typescript@5.8.3) + specifier: 8.6.14 + version: 8.6.14(@storybook/test@8.6.14(storybook@8.6.14(prettier@3.5.3)))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@8.6.14(prettier@3.5.3))(typescript@5.8.3) '@storybook/react-vite': - specifier: ^8.6.14 - version: 8.6.18(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(rollup@4.59.0)(storybook@8.6.18(prettier@3.5.3))(typescript@5.8.3)(vite@6.4.1(@types/node@22.15.35)(jiti@2.6.1)(sass@1.98.0)(terser@5.46.0)(yaml@2.8.2)) + specifier: 8.6.14 + version: 8.6.14(@storybook/test@8.6.14(storybook@8.6.14(prettier@3.5.3)))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(rollup@4.41.0)(storybook@8.6.14(prettier@3.5.3))(typescript@5.8.3)(vite@6.0.7(@types/node@22.15.24)(jiti@2.6.1)(sass@1.89.0)(terser@5.46.0)(yaml@2.8.0)) '@types/lodash': - specifier: ~4.17.16 - version: 4.17.17 + specifier: 4.17.16 + version: 4.17.16 '@types/prismjs': - specifier: ^1.26.5 - version: 1.26.6 + specifier: 1.26.5 + version: 1.26.5 '@types/react': specifier: 18.2.0 version: 18.2.0 @@ -3148,57 +3181,57 @@ importers: specifier: 8.32.1 version: 8.32.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3) copyfiles: - specifier: ~2.4.1 + specifier: 2.4.1 version: 2.4.1 eslint: specifier: ^9.27.0 version: 9.39.4(jiti@2.6.1) eslint-plugin-react: - specifier: ^7.37.5 + specifier: 7.37.5 version: 7.37.5(eslint@9.39.4(jiti@2.6.1)) eslint-plugin-react-hooks: - specifier: ^5.2.0 + specifier: 5.2.0 version: 5.2.0(eslint@9.39.4(jiti@2.6.1)) eslint-plugin-storybook: - specifier: ^0.8.0 + specifier: 0.8.0 version: 0.8.0(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3) gh-pages: - specifier: ^6.3.0 + specifier: 6.3.0 version: 6.3.0 glob: - specifier: ^11.1.0 + specifier: 11.1.0 version: 11.1.0 http-server: - specifier: ^14.1.1 + specifier: 14.1.1 version: 14.1.1 react-error-boundary: - specifier: ^6.0.0 - version: 6.0.3(react@19.1.0) + specifier: 6.0.0 + version: 6.0.0(react@19.1.0) storybook: - specifier: ^8.6.14 - version: 8.6.18(prettier@3.5.3) + specifier: 8.6.14 + version: 8.6.14(prettier@3.5.3) typescript: specifier: 5.8.3 version: 5.8.3 vite: - specifier: ^6.0.7 - version: 6.4.1(@types/node@22.15.35)(jiti@2.6.1)(sass@1.98.0)(terser@5.46.0)(yaml@2.8.2) + specifier: 6.0.7 + version: 6.0.7(@types/node@22.15.24)(jiti@2.6.1)(sass@1.89.0)(terser@5.46.0)(yaml@2.8.0) ../../workspaces/mcp-inspector/mcp-inspector-extension: dependencies: '@modelcontextprotocol/inspector': - specifier: ^0.17.2 - version: 0.17.5(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.18)(@types/react-dom@18.2.0)(@types/react@18.2.0)(typescript@5.8.3) + specifier: 0.17.2 + version: 0.17.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.18)(@types/react-dom@18.2.0)(@types/react@18.2.0)(typescript@5.8.3) devDependencies: '@types/mocha': - specifier: ^10.0.3 - version: 10.0.10 + specifier: 10.0.3 + version: 10.0.3 '@types/node': specifier: 22.15.18 version: 22.15.18 '@types/vscode': - specifier: ^1.84.0 - version: 1.110.0 + specifier: 1.104.0 + version: 1.104.0 '@typescript-eslint/eslint-plugin': specifier: 8.32.1 version: 8.32.1(@typescript-eslint/parser@8.32.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3))(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3) @@ -3206,23 +3239,23 @@ importers: specifier: 8.32.1 version: 8.32.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3) '@vscode/test-electron': - specifier: ^2.5.2 + specifier: 2.5.2 version: 2.5.2 '@vscode/vsce': - specifier: ^3.7.0 - version: 3.7.1 + specifier: 3.7.0 + version: 3.7.0 copy-webpack-plugin: - specifier: ^13.0.0 - version: 13.0.1(webpack@5.105.4) + specifier: 13.0.0 + version: 13.0.0(webpack@5.104.1) copyfiles: - specifier: ^2.4.1 + specifier: 2.4.1 version: 2.4.1 eslint: specifier: ^9.27.0 version: 9.39.4(jiti@2.6.1) mocha: - specifier: ^11.2.2 - version: 11.7.5 + specifier: 11.2.2 + version: 11.2.2 open: specifier: 10.2.0 version: 10.2.0 @@ -3230,49 +3263,49 @@ importers: specifier: 6.1.6 version: 6.1.6 ts-loader: - specifier: ^9.5.2 - version: 9.5.4(typescript@5.8.3)(webpack@5.105.4) + specifier: 9.5.2 + version: 9.5.2(typescript@5.8.3)(webpack@5.104.1) typescript: specifier: 5.8.3 version: 5.8.3 webpack: - specifier: ^5.94.0 - version: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@5.1.4) + specifier: 5.104.1 + version: 5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@5.1.4) webpack-cli: - specifier: ^5.1.4 - version: 5.1.4(webpack@5.105.4) + specifier: 5.1.4 + version: 5.1.4(webpack@5.104.1) ../../workspaces/mi/mi-component-diagram: dependencies: '@emotion/react': - specifier: ^11.9.3 - version: 11.14.0(@types/react@18.2.0)(react@18.2.0) + specifier: 11.9.3 + version: 11.9.3(@babel/core@7.29.0)(@types/react@18.2.0)(react@18.2.0) '@emotion/styled': - specifier: ^11.10.5 - version: 11.14.1(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0) + specifier: 11.10.5 + version: 11.10.5(@babel/core@7.29.0)(@emotion/react@11.9.3(@babel/core@7.29.0)(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0) '@projectstorm/geometry': - specifier: ^6.7.4 + specifier: 6.7.4 version: 6.7.4 '@projectstorm/react-canvas-core': - specifier: ^6.7.4 + specifier: 6.7.4 version: 6.7.4(lodash@4.17.23)(react@18.2.0) '@projectstorm/react-diagrams': - specifier: ^6.7.4 - version: 6.7.4(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0))(dagre@0.8.5)(lodash@4.17.23)(pathfinding@0.4.18)(paths-js@0.4.11)(react@18.2.0)(resize-observer-polyfill@1.5.1) + specifier: 6.7.4 + version: 6.7.4(@emotion/react@11.9.3(@babel/core@7.29.0)(@types/react@18.2.0)(react@18.2.0))(@emotion/styled@11.10.5(@babel/core@7.29.0)(@emotion/react@11.9.3(@babel/core@7.29.0)(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0))(dagre@0.8.5)(lodash@4.17.23)(pathfinding@0.4.18)(paths-js@0.4.11)(react@18.2.0)(resize-observer-polyfill@1.5.1) '@projectstorm/react-diagrams-core': - specifier: ^6.7.4 + specifier: 6.7.4 version: 6.7.4(lodash@4.17.23)(react@18.2.0)(resize-observer-polyfill@1.5.1) '@projectstorm/react-diagrams-defaults': - specifier: ^6.7.4 - version: 6.7.4(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0))(lodash@4.17.23)(react@18.2.0)(resize-observer-polyfill@1.5.1) + specifier: 6.7.4 + version: 6.7.4(@emotion/react@11.9.3(@babel/core@7.29.0)(@types/react@18.2.0)(react@18.2.0))(@emotion/styled@11.10.5(@babel/core@7.29.0)(@emotion/react@11.9.3(@babel/core@7.29.0)(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0))(lodash@4.17.23)(react@18.2.0)(resize-observer-polyfill@1.5.1) '@projectstorm/react-diagrams-routing': - specifier: ^6.7.4 - version: 6.7.4(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0))(dagre@0.8.5)(lodash@4.17.23)(pathfinding@0.4.18)(paths-js@0.4.11)(react@18.2.0)(resize-observer-polyfill@1.5.1) + specifier: 6.7.4 + version: 6.7.4(@emotion/react@11.9.3(@babel/core@7.29.0)(@types/react@18.2.0)(react@18.2.0))(@emotion/styled@11.10.5(@babel/core@7.29.0)(@emotion/react@11.9.3(@babel/core@7.29.0)(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0))(dagre@0.8.5)(lodash@4.17.23)(pathfinding@0.4.18)(paths-js@0.4.11)(react@18.2.0)(resize-observer-polyfill@1.5.1) '@wso2/ui-toolkit': specifier: workspace:* version: link:../../common-libs/ui-toolkit dagre: - specifier: ~0.8.5 + specifier: 0.8.5 version: 0.8.5 lodash: specifier: 4.17.23 @@ -3285,13 +3318,13 @@ importers: version: 18.2.0(react@18.2.0) devDependencies: '@storybook/react': - specifier: ^6.3.7 - version: 6.5.16(@babel/core@7.27.7)(@types/webpack@5.28.5)(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(require-from-string@2.0.2)(type-fest@4.41.0)(typescript@5.8.3)(webpack-dev-server@5.2.3(webpack@5.105.4))(webpack-hot-middleware@2.26.1) + specifier: 6.3.7 + version: 6.3.7(@babel/core@7.29.0)(@types/react@18.2.0)(@types/webpack@4.41.40)(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-hot-middleware@2.26.1) '@types/dagre': - specifier: ~0.7.52 - version: 0.7.54 + specifier: 0.7.52 + version: 0.7.52 '@types/lodash': - specifier: ~4.14.202 + specifier: 4.14.202 version: 4.14.202 '@types/react': specifier: 18.2.0 @@ -3300,7 +3333,7 @@ importers: specifier: 18.2.0 version: 18.2.0 copyfiles: - specifier: ^2.4.1 + specifier: 2.4.1 version: 2.4.1 typescript: specifier: 5.8.3 @@ -3309,23 +3342,23 @@ importers: ../../workspaces/mi/mi-core: dependencies: '@types/vscode-webview': - specifier: ^1.57.5 + specifier: 1.57.5 version: 1.57.5 '@wso2/mi-syntax-tree': specifier: workspace:* version: link:../syntax-tree vscode-languageserver-types: - specifier: ~3.17.5 + specifier: 3.17.5 version: 3.17.5 vscode-messenger-common: - specifier: ^0.5.1 + specifier: 0.5.1 version: 0.5.1 devDependencies: '@eslint/eslintrc': - specifier: ~3.3.1 - version: 3.3.5 + specifier: 3.3.1 + version: 3.3.1 '@eslint/js': - specifier: ~9.27.0 + specifier: 9.27.0 version: 9.27.0 '@typescript-eslint/eslint-plugin': specifier: 8.32.1 @@ -3343,38 +3376,35 @@ importers: ../../workspaces/mi/mi-data-mapper: dependencies: '@emotion/css': - specifier: ~11.13.5 + specifier: 11.13.5 version: 11.13.5 '@emotion/react': - specifier: ^11.14.0 + specifier: 11.14.0 version: 11.14.0(@types/react@18.2.0)(react@18.2.0) '@emotion/styled': - specifier: ^11.14.0 - version: 11.14.1(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0) + specifier: 11.14.0 + version: 11.14.0(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0) '@projectstorm/geometry': - specifier: ^6.7.4 + specifier: 6.7.4 version: 6.7.4 '@projectstorm/react-canvas-core': - specifier: ^6.7.4 + specifier: 6.7.4 version: 6.7.4(lodash@4.17.23)(react@18.2.0) '@projectstorm/react-diagrams': - specifier: ^6.7.4 - version: 6.7.4(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0))(dagre@0.8.5)(lodash@4.17.23)(pathfinding@0.4.18)(paths-js@0.4.11)(react@18.2.0)(resize-observer-polyfill@1.5.1) + specifier: 6.7.4 + version: 6.7.4(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0))(dagre@0.8.5)(lodash@4.17.23)(pathfinding@0.4.18)(paths-js@0.4.11)(react@18.2.0)(resize-observer-polyfill@1.5.1) '@projectstorm/react-diagrams-core': - specifier: ^6.7.4 + specifier: 6.7.4 version: 6.7.4(lodash@4.17.23)(react@18.2.0)(resize-observer-polyfill@1.5.1) '@tanstack/query-core': - specifier: ^5.76.2 - version: 5.90.20 + specifier: 5.76.2 + version: 5.76.2 '@tanstack/react-query': specifier: 5.76.2 version: 5.76.2(react@18.2.0) - '@types/mousetrap': - specifier: ~1.6.15 - version: 1.6.15 '@vscode/webview-ui-toolkit': - specifier: ^1.2.0 - version: 1.4.0(react@18.2.0) + specifier: 1.2.0 + version: 1.2.0(react@18.2.0) '@wso2/mi-core': specifier: workspace:* version: link:../mi-core @@ -3385,25 +3415,25 @@ importers: specifier: workspace:* version: link:../../common-libs/ui-toolkit ajv: - specifier: ~8.17.1 + specifier: 8.17.1 version: 8.17.1 ajv-formats: - specifier: ~3.0.1 + specifier: 3.0.1 version: 3.0.1(ajv@8.17.1) blueimp-md5: - specifier: ^2.19.0 + specifier: 2.19.0 version: 2.19.0 classnames: - specifier: ^2.5.1 + specifier: 2.5.1 version: 2.5.1 lodash: specifier: 4.17.23 version: 4.17.23 lodash.debounce: - specifier: ^4.0.8 + specifier: 4.0.8 version: 4.0.8 mousetrap: - specifier: ^1.6.5 + specifier: 1.6.5 version: 1.6.5 react: specifier: 18.2.0 @@ -3412,24 +3442,27 @@ importers: specifier: 18.2.0 version: 18.2.0(react@18.2.0) resize-observer-polyfill: - specifier: ^1.5.1 + specifier: 1.5.1 version: 1.5.1 vscode-languageserver-types: - specifier: ^3.17.5 + specifier: 3.17.5 version: 3.17.5 zustand: - specifier: ^5.0.5 - version: 5.0.11(@types/react@18.2.0)(react@18.2.0)(use-sync-external-store@1.6.0(react@18.2.0)) + specifier: 5.0.5 + version: 5.0.5(@types/react@18.2.0)(react@18.2.0)(use-sync-external-store@1.6.0(react@18.2.0)) devDependencies: '@types/blueimp-md5': - specifier: ^2.18.2 + specifier: 2.18.2 version: 2.18.2 '@types/lodash': specifier: 4.17.17 version: 4.17.17 '@types/lodash.debounce': - specifier: ^4.0.9 + specifier: 4.0.9 version: 4.0.9 + '@types/mousetrap': + specifier: 1.6.15 + version: 1.6.15 '@types/react': specifier: 18.2.0 version: 18.2.0 @@ -3443,43 +3476,43 @@ importers: specifier: 8.32.1 version: 8.32.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3) copyfiles: - specifier: ^2.4.1 + specifier: 2.4.1 version: 2.4.1 css-loader: - specifier: ^7.1.2 - version: 7.1.4(webpack@5.105.4) + specifier: 7.1.2 + version: 7.1.2(webpack@5.104.1) eslint: specifier: ^9.27.0 version: 9.39.4(jiti@2.6.1) eslint-plugin-react-hooks: - specifier: ^5.2.0 + specifier: 5.2.0 version: 5.2.0(eslint@9.39.4(jiti@2.6.1)) eslint-plugin-react-refresh: - specifier: ^0.4.20 - version: 0.4.26(eslint@9.39.4(jiti@2.6.1)) + specifier: 0.4.20 + version: 0.4.20(eslint@9.39.4(jiti@2.6.1)) file-loader: - specifier: ^6.2.0 - version: 6.2.0(webpack@5.105.4) + specifier: 6.2.0 + version: 6.2.0(webpack@5.104.1) react-hook-form: specifier: 7.56.4 version: 7.56.4(react@18.2.0) ts-loader: - specifier: ^9.5.2 - version: 9.5.4(typescript@5.8.3)(webpack@5.105.4) + specifier: 9.5.2 + version: 9.5.2(typescript@5.8.3)(webpack@5.104.1) ts-morph: - specifier: ^22.0.0 + specifier: 22.0.0 version: 22.0.0 tslib: - specifier: ^2.8.1 + specifier: 2.8.1 version: 2.8.1 tslint: - specifier: ^6.1.3 + specifier: 6.1.3 version: 6.1.3(typescript@5.8.3) tslint-react: - specifier: ^5.0.0 + specifier: 5.0.0 version: 5.0.0(tslint@6.1.3(typescript@5.8.3))(typescript@5.8.3) tslint-react-hooks: - specifier: ^2.2.2 + specifier: 2.2.2 version: 2.2.2(tslint@6.1.3(typescript@5.8.3))(typescript@5.8.3) typescript: specifier: 5.8.3 @@ -3490,49 +3523,49 @@ importers: ../../workspaces/mi/mi-diagram: dependencies: '@emotion/css': - specifier: ^11.13.5 + specifier: 11.13.5 version: 11.13.5 '@emotion/react': - specifier: ~11.14.0 + specifier: 11.14.0 version: 11.14.0(@types/react@18.2.0)(react@18.2.0) '@emotion/styled': - specifier: ~11.14.0 - version: 11.14.1(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0) + specifier: 11.14.0 + version: 11.14.0(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0) '@hookform/resolvers': - specifier: ^2.8.0 - version: 2.9.11(react-hook-form@7.56.4(react@18.2.0)) + specifier: 2.8.0 + version: 2.8.0(react-hook-form@7.56.4(react@18.2.0)) '@projectstorm/geometry': - specifier: ^7.0.3 + specifier: 7.0.3 version: 7.0.3 '@projectstorm/react-canvas-core': - specifier: ^7.0.3 + specifier: 7.0.3 version: 7.0.3(@types/react@18.2.0) '@projectstorm/react-diagrams': - specifier: ^7.0.4 + specifier: 7.0.4 version: 7.0.4(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0) '@projectstorm/react-diagrams-core': - specifier: ^7.0.3 + specifier: 7.0.3 version: 7.0.3(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0) '@projectstorm/react-diagrams-defaults': - specifier: ^7.1.3 + specifier: 7.1.3 version: 7.1.3(@types/react@18.2.0) '@projectstorm/react-diagrams-routing': - specifier: ^7.1.3 + specifier: 7.1.3 version: 7.1.3(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0) '@types/lodash': - specifier: ~4.17.17 + specifier: 4.17.17 version: 4.17.17 '@types/mousetrap': - specifier: ~1.6.15 + specifier: 1.6.15 version: 1.6.15 '@types/mustache': - specifier: ~4.2.5 - version: 4.2.6 + specifier: 4.2.5 + version: 4.2.5 '@types/node': - specifier: ~22.15.21 - version: 22.15.35 + specifier: 22.15.21 + version: 22.15.21 '@vscode/webview-ui-toolkit': - specifier: ~1.4.0 + specifier: 1.4.0 version: 1.4.0(react@18.2.0) '@wso2/mi-core': specifier: workspace:* @@ -3547,14 +3580,14 @@ importers: specifier: workspace:* version: link:../../common-libs/ui-toolkit copyfiles: - specifier: ~2.4.1 + specifier: 2.4.1 version: 2.4.1 eslint-plugin-react-hooks: - specifier: ~5.2.0 + specifier: 5.2.0 version: 5.2.0(eslint@9.39.4(jiti@2.6.1)) eslint-plugin-unused-imports: - specifier: ~4.1.4 - version: 4.1.4(@typescript-eslint/eslint-plugin@8.32.1(@typescript-eslint/parser@8.32.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3))(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3))(eslint@9.39.4(jiti@2.6.1)) + specifier: 4.1.4 + version: 4.1.4(@typescript-eslint/eslint-plugin@8.32.1(@typescript-eslint/parser@8.33.0(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3))(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3))(eslint@9.39.4(jiti@2.6.1)) html-to-image: specifier: 1.11.11 version: 1.11.11 @@ -3562,20 +3595,20 @@ importers: specifier: 4.17.23 version: 4.17.23 mousetrap: - specifier: ~1.6.5 + specifier: 1.6.5 version: 1.6.5 mustache: - specifier: ~4.2.0 + specifier: 4.2.0 version: 4.2.0 path: - specifier: ~0.12.7 + specifier: 0.12.7 version: 0.12.7 react: specifier: 18.2.0 version: 18.2.0 react-dnd: specifier: 16.0.1 - version: 16.0.1(@types/hoist-non-react-statics@3.3.7(@types/react@18.2.0))(@types/node@22.15.35)(@types/react@18.2.0)(react@18.2.0) + version: 16.0.1(@types/hoist-non-react-statics@3.3.7(@types/react@18.2.0))(@types/node@22.15.21)(@types/react@18.2.0)(react@18.2.0) react-dnd-html5-backend: specifier: 16.0.1 version: 16.0.1 @@ -3586,68 +3619,68 @@ importers: specifier: 7.56.4 version: 7.56.4(react@18.2.0) react-json-view: - specifier: latest + specifier: 1.21.3 version: 1.21.3(@types/react@18.2.0)(encoding@0.1.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) react-json-view-lite: - specifier: latest + specifier: 2.5.0 version: 2.5.0(react@18.2.0) react-markdown: - specifier: ~10.1.0 + specifier: 10.1.0 version: 10.1.0(@types/react@18.2.0)(react@18.2.0) vscode-languageserver-types: - specifier: ~3.17.5 + specifier: 3.17.5 version: 3.17.5 xmlbuilder2: - specifier: ~3.1.1 + specifier: 3.1.1 version: 3.1.1 yup: - specifier: ~1.6.1 + specifier: 1.6.1 version: 1.6.1 devDependencies: '@babel/core': - specifier: ~7.27.1 - version: 7.27.7 + specifier: 7.27.1 + version: 7.27.1 '@babel/preset-env': - specifier: ~7.27.2 - version: 7.27.2(@babel/core@7.27.7) + specifier: 7.27.2 + version: 7.27.2(@babel/core@7.27.1) '@storybook/addon-essentials': - specifier: ^8.6.14 - version: 8.6.14(@types/react@18.2.0)(storybook@8.6.18(prettier@3.5.3)) + specifier: 8.6.14 + version: 8.6.14(@types/react@18.2.0)(storybook@8.6.14(prettier@3.5.3)) '@storybook/addon-interactions': - specifier: ^8.6.14 - version: 8.6.14(storybook@8.6.18(prettier@3.5.3)) + specifier: 8.6.14 + version: 8.6.14(storybook@8.6.14(prettier@3.5.3)) '@storybook/addon-links': - specifier: ^8.6.14 - version: 8.6.18(react@18.2.0)(storybook@8.6.18(prettier@3.5.3)) + specifier: 8.6.14 + version: 8.6.14(react@18.2.0)(storybook@8.6.14(prettier@3.5.3)) '@storybook/addon-onboarding': - specifier: ^8.6.14 - version: 8.6.18(storybook@8.6.18(prettier@3.5.3)) + specifier: 8.6.14 + version: 8.6.14(storybook@8.6.14(prettier@3.5.3)) '@storybook/blocks': - specifier: ^8.6.14 - version: 8.6.14(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.18(prettier@3.5.3)) + specifier: 8.6.14 + version: 8.6.14(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.14(prettier@3.5.3)) '@storybook/react': - specifier: ^8.6.14 - version: 8.6.18(@storybook/test@8.6.15(storybook@8.6.18(prettier@3.5.3)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.18(prettier@3.5.3))(typescript@5.8.3) + specifier: 8.6.14 + version: 8.6.14(@storybook/test@8.6.14(storybook@8.6.14(prettier@3.5.3)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.14(prettier@3.5.3))(typescript@5.8.3) '@storybook/react-webpack5': - specifier: ^8.6.14 - version: 8.6.18(@storybook/test@8.6.15(storybook@8.6.18(prettier@3.5.3)))(@swc/core@1.15.18(@swc/helpers@0.5.19))(esbuild@0.25.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.18(prettier@3.5.3))(typescript@5.8.3) + specifier: 8.6.14 + version: 8.6.14(@storybook/test@8.6.14(storybook@8.6.14(prettier@3.5.3)))(@swc/core@1.15.18(@swc/helpers@0.5.19))(esbuild@0.25.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.14(prettier@3.5.3))(typescript@5.8.3) '@storybook/test': - specifier: ^8.6.14 - version: 8.6.15(storybook@8.6.18(prettier@3.5.3)) + specifier: 8.6.14 + version: 8.6.14(storybook@8.6.14(prettier@3.5.3)) '@testing-library/dom': - specifier: ~10.4.0 - version: 10.4.1 + specifier: 10.4.0 + version: 10.4.0 '@testing-library/jest-dom': - specifier: ~6.6.3 - version: 6.6.4 + specifier: 6.6.3 + version: 6.6.3 '@testing-library/react': - specifier: ~16.3.0 - version: 16.3.2(@testing-library/dom@10.4.1)(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + specifier: 16.3.0 + version: 16.3.0(@testing-library/dom@10.4.0)(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@types/deep-equal': - specifier: ~1.0.4 + specifier: 1.0.4 version: 1.0.4 '@types/jest': - specifier: ^30.0.0 + specifier: 30.0.0 version: 30.0.0 '@types/react': specifier: 18.2.0 @@ -3656,97 +3689,109 @@ importers: specifier: 18.2.0 version: 18.2.0 '@types/react-test-renderer': - specifier: ~19.1.0 - version: 19.1.0 + specifier: 18.3.0 + version: 18.3.0 '@types/xml2js': - specifier: ~0.4.14 + specifier: 0.4.14 version: 0.4.14 '@typescript-eslint/eslint-plugin': specifier: 8.32.1 - version: 8.32.1(@typescript-eslint/parser@8.32.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3))(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3) + version: 8.32.1(@typescript-eslint/parser@8.33.0(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3))(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3) babel-jest: - specifier: ^30.0.0 - version: 30.3.0(@babel/core@7.27.7) + specifier: 30.0.0 + version: 30.0.0(@babel/core@7.27.1) deep-equal: - specifier: ~2.2.3 + specifier: 2.2.3 version: 2.2.3 identity-obj-proxy: - specifier: ~3.0.0 + specifier: 3.0.0 version: 3.0.0 jest: - specifier: ^30.0.0 - version: 30.3.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(esbuild-register@3.6.0(esbuild@0.25.12))(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.35)(typescript@5.8.3)) + specifier: 30.0.0 + version: 30.0.0(@types/node@22.15.21)(babel-plugin-macros@3.1.0)(esbuild-register@3.6.0(esbuild@0.25.12))(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.21)(typescript@5.8.3)) jest-environment-jsdom: specifier: 29.7.0 version: 29.7.0 pretty-format: - specifier: ~29.7.0 + specifier: 29.7.0 version: 29.7.0 react-test-renderer: - specifier: ~19.1.0 - version: 19.1.5(react@18.2.0) + specifier: 18.3.0 + version: 18.3.0(react@18.2.0) storybook: - specifier: ^8.6.14 - version: 8.6.18(prettier@3.5.3) + specifier: 8.6.14 + version: 8.6.14(prettier@3.5.3) ts-jest: specifier: 29.3.4 - version: 29.3.4(@babel/core@7.27.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@30.3.0(@babel/core@7.27.7))(esbuild@0.25.12)(jest@30.3.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(esbuild-register@3.6.0(esbuild@0.25.12))(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.35)(typescript@5.8.3)))(typescript@5.8.3) + version: 29.3.4(@babel/core@7.27.1)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@30.0.0(@babel/core@7.27.1))(esbuild@0.25.12)(jest@30.0.0(@types/node@22.15.21)(babel-plugin-macros@3.1.0)(esbuild-register@3.6.0(esbuild@0.25.12))(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.21)(typescript@5.8.3)))(typescript@5.8.3) typescript: specifier: 5.8.3 version: 5.8.3 vscode-jsonrpc: - specifier: ^8.2.1 + specifier: 8.2.1 version: 8.2.1 vscode-languageclient: - specifier: ^9.0.1 + specifier: 9.0.1 version: 9.0.1 vscode-languageserver-protocol: - specifier: ^3.17.5 + specifier: 3.17.5 version: 3.17.5 xml2js: - specifier: ~0.6.2 + specifier: 0.6.2 version: 0.6.2 ../../workspaces/mi/mi-extension: dependencies: + '@ai-sdk/amazon-bedrock': + specifier: 4.0.4 + version: 4.0.4(zod@4.1.11) '@ai-sdk/anthropic': - specifier: ^2.0.35 - version: 2.0.70(zod@3.25.76) + specifier: 3.0.46 + version: 3.0.46(zod@4.1.11) + '@anthropic-ai/tokenizer': + specifier: 0.0.4 + version: 0.0.4 '@apidevtools/json-schema-ref-parser': specifier: 12.0.2 version: 12.0.2 '@babel/core': - specifier: ^7.27.1 - version: 7.27.7 + specifier: 7.27.1 + version: 7.27.1 '@babel/plugin-transform-typescript': - specifier: ^7.27.1 - version: 7.28.6(@babel/core@7.27.7) + specifier: 7.27.1 + version: 7.27.1(@babel/core@7.27.1) '@iarna/toml': - specifier: ^2.2.5 + specifier: 2.2.5 version: 2.2.5 + '@langfuse/otel': + specifier: 4.5.1 + version: 4.5.1(@opentelemetry/api@1.9.0)(@opentelemetry/core@2.4.0(@opentelemetry/api@1.9.0))(@opentelemetry/exporter-trace-otlp-http@0.210.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.4.0(@opentelemetry/api@1.9.0)) + '@opentelemetry/sdk-node': + specifier: 0.210.0 + version: 0.210.0(@opentelemetry/api@1.9.0) '@types/fs-extra': - specifier: ~11.0.4 + specifier: 11.0.4 version: 11.0.4 '@types/handlebars': - specifier: ^4.1.0 + specifier: 4.1.0 version: 4.1.0 '@types/json-schema': specifier: 7.0.15 version: 7.0.15 '@types/lodash': - specifier: ~4.17.17 + specifier: 4.17.17 version: 4.17.17 '@types/mustache': - specifier: ~4.2.6 + specifier: 4.2.6 version: 4.2.6 '@types/tmp': - specifier: ~0.2.6 + specifier: 0.2.6 version: 0.2.6 '@types/xml2js': - specifier: ~0.4.12 - version: 0.4.14 + specifier: 0.4.12 + version: 0.4.12 '@vscode/vsce': - specifier: ^3.7.0 + specifier: 3.7.1 version: 3.7.1 '@wso2/font-wso2-vscode': specifier: workspace:* @@ -3767,34 +3812,40 @@ importers: specifier: workspace:* version: link:../../common-libs/playwright-vscode-tester adm-zip: - specifier: ~0.5.16 + specifier: 0.5.16 version: 0.5.16 ai: - specifier: ^5.0.76 - version: 5.0.152(zod@3.25.76) + specifier: 6.0.94 + version: 6.0.94(zod@4.1.11) axios: - specifier: ^1.13.5 - version: 1.13.6 + specifier: 1.13.5 + version: 1.13.5 + canonicalize: + specifier: 2.1.0 + version: 2.1.0 copyfiles: - specifier: ^2.4.1 + specifier: 2.4.1 version: 2.4.1 cors-anywhere: - specifier: ^0.4.4 + specifier: 0.4.4 version: 0.4.4 dotenv: - specifier: ~16.5.0 + specifier: 16.5.0 version: 16.5.0 fast-xml-parser: specifier: 5.3.8 version: 5.3.8 find-process: - specifier: ~1.4.10 - version: 1.4.11 + specifier: 1.4.10 + version: 1.4.10 fs-extra: - specifier: ~11.3.0 - version: 11.3.4 + specifier: 11.3.0 + version: 11.3.0 + glob: + specifier: 11.1.0 + version: 11.1.0 handlebars: - specifier: ^4.7.8 + specifier: 4.7.8 version: 4.7.8 json-schema: specifier: 0.4.0 @@ -3803,90 +3854,102 @@ importers: specifier: 3.1.1 version: 3.1.1 jsonix: - specifier: ~3.0.0 + specifier: 3.0.0 version: 3.0.0 jwt-decode: - specifier: ^4.0.0 + specifier: 4.0.0 version: 4.0.0 + langfuse: + specifier: 3.38.6 + version: 3.38.6 lodash: specifier: 4.17.23 version: 4.17.23 mustache: - specifier: ~4.2.0 + specifier: 4.2.0 version: 4.2.0 node-fetch: - specifier: ~3.3.2 + specifier: 3.3.2 version: 3.3.2 node-loader: - specifier: ~2.1.0 - version: 2.1.0(webpack@5.105.4) + specifier: 2.1.0 + version: 2.1.0(webpack@5.104.1) + pdf-lib: + specifier: 1.17.1 + version: 1.17.1 portfinder: - specifier: ^1.0.37 - version: 1.0.38 + specifier: 1.0.37 + version: 1.0.37 recast: - specifier: ^0.23.11 + specifier: 0.23.11 version: 0.23.11 tmp: - specifier: ~0.2.4 - version: 0.2.5 + specifier: 0.2.4 + version: 0.2.4 to-json-schema: specifier: 0.2.5 version: 0.2.5 tree-kill: - specifier: ~1.2.2 + specifier: 1.2.2 version: 1.2.2 + unique-names-generator: + specifier: 4.7.1 + version: 4.7.1 unzipper: - specifier: ~0.12.3 + specifier: 0.12.3 version: 0.12.3 upath: - specifier: ~2.0.1 + specifier: 2.0.1 version: 2.0.1 uuid: - specifier: ~11.1.0 + specifier: 11.1.0 version: 11.1.0 vscode-debugadapter: - specifier: ^1.51.0 + specifier: 1.51.0 version: 1.51.0 vscode-debugprotocol: - specifier: ^1.51.0 + specifier: 1.51.0 version: 1.51.0 vscode-extension-tester: - specifier: ~8.14.1 - version: 8.14.1(mocha@11.7.5)(typescript@5.8.3) + specifier: 8.14.1 + version: 8.14.1(mocha@11.4.0)(typescript@5.8.3) vscode-languageclient: - specifier: ^9.0.1 + specifier: 9.0.1 version: 9.0.1 vscode-languageserver-protocol: - specifier: ^3.17.5 + specifier: 3.17.5 version: 3.17.5 vscode-messenger: - specifier: ^0.5.1 + specifier: 0.5.1 version: 0.5.1 vscode-messenger-common: - specifier: ^0.5.1 + specifier: 0.5.1 version: 0.5.1 xml2js: specifier: 0.6.2 version: 0.6.2 xstate: - specifier: ^4.38.3 + specifier: 4.38.3 version: 4.38.3 zod: - specifier: ^3.24.1 - version: 3.25.76 + specifier: 4.1.11 + version: 4.1.11 devDependencies: + '@ai-sdk/devtools': + specifier: 0.0.6 + version: 0.0.6 '@playwright/test': - specifier: ~1.55.1 + specifier: 1.55.1 version: 1.55.1 '@types/mocha': - specifier: ^10.0.1 - version: 10.0.10 + specifier: 10.0.1 + version: 10.0.1 '@types/node': specifier: 22.15.21 version: 22.15.21 '@types/vscode': - specifier: ^1.100.0 - version: 1.110.0 + specifier: 1.100.0 + version: 1.100.0 '@typescript-eslint/eslint-plugin': specifier: 8.32.1 version: 8.32.1(@typescript-eslint/parser@8.32.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3))(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3) @@ -3894,7 +3957,7 @@ importers: specifier: 8.32.1 version: 8.32.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3) '@vscode/test-electron': - specifier: ^2.5.2 + specifier: 2.5.2 version: 2.5.2 '@wso2/mi-data-mapper-utils': specifier: workspace:* @@ -3906,46 +3969,43 @@ importers: specifier: workspace:* version: link:../../wso2-platform/wso2-platform-core await-notify: - specifier: ^1.0.1 + specifier: 1.0.1 version: 1.0.1 eslint: specifier: ^9.27.0 version: 9.39.4(jiti@2.6.1) - glob: - specifier: ^11.0.2 - version: 11.1.0 mocha: - specifier: ^11.4.0 - version: 11.7.5 + specifier: 11.4.0 + version: 11.4.0 playwright-core: - specifier: ~1.55.1 + specifier: 1.55.1 version: 1.55.1 rimraf: - specifier: ~6.0.1 + specifier: 6.0.1 version: 6.0.1 ts-loader: - specifier: ^9.5.2 - version: 9.5.4(typescript@5.8.3)(webpack@5.105.4) + specifier: 9.5.2 + version: 9.5.2(typescript@5.8.3)(webpack@5.104.1) ts-morph: - specifier: ^26.0.0 + specifier: 26.0.0 version: 26.0.0 typescript: specifier: 5.8.3 version: 5.8.3 webpack: - specifier: ^5.94.0 - version: 5.105.4(webpack-cli@4.10.0) + specifier: 5.104.1 + version: 5.104.1(webpack-cli@4.10.0) webpack-cli: - specifier: ^4.10.0 - version: 4.10.0(webpack@5.105.4) + specifier: 4.10.0 + version: 4.10.0(webpack@5.104.1) yaml: - specifier: ~2.8.0 - version: 2.8.2 + specifier: 2.8.0 + version: 2.8.0 ../../workspaces/mi/mi-rpc-client: dependencies: '@types/vscode-webview': - specifier: ^1.57.5 + specifier: 1.57.5 version: 1.57.5 '@wso2/mi-core': specifier: workspace:* @@ -3960,10 +4020,10 @@ importers: specifier: 19.1.0 version: 19.1.0(react@19.1.0) vscode-messenger-common: - specifier: ^0.5.1 + specifier: 0.5.1 version: 0.5.1 vscode-messenger-webview: - specifier: ^0.5.1 + specifier: 0.5.1 version: 0.5.1 devDependencies: '@types/react': @@ -3988,64 +4048,61 @@ importers: ../../workspaces/mi/mi-visualizer: dependencies: '@codemirror/lang-xml': - specifier: ~6.1.0 + specifier: 6.1.0 version: 6.1.0 '@codemirror/lint': - specifier: ~6.8.5 + specifier: 6.8.5 version: 6.8.5 '@codemirror/theme-one-dark': - specifier: ~6.1.2 - version: 6.1.3 + specifier: 6.1.2 + version: 6.1.2 '@emotion/css': - specifier: ^11.13.5 + specifier: 11.13.5 version: 11.13.5 '@emotion/react': - specifier: ^11.14.0 + specifier: 11.14.0 version: 11.14.0(@types/react@18.2.0)(react@18.2.0) '@emotion/styled': - specifier: ^11.14.0 - version: 11.14.1(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0) + specifier: 11.14.0 + version: 11.14.0(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0) '@hookform/resolvers': - specifier: ^2.8.0 - version: 2.9.11(react-hook-form@7.56.4(react@18.2.0)) + specifier: 2.8.0 + version: 2.8.0(react-hook-form@7.56.4(react@18.2.0)) '@monaco-editor/react': - specifier: ^4.7.0 + specifier: 4.7.0 version: 4.7.0(monaco-editor@0.52.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@playwright/test': specifier: 1.55.1 version: 1.55.1 '@pmmmwh/react-refresh-webpack-plugin': - specifier: ~0.6.0 - version: 0.6.2(@types/webpack@5.28.5(webpack-cli@5.1.4))(react-refresh@0.11.0)(type-fest@4.41.0)(webpack-dev-server@5.2.3)(webpack-hot-middleware@2.26.1)(webpack@5.105.4) + specifier: 0.6.0 + version: 0.6.0(@types/webpack@5.28.5(webpack-cli@5.1.4))(react-refresh@0.11.0)(type-fest@4.41.0)(webpack-dev-server@5.2.3)(webpack-hot-middleware@2.26.1)(webpack@5.104.1) '@tanstack/query-core': - specifier: ^5.76.0 - version: 5.90.20 + specifier: 5.76.0 + version: 5.76.0 '@tanstack/react-query': specifier: 5.76.1 version: 5.76.1(react@18.2.0) '@types/react-collapse': - specifier: ~5.0.4 + specifier: 5.0.4 version: 5.0.4 '@types/react-split-pane': - specifier: ~0.1.67 + specifier: 0.1.67 version: 0.1.67(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@types/react-syntax-highlighter': - specifier: ~15.5.13 + specifier: 15.5.13 version: 15.5.13 '@types/swagger-ui-react': - specifier: ^5.18.0 + specifier: 5.18.0 version: 5.18.0 '@types/uuid': - specifier: ~10.0.0 + specifier: 10.0.0 version: 10.0.0 - '@types/vscode-webview': - specifier: ^1.57.5 - version: 1.57.5 '@uiw/react-codemirror': - specifier: ~4.23.12 - version: 4.23.14(@codemirror/lint@6.8.5)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.38.8)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + specifier: 4.23.12 + version: 4.23.12(@codemirror/lint@6.8.5)(@codemirror/theme-one-dark@6.1.2)(@codemirror/view@6.38.8)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@vscode/webview-ui-toolkit': - specifier: ^1.4.0 + specifier: 1.4.0 version: 1.4.0(react@18.2.0) '@wso2/mi-component-diagram': specifier: workspace:* @@ -4075,7 +4132,7 @@ importers: specifier: workspace:* version: link:../../wso2-platform/wso2-platform-core cron-expression-validator: - specifier: ~1.0.20 + specifier: 1.0.20 version: 1.0.20 fast-xml-parser: specifier: 5.3.8 @@ -4084,19 +4141,19 @@ importers: specifier: 4.17.23 version: 4.17.23 mustache: - specifier: ~4.2.0 + specifier: 4.2.0 version: 4.2.0 path: - specifier: ~0.12.7 + specifier: 0.12.7 version: 0.12.7 process: - specifier: ~0.11.10 + specifier: 0.11.10 version: 0.11.10 react: specifier: 18.2.0 version: 18.2.0 react-collapse: - specifier: ~5.1.1 + specifier: 5.1.1 version: 5.1.1(react@18.2.0) react-dom: specifier: 18.2.0 @@ -4105,154 +4162,160 @@ importers: specifier: 7.56.4 version: 7.56.4(react@18.2.0) react-hot-loader: - specifier: ~4.13.1 + specifier: 4.13.1 version: 4.13.1(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) react-markdown: - specifier: ~10.1.0 + specifier: 10.1.0 version: 10.1.0(@types/react@18.2.0)(react@18.2.0) react-pdf: - specifier: ~9.2.1 + specifier: 9.2.1 version: 9.2.1(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) react-split-pane: - specifier: ~0.1.92 + specifier: 0.1.92 version: 0.1.92(react-dom@18.2.0(react@18.2.0))(react@18.2.0) react-syntax-highlighter: - specifier: ~15.6.1 - version: 15.6.6(react@18.2.0) + specifier: 15.6.1 + version: 15.6.1(react@18.2.0) + remark-gfm: + specifier: 4.0.1 + version: 4.0.1 swagger-ui-react: specifier: 5.21.0 version: 5.21.0(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) upath: - specifier: ~2.0.1 + specifier: 2.0.1 version: 2.0.1 uuid: - specifier: ~11.1.0 + specifier: 11.1.0 version: 11.1.0 xmlbuilder2: - specifier: ~3.1.1 + specifier: 3.1.1 version: 3.1.1 yup: - specifier: ~1.6.1 + specifier: 1.6.1 version: 1.6.1 devDependencies: '@babel/plugin-syntax-flow': - specifier: ~7.27.1 - version: 7.27.1(@babel/core@7.27.7) + specifier: 7.27.1 + version: 7.27.1(@babel/core@7.29.0) '@babel/preset-typescript': - specifier: ~7.27.1 - version: 7.27.1(@babel/core@7.27.7) + specifier: 7.27.1 + version: 7.27.1(@babel/core@7.29.0) '@headlessui/react': - specifier: ~2.2.4 - version: 2.2.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + specifier: 2.2.4 + version: 2.2.4(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/addon-actions': - specifier: ~8.6.14 - version: 8.6.18(storybook@8.6.18(prettier@3.5.3)) + specifier: 8.6.14 + version: 8.6.14(storybook@8.6.14(prettier@3.5.3)) '@storybook/addon-essentials': - specifier: ~8.6.14 - version: 8.6.14(@types/react@18.2.0)(storybook@8.6.18(prettier@3.5.3)) + specifier: 8.6.14 + version: 8.6.14(@types/react@18.2.0)(storybook@8.6.14(prettier@3.5.3)) '@storybook/addon-links': - specifier: ~8.6.14 - version: 8.6.18(react@18.2.0)(storybook@8.6.18(prettier@3.5.3)) + specifier: 8.6.14 + version: 8.6.14(react@18.2.0)(storybook@8.6.14(prettier@3.5.3)) '@storybook/react-webpack5': - specifier: ~8.6.14 - version: 8.6.18(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.18(prettier@3.5.3))(typescript@5.8.3)(webpack-cli@5.1.4) + specifier: 8.6.14 + version: 8.6.14(@storybook/test@8.6.14(storybook@8.6.14(prettier@3.5.3)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.14(prettier@3.5.3))(typescript@5.8.3)(webpack-cli@5.1.4) '@types/lodash': - specifier: ~4.17.17 + specifier: 4.17.17 version: 4.17.17 '@types/mustache': - specifier: ~4.2.6 + specifier: 4.2.6 version: 4.2.6 '@types/node': - specifier: ^22.15.21 - version: 22.15.35 + specifier: 22.15.21 + version: 22.15.21 '@types/react': specifier: 18.2.0 version: 18.2.0 '@types/react-dom': specifier: 18.2.0 version: 18.2.0 + '@types/vscode-webview': + specifier: 1.57.5 + version: 1.57.5 copyfiles: - specifier: ^2.4.1 + specifier: 2.4.1 version: 2.4.1 css-loader: - specifier: ^7.1.2 - version: 7.1.4(webpack@5.105.4) + specifier: 7.1.2 + version: 7.1.2(webpack@5.104.1) sass-loader: - specifier: ^16.0.5 - version: 16.0.7(sass@1.98.0)(webpack@5.105.4) + specifier: 16.0.5 + version: 16.0.5(sass@1.89.0)(webpack@5.104.1) source-map-loader: - specifier: ^5.0.0 - version: 5.0.0(webpack@5.105.4) + specifier: 5.0.0 + version: 5.0.0(webpack@5.104.1) style-loader: - specifier: ^4.0.0 - version: 4.0.0(webpack@5.105.4) + specifier: 4.0.0 + version: 4.0.0(webpack@5.104.1) ts-loader: - specifier: ^9.5.2 - version: 9.5.4(typescript@5.8.3)(webpack@5.105.4) + specifier: 9.5.2 + version: 9.5.2(typescript@5.8.3)(webpack@5.104.1) typescript: specifier: 5.8.3 version: 5.8.3 vscode-languageserver-types: - specifier: ~3.17.5 + specifier: 3.17.5 version: 3.17.5 webpack: - specifier: ^5.94.0 - version: 5.105.4(webpack-cli@5.1.4) + specifier: 5.104.1 + version: 5.104.1(webpack-cli@5.1.4) webpack-cli: - specifier: ~5.1.4 - version: 5.1.4(webpack-dev-server@5.2.3)(webpack@5.105.4) + specifier: 5.1.4 + version: 5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1) webpack-dev-server: - specifier: ^5.2.1 - version: 5.2.3(webpack-cli@5.1.4)(webpack@5.105.4) + specifier: 5.2.3 + version: 5.2.3(webpack-cli@5.1.4)(webpack@5.104.1) yaml: - specifier: ~2.8.0 - version: 2.8.2 + specifier: 2.8.0 + version: 2.8.0 ../../workspaces/mi/syntax-tree: dependencies: '@types/node': - specifier: ~22.15.21 - version: 22.15.35 + specifier: 22.15.21 + version: 22.15.21 eslint: specifier: ^9.27.0 version: 9.39.4(jiti@2.6.1) jsonix: - specifier: ~3.0.0 + specifier: 3.0.0 version: 3.0.0 tslint: - specifier: ~6.1.3 + specifier: 6.1.3 version: 6.1.3(typescript@5.8.3) vscode-languageserver-types: - specifier: ~3.17.5 + specifier: 3.17.5 version: 3.17.5 devDependencies: '@size-limit/preset-small-lib': - specifier: ^11.2.0 + specifier: 11.2.0 version: 11.2.0(size-limit@11.2.0) '@typescript-eslint/eslint-plugin': specifier: 8.32.1 - version: 8.32.1(@typescript-eslint/parser@8.32.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3))(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3) + version: 8.32.1(@typescript-eslint/parser@8.33.0(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3))(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3) eslint-plugin-react-hooks: - specifier: ~5.2.0 + specifier: 5.2.0 version: 5.2.0(eslint@9.39.4(jiti@2.6.1)) eslint-plugin-unused-imports: - specifier: ~4.1.4 - version: 4.1.4(@typescript-eslint/eslint-plugin@8.32.1(@typescript-eslint/parser@8.32.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3))(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3))(eslint@9.39.4(jiti@2.6.1)) + specifier: 4.1.4 + version: 4.1.4(@typescript-eslint/eslint-plugin@8.32.1(@typescript-eslint/parser@8.33.0(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3))(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3))(eslint@9.39.4(jiti@2.6.1)) husky: - specifier: ^9.1.7 + specifier: 9.1.7 version: 9.1.7 rimraf: - specifier: ^6.0.1 + specifier: 6.0.1 version: 6.0.1 size-limit: - specifier: ^11.2.0 + specifier: 11.2.0 version: 11.2.0 tsdx: - specifier: ^0.14.1 - version: 0.14.1(@types/babel__core@7.20.5)(@types/node@22.15.35)(jiti@2.6.1) + specifier: 0.14.1 + version: 0.14.1(@types/babel__core@7.20.5)(@types/node@22.15.21)(jiti@2.6.1) tslib: - specifier: ^2.5.0 - version: 2.8.1 + specifier: 2.5.0 + version: 2.5.0 typescript: specifier: 5.8.3 version: 5.8.3 @@ -4260,14 +4323,14 @@ importers: ../../workspaces/wso2-platform/wso2-platform-core: dependencies: vscode-messenger-common: - specifier: ^0.5.1 + specifier: 0.5.1 version: 0.5.1 vscode-messenger-webview: - specifier: ^0.5.1 + specifier: 0.5.1 version: 0.5.1 devDependencies: '@biomejs/biome': - specifier: ^1.9.4 + specifier: 1.9.4 version: 1.9.4 typescript: specifier: 5.8.3 @@ -4276,28 +4339,28 @@ importers: ../../workspaces/wso2-platform/wso2-platform-extension: dependencies: '@aws-sdk/client-s3': - specifier: ^3.817.0 - version: 3.1006.0 + specifier: 3.817.0 + version: 3.817.0 '@iarna/toml': - specifier: ^2.2.5 + specifier: 2.2.5 version: 2.2.5 '@vscode-logging/logger': - specifier: ^2.0.0 - version: 2.0.8 + specifier: 2.0.0 + version: 2.0.0 '@vscode-logging/types': - specifier: ^2.0.0 - version: 2.0.8 + specifier: 2.0.0 + version: 2.0.0 '@vscode-logging/wrapper': - specifier: ^2.0.0 - version: 2.0.8 + specifier: 2.0.0 + version: 2.0.0 '@vscode/extension-telemetry': - specifier: ~1.0.0 + specifier: 1.0.0 version: 1.0.0(tslib@2.8.1) '@vscode/iconv-lite-umd': - specifier: ^0.7.0 - version: 0.7.1 + specifier: 0.7.0 + version: 0.7.0 '@vscode/webview-ui-toolkit': - specifier: ^1.4.0 + specifier: 1.4.0 version: 1.4.0(react@19.1.0) '@wso2/wso2-platform-core': specifier: workspace:* @@ -4306,131 +4369,131 @@ importers: specifier: workspace:* version: link:../wso2-platform-webviews byline: - specifier: ^5.0.0 + specifier: 5.0.0 version: 5.0.0 dotenv: - specifier: ^16.0.3 - version: 16.5.0 + specifier: 16.0.3 + version: 16.0.3 file-type: - specifier: ^18.2.1 - version: 18.7.0 + specifier: 21.3.1 + version: 21.3.1 js-yaml: - specifier: ^4.1.1 + specifier: 4.1.1 version: 4.1.1 jschardet: - specifier: ^3.1.4 + specifier: 3.1.4 version: 3.1.4 vscode-jsonrpc: - specifier: ^8.2.1 + specifier: 8.2.1 version: 8.2.1 vscode-messenger: - specifier: ^0.5.1 + specifier: 0.5.1 version: 0.5.1 vscode-messenger-common: - specifier: ^0.5.1 + specifier: 0.5.1 version: 0.5.1 which: - specifier: ^5.0.0 + specifier: 5.0.0 version: 5.0.0 yaml: - specifier: ^2.8.0 - version: 2.8.2 + specifier: 2.8.0 + version: 2.8.0 zod: - specifier: ^3.22.4 - version: 3.25.76 + specifier: 3.22.4 + version: 3.22.4 zustand: - specifier: ^5.0.5 - version: 5.0.11(@types/react@18.2.0)(react@19.1.0)(use-sync-external-store@1.6.0(react@19.1.0)) + specifier: 5.0.5 + version: 5.0.5(@types/react@18.2.0)(react@19.1.0)(use-sync-external-store@1.6.0(react@19.1.0)) devDependencies: '@biomejs/biome': - specifier: ^1.9.4 + specifier: 1.9.4 version: 1.9.4 '@playwright/test': specifier: 1.55.1 version: 1.55.1 '@types/byline': - specifier: ^4.2.36 + specifier: 4.2.36 version: 4.2.36 '@types/js-yaml': - specifier: ^4.0.9 + specifier: 4.0.9 version: 4.0.9 '@types/mocha': - specifier: ~10.0.1 - version: 10.0.10 + specifier: 10.0.1 + version: 10.0.1 '@types/node': - specifier: ^22.15.21 - version: 22.15.35 + specifier: 22.15.21 + version: 22.15.21 '@types/vscode': - specifier: ^1.100.0 - version: 1.110.0 + specifier: 1.100.0 + version: 1.100.0 '@types/which': - specifier: ^3.0.4 + specifier: 3.0.4 version: 3.0.4 '@vscode/vsce': - specifier: ^3.7.0 - version: 3.7.1 + specifier: 3.7.0 + version: 3.7.0 '@wso2/playwright-vscode-tester': specifier: workspace:* version: link:../../common-libs/playwright-vscode-tester axios: - specifier: ^1.13.5 - version: 1.13.6 + specifier: 1.13.5 + version: 1.13.5 copy-webpack-plugin: - specifier: ^13.0.0 - version: 13.0.1(webpack@5.105.4) + specifier: 13.0.0 + version: 13.0.0(webpack@5.104.1) copyfiles: - specifier: ^2.4.1 + specifier: 2.4.1 version: 2.4.1 del-cli: - specifier: ^6.0.0 + specifier: 6.0.0 version: 6.0.0 mocha: - specifier: ^11.5.0 - version: 11.7.5 + specifier: 11.5.0 + version: 11.5.0 terser-webpack-plugin: - specifier: ^5.3.14 - version: 5.4.0(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack@5.105.4) + specifier: 5.3.14 + version: 5.3.14(webpack@5.104.1) ts-loader: - specifier: ~9.5.2 - version: 9.5.4(typescript@5.8.3)(webpack@5.105.4) + specifier: 9.5.4 + version: 9.5.4(typescript@5.8.3)(webpack@5.104.1) typescript: - specifier: ^5.8.3 + specifier: 5.8.3 version: 5.8.3 vscode-extension-tester: - specifier: ^8.14.1 - version: 8.14.1(mocha@11.7.5)(typescript@5.8.3) + specifier: 8.14.1 + version: 8.14.1(mocha@11.5.0)(typescript@5.8.3) webpack: - specifier: ^5.94.0 - version: 5.105.4(webpack-cli@6.0.1) + specifier: 5.104.1 + version: 5.104.1(webpack-cli@6.0.1) webpack-cli: - specifier: ^6.0.1 - version: 6.0.1(webpack@5.105.4) + specifier: 6.0.1 + version: 6.0.1(webpack@5.104.1) webpack-permissions-plugin: - specifier: ^1.0.10 + specifier: 1.0.10 version: 1.0.10 ../../workspaces/wso2-platform/wso2-platform-webviews: dependencies: '@biomejs/biome': - specifier: ^1.9.4 + specifier: 1.9.4 version: 1.9.4 '@formkit/auto-animate': specifier: 0.8.2 version: 0.8.2 '@headlessui/react': - specifier: ^2.1.2 - version: 2.2.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + specifier: 2.1.2 + version: 2.1.2(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@hookform/resolvers': specifier: 5.2.2 version: 5.2.2(react-hook-form@7.63.0(react@18.2.0)) '@tanstack/react-query': - specifier: ~4.28.0 + specifier: 4.28.0 version: 4.28.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@tanstack/react-query-persist-client': - specifier: ~4.28.0 + specifier: 4.28.0 version: 4.28.0(@tanstack/react-query@4.28.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) '@vscode/webview-ui-toolkit': - specifier: ^1.4.0 + specifier: 1.4.0 version: 1.4.0(react@18.2.0) '@wso2/ui-toolkit': specifier: workspace:* @@ -4439,19 +4502,19 @@ importers: specifier: workspace:* version: link:../wso2-platform-core classnames: - specifier: ~2.5.1 + specifier: 2.5.1 version: 2.5.1 clipboardy: - specifier: ^4.0.0 + specifier: 4.0.0 version: 4.0.0 js-yaml: - specifier: ^4.1.1 + specifier: 4.1.1 version: 4.1.1 lodash.debounce: - specifier: ~4.0.8 + specifier: 4.0.8 version: 4.0.8 prism-react-renderer: - specifier: ^2.4.1 + specifier: 2.4.1 version: 2.4.1(react@18.2.0) react: specifier: 18.2.0 @@ -4475,27 +4538,27 @@ importers: specifier: 5.22.0 version: 5.22.0(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) timezone-support: - specifier: ^3.1.0 + specifier: 3.1.0 version: 3.1.0 vscode-messenger-common: - specifier: ^0.5.1 + specifier: 0.5.1 version: 0.5.1 vscode-messenger-webview: - specifier: ^0.5.1 + specifier: 0.5.1 version: 0.5.1 zod: specifier: 4.1.11 version: 4.1.11 devDependencies: '@types/js-yaml': - specifier: ^4.0.5 - version: 4.0.9 + specifier: 4.0.5 + version: 4.0.5 '@types/lodash.debounce': - specifier: ^4.0.6 - version: 4.0.9 + specifier: 4.0.6 + version: 4.0.6 '@types/node': - specifier: ^22.15.21 - version: 22.15.35 + specifier: 22.15.21 + version: 22.15.21 '@types/react': specifier: 18.2.0 version: 18.2.0 @@ -4503,109 +4566,117 @@ importers: specifier: 18.2.0 version: 18.2.0 '@types/swagger-ui-react': - specifier: ^5.18.0 + specifier: 5.18.0 version: 5.18.0 '@types/vscode-webview': - specifier: ^1.57.5 + specifier: 1.57.5 version: 1.57.5 autoprefixer: - specifier: ^10.4.19 - version: 10.4.27(postcss@8.5.8) + specifier: 10.4.19 + version: 10.4.19(postcss@8.5.3) copyfiles: - specifier: ~2.4.1 + specifier: 2.4.1 version: 2.4.1 css-loader: - specifier: ^7.1.2 - version: 7.1.4(webpack@5.105.4) + specifier: 7.1.2 + version: 7.1.2(webpack@5.104.1) file-loader: - specifier: ^6.2.0 - version: 6.2.0(webpack@5.105.4) + specifier: 6.2.0 + version: 6.2.0(webpack@5.104.1) path: - specifier: ^0.12.7 + specifier: 0.12.7 version: 0.12.7 postcss: - specifier: ^8.5.3 - version: 8.5.8 + specifier: 8.5.3 + version: 8.5.3 postcss-loader: - specifier: ^8.1.1 - version: 8.2.1(postcss@8.5.8)(typescript@5.8.3)(webpack@5.105.4) + specifier: 8.1.1 + version: 8.1.1(postcss@8.5.3)(typescript@5.8.3)(webpack@5.104.1) sass-loader: - specifier: ^16.0.5 - version: 16.0.7(sass@1.98.0)(webpack@5.105.4) + specifier: 16.0.5 + version: 16.0.5(sass@1.89.0)(webpack@5.104.1) source-map-loader: - specifier: ^5.0.0 - version: 5.0.0(webpack@5.105.4) + specifier: 5.0.0 + version: 5.0.0(webpack@5.104.1) style-loader: - specifier: ^4.0.0 - version: 4.0.0(webpack@5.105.4) + specifier: 4.0.0 + version: 4.0.0(webpack@5.104.1) tailwindcss: - specifier: ^4.1.7 - version: 4.2.1 + specifier: 4.1.7 + version: 4.1.7 ts-loader: - specifier: ^9.5.2 - version: 9.5.4(typescript@5.8.3)(webpack@5.105.4) + specifier: 9.5.2 + version: 9.5.2(typescript@5.8.3)(webpack@5.104.1) typescript: specifier: 5.8.3 version: 5.8.3 webpack: - specifier: ^5.94.0 - version: 5.105.4(webpack-cli@6.0.1) + specifier: 5.104.1 + version: 5.104.1(webpack-cli@6.0.1) webpack-cli: - specifier: ^6.0.1 - version: 6.0.1(webpack-dev-server@5.2.3)(webpack@5.105.4) + specifier: 6.0.1 + version: 6.0.1(webpack-dev-server@5.2.3)(webpack@5.104.1) webpack-dev-server: - specifier: ^5.2.1 - version: 5.2.3(webpack-cli@6.0.1)(webpack@5.105.4) + specifier: 5.2.3 + version: 5.2.3(webpack-cli@6.0.1)(webpack@5.104.1) packages: '@adobe/css-tools@4.4.4': resolution: {integrity: sha512-Elp+iwUx5rN5+Y8xLt5/GRoG20WGoDCQ/1Fb+1LiGtvwbDavuSk0jhD/eZdckHAuzcDzccnkv+rEjyWfRx18gg==} - '@ai-sdk/amazon-bedrock@4.0.77': - resolution: {integrity: sha512-PKLqycbq4NHCasZ0454HZh58thDGsqEKnpkXYr+Ym4Y4YFL3vhLUwhvvZeuOfawVdmMijQfRiKeAZhd2XtTkOg==} + '@ai-sdk/amazon-bedrock@4.0.4': + resolution: {integrity: sha512-ssy90ibTrbszGJnYF98vS7bJQtmIp1355iWgKHd2cS8uG8FrBQyYWZZNOSq5dIB3SRzfqKjsyUHKJyF6f7J95w==} engines: {node: '>=18'} peerDependencies: zod: ^3.25.76 || ^4.1.8 - '@ai-sdk/anthropic@2.0.70': - resolution: {integrity: sha512-W3WjQlb0Ho+CVAQUvb8Rtk3hGS3Jlgy79ihY2H0yj2k4yU8XuxpQw0Oz+7JQsB47j+jlHhk7nUXtxhAeRg3S3Q==} + '@ai-sdk/anthropic@3.0.2': + resolution: {integrity: sha512-D6iSsrOYryBSPsFtOiEDv54jnjVCU/flIuXdjuRY7LdikB0KGjpazN8Dt4ONXzL+ux69ds2nzFNKke/w/fgLAA==} engines: {node: '>=18'} peerDependencies: zod: ^3.25.76 || ^4.1.8 - '@ai-sdk/anthropic@3.0.58': - resolution: {integrity: sha512-/53SACgmVukO4bkms4dpxpRlYhW8Ct6QZRe6sj1Pi5H00hYhxIrqfiLbZBGxkdRvjsBQeP/4TVGsXgH5rQeb8Q==} + '@ai-sdk/anthropic@3.0.46': + resolution: {integrity: sha512-zXJPiNHaIiQ6XUqLeSYZ3ZbSzjqt1pNWEUf2hlkXlmmw8IF8KI0ruuGaDwKCExmtuNRf0E4TDxhsc9wRgWTzpw==} engines: {node: '>=18'} peerDependencies: zod: ^3.25.76 || ^4.1.8 - '@ai-sdk/gateway@2.0.57': - resolution: {integrity: sha512-Vm6tiB7U/lo9Xt5QiusaUf2xVo69YZf0J0wtYSNGBmPXfZZvOFF5T11JrzAibMcSt2pYTdpFeY9IicWvMaQ+JA==} + '@ai-sdk/devtools@0.0.6': + resolution: {integrity: sha512-ZFzTpAPVpJ1aFr9qIb3Pvg6Yf5RIm60AXiw8zhzhThTJoIzSw2bc2aT5IkZW9ysGMwQopPptPP5Ie8bkdx/xcg==} + hasBin: true + + '@ai-sdk/gateway@3.0.52': + resolution: {integrity: sha512-lYCXP8T3YnIDiz8DP7loAMT27wnblc3IAYzQ7igg89RCRyTUjk6ffbxHXXQ5Pmv8jrdLF0ZIJnH54Dsr1OCKHg==} engines: {node: '>=18'} peerDependencies: zod: ^3.25.76 || ^4.1.8 - '@ai-sdk/gateway@3.0.66': - resolution: {integrity: sha512-SIQ0YY0iMuv+07HLsZ+bB990zUJ6S4ujORAh+Jv1V2KGNn73qQKnGO0JBk+w+Res8YqOFSycwDoWcFlQrVxS4A==} + '@ai-sdk/gateway@3.0.6': + resolution: {integrity: sha512-oEpwjM0PIaSUErtZI8Ag+gQ+ZelysRWA96N5ahvOc5e9d7QkKJWF0POWx0nI1qBxvmUSw7ca0sLTVw+J5yn7Tg==} engines: {node: '>=18'} peerDependencies: zod: ^3.25.76 || ^4.1.8 - '@ai-sdk/provider-utils@3.0.22': - resolution: {integrity: sha512-fFT1KfUUKktfAFm5mClJhS1oux9tP2qgzmEZVl5UdwltQ1LO/s8hd7znVrgKzivwv1s1FIPza0s9OpJaNB/vHw==} + '@ai-sdk/provider-utils@4.0.19': + resolution: {integrity: sha512-3eG55CrSWCu2SXlqq2QCsFjo3+E7+Gmg7i/oRVoSZzIodTuDSfLb3MRje67xE9RFea73Zao7Lm4mADIfUETKGg==} engines: {node: '>=18'} peerDependencies: zod: ^3.25.76 || ^4.1.8 - '@ai-sdk/provider-utils@4.0.19': - resolution: {integrity: sha512-3eG55CrSWCu2SXlqq2QCsFjo3+E7+Gmg7i/oRVoSZzIodTuDSfLb3MRje67xE9RFea73Zao7Lm4mADIfUETKGg==} + '@ai-sdk/provider-utils@4.0.2': + resolution: {integrity: sha512-KaykkuRBdF/ffpI5bwpL4aSCmO/99p8/ci+VeHwJO8tmvXtiVAb99QeyvvvXmL61e9Zrvv4GBGoajW19xdjkVQ==} engines: {node: '>=18'} peerDependencies: zod: ^3.25.76 || ^4.1.8 - '@ai-sdk/provider@2.0.1': - resolution: {integrity: sha512-KCUwswvsC5VsW2PWFqF8eJgSCu5Ysj7m1TxiHTVA6g7k360bk0RNQENT8KTMAYEs+8fWPD3Uu4dEmzGHc+jGng==} + '@ai-sdk/provider@3.0.1': + resolution: {integrity: sha512-2lR4w7mr9XrydzxBSjir4N6YMGdXD+Np1Sh0RXABh7tWdNFFwIeRI1Q+SaYZMbfL8Pg8RRLcrxQm51yxTLhokg==} + engines: {node: '>=18'} + + '@ai-sdk/provider@3.0.4': + resolution: {integrity: sha512-5KXyBOSEX+l67elrEa+wqo/LSsSTtrPj9Uoh3zMbe/ceQX4ucHI3b9nUEfNkGF3Ry1svv90widAt+aiKdIJasQ==} engines: {node: '>=18'} '@ai-sdk/provider@3.0.8': @@ -4620,6 +4691,9 @@ packages: resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} + '@anthropic-ai/tokenizer@0.0.4': + resolution: {integrity: sha512-EHRKbxlxlc8W4KCBEseByJ7YwyYCmgu9OyN59H9+IYIGPoKv8tXyQXinkeGDI+cI8Tiuz9wk2jZb/kK7AyvL7g==} + '@apidevtools/json-schema-ref-parser@11.6.1': resolution: {integrity: sha512-DxjgKBCoyReu4p5HMvpmgSOfRhhBcuf5V5soDDRgOTZMwsA4KSFzol1abFZgiCTE11L2kKGca5Md9GwDdXVBwQ==} engines: {node: '>= 16'} @@ -4655,140 +4729,136 @@ packages: '@aws-crypto/util@5.2.0': resolution: {integrity: sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==} - '@aws-sdk/client-s3@3.1006.0': - resolution: {integrity: sha512-tm8R/LgWDC3zWPMCdD990owvBrmuIM2A39+OWKW/HyAomWi6ancPz/H1K/hmxf0bqdXAaRUHBQMAmzwb1aR33Q==} - engines: {node: '>=20.0.0'} + '@aws-sdk/client-s3@3.817.0': + resolution: {integrity: sha512-nZyjhlLMEXDs0ofWbpikI8tKoeKuuSgYcIb6eEZJk90Nt5HkkXn6nkWOs/kp2FdhpoGJyTILOVsDgdm7eutnLA==} + engines: {node: '>=18.0.0'} - '@aws-sdk/core@3.973.19': - resolution: {integrity: sha512-56KePyOcZnKTWCd89oJS1G6j3HZ9Kc+bh/8+EbvtaCCXdP6T7O7NzCiPuHRhFLWnzXIaXX3CxAz0nI5My9spHQ==} - engines: {node: '>=20.0.0'} + '@aws-sdk/client-sso@3.817.0': + resolution: {integrity: sha512-fCh5rUHmWmWDvw70NNoWpE5+BRdtNi45kDnIoeoszqVg7UKF79SlG+qYooUT52HKCgDNHqgbWaXxMOSqd2I/OQ==} + engines: {node: '>=18.0.0'} - '@aws-sdk/crc64-nvme@3.972.4': - resolution: {integrity: sha512-HKZIZLbRyvzo/bXZU7Zmk6XqU+1C9DjI56xd02vwuDIxedxBEqP17t9ExhbP9QFeNq/a3l9GOcyirFXxmbDhmw==} - engines: {node: '>=20.0.0'} + '@aws-sdk/core@3.816.0': + resolution: {integrity: sha512-Lx50wjtyarzKpMFV6V+gjbSZDgsA/71iyifbClGUSiNPoIQ4OCV0KVOmAAj7mQRVvGJqUMWKVM+WzK79CjbjWA==} + engines: {node: '>=18.0.0'} - '@aws-sdk/credential-provider-env@3.972.17': - resolution: {integrity: sha512-MBAMW6YELzE1SdkOniqr51mrjapQUv8JXSGxtwRjQV0mwVDutVsn22OPAUt4RcLRvdiHQmNBDEFP9iTeSVCOlA==} - engines: {node: '>=20.0.0'} + '@aws-sdk/credential-provider-env@3.816.0': + resolution: {integrity: sha512-wUJZwRLe+SxPxRV9AENYBLrJZRrNIo+fva7ZzejsC83iz7hdfq6Rv6B/aHEdPwG/nQC4+q7UUvcRPlomyrpsBA==} + engines: {node: '>=18.0.0'} - '@aws-sdk/credential-provider-http@3.972.19': - resolution: {integrity: sha512-9EJROO8LXll5a7eUFqu48k6BChrtokbmgeMWmsH7lBb6lVbtjslUYz/ShLi+SHkYzTomiGBhmzTW7y+H4BxsnA==} - engines: {node: '>=20.0.0'} + '@aws-sdk/credential-provider-http@3.816.0': + resolution: {integrity: sha512-gcWGzMQ7yRIF+ljTkR8Vzp7727UY6cmeaPrFQrvcFB8PhOqWpf7g0JsgOf5BSaP8CkkSQcTQHc0C5ZYAzUFwPg==} + engines: {node: '>=18.0.0'} - '@aws-sdk/credential-provider-ini@3.972.18': - resolution: {integrity: sha512-vthIAXJISZnj2576HeyLBj4WTeX+I7PwWeRkbOa0mVX39K13SCGxCgOFuKj2ytm9qTlLOmXe4cdEnroteFtJfw==} - engines: {node: '>=20.0.0'} + '@aws-sdk/credential-provider-ini@3.817.0': + resolution: {integrity: sha512-kyEwbQyuXE+phWVzloMdkFv6qM6NOon+asMXY5W0fhDKwBz9zQLObDRWBrvQX9lmqq8BbDL1sCfZjOh82Y+RFw==} + engines: {node: '>=18.0.0'} - '@aws-sdk/credential-provider-login@3.972.18': - resolution: {integrity: sha512-kINzc5BBxdYBkPZ0/i1AMPMOk5b5QaFNbYMElVw5QTX13AKj6jcxnv/YNl9oW9mg+Y08ti19hh01HhyEAxsSJQ==} - engines: {node: '>=20.0.0'} + '@aws-sdk/credential-provider-node@3.817.0': + resolution: {integrity: sha512-b5mz7av0Lhavs1Bz3Zb+jrs0Pki93+8XNctnVO0drBW98x1fM4AR38cWvGbM/w9F9Q0/WEH3TinkmrMPrP4T/w==} + engines: {node: '>=18.0.0'} - '@aws-sdk/credential-provider-node@3.972.19': - resolution: {integrity: sha512-yDWQ9dFTr+IMxwanFe7+tbN5++q8psZBjlUwOiCXn1EzANoBgtqBwcpYcHaMGtn0Wlfj4NuXdf2JaEx1lz5RaQ==} - engines: {node: '>=20.0.0'} + '@aws-sdk/credential-provider-process@3.816.0': + resolution: {integrity: sha512-9Tm+AxMoV2Izvl5b9tyMQRbBwaex8JP06HN7ZeCXgC5sAsSN+o8dsThnEhf8jKN+uBpT6CLWKN1TXuUMrAmW1A==} + engines: {node: '>=18.0.0'} - '@aws-sdk/credential-provider-process@3.972.17': - resolution: {integrity: sha512-c8G8wT1axpJDgaP3xzcy+q8Y1fTi9A2eIQJvyhQ9xuXrUZhlCfXbC0vM9bM1CUXiZppFQ1p7g0tuUMvil/gCPg==} - engines: {node: '>=20.0.0'} + '@aws-sdk/credential-provider-sso@3.817.0': + resolution: {integrity: sha512-gFUAW3VmGvdnueK1bh6TOcRX+j99Xm0men1+gz3cA4RE+rZGNy1Qjj8YHlv0hPwI9OnTPZquvPzA5fkviGREWg==} + engines: {node: '>=18.0.0'} - '@aws-sdk/credential-provider-sso@3.972.18': - resolution: {integrity: sha512-YHYEfj5S2aqInRt5ub8nDOX8vAxgMvd84wm2Y3WVNfFa/53vOv9T7WOAqXI25qjj3uEcV46xxfqdDQk04h5XQA==} - engines: {node: '>=20.0.0'} + '@aws-sdk/credential-provider-web-identity@3.817.0': + resolution: {integrity: sha512-A2kgkS9g6NY0OMT2f2EdXHpL17Ym81NhbGnQ8bRXPqESIi7TFypFD2U6osB2VnsFv+MhwM+Ke4PKXSmLun22/A==} + engines: {node: '>=18.0.0'} - '@aws-sdk/credential-provider-web-identity@3.972.18': - resolution: {integrity: sha512-OqlEQpJ+J3T5B96qtC1zLLwkBloechP+fezKbCH0sbd2cCc0Ra55XpxWpk/hRj69xAOYtHvoC4orx6eTa4zU7g==} - engines: {node: '>=20.0.0'} + '@aws-sdk/middleware-bucket-endpoint@3.808.0': + resolution: {integrity: sha512-wEPlNcs8dir9lXbuviEGtSzYSxG/NRKQrJk5ybOc7OpPGHovsN+QhDOdY3lcjOFdwMTiMIG9foUkPz3zBpLB1A==} + engines: {node: '>=18.0.0'} - '@aws-sdk/middleware-bucket-endpoint@3.972.7': - resolution: {integrity: sha512-goX+axlJ6PQlRnzE2bQisZ8wVrlm6dXJfBzMJhd8LhAIBan/w1Kl73fJnalM/S+18VnpzIHumyV6DtgmvqG5IA==} - engines: {node: '>=20.0.0'} + '@aws-sdk/middleware-expect-continue@3.804.0': + resolution: {integrity: sha512-YW1hySBolALMII6C8y7Z0CRG2UX1dGJjLEBNFeefhO/xP7ZuE1dvnmfJGaEuBMnvc3wkRS63VZ3aqX6sevM1CA==} + engines: {node: '>=18.0.0'} - '@aws-sdk/middleware-expect-continue@3.972.7': - resolution: {integrity: sha512-mvWqvm61bmZUKmmrtl2uWbokqpenY3Mc3Jf4nXB/Hse6gWxLPaCQThmhPBDzsPSV8/Odn8V6ovWt3pZ7vy4BFQ==} - engines: {node: '>=20.0.0'} + '@aws-sdk/middleware-flexible-checksums@3.816.0': + resolution: {integrity: sha512-kftcwDxB/VoCBsUiRgkm5CIuKbTfCN1WLPbis9LRwX3kQhKgGVxG2gG78SHk4TBB0qviWVAd/t+i/KaUgwiAcA==} + engines: {node: '>=18.0.0'} - '@aws-sdk/middleware-flexible-checksums@3.973.5': - resolution: {integrity: sha512-Dp3hqE5W6hG8HQ3Uh+AINx9wjjqYmFHbxede54sGj3akx/haIQrkp85lNdTdC+ouNUcSYNiuGkzmyDREfHX1Gg==} - engines: {node: '>=20.0.0'} + '@aws-sdk/middleware-host-header@3.804.0': + resolution: {integrity: sha512-bum1hLVBrn2lJCi423Z2fMUYtsbkGI2s4N+2RI2WSjvbaVyMSv/WcejIrjkqiiMR+2Y7m5exgoKeg4/TODLDPQ==} + engines: {node: '>=18.0.0'} - '@aws-sdk/middleware-host-header@3.972.7': - resolution: {integrity: sha512-aHQZgztBFEpDU1BB00VWCIIm85JjGjQW1OG9+98BdmaOpguJvzmXBGbnAiYcciCd+IS4e9BEq664lhzGnWJHgQ==} - engines: {node: '>=20.0.0'} + '@aws-sdk/middleware-location-constraint@3.804.0': + resolution: {integrity: sha512-AMtKnllIWKgoo7hiJfphLYotEwTERfjVMO2+cKAncz9w1g+bnYhHxiVhJJoR94y047c06X4PU5MsTxvdQ73Znw==} + engines: {node: '>=18.0.0'} - '@aws-sdk/middleware-location-constraint@3.972.7': - resolution: {integrity: sha512-vdK1LJfffBp87Lj0Bw3WdK1rJk9OLDYdQpqoKgmpIZPe+4+HawZ6THTbvjhJt4C4MNnRrHTKHQjkwBiIpDBoig==} - engines: {node: '>=20.0.0'} + '@aws-sdk/middleware-logger@3.804.0': + resolution: {integrity: sha512-w/qLwL3iq0KOPQNat0Kb7sKndl9BtceigINwBU7SpkYWX9L/Lem6f8NPEKrC9Tl4wDBht3Yztub4oRTy/horJA==} + engines: {node: '>=18.0.0'} - '@aws-sdk/middleware-logger@3.972.7': - resolution: {integrity: sha512-LXhiWlWb26txCU1vcI9PneESSeRp/RYY/McuM4SpdrimQR5NgwaPb4VJCadVeuGWgh6QmqZ6rAKSoL1ob16W6w==} - engines: {node: '>=20.0.0'} + '@aws-sdk/middleware-recursion-detection@3.804.0': + resolution: {integrity: sha512-zqHOrvLRdsUdN/ehYfZ9Tf8svhbiLLz5VaWUz22YndFv6m9qaAcijkpAOlKexsv3nLBMJdSdJ6GUTAeIy3BZzw==} + engines: {node: '>=18.0.0'} - '@aws-sdk/middleware-recursion-detection@3.972.7': - resolution: {integrity: sha512-l2VQdcBcYLzIzykCHtXlbpiVCZ94/xniLIkAj0jpnpjY4xlgZx7f56Ypn+uV1y3gG0tNVytJqo3K9bfMFee7SQ==} - engines: {node: '>=20.0.0'} + '@aws-sdk/middleware-sdk-s3@3.816.0': + resolution: {integrity: sha512-jJ+EAXM7gnOwiCM6rrl4AUNY5urmtIsX7roTkxtb4DevJxcS+wFYRRg3/j33fQbuxQZrvk21HqxyZYx5UH70PA==} + engines: {node: '>=18.0.0'} - '@aws-sdk/middleware-sdk-s3@3.972.19': - resolution: {integrity: sha512-/CtOHHVFg4ZuN6CnLnYkrqWgVEnbOBC4kNiKa+4fldJ9cioDt3dD/f5vpq0cWLOXwmGL2zgVrVxNhjxWpxNMkg==} - engines: {node: '>=20.0.0'} + '@aws-sdk/middleware-ssec@3.804.0': + resolution: {integrity: sha512-Tk8jK0gOIUBvEPTz/wwSlP1V70zVQ3QYqsLPAjQRMO6zfOK9ax31dln3MgKvFDJxBydS2tS3wsn53v+brxDxTA==} + engines: {node: '>=18.0.0'} - '@aws-sdk/middleware-ssec@3.972.7': - resolution: {integrity: sha512-G9clGVuAml7d8DYzY6DnRi7TIIDRvZ3YpqJPz/8wnWS5fYx/FNWNmkO6iJVlVkQg9BfeMzd+bVPtPJOvC4B+nQ==} - engines: {node: '>=20.0.0'} + '@aws-sdk/middleware-user-agent@3.816.0': + resolution: {integrity: sha512-bHRSlWZ0xDsFR8E2FwDb//0Ff6wMkVx4O+UKsfyNlAbtqCiiHRt5ANNfKPafr95cN2CCxLxiPvFTFVblQM5TsQ==} + engines: {node: '>=18.0.0'} - '@aws-sdk/middleware-user-agent@3.972.20': - resolution: {integrity: sha512-3kNTLtpUdeahxtnJRnj/oIdLAUdzTfr9N40KtxNhtdrq+Q1RPMdCJINRXq37m4t5+r3H70wgC3opW46OzFcZYA==} - engines: {node: '>=20.0.0'} + '@aws-sdk/nested-clients@3.817.0': + resolution: {integrity: sha512-vQ2E06A48STJFssueJQgxYD8lh1iGJoLJnHdshRDWOQb8gy1wVQR+a7MkPGhGR6lGoS0SCnF/Qp6CZhnwLsqsQ==} + engines: {node: '>=18.0.0'} - '@aws-sdk/nested-clients@3.996.8': - resolution: {integrity: sha512-6HlLm8ciMW8VzfB80kfIx16PBA9lOa9Dl+dmCBi78JDhvGlx3I7Rorwi5PpVRkL31RprXnYna3yBf6UKkD/PqA==} - engines: {node: '>=20.0.0'} + '@aws-sdk/region-config-resolver@3.808.0': + resolution: {integrity: sha512-9x2QWfphkARZY5OGkl9dJxZlSlYM2l5inFeo2bKntGuwg4A4YUe5h7d5yJ6sZbam9h43eBrkOdumx03DAkQF9A==} + engines: {node: '>=18.0.0'} - '@aws-sdk/region-config-resolver@3.972.7': - resolution: {integrity: sha512-/Ev/6AI8bvt4HAAptzSjThGUMjcWaX3GX8oERkB0F0F9x2dLSBdgFDiyrRz3i0u0ZFZFQ1b28is4QhyqXTUsVA==} - engines: {node: '>=20.0.0'} + '@aws-sdk/signature-v4-multi-region@3.816.0': + resolution: {integrity: sha512-idcr9NW86sSIXASSej3423Selu6fxlhhJJtMgpAqoCH/HJh1eQrONJwNKuI9huiruPE8+02pwxuePvLW46X2mw==} + engines: {node: '>=18.0.0'} - '@aws-sdk/signature-v4-multi-region@3.996.7': - resolution: {integrity: sha512-mYhh7FY+7OOqjkYkd6+6GgJOsXK1xBWmuR+c5mxJPj2kr5TBNeZq+nUvE9kANWAux5UxDVrNOSiEM/wlHzC3Lg==} - engines: {node: '>=20.0.0'} + '@aws-sdk/token-providers@3.817.0': + resolution: {integrity: sha512-CYN4/UO0VaqyHf46ogZzNrVX7jI3/CfiuktwKlwtpKA6hjf2+ivfgHSKzPpgPBcSEfiibA/26EeLuMnB6cpSrQ==} + engines: {node: '>=18.0.0'} - '@aws-sdk/token-providers@3.1005.0': - resolution: {integrity: sha512-vMxd+ivKqSxU9bHx5vmAlFKDAkjGotFU56IOkDa5DaTu1WWwbcse0yFHEm9I537oVvodaiwMl3VBwgHfzQ2rvw==} - engines: {node: '>=20.0.0'} + '@aws-sdk/types@3.804.0': + resolution: {integrity: sha512-A9qnsy9zQ8G89vrPPlNG9d1d8QcKRGqJKqwyGgS0dclJpwy6d1EWgQLIolKPl6vcFpLoe6avLOLxr+h8ur5wpg==} + engines: {node: '>=18.0.0'} '@aws-sdk/types@3.973.5': resolution: {integrity: sha512-hl7BGwDCWsjH8NkZfx+HgS7H2LyM2lTMAI7ba9c8O0KqdBLTdNJivsHpqjg9rNlAlPyREb6DeDRXUl0s8uFdmQ==} engines: {node: '>=20.0.0'} - '@aws-sdk/util-arn-parser@3.972.3': - resolution: {integrity: sha512-HzSD8PMFrvgi2Kserxuff5VitNq2sgf3w9qxmskKDiDTThWfVteJxuCS9JXiPIPtmCrp+7N9asfIaVhBFORllA==} - engines: {node: '>=20.0.0'} + '@aws-sdk/util-arn-parser@3.804.0': + resolution: {integrity: sha512-wmBJqn1DRXnZu3b4EkE6CWnoWMo1ZMvlfkqU5zPz67xx1GMaXlDCchFvKAXMjk4jn/L1O3tKnoFDNsoLV1kgNQ==} + engines: {node: '>=18.0.0'} - '@aws-sdk/util-endpoints@3.996.4': - resolution: {integrity: sha512-Hek90FBmd4joCFj+Vc98KLJh73Zqj3s2W56gjAcTkrNLMDI5nIFkG9YpfcJiVI1YlE2Ne1uOQNe+IgQ/Vz2XRA==} - engines: {node: '>=20.0.0'} + '@aws-sdk/util-endpoints@3.808.0': + resolution: {integrity: sha512-N6Lic98uc4ADB7fLWlzx+1uVnq04VgVjngZvwHoujcRg9YDhIg9dUDiTzD5VZv13g1BrPYmvYP1HhsildpGV6w==} + engines: {node: '>=18.0.0'} '@aws-sdk/util-locate-window@3.965.5': resolution: {integrity: sha512-WhlJNNINQB+9qtLtZJcpQdgZw3SCDCpXdUJP7cToGwHbCWCnRckGlc6Bx/OhWwIYFNAn+FIydY8SZ0QmVu3xTQ==} engines: {node: '>=20.0.0'} - '@aws-sdk/util-user-agent-browser@3.972.7': - resolution: {integrity: sha512-7SJVuvhKhMF/BkNS1n0QAJYgvEwYbK2QLKBrzDiwQGiTRU6Yf1f3nehTzm/l21xdAOtWSfp2uWSddPnP2ZtsVw==} + '@aws-sdk/util-user-agent-browser@3.804.0': + resolution: {integrity: sha512-KfW6T6nQHHM/vZBBdGn6fMyG/MgX5lq82TDdX4HRQRRuHKLgBWGpKXqqvBwqIaCdXwWHgDrg2VQups6GqOWW2A==} - '@aws-sdk/util-user-agent-node@3.973.5': - resolution: {integrity: sha512-Dyy38O4GeMk7UQ48RupfHif//gqnOPbq/zlvRssc11E2mClT+aUfc3VS2yD8oLtzqO3RsqQ9I3gOBB4/+HjPOw==} - engines: {node: '>=20.0.0'} + '@aws-sdk/util-user-agent-node@3.816.0': + resolution: {integrity: sha512-Q6dxmuj4hL7pudhrneWEQ7yVHIQRBFr0wqKLF1opwOi1cIePuoEbPyJ2jkel6PDEv1YMfvsAKaRshp6eNA8VHg==} + engines: {node: '>=18.0.0'} peerDependencies: aws-crt: '>=1.0.0' peerDependenciesMeta: aws-crt: optional: true - '@aws-sdk/xml-builder@3.972.10': - resolution: {integrity: sha512-OnejAIVD+CxzyAUrVic7lG+3QRltyja9LoNqCE/1YVs8ichoTbJlVSaZ9iSMcnHLyzrSNtvaOGjSDRP+d/ouFA==} - engines: {node: '>=20.0.0'} - - '@aws/lambda-invoke-store@0.2.3': - resolution: {integrity: sha512-oLvsaPMTBejkkmHhjf09xTgk71mOqyr/409NKhRIL08If7AhVfUsJhVsx386uJaqNd42v9kWamQ9lFbkoC2dYw==} + '@aws-sdk/xml-builder@3.804.0': + resolution: {integrity: sha512-JbGWp36IG9dgxtvC6+YXwt5WDZYfuamWFtVfK6fQpnmL96dx+GUPOXPKRWdw67WLKf2comHY28iX2d3z35I53Q==} engines: {node: '>=18.0.0'} '@azu/format-text@1.0.2': @@ -4841,6 +4911,9 @@ packages: resolution: {integrity: sha512-+f1VrJH1iI517t4zgmuhqORja0bL6LDQXfBqkjuMmfTYXTQQnh1EvwwxO3UbKLT05N0obF72SRHFrC1RBDv5Gg==} engines: {node: '>=16'} + '@babel/code-frame@7.10.4': + resolution: {integrity: sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==} + '@babel/code-frame@7.29.0': resolution: {integrity: sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==} engines: {node: '>=6.9.0'} @@ -4853,8 +4926,16 @@ packages: resolution: {integrity: sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ==} engines: {node: '>=6.9.0'} - '@babel/core@7.27.7': - resolution: {integrity: sha512-BU2f9tlKQ5CAthiMIgpzAh4eDTLWo1mqi9jqE2OxMG0E/OM199VJt2q8BztTxpnSW0i1ymdwLXRJnYzvDM5r2w==} + '@babel/core@7.24.4': + resolution: {integrity: sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg==} + engines: {node: '>=6.9.0'} + + '@babel/core@7.27.1': + resolution: {integrity: sha512-IaaGWsQqfsQWVLqMn9OB92MNN7zukfVA4s7KKAI0KfrrDsZ0yhi5uV4baBuLuN7n3vsZpwP8asPPcVwApxvjBQ==} + engines: {node: '>=6.9.0'} + + '@babel/core@7.29.0': + resolution: {integrity: sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==} engines: {node: '>=6.9.0'} '@babel/generator@7.29.1': @@ -4961,6 +5042,10 @@ packages: resolution: {integrity: sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw==} engines: {node: '>=6.9.0'} + '@babel/highlight@7.25.9': + resolution: {integrity: sha512-llL88JShoCsth8fF8R4SJnIn+WLvR6ccFxu1H3FlMhDontdcmZWf2HgIZ7AIqV3Xcck1idlohrN4EUBQz6klbw==} + engines: {node: '>=6.9.0'} + '@babel/parser@7.29.0': resolution: {integrity: sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==} engines: {node: '>=6.0.0'} @@ -5499,8 +5584,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-typescript@7.28.6': - resolution: {integrity: sha512-0YWL2RFxOqEm9Efk5PvreamxPME8OyY0wM5wh5lHjF+VtVhdneCWGzZeSqzOfiobVqQaNCd2z0tQvnI9DaPWPw==} + '@babel/plugin-transform-typescript@7.27.1': + resolution: {integrity: sha512-Q5sT5+O4QUebHdbwKedFBEwRLb02zJ7r4A5Gg2hUoLuU3FjdMcyqcywqUrLCaDsFCxzokf7u9kuy7qz51YUuAg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5552,8 +5637,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/preset-typescript@7.22.15': - resolution: {integrity: sha512-HblhNmh6yM+cU4VwbBRpxFhxsTdfS1zsvH9W+gEjD0ARV9+8B4sNfpI6GuhePti84nuvhiwKS539jKPFHskA9A==} + '@babel/preset-typescript@7.22.11': + resolution: {integrity: sha512-tWY5wyCZYBGY7IlalfKI1rLiGlIfnwsRHZqlky0HVv8qviwQ1Uo/05M6+s+TcTCVa6Bmoo2uJW5TMFX6Wa4qVg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5603,59 +5688,115 @@ packages: resolution: {integrity: sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==} engines: {node: '>=18'} + '@biomejs/biome@1.8.3': + resolution: {integrity: sha512-/uUV3MV+vyAczO+vKrPdOW0Iaet7UnJMU4bNMinggGJTAnBPjCoLEYcyYtYHNnUNYlv4xZMH6hVIQCAozq8d5w==} + engines: {node: '>=14.21.3'} + hasBin: true + '@biomejs/biome@1.9.4': resolution: {integrity: sha512-1rkd7G70+o9KkTn5KLmDYXihGoTaIGO9PIIN2ZB7UJxFrWw04CZHPYiMRjYsaDvVV7hP1dYNRLxSANLaBFGpog==} engines: {node: '>=14.21.3'} hasBin: true + '@biomejs/cli-darwin-arm64@1.8.3': + resolution: {integrity: sha512-9DYOjclFpKrH/m1Oz75SSExR8VKvNSSsLnVIqdnKexj6NwmiMlKk94Wa1kZEdv6MCOHGHgyyoV57Cw8WzL5n3A==} + engines: {node: '>=14.21.3'} + cpu: [arm64] + os: [darwin] + '@biomejs/cli-darwin-arm64@1.9.4': resolution: {integrity: sha512-bFBsPWrNvkdKrNCYeAp+xo2HecOGPAy9WyNyB/jKnnedgzl4W4Hb9ZMzYNbf8dMCGmUdSavlYHiR01QaYR58cw==} engines: {node: '>=14.21.3'} cpu: [arm64] os: [darwin] + '@biomejs/cli-darwin-x64@1.8.3': + resolution: {integrity: sha512-UeW44L/AtbmOF7KXLCoM+9PSgPo0IDcyEUfIoOXYeANaNXXf9mLUwV1GeF2OWjyic5zj6CnAJ9uzk2LT3v/wAw==} + engines: {node: '>=14.21.3'} + cpu: [x64] + os: [darwin] + '@biomejs/cli-darwin-x64@1.9.4': resolution: {integrity: sha512-ngYBh/+bEedqkSevPVhLP4QfVPCpb+4BBe2p7Xs32dBgs7rh9nY2AIYUL6BgLw1JVXV8GlpKmb/hNiuIxfPfZg==} engines: {node: '>=14.21.3'} cpu: [x64] os: [darwin] + '@biomejs/cli-linux-arm64-musl@1.8.3': + resolution: {integrity: sha512-9yjUfOFN7wrYsXt/T/gEWfvVxKlnh3yBpnScw98IF+oOeCYb5/b/+K7YNqKROV2i1DlMjg9g/EcN9wvj+NkMuQ==} + engines: {node: '>=14.21.3'} + cpu: [arm64] + os: [linux] + '@biomejs/cli-linux-arm64-musl@1.9.4': resolution: {integrity: sha512-v665Ct9WCRjGa8+kTr0CzApU0+XXtRgwmzIf1SeKSGAv+2scAlW6JR5PMFo6FzqqZ64Po79cKODKf3/AAmECqA==} engines: {node: '>=14.21.3'} cpu: [arm64] os: [linux] + '@biomejs/cli-linux-arm64@1.8.3': + resolution: {integrity: sha512-fed2ji8s+I/m8upWpTJGanqiJ0rnlHOK3DdxsyVLZQ8ClY6qLuPc9uehCREBifRJLl/iJyQpHIRufLDeotsPtw==} + engines: {node: '>=14.21.3'} + cpu: [arm64] + os: [linux] + '@biomejs/cli-linux-arm64@1.9.4': resolution: {integrity: sha512-fJIW0+LYujdjUgJJuwesP4EjIBl/N/TcOX3IvIHJQNsAqvV2CHIogsmA94BPG6jZATS4Hi+xv4SkBBQSt1N4/g==} engines: {node: '>=14.21.3'} cpu: [arm64] os: [linux] + '@biomejs/cli-linux-x64-musl@1.8.3': + resolution: {integrity: sha512-UHrGJX7PrKMKzPGoEsooKC9jXJMa28TUSMjcIlbDnIO4EAavCoVmNQaIuUSH0Ls2mpGMwUIf+aZJv657zfWWjA==} + engines: {node: '>=14.21.3'} + cpu: [x64] + os: [linux] + '@biomejs/cli-linux-x64-musl@1.9.4': resolution: {integrity: sha512-gEhi/jSBhZ2m6wjV530Yy8+fNqG8PAinM3oV7CyO+6c3CEh16Eizm21uHVsyVBEB6RIM8JHIl6AGYCv6Q6Q9Tg==} engines: {node: '>=14.21.3'} cpu: [x64] os: [linux] + '@biomejs/cli-linux-x64@1.8.3': + resolution: {integrity: sha512-I8G2QmuE1teISyT8ie1HXsjFRz9L1m5n83U1O6m30Kw+kPMPSKjag6QGUn+sXT8V+XWIZxFFBoTDEDZW2KPDDw==} + engines: {node: '>=14.21.3'} + cpu: [x64] + os: [linux] + '@biomejs/cli-linux-x64@1.9.4': resolution: {integrity: sha512-lRCJv/Vi3Vlwmbd6K+oQ0KhLHMAysN8lXoCI7XeHlxaajk06u7G+UsFSO01NAs5iYuWKmVZjmiOzJ0OJmGsMwg==} engines: {node: '>=14.21.3'} cpu: [x64] os: [linux] + '@biomejs/cli-win32-arm64@1.8.3': + resolution: {integrity: sha512-J+Hu9WvrBevfy06eU1Na0lpc7uR9tibm9maHynLIoAjLZpQU3IW+OKHUtyL8p6/3pT2Ju5t5emReeIS2SAxhkQ==} + engines: {node: '>=14.21.3'} + cpu: [arm64] + os: [win32] + '@biomejs/cli-win32-arm64@1.9.4': resolution: {integrity: sha512-tlbhLk+WXZmgwoIKwHIHEBZUwxml7bRJgk0X2sPyNR3S93cdRq6XulAZRQJ17FYGGzWne0fgrXBKpl7l4M87Hg==} engines: {node: '>=14.21.3'} cpu: [arm64] os: [win32] + '@biomejs/cli-win32-x64@1.8.3': + resolution: {integrity: sha512-/PJ59vA1pnQeKahemaQf4Nyj7IKUvGQSc3Ze1uIGi+Wvr1xF7rGobSrAAG01T/gUDG21vkDsZYM03NAmPiVkqg==} + engines: {node: '>=14.21.3'} + cpu: [x64] + os: [win32] + '@biomejs/cli-win32-x64@1.9.4': resolution: {integrity: sha512-8Y5wMhVIPaWe6jw2H+KlEm4wP/f7EW3810ZLmDlrEEy5KvBsb9ECEfu/kMWD484ijfQ8+nIi0giMgu9g1UAuuA==} engines: {node: '>=14.21.3'} cpu: [x64] os: [win32] + '@borewit/text-codec@0.2.1': + resolution: {integrity: sha512-k7vvKPbf7J2fZ5klGRD9AeKfUvojuZIQ3BT5u7Jfv+puwXkUBUT5PVyMDfJZpy30CBDXGMgw7fguK/lpOMBvgw==} + '@cacheable/memory@2.0.8': resolution: {integrity: sha512-FvEb29x5wVwu/Kf93IWwsOOEuhHh6dYCJF3vcKLzXc0KXIW181AOzv6ceT4ZpBHDvAfG60eqb+ekmrnLHIy+jw==} @@ -5670,8 +5811,8 @@ packages: '@codemirror/autocomplete@6.19.1': resolution: {integrity: sha512-q6NenYkEy2fn9+JyjIxMWcNjzTL/IhwqfzOut1/G3PrIFkrbl4AL7Wkse5tLrQUUyqGoAKU5+Pi5jnnXxH5HGw==} - '@codemirror/commands@6.10.2': - resolution: {integrity: sha512-vvX1fsih9HledO1c9zdotZYUZnE4xV0m6i3m25s5DIfXofuprk6cRcLUZvSk3CASUbwjQX21tOGbkY2BH8TpnQ==} + '@codemirror/commands@6.10.0': + resolution: {integrity: sha512-2xUIc5mHXQzT16JnyOFkh8PvfeXuIut3pslWGfsGOhxP/lpgRm9HOl/mpzLErgt5mXDovqA0d11P21gofRLb9w==} '@codemirror/lang-angular@0.1.4': resolution: {integrity: sha512-oap+gsltb/fzdlTQWD6BFF4bSLKcDnlxDsLdePiJpCVNKWXSTAbiiQeYI3UmES+BLAdkmIC1WjyztC1pi/bX4g==} @@ -5745,20 +5886,23 @@ packages: '@codemirror/legacy-modes@6.5.2': resolution: {integrity: sha512-/jJbwSTazlQEDOQw2FJ8LEEKVS72pU0lx6oM54kGpL8t/NJ2Jda3CZ4pcltiKTdqYSRk3ug1B3pil1gsjA6+8Q==} + '@codemirror/lint@6.8.1': + resolution: {integrity: sha512-IZ0Y7S4/bpaunwggW2jYqwLuHj0QtESf5xcROewY6+lDNwZ/NzvR4t+vpYgg9m7V8UXLPYqG+lu3DF470E5Oxg==} + '@codemirror/lint@6.8.5': resolution: {integrity: sha512-s3n3KisH7dx3vsoeGMxsbRAgKe4O1vbrnKBClm99PU0fWxmxsx5rR2PfqQgIt+2MMJBHbiJ5rfIdLYfB9NNvsA==} - '@codemirror/merge@6.12.1': - resolution: {integrity: sha512-GA8hBq2T+IFM0sb5fk8CunTrqOulA3zurJmHtzcU15EMnL8aYpVINfJ5bkfd53M4ikwoew4Y1ydtSaAlk6+B1w==} + '@codemirror/merge@6.12.0': + resolution: {integrity: sha512-o+36bbapcEHf4Ux75pZ4CKjMBUd14parA0uozvWVlacaT+uxaA3DDefEvWYjngsKU+qsrDe/HOOfsw0Q72pLjA==} '@codemirror/search@6.6.0': resolution: {integrity: sha512-koFuNXcDvyyotWcgOnZGmY7LZqEOXZaaxD/j6n18TCLx2/9HieZJ5H6hs1g8FiRxBD0DNfs0nXn17g872RmYdw==} - '@codemirror/state@6.5.4': - resolution: {integrity: sha512-8y7xqG/hpB53l25CIoit9/ngxdfoG+fx+V3SHBrinnhOtLvKHRyAJJuHzkWrR4YXXLX8eXBsejgAAxHUOdW1yw==} + '@codemirror/state@6.5.2': + resolution: {integrity: sha512-FVqsPqtPWKVVL3dPSxy8wEF/ymIEuVzF1PK3VbUgrxXpJUSHQWWZz4JMToquRxnkw+36LTamCZG2iua2Ptq0fA==} - '@codemirror/theme-one-dark@6.1.3': - resolution: {integrity: sha512-NzBdIvEJmx6fjeremiGp3t/okrLPYT0d9orIc7AFun8oZcRk58aejkqhv6spnz4MLAevrKNPMQYXEWMg4s+sKA==} + '@codemirror/theme-one-dark@6.1.2': + resolution: {integrity: sha512-F+sH0X16j/qFLMAfbciKTxVOwkdAS336b7AXTKOZhy8BR3eH/RelsnLgLFINrpST63mmN2OuwUt0W2ndUgYwUA==} '@codemirror/view@6.38.8': resolution: {integrity: sha512-XcE9fcnkHCbWkjeKyi0lllwXmBLtyYb5dt89dJyx23I9+LSh5vZDIuk7OLG4VM1lgrXZQcY6cxyZyk5WVPRv/A==} @@ -5793,9 +5937,6 @@ packages: peerDependencies: '@csstools/css-tokenizer': ^3.0.4 - '@csstools/css-syntax-patches-for-csstree@1.1.0': - resolution: {integrity: sha512-H4tuz2nhWgNKLt1inYpoVCfbJbMwX/lQKp3g69rrrIMIYlFD9+zTykOKhNR8uGrAmbS/kT9n6hTFkmDkxLgeTA==} - '@csstools/css-tokenizer@3.0.4': resolution: {integrity: sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==} engines: {node: '>=18'} @@ -5835,6 +5976,28 @@ packages: resolution: {integrity: sha512-4B4OijXeVNOPZlYA2oEwWOTkzyltLao+xbotHQeqN++Rv27Y6s818+n2Qkp8q+Fxhn0t/5lA5X1Mxktud8eayQ==} engines: {node: '>=14.17.0'} + '@dnd-kit/accessibility@3.1.1': + resolution: {integrity: sha512-2P+YgaXF+gRsIihwwY1gCsQSYnu9Zyj2py8kY5fFvUM1qm2WA2u639R6YNVfU4GWr+ZM5mqEsfHZZLoRONbemw==} + peerDependencies: + react: '>=16.8.0' + + '@dnd-kit/core@6.1.0': + resolution: {integrity: sha512-J3cQBClB4TVxwGo3KEjssGEXNJqGVWx17aRTZ1ob0FliR5IjYgTxl5YJbKTzA6IzrtelotH19v6y7uoIRUZPSg==} + peerDependencies: + react: '>=16.8.0' + react-dom: '>=16.8.0' + + '@dnd-kit/sortable@8.0.0': + resolution: {integrity: sha512-U3jk5ebVXe1Lr7c2wU7SBZjcWdQP+j7peHJfCspnA81enlu88Mgd7CC8Q+pub9ubP7eKVETzJW+IBAhsqbSu/g==} + peerDependencies: + '@dnd-kit/core': ^6.1.0 + react: '>=16.8.0' + + '@dnd-kit/utilities@3.2.2': + resolution: {integrity: sha512-+MKAJEOfaBe5SmV6t34p80MMKhjvUz0vRrvVJbPT0WElzaOJ/1xs+D+KDv+tD/NE5ujfrChEcshd4fLn0wpiqg==} + peerDependencies: + react: '>=16.8.0' + '@dual-bundle/import-meta-resolve@4.2.1': resolution: {integrity: sha512-id+7YRUgoUX6CgV0DtuhirQWodeeA7Lf4i2x71JS/vtA5pRb/hIGWlw+G6MeXvsM+MXrz0VAydTGElX1rAfgPg==} @@ -5850,12 +6013,34 @@ packages: '@emotion/babel-plugin@11.13.5': resolution: {integrity: sha512-pxHCpT2ex+0q+HH91/zsdHkw/lXd468DIN2zvfvLtPKLLMo6gQj7oLObq8PhkrxOZb/gGCq03S3Z7PDhS8pduQ==} + '@emotion/cache@10.0.29': + resolution: {integrity: sha512-fU2VtSVlHiF27empSbxi1O2JFdNWZO+2NFHfwO0pxgTep6Xa3uGb+3pVKfLww2l/IBGLNEZl5Xf/++A4wAYDYQ==} + '@emotion/cache@11.14.0': resolution: {integrity: sha512-L/B1lc/TViYk4DcpGxtAVbx0ZyiKM5ktoIyafGkH6zg/tj+mA+NE//aPYKG0k8kCHSHVJrpLpcAlOBEXQ3SavA==} + '@emotion/core@10.3.1': + resolution: {integrity: sha512-447aUEjPIm0MnE6QYIaFz9VQOHSXf4Iu6EWOIqq11EAPqinkSZmfymPTmlOE3QjLv846lH4JVZBUOtwGbuQoww==} + peerDependencies: + react: '>=16.3.0' + + '@emotion/css@10.0.27': + resolution: {integrity: sha512-6wZjsvYeBhyZQYNrGoR5yPMYbMBNEnanDrqmsqS1mzDm1cOTu12shvl2j4QHNS36UaTE0USIJawCH9C8oW34Zw==} + + '@emotion/css@11.10.5': + resolution: {integrity: sha512-maJy0wG82hWsiwfJpc3WrYsyVwUbdu+sdIseKUB+/OLjB8zgc3tqkT6eO0Yt0AhIkJwGGnmMY/xmQwEAgQ4JHA==} + peerDependencies: + '@babel/core': ^7.0.0 + peerDependenciesMeta: + '@babel/core': + optional: true + '@emotion/css@11.13.5': resolution: {integrity: sha512-wQdD0Xhkn3Qy2VNcIzbLP9MR8TafI0MJb7BEAXKp+w4+XqErksWR4OXomuDzPsN4InLdGhVe6EYcn2ZIUCpB8w==} + '@emotion/hash@0.8.0': + resolution: {integrity: sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==} + '@emotion/hash@0.9.2': resolution: {integrity: sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g==} @@ -5880,14 +6065,67 @@ packages: '@types/react': optional: true + '@emotion/react@11.9.3': + resolution: {integrity: sha512-g9Q1GcTOlzOEjqwuLF/Zd9LC+4FljjPjDfxSM7KmEakm+hsHXk+bYZ2q+/hTJzr0OUNkujo72pXLQvXj6H+GJQ==} + peerDependencies: + '@babel/core': ^7.0.0 + '@types/react': '*' + react: '>=16.8.0' + peerDependenciesMeta: + '@babel/core': + optional: true + '@types/react': + optional: true + + '@emotion/serialize@0.11.16': + resolution: {integrity: sha512-G3J4o8by0VRrO+PFeSc3js2myYNOXVJ3Ya+RGVxnshRYgsvErfAOglKAiy1Eo1vhzxqtUvjCyS5gtewzkmvSSg==} + '@emotion/serialize@1.3.3': resolution: {integrity: sha512-EISGqt7sSNWHGI76hC7x1CksiXPahbxEOrC5RjmFRJTqLyEK9/9hZvBbiYn70dw4wuwMKiEMCUlR6ZXTSWQqxA==} + '@emotion/sheet@0.9.4': + resolution: {integrity: sha512-zM9PFmgVSqBw4zL101Q0HrBVTGmpAxFZH/pYx/cjJT5advXguvcgjHFTCaIO3enL/xr89vK2bh0Mfyj9aa0ANA==} + '@emotion/sheet@1.4.0': resolution: {integrity: sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg==} - '@emotion/styled@11.14.1': - resolution: {integrity: sha512-qEEJt42DuToa3gurlH4Qqc1kVpNq8wO8cJtDzU46TjlzWjDlsVyevtYCRijVq3SrHsROS+gVQ8Fnea108GnKzw==} + '@emotion/styled-base@10.3.0': + resolution: {integrity: sha512-PBRqsVKR7QRNkmfH78hTSSwHWcwDpecH9W6heujWAcyp2wdz/64PP73s7fWS1dIPm8/Exc8JAzYS8dEWXjv60w==} + peerDependencies: + '@emotion/core': ^10.0.28 + react: '>=16.3.0' + + '@emotion/styled@10.3.0': + resolution: {integrity: sha512-GgcUpXBBEU5ido+/p/mCT2/Xx+Oqmp9JzQRuC+a4lYM4i4LBBn/dWvc0rQ19N9ObA8/T4NWMrPNe79kMBDJqoQ==} + peerDependencies: + '@emotion/core': ^10.0.27 + react: '>=16.3.0' + + '@emotion/styled@11.10.5': + resolution: {integrity: sha512-8EP6dD7dMkdku2foLoruPCNkRevzdcBaY6q0l0OsbyJK+x8D9HWjX27ARiSIKNF634hY9Zdoedh8bJCiva8yZw==} + peerDependencies: + '@babel/core': ^7.0.0 + '@emotion/react': ^11.0.0-rc.0 + '@types/react': '*' + react: '>=16.8.0' + peerDependenciesMeta: + '@babel/core': + optional: true + '@types/react': + optional: true + + '@emotion/styled@11.11.0': + resolution: {integrity: sha512-hM5Nnvu9P3midq5aaXj4I+lnSfNi7Pmd4EWk1fOZ3pxookaQTNew6bp4JaCBYM4HVFZF9g7UjJmsUmC2JlxOng==} + peerDependencies: + '@emotion/react': ^11.0.0-rc.0 + '@types/react': '*' + react: '>=16.8.0' + peerDependenciesMeta: + '@types/react': + optional: true + + '@emotion/styled@11.14.0': + resolution: {integrity: sha512-XxfOnXFffatap2IyCeJyNov3kiDQWoR08gPUQxvbL7fxKryGBKUZUkG6Hz48DZwVrJSVh9sJboyV1Ds4OW6SgA==} peerDependencies: '@emotion/react': ^11.0.0-rc.0 '@types/react': '*' @@ -5896,140 +6134,386 @@ packages: '@types/react': optional: true + '@emotion/stylis@0.8.5': + resolution: {integrity: sha512-h6KtPihKFn3T9fuIrwvXXUOwlx3rfUvfZIcP5a6rh8Y7zjE3O06hT5Ss4S/YI1AYhuZ1kjaE/5EaOOI2NqSylQ==} + '@emotion/unitless@0.10.0': resolution: {integrity: sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg==} + '@emotion/unitless@0.7.5': + resolution: {integrity: sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==} + '@emotion/use-insertion-effect-with-fallbacks@1.2.0': resolution: {integrity: sha512-yJMtVdH59sxi/aVJBpk9FQq+OR8ll5GT8oWd57UpeaKEVGab41JWaCFA7FRLoMLloOZF/c/wsPoe+bfGmRKgDg==} peerDependencies: react: '>=16.8.0' + '@emotion/utils@0.11.3': + resolution: {integrity: sha512-0o4l6pZC+hI88+bzuaX/6BgOvQVhbt2PfmxauVaYOGgbsAw14wdKyvMCZXnsnsHys94iadcF+RG/wZyx6+ZZBw==} + '@emotion/utils@1.4.2': resolution: {integrity: sha512-3vLclRofFziIa3J2wDh9jjbkUz9qk5Vi3IZ/FSTKViB0k+ef0fPV7dYrUIugbgupYDx7v9ud/SjrtEP8Y4xLoA==} + '@emotion/weak-memoize@0.2.5': + resolution: {integrity: sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA==} + '@emotion/weak-memoize@0.4.0': resolution: {integrity: sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg==} + '@esbuild/aix-ppc64@0.24.2': + resolution: {integrity: sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + '@esbuild/aix-ppc64@0.25.12': resolution: {integrity: sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==} engines: {node: '>=18'} cpu: [ppc64] os: [aix] + '@esbuild/android-arm64@0.18.20': + resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm64@0.24.2': + resolution: {integrity: sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + '@esbuild/android-arm64@0.25.12': resolution: {integrity: sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==} engines: {node: '>=18'} cpu: [arm64] os: [android] + '@esbuild/android-arm@0.18.20': + resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + + '@esbuild/android-arm@0.24.2': + resolution: {integrity: sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + '@esbuild/android-arm@0.25.12': resolution: {integrity: sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==} engines: {node: '>=18'} cpu: [arm] os: [android] + '@esbuild/android-x64@0.18.20': + resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + + '@esbuild/android-x64@0.24.2': + resolution: {integrity: sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + '@esbuild/android-x64@0.25.12': resolution: {integrity: sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==} engines: {node: '>=18'} cpu: [x64] os: [android] + '@esbuild/darwin-arm64@0.18.20': + resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-arm64@0.24.2': + resolution: {integrity: sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + '@esbuild/darwin-arm64@0.25.12': resolution: {integrity: sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==} engines: {node: '>=18'} cpu: [arm64] os: [darwin] + '@esbuild/darwin-x64@0.18.20': + resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + + '@esbuild/darwin-x64@0.24.2': + resolution: {integrity: sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + '@esbuild/darwin-x64@0.25.12': resolution: {integrity: sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==} engines: {node: '>=18'} cpu: [x64] os: [darwin] + '@esbuild/freebsd-arm64@0.18.20': + resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-arm64@0.24.2': + resolution: {integrity: sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + '@esbuild/freebsd-arm64@0.25.12': resolution: {integrity: sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==} engines: {node: '>=18'} cpu: [arm64] os: [freebsd] + '@esbuild/freebsd-x64@0.18.20': + resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.24.2': + resolution: {integrity: sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + '@esbuild/freebsd-x64@0.25.12': resolution: {integrity: sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==} engines: {node: '>=18'} cpu: [x64] os: [freebsd] + '@esbuild/linux-arm64@0.18.20': + resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm64@0.24.2': + resolution: {integrity: sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + '@esbuild/linux-arm64@0.25.12': resolution: {integrity: sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==} engines: {node: '>=18'} cpu: [arm64] os: [linux] + '@esbuild/linux-arm@0.18.20': + resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-arm@0.24.2': + resolution: {integrity: sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + '@esbuild/linux-arm@0.25.12': resolution: {integrity: sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==} engines: {node: '>=18'} cpu: [arm] os: [linux] + '@esbuild/linux-ia32@0.18.20': + resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-ia32@0.24.2': + resolution: {integrity: sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + '@esbuild/linux-ia32@0.25.12': resolution: {integrity: sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==} engines: {node: '>=18'} cpu: [ia32] os: [linux] + '@esbuild/linux-loong64@0.18.20': + resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-loong64@0.24.2': + resolution: {integrity: sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + '@esbuild/linux-loong64@0.25.12': resolution: {integrity: sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==} engines: {node: '>=18'} cpu: [loong64] os: [linux] + '@esbuild/linux-mips64el@0.18.20': + resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-mips64el@0.24.2': + resolution: {integrity: sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + '@esbuild/linux-mips64el@0.25.12': resolution: {integrity: sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==} engines: {node: '>=18'} cpu: [mips64el] os: [linux] + '@esbuild/linux-ppc64@0.18.20': + resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-ppc64@0.24.2': + resolution: {integrity: sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + '@esbuild/linux-ppc64@0.25.12': resolution: {integrity: sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==} engines: {node: '>=18'} cpu: [ppc64] os: [linux] + '@esbuild/linux-riscv64@0.18.20': + resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-riscv64@0.24.2': + resolution: {integrity: sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + '@esbuild/linux-riscv64@0.25.12': resolution: {integrity: sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==} engines: {node: '>=18'} cpu: [riscv64] os: [linux] + '@esbuild/linux-s390x@0.18.20': + resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-s390x@0.24.2': + resolution: {integrity: sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + '@esbuild/linux-s390x@0.25.12': resolution: {integrity: sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==} engines: {node: '>=18'} cpu: [s390x] os: [linux] + '@esbuild/linux-x64@0.18.20': + resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + + '@esbuild/linux-x64@0.24.2': + resolution: {integrity: sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + '@esbuild/linux-x64@0.25.12': resolution: {integrity: sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==} engines: {node: '>=18'} cpu: [x64] os: [linux] + '@esbuild/netbsd-arm64@0.24.2': + resolution: {integrity: sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + '@esbuild/netbsd-arm64@0.25.12': resolution: {integrity: sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==} engines: {node: '>=18'} cpu: [arm64] os: [netbsd] + '@esbuild/netbsd-x64@0.18.20': + resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + + '@esbuild/netbsd-x64@0.24.2': + resolution: {integrity: sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + '@esbuild/netbsd-x64@0.25.12': resolution: {integrity: sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==} engines: {node: '>=18'} cpu: [x64] os: [netbsd] + '@esbuild/openbsd-arm64@0.24.2': + resolution: {integrity: sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + '@esbuild/openbsd-arm64@0.25.12': resolution: {integrity: sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==} engines: {node: '>=18'} cpu: [arm64] os: [openbsd] + '@esbuild/openbsd-x64@0.18.20': + resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.24.2': + resolution: {integrity: sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + '@esbuild/openbsd-x64@0.25.12': resolution: {integrity: sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==} engines: {node: '>=18'} @@ -6042,24 +6526,72 @@ packages: cpu: [arm64] os: [openharmony] + '@esbuild/sunos-x64@0.18.20': + resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + + '@esbuild/sunos-x64@0.24.2': + resolution: {integrity: sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + '@esbuild/sunos-x64@0.25.12': resolution: {integrity: sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==} engines: {node: '>=18'} cpu: [x64] os: [sunos] + '@esbuild/win32-arm64@0.18.20': + resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-arm64@0.24.2': + resolution: {integrity: sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + '@esbuild/win32-arm64@0.25.12': resolution: {integrity: sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==} engines: {node: '>=18'} cpu: [arm64] os: [win32] + '@esbuild/win32-ia32@0.18.20': + resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-ia32@0.24.2': + resolution: {integrity: sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + '@esbuild/win32-ia32@0.25.12': resolution: {integrity: sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==} engines: {node: '>=18'} cpu: [ia32] os: [win32] + '@esbuild/win32-x64@0.18.20': + resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + + '@esbuild/win32-x64@0.24.2': + resolution: {integrity: sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + '@esbuild/win32-x64@0.25.12': resolution: {integrity: sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==} engines: {node: '>=18'} @@ -6084,14 +6616,14 @@ packages: resolution: {integrity: sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/core@0.15.2': - resolution: {integrity: sha512-78Md3/Rrxh83gCxoUc0EiciuOHsIITzLy53m3d9UyiW8y9Dj2D29FeETqyKA+BRK76tnTp6RXWb3pCay8Oyomg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/core@0.17.0': resolution: {integrity: sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/eslintrc@3.3.1': + resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/eslintrc@3.3.5': resolution: {integrity: sha512-4IlJx0X0qftVsN5E+/vGujTRIFtwuLbNsVUe7TO6zYPDR1O6nFwvwhIKEKSrl6dZchmYBITazxKoUYOjdtjlRg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -6108,8 +6640,8 @@ packages: resolution: {integrity: sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/plugin-kit@0.3.5': - resolution: {integrity: sha512-Z5kJ+wU3oA7MMIqVR9tyZRtjYPr4OC004Q4Rw7pgOKUOKkJfZ3O24nz3WYfGRpMDNmcOi3TwQOmgm7B7Tpii0w==} + '@eslint/plugin-kit@0.4.1': + resolution: {integrity: sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@fal-works/esbuild-plugin-global-externals@2.1.2': @@ -6136,23 +6668,23 @@ packages: '@floating-ui/utils@0.2.11': resolution: {integrity: sha512-RiB/yIh78pcIxl6lLMG0CgBXAZ2Y0eVHqMPYugu+9U0AeT6YBeiJpf7lbdJNIugFP5SIjwNRgo4DhR1Qxi26Gg==} - '@formatjs/ecma402-abstract@2.3.6': - resolution: {integrity: sha512-HJnTFeRM2kVFVr5gr5kH1XP6K0JcJtE7Lzvtr3FS/so5f1kpsqqqxy5JF+FRaO6H2qmcMfAUIox7AJteieRtVw==} + '@formatjs/ecma402-abstract@2.3.4': + resolution: {integrity: sha512-qrycXDeaORzIqNhBOx0btnhpD1c+/qFIHAN9znofuMJX6QBwtbrmlpWfD4oiUUD2vJUOIYFA/gYtg2KAMGG7sA==} '@formatjs/fast-memoize@2.2.7': resolution: {integrity: sha512-Yabmi9nSvyOMrlSeGGWDiH7rf3a7sIwplbvo/dlz9WCIjzIQAfy1RMf4S0X3yG724n5Ghu2GmEl5NJIV6O9sZQ==} - '@formatjs/icu-messageformat-parser@2.11.4': - resolution: {integrity: sha512-7kR78cRrPNB4fjGFZg3Rmj5aah8rQj9KPzuLsmcSn4ipLXQvC04keycTI1F7kJYDwIXtT2+7IDEto842CfZBtw==} + '@formatjs/icu-messageformat-parser@2.11.2': + resolution: {integrity: sha512-AfiMi5NOSo2TQImsYAg8UYddsNJ/vUEv/HaNqiFjnI3ZFfWihUtD5QtuX6kHl8+H+d3qvnE/3HZrfzgdWpsLNA==} - '@formatjs/icu-skeleton-parser@1.8.16': - resolution: {integrity: sha512-H13E9Xl+PxBd8D5/6TVUluSpxGNvFSlN/b3coUp0e0JpuWXXnQDiavIpY3NnvSp4xhEMoXyyBvVfdFX8jglOHQ==} + '@formatjs/icu-skeleton-parser@1.8.14': + resolution: {integrity: sha512-i4q4V4qslThK4Ig8SxyD76cp3+QJ3sAqr7f6q9VVfeGtxG9OhiAk3y9XF6Q41OymsKzsGQ6OQQoJNY4/lI8TcQ==} - '@formatjs/intl-localematcher@0.6.2': - resolution: {integrity: sha512-XOMO2Hupl0wdd172Y06h6kLpBz6Dv+J4okPLl4LPtzbr8f66WbIoy4ev98EBuZ6ZK4h5ydTN6XneT4QVpD7cdA==} + '@formatjs/intl-localematcher@0.6.1': + resolution: {integrity: sha512-ePEgLgVCqi2BBFnTMWPfIghu6FkbZnnBVhO2sSxvLfrdFw7wCHAHiDoM2h4NRgjbaY7+B7HgOLZGkK187pZTZg==} - '@formatjs/intl@3.1.8': - resolution: {integrity: sha512-LWXgwI5zTMatvR8w8kCNh/priDTOF/ZssokMBHJ7ZWXFoYLVOYo0EJERD9Eajv+xsfQO1QkuAt77KWQ1OI4mOQ==} + '@formatjs/intl@3.1.6': + resolution: {integrity: sha512-tDkXnA4qpIFcDWac8CyVJq6oW8DR7W44QDUBsfXWIIJD/FYYen0QoH46W7XsVMFfPOVKkvbufjboZrrWbEfmww==} peerDependencies: typescript: ^5.6.0 peerDependenciesMeta: @@ -6184,34 +6716,50 @@ packages: graphql-ws: optional: true + '@grpc/grpc-js@1.14.3': + resolution: {integrity: sha512-Iq8QQQ/7X3Sac15oB6p0FmUg/klxQvXLeileoqrTRGJYLV+/9tubbr9ipz0GKHjmXVsgFPo/+W+2cA8eNcR+XA==} + engines: {node: '>=12.10.0'} + + '@grpc/proto-loader@0.8.0': + resolution: {integrity: sha512-rc1hOQtjIWGxcxpb9aHAfLpIctjEnsDehj0DAiVfBlmT84uvR0uUtN2hEi/ecvWVjXUGf5qPF4qEgiLOx1YIMQ==} + engines: {node: '>=6'} + hasBin: true + '@hapi/hoek@9.3.0': resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==} '@hapi/topo@5.1.0': resolution: {integrity: sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==} - '@headlessui/react@1.7.19': - resolution: {integrity: sha512-Ll+8q3OlMJfJbAKM/+/Y2q6PPYbryqNTXDbryx7SXLIDamkF6iQFbriYHga0dY44PvDhvvBWCx1Xj4U5+G4hOw==} + '@headlessui/react@1.7.18': + resolution: {integrity: sha512-4i5DOrzwN4qSgNsL4Si61VMkUcWbcSKueUV7sFhpHzQcSShdlHENE5+QBntMSRvHt8NyoFO2AGG8si9lq+w4zQ==} engines: {node: '>=10'} peerDependencies: react: ^16 || ^17 || ^18 react-dom: ^16 || ^17 || ^18 - '@headlessui/react@2.2.9': - resolution: {integrity: sha512-Mb+Un58gwBn0/yWZfyrCh0TJyurtT+dETj7YHleylHk5od3dv2XqETPGWMyQ5/7sYN7oWdyM1u9MvC0OC8UmzQ==} + '@headlessui/react@2.1.2': + resolution: {integrity: sha512-Kb3hgk9gRNRcTZktBrKdHhF3xFhYkca1Rk6e1/im2ENf83dgN54orMW0uSKTXFnUpZOUFZ+wcY05LlipwgZIFQ==} + engines: {node: '>=10'} + peerDependencies: + react: ^18 + react-dom: ^18 + + '@headlessui/react@2.2.4': + resolution: {integrity: sha512-lz+OGcAH1dK93rgSMzXmm1qKOJkBUqZf1L4M8TWLNplftQD3IkoEDdUFNfAn4ylsN6WOTVtWaLmvmaHOUk1dTA==} engines: {node: '>=10'} peerDependencies: react: ^18 || ^19 || ^19.0.0-rc react-dom: ^18 || ^19 || ^19.0.0-rc - '@hono/node-server@1.19.11': - resolution: {integrity: sha512-dr8/3zEaB+p0D2n/IUrlPF1HZm586qgJNXK1a9fhg/PzdtkK7Ksd5l312tJX2yBuALqDYBlG20QEbayqPyxn+g==} + '@hono/node-server@1.19.10': + resolution: {integrity: sha512-hZ7nOssGqRgyV3FVVQdfi+U4q02uB23bpnYpdvNXkYTRRyWx84b7yf1ans+dnJ/7h41sGL3CeQTfO+ZGxuO+Iw==} engines: {node: '>=18.14.1'} peerDependencies: hono: ^4 - '@hookform/resolvers@2.9.11': - resolution: {integrity: sha512-bA3aZ79UgcHj7tFV7RlgThzwSSHZgvfbt2wprldRkYBcMopdMvHyO17Wwp/twcJasNFischFfS7oz8Katz8DdQ==} + '@hookform/resolvers@2.8.0': + resolution: {integrity: sha512-ALlr0Bg6zDHdRsdqkwfWGPMnIxP4hqMRPvFDHp7lWXQeA7rKykto3cWqQQh1s0PzX043RHwMB6OHVPMwFJqwxg==} peerDependencies: react-hook-form: ^7.0.0 @@ -6445,8 +6993,8 @@ packages: resolution: {integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - '@jest/transform@30.3.0': - resolution: {integrity: sha512-TLKY33fSLVd/lKB2YI1pH69ijyUblO/BQvCj566YvnwuzoTNr648iE0j22vRvVNk2HsPwByPxATg3MleS3gf5A==} + '@jest/transform@30.0.0': + resolution: {integrity: sha512-8xhpsCGYJsUjqpJOgLyMkeOSSlhqggFZEWAnZquBsvATtueoEs7CkMRxOUmJliF3E5x+mXmZ7gEEsHank029Og==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} '@jest/types@25.5.0': @@ -6477,6 +7025,9 @@ packages: '@jridgewell/gen-mapping@0.3.13': resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} + '@jridgewell/remapping@2.3.5': + resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==} + '@jridgewell/resolve-uri@3.1.2': resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} engines: {node: '>=6.0.0'} @@ -6493,6 +7044,9 @@ packages: '@jridgewell/trace-mapping@0.3.9': resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} + '@js-sdsl/ordered-map@4.4.2': + resolution: {integrity: sha512-iUKgm52T8HOE/makSxjqoWhe95ZJA1/G1sYsGev2JDKUSS14KAgg1LHb+Ba+IPow0xflbnSkOsZcO08C7w1gYw==} + '@jsdevtools/ono@7.1.3': resolution: {integrity: sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==} @@ -6628,6 +7182,20 @@ packages: '@keyv/serialize@1.1.1': resolution: {integrity: sha512-dXn3FZhPv0US+7dtJsIi2R+c7qWYiReoEh5zUntWCf4oSpMNib8FDhSoed6m3QyZdx5hK7iLFkYk3rNxwt8vTA==} + '@langfuse/core@4.6.1': + resolution: {integrity: sha512-DtQoKWHQh0I0MsJxcKrBQVKAJ3fea6+raXlISVY3NDMFG/zSKkdkNouQvUXQtSCHBbOFupHMBw8imM30lbhq3g==} + peerDependencies: + '@opentelemetry/api': ^1.9.0 + + '@langfuse/otel@4.5.1': + resolution: {integrity: sha512-cqykMEAYmGnd9RSZW2FPCNLda5jKZpCOnHTCu0pQD8EDgxCaHbnmD16k6WyjE/jywh991BcIFXzYub2fNbbSSQ==} + engines: {node: '>=20'} + peerDependencies: + '@opentelemetry/api': ^1.9.0 + '@opentelemetry/core': ^2.0.1 + '@opentelemetry/exporter-trace-otlp-http': '>=0.202.0 <1.0.0' + '@opentelemetry/sdk-trace-base': ^2.0.1 + '@leichtgewicht/ip-codec@2.0.5': resolution: {integrity: sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==} @@ -6830,6 +7398,11 @@ packages: '@microsoft/fast-foundation@2.50.0': resolution: {integrity: sha512-8mFYG88Xea1jZf2TI9Lm/jzZ6RWR8x29r24mGuLojNYqIR2Bl8+hnswoV6laApKdCbGMPKnsAL/O68Q0sRxeVg==} + '@microsoft/fast-react-wrapper@0.1.48': + resolution: {integrity: sha512-9NvEjru9Kn5ZKjomAMX6v+eF0DR+eDkxKDwDfi+Wb73kTbrNzcnmlwd4diN15ygH97kldgj2+lpvI4CKLQQWLg==} + peerDependencies: + react: '>=16.9.0' + '@microsoft/fast-react-wrapper@0.3.25': resolution: {integrity: sha512-jKzmk2xJV93RL/jEFXEZgBvXlKIY4N4kXy3qrjmBfFpqNi3VjY+oUTWyMnHRMC5EUhIFxD+Y1VD4u9uIPX3jQw==} peerDependencies: @@ -6968,10 +7541,174 @@ packages: '@open-draft/deferred-promise@2.2.0': resolution: {integrity: sha512-CecwLWx3rhxVQF6V4bAgPS5t+So2sTbPgAzafKkVizyi7tlwpcFpdFqq+wqF2OwNBmqFuu6tOyouTuxgpMfzmA==} + '@opentelemetry/api-logs@0.210.0': + resolution: {integrity: sha512-CMtLxp+lYDriveZejpBND/2TmadrrhUfChyxzmkFtHaMDdSKfP59MAYyA0ICBvEBdm3iXwLcaj/8Ic/pnGw9Yg==} + engines: {node: '>=8.0.0'} + '@opentelemetry/api@1.9.0': resolution: {integrity: sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==} engines: {node: '>=8.0.0'} + '@opentelemetry/configuration@0.210.0': + resolution: {integrity: sha512-tM0ROS/hZM72kB55cSjDcghVcUXBJdGkGzpkhD7M1B/gpcvZPSGfjFgKN3dgmxNgF76NxtbUwv3ik0wS+Kz52g==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': ^1.9.0 + + '@opentelemetry/context-async-hooks@2.4.0': + resolution: {integrity: sha512-jn0phJ+hU7ZuvaoZE/8/Euw3gvHJrn2yi+kXrymwObEPVPjtwCmkvXDRQCWli+fCTTF/aSOtXaLr7CLIvv3LQg==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': '>=1.0.0 <1.10.0' + + '@opentelemetry/core@2.4.0': + resolution: {integrity: sha512-KtcyFHssTn5ZgDu6SXmUznS80OFs/wN7y6MyFRRcKU6TOw8hNcGxKvt8hsdaLJfhzUszNSjURetq5Qpkad14Gw==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': '>=1.0.0 <1.10.0' + + '@opentelemetry/exporter-logs-otlp-grpc@0.210.0': + resolution: {integrity: sha512-+BolenqOO6ow65go7uWRYPvvs/BBIWp1mtRn93VvGduqvMVH/IY8nXrt80a4L9hZ7lHi2Tq2/NcC3H2QzcWKag==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + + '@opentelemetry/exporter-logs-otlp-http@0.210.0': + resolution: {integrity: sha512-Q8/SEQtgrErbVVRg9M9iaG8m5wdPNdU0UOF7U43sAhwfmPG92ZOk/aenKhg0DXSNJHhkCDNCgS1kSoErAB3z0A==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + + '@opentelemetry/exporter-logs-otlp-proto@0.210.0': + resolution: {integrity: sha512-Y/yPc+gDhsWB7AsNzQWxblw4ULbvhCycMaQ2aAn+HSAVbgbMiZa0SbclPVHSnpnNzKSLVavFjweAr0pQA1KKLg==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + + '@opentelemetry/exporter-metrics-otlp-grpc@0.210.0': + resolution: {integrity: sha512-pWZ/Tjrqev9rdkqe8F6A9FGddLZrjl6iRAU5LBvvRL6I3PSgG8z1xM0cESAy1jzAF4wGohnAh8rB7hHzpUOYEA==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + + '@opentelemetry/exporter-metrics-otlp-http@0.210.0': + resolution: {integrity: sha512-JpLThG8Hh8A/Jzdzw9i4Ftu+EzvLaX/LouN+mOOHmadL0iror0Qsi3QWzucXeiUsDDsiYgjfKyi09e6sltytgA==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + + '@opentelemetry/exporter-metrics-otlp-proto@0.210.0': + resolution: {integrity: sha512-CFa7SOinYOVWIWJuQL7XFeyedzmFGIpHpSMNFE8Xefb6iGB4m+MukQecdssvPcJKYlfF5FpovEOLXwafAzsXWQ==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + + '@opentelemetry/exporter-prometheus@0.210.0': + resolution: {integrity: sha512-8i+7d70Hho6pcheTtbqIuS+bo+AIX/oNUTMwIEZoehUE4ZdbGmeVaE+hJS2LAErFeFaU71w164lAgYyMUEQ8zw==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + + '@opentelemetry/exporter-trace-otlp-grpc@0.210.0': + resolution: {integrity: sha512-1GPLOyxIfUX24WM8Oea+vx9d9TlewposUnsQXTjusxVMQ/dWvt5JIDJyTsfNDS412XRUOORgF97PwsfDY5QKGA==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + + '@opentelemetry/exporter-trace-otlp-http@0.210.0': + resolution: {integrity: sha512-9JkyaCl70anEtuKZdoCQmjDuz1/paEixY/DWfsvHt7PGKq3t8/nQ/6/xwxHjG+SkPAUbo1Iq4h7STe7Pk2bc5A==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + + '@opentelemetry/exporter-trace-otlp-proto@0.210.0': + resolution: {integrity: sha512-qVUY7Hsm/t5buGOtPcTV1Ch4W9kj2wGaQaAF5FO4XR8TMKl2GM45tUCnr0/1dF3wo4RG9khMxrddeQWdRL4fIg==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + + '@opentelemetry/exporter-zipkin@2.4.0': + resolution: {integrity: sha512-qpiXY0TUEFjBBp9b1na9LfuVQw6W8LH+te7uv+CC+0Up78ZDtZZwOjK2M7CL7Nspnw+yS4JdgEA7oxsBu0Ctsg==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': ^1.0.0 + + '@opentelemetry/instrumentation@0.210.0': + resolution: {integrity: sha512-sLMhyHmW9katVaLUOKpfCnxSGhZq2t1ReWgwsu2cSgxmDVMB690H9TanuexanpFI94PJaokrqbp8u9KYZDUT5g==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + + '@opentelemetry/otlp-exporter-base@0.210.0': + resolution: {integrity: sha512-uk78DcZoBNHIm26h0oXc8Pizh4KDJ/y04N5k/UaI9J7xR7mL8QcMcYPQG9xxN7m8qotXOMDRW6qTAyptav4+3w==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + + '@opentelemetry/otlp-grpc-exporter-base@0.210.0': + resolution: {integrity: sha512-fEJs8UhkFMrdXMOCLXyKd2uc6N209tIi8IBNqSTi83ri+MlMFrBKnOtklmv9/zzxovoN5zD1waRt6XBFGPfmIw==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + + '@opentelemetry/otlp-transformer@0.210.0': + resolution: {integrity: sha512-nkHBJVSJGOwkRZl+BFIr7gikA93/U8XkL2EWaiDbj3DVjmTEZQpegIKk0lT8oqQYfP8FC6zWNjuTfkaBVqa0ZQ==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + + '@opentelemetry/propagator-b3@2.4.0': + resolution: {integrity: sha512-6VPsFiMUkJBre/86F0d+PZMaUCcuLA9DtZuC46KH8EeVEKZPEM2WlX35M/qmde8UpzoQL9qzdz54YjUYABt8Uw==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': '>=1.0.0 <1.10.0' + + '@opentelemetry/propagator-jaeger@2.4.0': + resolution: {integrity: sha512-t6muBL/3AMD++1EMF658C/KIpj3gfmTmftX3mEQql4KIxNGFvacCmmTtrQt9IZAJmQRfjQRCkv+vsGbQugeJIw==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': '>=1.0.0 <1.10.0' + + '@opentelemetry/resources@2.4.0': + resolution: {integrity: sha512-RWvGLj2lMDZd7M/5tjkI/2VHMpXebLgPKvBUd9LRasEWR2xAynDwEYZuLvY9P2NGG73HF07jbbgWX2C9oavcQg==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': '>=1.3.0 <1.10.0' + + '@opentelemetry/sdk-logs@0.210.0': + resolution: {integrity: sha512-YuaL92Dpyk/Kc1o4e9XiaWWwiC0aBFN+4oy+6A9TP4UNJmRymPMEX10r6EMMFMD7V0hktiSig9cwWo59peeLCQ==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': '>=1.4.0 <1.10.0' + + '@opentelemetry/sdk-metrics@2.4.0': + resolution: {integrity: sha512-qSbfq9mXbLMqmPEjijl32f3ZEmiHekebRggPdPjhHI6t1CsAQOR2Aw/SuTDftk3/l2aaPHpwP3xM2DkgBA1ANw==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': '>=1.9.0 <1.10.0' + + '@opentelemetry/sdk-node@0.210.0': + resolution: {integrity: sha512-KymqUtYvfpblDNgGxBXYqCcDjYXwjOF7Muc6ocs0rMlG/66Hcs9KiJ7hg4zLOv63JubF/vxi5WXaLrQrPKyaZQ==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': '>=1.3.0 <1.10.0' + + '@opentelemetry/sdk-trace-base@2.4.0': + resolution: {integrity: sha512-WH0xXkz/OHORDLKqaxcUZS0X+t1s7gGlumr2ebiEgNZQl2b0upK2cdoD0tatf7l8iP74woGJ/Kmxe82jdvcWRw==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': '>=1.3.0 <1.10.0' + + '@opentelemetry/sdk-trace-node@2.4.0': + resolution: {integrity: sha512-MBc2l04hZPYygnWPT38UiOPy9ueutPqmJ47z0m9IKuoVQh3MblmbSgwspjhdHagZLfSfmlzhWR1xtbgVNmjX2A==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': '>=1.0.0 <1.10.0' + + '@opentelemetry/semantic-conventions@1.40.0': + resolution: {integrity: sha512-cifvXDhcqMwwTlTK04GBNeIe7yyo28Mfby85QXFe1Yk8nmi36Ab/5UQwptOx84SsoGNRg+EVSjwzfSZMy6pmlw==} + engines: {node: '>=14'} + '@parcel/watcher-android-arm64@2.5.6': resolution: {integrity: sha512-YQxSS34tPF/6ZG7r/Ih9xy+kP/WwediEUsqmtf0cuCV5TPPKw/PQHRhueUo6JdeFJaqV3pyjm0GdYjZotbRt/A==} engines: {node: '>= 10.0.0'} @@ -7054,6 +7791,12 @@ packages: resolution: {integrity: sha512-tmmZ3lQxAe/k/+rNnXQRawJ4NjxO2hqiOLTHvWchtGZULp4RyFeh6aU4XdOYBFe2KE1oShQTv4AblOs2iOrNnQ==} engines: {node: '>= 10.0.0'} + '@pdf-lib/standard-fonts@1.0.0': + resolution: {integrity: sha512-hU30BK9IUN/su0Mn9VdlVKsWBS6GyhVfqjwl1FjZN4TxP6cCw0jP2w7V3Hf5uX7M0AZJ16vey9yE0ny7Sa59ZA==} + + '@pdf-lib/upng@1.0.1': + resolution: {integrity: sha512-dQK2FUMQtowVP00mtIksrlZhdFXQZPC+taih1q4CvPZ5vqdxR/LKBaFg0oAfzd1GlHZXXSPdQfzQnt+ViGvEIQ==} + '@peculiar/asn1-cms@2.6.1': resolution: {integrity: sha512-vdG4fBF6Lkirkcl53q6eOdn3XYKt+kJTG59edgRZORlg/3atWWEReRCx5rYE1ZzTTX6vLK5zDMjHh7vbrcXGtw==} @@ -7101,6 +7844,32 @@ packages: engines: {node: '>=18'} hasBin: true + '@pmmmwh/react-refresh-webpack-plugin@0.4.3': + resolution: {integrity: sha512-br5Qwvh8D2OQqSXpd1g/xqXKnK0r+Jz6qVKBbWmpUcrbGOxUrf39V5oZ1876084CGn18uMdR5uvPqBv9UqtBjQ==} + engines: {node: '>= 10.x'} + peerDependencies: + '@types/webpack': 4.x + react-refresh: '>=0.8.3 <0.10.0' + sockjs-client: ^1.4.0 + type-fest: ^0.13.1 + webpack: '>=4.43.0 <6.0.0' + webpack-dev-server: 3.x + webpack-hot-middleware: 2.x + webpack-plugin-serve: 0.x || 1.x + peerDependenciesMeta: + '@types/webpack': + optional: true + sockjs-client: + optional: true + type-fest: + optional: true + webpack-dev-server: + optional: true + webpack-hot-middleware: + optional: true + webpack-plugin-serve: + optional: true + '@pmmmwh/react-refresh-webpack-plugin@0.5.17': resolution: {integrity: sha512-tXDyE1/jzFsHXjhRZQ3hMl0IVhYe5qula43LDWIhVfjp9G/nT5OQY5AORVOrkEGAUltBJOfOWeETbmhm6kHhuQ==} engines: {node: '>= 10.13'} @@ -7127,14 +7896,14 @@ packages: webpack-plugin-serve: optional: true - '@pmmmwh/react-refresh-webpack-plugin@0.6.2': - resolution: {integrity: sha512-IhIAD5n4XvGHuL9nAgWfsBR0TdxtjrUWETYKCBHxauYXEv+b+ctEbs9neEgPC7Ecgzv4bpZTBwesAoGDeFymzA==} + '@pmmmwh/react-refresh-webpack-plugin@0.6.0': + resolution: {integrity: sha512-AAc+QWfZ1KQ/e1C6OHWVlxU+ks6zFGOA44IJUlvju7RlDS8nsX6poPFOIlsg/rTofO9vKov12+WCjMhKkRKD5g==} engines: {node: '>=18.12'} peerDependencies: '@types/webpack': 5.x react-refresh: '>=0.10.0 <1.0.0' sockjs-client: ^1.4.0 - type-fest: '>=0.17.0 <6.0.0' + type-fest: '>=0.17.0 <5.0.0' webpack: ^5.0.0 webpack-dev-server: ^4.8.0 || 5.x webpack-hot-middleware: 2.x @@ -7153,6 +7922,9 @@ packages: webpack-plugin-serve: optional: true + '@popperjs/core@2.11.8': + resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==} + '@projectstorm/geometry@6.7.4': resolution: {integrity: sha512-9jTcQPzg+qT9OUMCUGmpkyk0ChHMobFL5d542dY5sb54bki35cawvQj2gMsIdNJ4WGxnuM+DKSSzm4JX35lGtw==} @@ -7162,7 +7934,7 @@ packages: '@projectstorm/react-canvas-core@6.7.4': resolution: {integrity: sha512-sY32kT//gQe5aw6RHkmKrbzBq9iWyfwyvvfRTplGPE1ll3zOBVCjbf3tdfw6vATCden+WR0TmirtBo2j3exiBg==} peerDependencies: - lodash: 4.17.23 + lodash: 4.* react: 16.* || 17.* '@projectstorm/react-canvas-core@7.0.3': @@ -7171,7 +7943,7 @@ packages: '@projectstorm/react-diagrams-core@6.7.4': resolution: {integrity: sha512-AeqH1u58Ugk8mif/GgLEUeOMmTPaWDpl1isA1OJHCPGMbvAytRfv5mrGMvG2E+pYDB29BQ4Yo2z9/TbAy6/nvA==} peerDependencies: - lodash: 4.17.23 + lodash: 4.* react: 18.* resize-observer-polyfill: ^1.5.1 @@ -7183,7 +7955,7 @@ packages: peerDependencies: '@emotion/react': ^11.* '@emotion/styled': ^11.* - lodash: 4.17.23 + lodash: 4.* react: 18.* '@projectstorm/react-diagrams-defaults@7.1.3': @@ -7193,7 +7965,7 @@ packages: resolution: {integrity: sha512-mB8YaRkNF6gdTlYvL0Cxc6m6XLwh7wvmjIsiEO6kW3j1uSvH7R7Gbl/iDYOdc0zUMqH9+pD+M064tWC4oAXa9A==} peerDependencies: dagre: ^0.8.5 - lodash: 4.17.23 + lodash: 4.* pathfinding: ^0.4.18 paths-js: ^0.4.11 react: 18.* @@ -7983,6 +8755,12 @@ packages: '@radix-ui/rect@1.1.1': resolution: {integrity: sha512-HPwpGIzkl28mWyZqG52jiqDJ12waP11Pa1lGoiyUkIEuMLBP0oeK/C89esbXrxsky5we7dfd8U58nm0SgAWpVw==} + '@reach/router@1.3.4': + resolution: {integrity: sha512-+mtn9wjlB9NN2CNnnC/BRYtwdKBfSyyasPYraNAyvaV1occr/5NnB4CVzjEZipNHwYebQwcndGUmpFzxAUoqSA==} + peerDependencies: + react: 15.x || 16.x || 16.4.0-alpha.0911da3 + react-dom: 15.x || 16.x || 16.4.0-alpha.0911da3 + '@react-aria/focus@3.21.5': resolution: {integrity: sha512-V18fwCyf8zqgJdpLQeDU5ZRNd9TeOfBbhLgmX77Zr5ae9XwaoJ1R3SFJG1wCJX60t34AW+aLZSEEK+saQElf3Q==} peerDependencies: @@ -8068,8 +8846,8 @@ packages: peerDependencies: rollup: ^1.20.0||^2.0.0 - '@rollup/plugin-commonjs@28.0.9': - resolution: {integrity: sha512-PIR4/OHZ79romx0BVVll/PkwWpJ7e5lsqFa3gFfcrFPWwLXLV39JVUzQV9RKjWerE7B845Hqjj9VYlQeieZ2dA==} + '@rollup/plugin-commonjs@28.0.3': + resolution: {integrity: sha512-pyltgilam1QPdn+Zd9gaCfOLcnjMEJ9gV+bTw6/r73INdvzf1ah9zLIJBm+kW7R6IUFIQ1YO+VqZtYxZNWFPEQ==} engines: {node: '>=16.0.0 || 14 >= 14.17'} peerDependencies: rollup: ^2.68.0||^3.0.0||^4.0.0 @@ -8091,8 +8869,8 @@ packages: rollup: optional: true - '@rollup/plugin-node-resolve@16.0.3': - resolution: {integrity: sha512-lUYM3UBGuM93CnMPG1YocWu7X802BrNF3jW2zny5gQyLQgRFJhV1Sq0Zi74+dh/6NBx1DxFC4b4GXg9wUCG5Qg==} + '@rollup/plugin-node-resolve@16.0.1': + resolution: {integrity: sha512-tk5YCxJWIG81umIvNkSod2qK5KyQW19qcBF/B78n1bjtOON6gzKoVeSzAE8yHCZEDmqkHKkxplExA8KzdJLJpA==} engines: {node: '>=14.0.0'} peerDependencies: rollup: ^2.78.0||^3.0.0||^4.0.0 @@ -8130,128 +8908,103 @@ packages: rollup: optional: true - '@rollup/rollup-android-arm-eabi@4.59.0': - resolution: {integrity: sha512-upnNBkA6ZH2VKGcBj9Fyl9IGNPULcjXRlg0LLeaioQWueH30p6IXtJEbKAgvyv+mJaMxSm1l6xwDXYjpEMiLMg==} + '@rollup/rollup-android-arm-eabi@4.41.0': + resolution: {integrity: sha512-KxN+zCjOYHGwCl4UCtSfZ6jrq/qi88JDUtiEFk8LELEHq2Egfc/FgW+jItZiOLRuQfb/3xJSgFuNPC9jzggX+A==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.59.0': - resolution: {integrity: sha512-hZ+Zxj3SySm4A/DylsDKZAeVg0mvi++0PYVceVyX7hemkw7OreKdCvW2oQ3T1FMZvCaQXqOTHb8qmBShoqk69Q==} + '@rollup/rollup-android-arm64@4.41.0': + resolution: {integrity: sha512-yDvqx3lWlcugozax3DItKJI5j05B0d4Kvnjx+5mwiUpWramVvmAByYigMplaoAQ3pvdprGCTCE03eduqE/8mPQ==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.59.0': - resolution: {integrity: sha512-W2Psnbh1J8ZJw0xKAd8zdNgF9HRLkdWwwdWqubSVk0pUuQkoHnv7rx4GiF9rT4t5DIZGAsConRE3AxCdJ4m8rg==} + '@rollup/rollup-darwin-arm64@4.41.0': + resolution: {integrity: sha512-2KOU574vD3gzcPSjxO0eyR5iWlnxxtmW1F5CkNOHmMlueKNCQkxR6+ekgWyVnz6zaZihpUNkGxjsYrkTJKhkaw==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.59.0': - resolution: {integrity: sha512-ZW2KkwlS4lwTv7ZVsYDiARfFCnSGhzYPdiOU4IM2fDbL+QGlyAbjgSFuqNRbSthybLbIJ915UtZBtmuLrQAT/w==} + '@rollup/rollup-darwin-x64@4.41.0': + resolution: {integrity: sha512-gE5ACNSxHcEZyP2BA9TuTakfZvULEW4YAOtxl/A/YDbIir/wPKukde0BNPlnBiP88ecaN4BJI2TtAd+HKuZPQQ==} cpu: [x64] os: [darwin] - '@rollup/rollup-freebsd-arm64@4.59.0': - resolution: {integrity: sha512-EsKaJ5ytAu9jI3lonzn3BgG8iRBjV4LxZexygcQbpiU0wU0ATxhNVEpXKfUa0pS05gTcSDMKpn3Sx+QB9RlTTA==} + '@rollup/rollup-freebsd-arm64@4.41.0': + resolution: {integrity: sha512-GSxU6r5HnWij7FoSo7cZg3l5GPg4HFLkzsFFh0N/b16q5buW1NAWuCJ+HMtIdUEi6XF0qH+hN0TEd78laRp7Dg==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.59.0': - resolution: {integrity: sha512-d3DuZi2KzTMjImrxoHIAODUZYoUUMsuUiY4SRRcJy6NJoZ6iIqWnJu9IScV9jXysyGMVuW+KNzZvBLOcpdl3Vg==} + '@rollup/rollup-freebsd-x64@4.41.0': + resolution: {integrity: sha512-KGiGKGDg8qLRyOWmk6IeiHJzsN/OYxO6nSbT0Vj4MwjS2XQy/5emsmtoqLAabqrohbgLWJ5GV3s/ljdrIr8Qjg==} cpu: [x64] os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.59.0': - resolution: {integrity: sha512-t4ONHboXi/3E0rT6OZl1pKbl2Vgxf9vJfWgmUoCEVQVxhW6Cw/c8I6hbbu7DAvgp82RKiH7TpLwxnJeKv2pbsw==} + '@rollup/rollup-linux-arm-gnueabihf@4.41.0': + resolution: {integrity: sha512-46OzWeqEVQyX3N2/QdiU/CMXYDH/lSHpgfBkuhl3igpZiaB3ZIfSjKuOnybFVBQzjsLwkus2mjaESy8H41SzvA==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.59.0': - resolution: {integrity: sha512-CikFT7aYPA2ufMD086cVORBYGHffBo4K8MQ4uPS/ZnY54GKj36i196u8U+aDVT2LX4eSMbyHtyOh7D7Zvk2VvA==} + '@rollup/rollup-linux-arm-musleabihf@4.41.0': + resolution: {integrity: sha512-lfgW3KtQP4YauqdPpcUZHPcqQXmTmH4nYU0cplNeW583CMkAGjtImw4PKli09NFi2iQgChk4e9erkwlfYem6Lg==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.59.0': - resolution: {integrity: sha512-jYgUGk5aLd1nUb1CtQ8E+t5JhLc9x5WdBKew9ZgAXg7DBk0ZHErLHdXM24rfX+bKrFe+Xp5YuJo54I5HFjGDAA==} + '@rollup/rollup-linux-arm64-gnu@4.41.0': + resolution: {integrity: sha512-nn8mEyzMbdEJzT7cwxgObuwviMx6kPRxzYiOl6o/o+ChQq23gfdlZcUNnt89lPhhz3BYsZ72rp0rxNqBSfqlqw==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.59.0': - resolution: {integrity: sha512-peZRVEdnFWZ5Bh2KeumKG9ty7aCXzzEsHShOZEFiCQlDEepP1dpUl/SrUNXNg13UmZl+gzVDPsiCwnV1uI0RUA==} + '@rollup/rollup-linux-arm64-musl@4.41.0': + resolution: {integrity: sha512-l+QK99je2zUKGd31Gh+45c4pGDAqZSuWQiuRFCdHYC2CSiO47qUWsCcenrI6p22hvHZrDje9QjwSMAFL3iwXwQ==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-loong64-gnu@4.59.0': - resolution: {integrity: sha512-gbUSW/97f7+r4gHy3Jlup8zDG190AuodsWnNiXErp9mT90iCy9NKKU0Xwx5k8VlRAIV2uU9CsMnEFg/xXaOfXg==} - cpu: [loong64] - os: [linux] - - '@rollup/rollup-linux-loong64-musl@4.59.0': - resolution: {integrity: sha512-yTRONe79E+o0FWFijasoTjtzG9EBedFXJMl888NBEDCDV9I2wGbFFfJQQe63OijbFCUZqxpHz1GzpbtSFikJ4Q==} + '@rollup/rollup-linux-loongarch64-gnu@4.41.0': + resolution: {integrity: sha512-WbnJaxPv1gPIm6S8O/Wg+wfE/OzGSXlBMbOe4ie+zMyykMOeqmgD1BhPxZQuDqwUN+0T/xOFtL2RUWBspnZj3w==} cpu: [loong64] os: [linux] - '@rollup/rollup-linux-ppc64-gnu@4.59.0': - resolution: {integrity: sha512-sw1o3tfyk12k3OEpRddF68a1unZ5VCN7zoTNtSn2KndUE+ea3m3ROOKRCZxEpmT9nsGnogpFP9x6mnLTCaoLkA==} - cpu: [ppc64] - os: [linux] - - '@rollup/rollup-linux-ppc64-musl@4.59.0': - resolution: {integrity: sha512-+2kLtQ4xT3AiIxkzFVFXfsmlZiG5FXYW7ZyIIvGA7Bdeuh9Z0aN4hVyXS/G1E9bTP/vqszNIN/pUKCk/BTHsKA==} + '@rollup/rollup-linux-powerpc64le-gnu@4.41.0': + resolution: {integrity: sha512-eRDWR5t67/b2g8Q/S8XPi0YdbKcCs4WQ8vklNnUYLaSWF+Cbv2axZsp4jni6/j7eKvMLYCYdcsv8dcU+a6QNFg==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.59.0': - resolution: {integrity: sha512-NDYMpsXYJJaj+I7UdwIuHHNxXZ/b/N2hR15NyH3m2qAtb/hHPA4g4SuuvrdxetTdndfj9b1WOmy73kcPRoERUg==} + '@rollup/rollup-linux-riscv64-gnu@4.41.0': + resolution: {integrity: sha512-TWrZb6GF5jsEKG7T1IHwlLMDRy2f3DPqYldmIhnA2DVqvvhY2Ai184vZGgahRrg8k9UBWoSlHv+suRfTN7Ua4A==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-riscv64-musl@4.59.0': - resolution: {integrity: sha512-nLckB8WOqHIf1bhymk+oHxvM9D3tyPndZH8i8+35p/1YiVoVswPid2yLzgX7ZJP0KQvnkhM4H6QZ5m0LzbyIAg==} + '@rollup/rollup-linux-riscv64-musl@4.41.0': + resolution: {integrity: sha512-ieQljaZKuJpmWvd8gW87ZmSFwid6AxMDk5bhONJ57U8zT77zpZ/TPKkU9HpnnFrM4zsgr4kiGuzbIbZTGi7u9A==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.59.0': - resolution: {integrity: sha512-oF87Ie3uAIvORFBpwnCvUzdeYUqi2wY6jRFWJAy1qus/udHFYIkplYRW+wo+GRUP4sKzYdmE1Y3+rY5Gc4ZO+w==} + '@rollup/rollup-linux-s390x-gnu@4.41.0': + resolution: {integrity: sha512-/L3pW48SxrWAlVsKCN0dGLB2bi8Nv8pr5S5ocSM+S0XCn5RCVCXqi8GVtHFsOBBCSeR+u9brV2zno5+mg3S4Aw==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.59.0': - resolution: {integrity: sha512-3AHmtQq/ppNuUspKAlvA8HtLybkDflkMuLK4DPo77DfthRb71V84/c4MlWJXixZz4uruIH4uaa07IqoAkG64fg==} + '@rollup/rollup-linux-x64-gnu@4.41.0': + resolution: {integrity: sha512-XMLeKjyH8NsEDCRptf6LO8lJk23o9wvB+dJwcXMaH6ZQbbkHu2dbGIUindbMtRN6ux1xKi16iXWu6q9mu7gDhQ==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.59.0': - resolution: {integrity: sha512-2UdiwS/9cTAx7qIUZB/fWtToJwvt0Vbo0zmnYt7ED35KPg13Q0ym1g442THLC7VyI6JfYTP4PiSOWyoMdV2/xg==} + '@rollup/rollup-linux-x64-musl@4.41.0': + resolution: {integrity: sha512-m/P7LycHZTvSQeXhFmgmdqEiTqSV80zn6xHaQ1JSqwCtD1YGtwEK515Qmy9DcB2HK4dOUVypQxvhVSy06cJPEg==} cpu: [x64] os: [linux] - '@rollup/rollup-openbsd-x64@4.59.0': - resolution: {integrity: sha512-M3bLRAVk6GOwFlPTIxVBSYKUaqfLrn8l0psKinkCFxl4lQvOSz8ZrKDz2gxcBwHFpci0B6rttydI4IpS4IS/jQ==} - cpu: [x64] - os: [openbsd] - - '@rollup/rollup-openharmony-arm64@4.59.0': - resolution: {integrity: sha512-tt9KBJqaqp5i5HUZzoafHZX8b5Q2Fe7UjYERADll83O4fGqJ49O1FsL6LpdzVFQcpwvnyd0i+K/VSwu/o/nWlA==} - cpu: [arm64] - os: [openharmony] - - '@rollup/rollup-win32-arm64-msvc@4.59.0': - resolution: {integrity: sha512-V5B6mG7OrGTwnxaNUzZTDTjDS7F75PO1ae6MJYdiMu60sq0CqN5CVeVsbhPxalupvTX8gXVSU9gq+Rx1/hvu6A==} + '@rollup/rollup-win32-arm64-msvc@4.41.0': + resolution: {integrity: sha512-4yodtcOrFHpbomJGVEqZ8fzD4kfBeCbpsUy5Pqk4RluXOdsWdjLnjhiKy2w3qzcASWd04fp52Xz7JKarVJ5BTg==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.59.0': - resolution: {integrity: sha512-UKFMHPuM9R0iBegwzKF4y0C4J9u8C6MEJgFuXTBerMk7EJ92GFVFYBfOZaSGLu6COf7FxpQNqhNS4c4icUPqxA==} + '@rollup/rollup-win32-ia32-msvc@4.41.0': + resolution: {integrity: sha512-tmazCrAsKzdkXssEc65zIE1oC6xPHwfy9d5Ta25SRCDOZS+I6RypVVShWALNuU9bxIfGA0aqrmzlzoM5wO5SPQ==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-gnu@4.59.0': - resolution: {integrity: sha512-laBkYlSS1n2L8fSo1thDNGrCTQMmxjYY5G0WFWjFFYZkKPjsMBsgJfGf4TLxXrF6RyhI60L8TMOjBMvXiTcxeA==} - cpu: [x64] - os: [win32] - - '@rollup/rollup-win32-x64-msvc@4.59.0': - resolution: {integrity: sha512-2HRCml6OztYXyJXAvdDXPKcawukWY2GpR5/nxKp4iBgiO3wcoEGkAaqctIbZcNB6KlUQBIqt8VYkNSj2397EfA==} + '@rollup/rollup-win32-x64-msvc@4.41.0': + resolution: {integrity: sha512-h1J+Yzjo/X+0EAvR2kIXJDuTuyT7drc+t2ALY0nIcGPbTatNOf0VWdhEA2Z4AAjv6X1NJV7SYo5oCTYRJhSlVA==} cpu: [x64] os: [win32] @@ -8314,8 +9067,8 @@ packages: engines: {node: '>= 8'} hasBin: true - '@sentry/webpack-plugin@1.21.0': - resolution: {integrity: sha512-x0PYIMWcsTauqxgl7vWUY6sANl+XGKtx7DCVnnY7aOIIlIna0jChTAPANTfA2QrK+VK+4I/4JxatCEZBnXh3Og==} + '@sentry/webpack-plugin@1.20.1': + resolution: {integrity: sha512-klOLkfM/oSYzcR2M9oDmJA5/Mdaw0Mtck/h820Z+gqpd6WJepjhqVDel1z2VddaP/XMY0Dj6elCGp2/nDWNr0w==} engines: {node: '>= 8'} '@sideway/address@4.1.5': @@ -8586,8 +9339,8 @@ packages: resolution: {integrity: sha512-75MeYpjdWRe8M5E3AW0O4Cx3UadweS+cwdXjwYGBW5h/gxxnbeZ877sLPX/ZJA9GVTlL/qG0dXP29JWFCD1Ayw==} engines: {node: '>=18.0.0'} - '@smithy/util-waiter@4.2.12': - resolution: {integrity: sha512-ek5hyDrzS6mBFsNCEX8LpM+EWSLq6b9FdmPRlkpXXhiJE6aIZehKT9clC6+nFpZAA+i/Yg0xlaPeWGNbf5rzQA==} + '@smithy/util-waiter@4.2.11': + resolution: {integrity: sha512-x7Rh2azQPs3XxbvCzcttRErKKvLnbZfqRf/gOjw2pb+ZscX88e5UkRPCB67bVnsFHxayvMvmePfKTqsRb+is1A==} engines: {node: '>=18.0.0'} '@smithy/uuid@1.1.2': @@ -8617,8 +9370,19 @@ packages: react-dom: optional: true - '@storybook/addon-actions@7.4.6': - resolution: {integrity: sha512-SsqZr3js5NinKPnC8AeNI7Ij+Q6fIl9tRdRmSulEgjksjOg7E5S1/Wsn5Bb2CCgj7MaX6VxGyC7s3XskQtDiIQ==} + '@storybook/addon-actions@6.5.9': + resolution: {integrity: sha512-wDYm3M1bN+zcYZV3Q24M03b/P8DDpvj1oSoY6VLlxDAi56h8qZB/voeIS2I6vWXOB79C5tbwljYNQO0GsufS0g==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + react: + optional: true + react-dom: + optional: true + + '@storybook/addon-actions@7.4.0': + resolution: {integrity: sha512-0lHLLUlrGE7CBFrfmAXrBKu7fUIsiQlnNekuE3cIAjSgVR481bJEzYHUUoMATqpPC4GGErBdP1CZxVDDwWV8jA==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -8633,11 +9397,6 @@ packages: peerDependencies: storybook: ^8.6.14 - '@storybook/addon-actions@8.6.18': - resolution: {integrity: sha512-GcYhtE91GjIQTuZlwpTJ8jfMp6NC79nkpe1DGe0eetTpyQqLq1WUt+ACkk0Z5lqq2u8HBc09zCCGw+D8iCLpYQ==} - peerDependencies: - storybook: ^8.6.18 - '@storybook/addon-backgrounds@6.5.16': resolution: {integrity: sha512-t7qooZ892BruhilFmzYPbysFwpULt/q4zYXNSmKVbAYta8UVvitjcU4F18p8FpWd9WvhiTr0SDlyhNZuzvDfug==} peerDependencies: @@ -8649,8 +9408,19 @@ packages: react-dom: optional: true - '@storybook/addon-backgrounds@7.4.6': - resolution: {integrity: sha512-+LHTZB/ZYMAzkyD5ZxSriBsqmsrvIaW/Nnd/BeuXGbkrVKKqM0qAKiFZAfjc2WchA1piVNy0/1Rsf+kuYCEiJw==} + '@storybook/addon-backgrounds@6.5.9': + resolution: {integrity: sha512-9k+GiY5aiANLOct34ar29jqgdi5ZpCqpZ86zPH0GsEC6ifH6nzP4trLU0vFUe260XDCvB4g8YaI7JZKPhozERg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + react: + optional: true + react-dom: + optional: true + + '@storybook/addon-backgrounds@7.4.0': + resolution: {integrity: sha512-cEO/Tp/eRE+5bf1FGN4wKLqLDBv3EYp9enJyXV7B3cFdciqtoE7VJPZuFZkzjJN1rRcOKSZp8g5agsx+x9uNGQ==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -8676,8 +9446,19 @@ packages: react-dom: optional: true - '@storybook/addon-controls@7.4.6': - resolution: {integrity: sha512-4lq3sycEUIsK8SUWDYc60QgF4vV9FZZ3lDr6M7j2W9bOnvGw49d2fbdlnq+bX1ZprZZ9VgglQpBAorQB3BXZRw==} + '@storybook/addon-controls@6.5.9': + resolution: {integrity: sha512-VvjkgK32bGURKyWU2No6Q2B0RQZjLZk8D3neVNCnrWxwrl1G82StegxjRPn/UZm9+MZVPvTvI46nj1VdgOktnw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + react: + optional: true + react-dom: + optional: true + + '@storybook/addon-controls@7.4.0': + resolution: {integrity: sha512-tYDfqpTR+c9y4kElmr3aWNHPot6kYd+nruYb697LpkCdy4lFErqSo0mhvPyZfMZp2KEajfp6YJAurhQWbvbj/A==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -8706,8 +9487,22 @@ packages: react-dom: optional: true - '@storybook/addon-docs@7.4.6': - resolution: {integrity: sha512-dLaub+XWFq4hChw+xfuF9yYg0Txp77FUawKoAigccfjWXx+OOhRV3XTuAcknpXkYq94GWynHgUFXosXT9kbDNA==} + '@storybook/addon-docs@6.5.9': + resolution: {integrity: sha512-9lwOZyiOJFUgGd9ADVfcgpels5o0XOXqGMeVLuzT1160nopbZjNjo/3+YLJ0pyHRPpMJ4rmq2+vxRQR6PVRgPg==} + peerDependencies: + '@storybook/mdx2-csf': ^0.0.3 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@storybook/mdx2-csf': + optional: true + react: + optional: true + react-dom: + optional: true + + '@storybook/addon-docs@7.4.0': + resolution: {integrity: sha512-LJE92LUeVTgi8W4tLBEbSvCqF54snmBfTFCr46vhCFov2CE2VBgEvIX1XT3dfUgYUOtPu3RXR2C89fYgU6VYZw==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -8779,8 +9574,65 @@ packages: webpack: optional: true - '@storybook/addon-essentials@7.4.6': - resolution: {integrity: sha512-dWodufrt71TK7ELkeIvVae/x4PzECUlbOm57Iqqt4yQCyR291CgvI4PjeB8un2HbpcXCGZ+N/Oj3YkytvzBi4A==} + '@storybook/addon-essentials@6.5.9': + resolution: {integrity: sha512-V9ThjKQsde4A2Es20pLFBsn0MWx2KCJuoTcTsANP4JDcbvEmj8UjbDWbs8jAU+yzJT5r+CI6NoWmQudv12ZOgw==} + peerDependencies: + '@babel/core': ^7.9.6 + '@storybook/angular': '*' + '@storybook/builder-manager4': '*' + '@storybook/builder-manager5': '*' + '@storybook/builder-webpack4': '*' + '@storybook/builder-webpack5': '*' + '@storybook/html': '*' + '@storybook/vue': '*' + '@storybook/vue3': '*' + '@storybook/web-components': '*' + lit: '*' + lit-html: '*' + react: '*' + react-dom: '*' + svelte: '*' + sveltedoc-parser: '*' + vue: '*' + webpack: '*' + peerDependenciesMeta: + '@storybook/angular': + optional: true + '@storybook/builder-manager4': + optional: true + '@storybook/builder-manager5': + optional: true + '@storybook/builder-webpack4': + optional: true + '@storybook/builder-webpack5': + optional: true + '@storybook/html': + optional: true + '@storybook/vue': + optional: true + '@storybook/vue3': + optional: true + '@storybook/web-components': + optional: true + lit: + optional: true + lit-html: + optional: true + react: + optional: true + react-dom: + optional: true + svelte: + optional: true + sveltedoc-parser: + optional: true + vue: + optional: true + webpack: + optional: true + + '@storybook/addon-essentials@7.4.0': + resolution: {integrity: sha512-nZmNM9AKw2JXxnYUXyFKLeUF/cL7Z9E1WTeZyOFTDtU2aITRt8+LvaepwjchtPqu2B0GcQxLB5FRDdhy0I19nw==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -8790,8 +9642,8 @@ packages: peerDependencies: storybook: ^8.6.14 - '@storybook/addon-highlight@7.4.6': - resolution: {integrity: sha512-zCufxxD2KS5VwczxfkcBxe1oR/juTTn2H1Qm8kYvWCJQx3UxzX0+G9cwafbpV7eivqaufLweEwROkH+0KjAtkQ==} + '@storybook/addon-highlight@7.4.0': + resolution: {integrity: sha512-kpYSb3oXI9t/1+aRJhToDZ0/1W4mu+SzTBfv9Bl2d/DogEkFzgJricoy5LtvS5EpcXUmKO1FJsw/DCm9buSL2g==} '@storybook/addon-highlight@8.6.14': resolution: {integrity: sha512-4H19OJlapkofiE9tM6K/vsepf4ir9jMm9T+zw5L85blJZxhKZIbJ6FO0TCG9PDc4iPt3L6+aq5B0X29s9zicNQ==} @@ -8814,8 +9666,19 @@ packages: react-dom: optional: true - '@storybook/addon-links@7.4.6': - resolution: {integrity: sha512-BPygElZKX+CPI9Se6GJNk1dYc5oxuhA+vHigO1tBqhiM6VkHyFP3cvezJNQvpNYhkUnu3cxnZXb3UJnlRbPY3g==} + '@storybook/addon-links@6.5.9': + resolution: {integrity: sha512-4BYC7pkxL3NLRnEgTA9jpIkObQKril+XFj1WtmY/lngF90vvK0Kc/TtvTA2/5tSgrHfxEuPevIdxMIyLJ4ejWQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + react: + optional: true + react-dom: + optional: true + + '@storybook/addon-links@7.4.0': + resolution: {integrity: sha512-lFj8fiokWKk3jx5YUQ4anQo1uCNDMP1y6nJ/92Y85vnOd1vJr3w4GlLy8eOWMABRE33AKLI5Yp6wcpWZDe7hhQ==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -8825,11 +9688,11 @@ packages: react-dom: optional: true - '@storybook/addon-links@8.6.18': - resolution: {integrity: sha512-FFlQcPRTgXoFZr2uawtf7lNc/ceIVRhU13BkJbJZKlil3+C8ORFDO1vnREzHje9JzeOWm/rzI0ay0RVetCcXzg==} + '@storybook/addon-links@8.6.14': + resolution: {integrity: sha512-DRlXHIyZzOruAZkxmXfVgTF+4d6K27pFcH4cUsm3KT1AXuZbr23lb5iZHpUZoG6lmU85Sru4xCEgewSTXBIe1w==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - storybook: ^8.6.18 + storybook: ^8.6.14 peerDependenciesMeta: react: optional: true @@ -8845,8 +9708,19 @@ packages: react-dom: optional: true - '@storybook/addon-measure@7.4.6': - resolution: {integrity: sha512-nCymMLaHnxv8TE3yEM1A9Tulb1NuRXRNmtsdHTkjv7P1aWCxZo8A/GZaottKe/GLT8jSRjZ+dnpYWrbAhw6wTQ==} + '@storybook/addon-measure@6.5.9': + resolution: {integrity: sha512-0aA22wD0CIEUccsEbWkckCOXOwr4VffofMH1ToVCOeqBoyLOMB0gxFubESeprqM54CWsYh2DN1uujgD6508cwA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + react: + optional: true + react-dom: + optional: true + + '@storybook/addon-measure@7.4.0': + resolution: {integrity: sha512-8YjBqm6jPOBgkRn9YnJkLN0+ghgJiukdHOa0VB3qhiT+oww4ZOZ7mc2aQRwXQoFb05UbVVG9UNxE7lhyTyaG2w==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -8861,10 +9735,10 @@ packages: peerDependencies: storybook: ^8.6.14 - '@storybook/addon-onboarding@8.6.18': - resolution: {integrity: sha512-F0rpD5GwIpstQlRaPYQNroIPECB//yy0v2hHQOjFtH5OnCfJXpih4M5pFYcwXsMStRwLVJWS5ywfz+Xea0hmgg==} + '@storybook/addon-onboarding@8.6.14': + resolution: {integrity: sha512-bHdHiGJFigVcSzMIsNLHY5IODZHr+nKwyz5/QOZLMkLcGH2IaUbOJfm4RyGOaTTPsUtAKbdsVXNEG3Otf+qO9A==} peerDependencies: - storybook: ^8.6.18 + storybook: ^8.6.14 '@storybook/addon-outline@6.5.16': resolution: {integrity: sha512-0du96nha4qltexO0Xq1xB7LeRSbqjC9XqtZLflXG7/X3ABoPD2cXgOV97eeaXUodIyb2qYBbHUfftBeA75x0+w==} @@ -8877,8 +9751,19 @@ packages: react-dom: optional: true - '@storybook/addon-outline@7.4.6': - resolution: {integrity: sha512-errNUblRVDLpuEaHQPr/nsrnsUkD2ARmXawkRvizgDWLIDMDJYjTON3MUCaVx3x+hlZ3I6X//G5TVcma8tCc8A==} + '@storybook/addon-outline@6.5.9': + resolution: {integrity: sha512-oJ1DK3BDJr6aTlZc9axfOxV1oDkZO7hOohgUQDaKO1RZrSpyQsx2ViK2X6p/W7JhFJHKh7rv+nGCaVlLz3YIZA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + react: + optional: true + react-dom: + optional: true + + '@storybook/addon-outline@7.4.0': + resolution: {integrity: sha512-CCAWFC3bfkmYPzFjOemfH/kjpqJOHt+SdJgBKmwujDy+zum0DHlUL/7rd+U32cEpezCA8bapd0hlWn59C4agHQ==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -8904,8 +9789,19 @@ packages: react-dom: optional: true - '@storybook/addon-toolbars@7.4.6': - resolution: {integrity: sha512-L9m2FBcKeteGq7qIYsMJr0LEfiH7Wdrv5IDcldZTn68eZUJTh1p4GdJZcOmzX1P5IFRr76hpu03iWsNlWQjpbQ==} + '@storybook/addon-toolbars@6.5.9': + resolution: {integrity: sha512-6JFQNHYVZUwp17p5rppc+iQJ2QOIWPTF+ni1GMMThjc84mzXs2+899Sf1aPFTvrFJTklmT+bPX6x4aUTouVa1w==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + react: + optional: true + react-dom: + optional: true + + '@storybook/addon-toolbars@7.4.0': + resolution: {integrity: sha512-00PDLchlQXI3ZClQHU0YQBfikAAxHOhVNv2QKW54yFKmxPl+P2c/VIeir9LcPhA04smKrJTD1u+Nszd66A9xAA==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -8931,8 +9827,19 @@ packages: react-dom: optional: true - '@storybook/addon-viewport@7.4.6': - resolution: {integrity: sha512-INDtk54j7bi7NgxMfd2ATmbA0J7nAd6X8itMkLIyPuPJtx8bYHPDORyemDOd0AojgmAdTOAyUtDYdI/PFeo4Cw==} + '@storybook/addon-viewport@6.5.9': + resolution: {integrity: sha512-thKS+iw6M7ueDQQ7M66STZ5rgtJKliAcIX6UCopo0Ffh4RaRYmX6MCjqtvBKk8joyXUvm9SpWQemJD9uBQrjgw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + react: + optional: true + react-dom: + optional: true + + '@storybook/addon-viewport@7.4.0': + resolution: {integrity: sha512-Bfoilf9eJV/C7tR8XHDxz3h8JlZ+iggoESp2Tc0bW9tlRvz+PsCqeyHhF/IgHY+gLnPal2PkK/PIM+ruO45HXA==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -8947,6 +9854,12 @@ packages: peerDependencies: storybook: ^8.6.14 + '@storybook/addons@6.3.7': + resolution: {integrity: sha512-9stVjTcc52bqqh7YQex/LpSjJ4e2Czm4/ZYDjIiNy0p4OZEx+yLhL5mZzMWh2NQd6vv+pHASBSxf2IeaR5511A==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + '@storybook/addons@6.5.16': resolution: {integrity: sha512-p3DqQi+8QRL5k7jXhXmJZLsE/GqHqyY6PcoA1oNTJr0try48uhTGUOYkgzmqtDaa/qPFO5LP+xCPzZXckGtquQ==} peerDependencies: @@ -8959,14 +9872,26 @@ packages: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + '@storybook/api@6.3.7': + resolution: {integrity: sha512-57al8mxmE9agXZGo8syRQ8UhvGnDC9zkuwkBPXchESYYVkm3Mc54RTvdAOYDiy85VS4JxiGOywHayCaRwgUddQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + '@storybook/api@6.5.16': resolution: {integrity: sha512-HOsuT8iomqeTMQJrRx5U8nsC7lJTwRr1DhdD0SzlqL4c80S/7uuCy4IZvOt4sYQjOzW5fOo/kamcoBXyLproTA==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - '@storybook/blocks@7.4.6': - resolution: {integrity: sha512-HxBSAeOiTZW2jbHQlo1upRWFgoMsaAyKijUFf5MwwMNIesXCuuTGZDJ3xTABwAVLK2qC9Ektfbo0CZCiPVuDRQ==} + '@storybook/api@6.5.9': + resolution: {integrity: sha512-9ylztnty4Y+ALU/ehW3BML9czjCAFsWvrwuCi6UgcwNjswwjSX3VRLhfD1KT3pl16ho//95LgZ0LnSwROCcPOA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + + '@storybook/blocks@7.4.0': + resolution: {integrity: sha512-YQznNjJm+l32fCfPxrZso9+MbcyG0pWZSpx3RKI1+pxDMsAs4mbXsIw4//jKfjoDP/6/Cz/FJcSx8LT7i4BJ2w==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -8983,27 +9908,25 @@ packages: react-dom: optional: true - '@storybook/blocks@8.6.18': - resolution: {integrity: sha512-esZv4msPQ9LxgTb8YUIZhhxVMuI6BPi5bkXtk8c7w7sWuAsqsCe/RnVInn7ooUry2gjnD4hd9+8Eqj0b8oTVoA==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - storybook: ^8.6.18 - peerDependenciesMeta: - react: - optional: true - react-dom: - optional: true + '@storybook/builder-manager@7.6.10': + resolution: {integrity: sha512-f+YrjZwohGzvfDtH8BHzqM3xW0p4vjjg9u7uzRorqUiNIAAKHpfNrZ/WvwPlPYmrpAHt4xX/nXRJae4rFSygPw==} - '@storybook/builder-manager@7.6.24': - resolution: {integrity: sha512-R/z1xqrdSqz6fkAtlelTbmXKF68rxDCBveVCGuR1oGB5APNEbB8SZyZ88tjos/iFiQwSBSRiGhdyGdMDZSwbYg==} - - '@storybook/builder-vite@8.6.18': - resolution: {integrity: sha512-XLqnOv4C36jlTd4uC8xpWBxv+7GV4/05zWJ0wAcU4qflorropUTirt4UQPGkwIzi+BVAhs9pJj+m4k0IWJtpHg==} + '@storybook/builder-vite@8.6.14': + resolution: {integrity: sha512-ajWYhy32ksBWxwWHrjwZzyC0Ii5ZTeu5lsqA95Q/EQBB0P5qWlHWGM3AVyv82Mz/ND03ebGy123uVwgf6olnYQ==} peerDependencies: - storybook: ^8.6.18 + storybook: ^8.6.14 vite: ^4.0.0 || ^5.0.0 || ^6.0.0 + '@storybook/builder-webpack4@6.3.7': + resolution: {integrity: sha512-M5envblMzAUrNqP1+ouKiL8iSIW/90+kBRU2QeWlZoZl1ib+fiFoKk06cgbaC70Bx1lU8nOnI/VBvB5pLhXLaw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + '@storybook/builder-webpack4@6.5.16': resolution: {integrity: sha512-YqDIrVNsUo8r9xc6AxsYDLxVYtMgl5Bxk+8/h1adsOko+jAFhdg6hOcAVxEmoSI0TMASOOVMFlT2hr23ppN2rQ==} peerDependencies: @@ -9014,6 +9937,16 @@ packages: typescript: optional: true + '@storybook/builder-webpack4@6.5.9': + resolution: {integrity: sha512-YOeA4++9uRZ8Hog1wC60yjaxBOiI1FRQNtax7b9E7g+kP8UlSCPCGcv4gls9hFmzbzTOPfQTWnToA9Oa6jzRVw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + '@storybook/builder-webpack5@6.5.16': resolution: {integrity: sha512-kh8Sofm1sbijaHDWtm0sXabqACHVFjikU/fIkkW786kpjoPIPIec1a+hrLgDsZxMU3I7XapSOaCFzWt6FjVXjg==} peerDependencies: @@ -9024,8 +9957,8 @@ packages: typescript: optional: true - '@storybook/builder-webpack5@7.4.6': - resolution: {integrity: sha512-j7AyDPlUuO2GiH6riB8iGbT7blQpyVGB+rMHXPSm7v6/U7IITbNzxFwe+sSMLoFr8K1e2VXpgqQ9p3rHFey+nw==} + '@storybook/builder-webpack5@6.5.9': + resolution: {integrity: sha512-NUVZ4Qci6HWPuoH8U/zQkdBO5soGgu7QYrGC/LWU0tRfmmZxkjr7IUU14ppDpGPYgx3r7jkaQI1J/E1YEmSCWQ==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -9034,38 +9967,66 @@ packages: typescript: optional: true - '@storybook/builder-webpack5@8.6.18': - resolution: {integrity: sha512-rg73TpqIUzXc66c/AaQ4kuc8yiZ+tStvy5fb1OnFYZ9rAeYQejDD0OIIaI2rqtX5XYuxC+yQEGitMntlIMV0og==} + '@storybook/builder-webpack5@7.4.0': + resolution: {integrity: sha512-CYeXppqGACzDUpLCFvWvwD7IjN7VNi7+nwQ1uRNgW2NgBMOIldZe+gcTXcc0BuHyIitU5/vvquYM0qjis05LYw==} peerDependencies: - storybook: ^8.6.18 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 typescript: '*' peerDependenciesMeta: typescript: optional: true + '@storybook/builder-webpack5@8.6.14': + resolution: {integrity: sha512-YZYAqc6NBKoMTKZpjxnkMch6zDtMkBZdS/yaji1+wJX2QPFBwTbSh7SpeBxDp1S11gXSAJ4f1btUWeqSqo8nJA==} + peerDependencies: + storybook: ^8.6.14 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@storybook/channel-postmessage@6.3.7': + resolution: {integrity: sha512-Cmw8HRkeSF1yUFLfEIUIkUICyCXX8x5Ol/5QPbiW9HPE2hbZtYROCcg4bmWqdq59N0Tp9FQNSn+9ZygPgqQtNw==} + '@storybook/channel-postmessage@6.5.16': resolution: {integrity: sha512-fZZSN29dsUArWOx7e7lTdMA9+7zijVwCwbvi2Fo4fqhRLh1DsTb/VXfz1FKMCWAjNlcX7QQvV25tnxbqsD6lyw==} '@storybook/channel-websocket@6.5.16': resolution: {integrity: sha512-wJg2lpBjmRC2GJFzmhB9kxlh109VE58r/0WhFtLbwKvPqsvGf82xkBEl6BtBCvIQ4stzYnj/XijjA8qSi2zpOg==} + '@storybook/channel-websocket@6.5.9': + resolution: {integrity: sha512-xtHvSNwuOhkgALwVshKWsoFhDmuvcosdYfxcfFGEiYKXIu46tRS5ZXmpmgEC/0JAVkVoFj5nL8bV7IY5np6oaA==} + + '@storybook/channels@6.3.7': + resolution: {integrity: sha512-aErXO+SRO8MPp2wOkT2n9d0fby+8yM35tq1tI633B4eQsM74EykbXPv7EamrYPqp1AI4BdiloyEpr0hmr2zlvg==} + '@storybook/channels@6.5.16': resolution: {integrity: sha512-VylzaWQZaMozEwZPJdyJoz+0jpDa8GRyaqu9TGG6QGv+KU5POoZaGLDkRE7TzWkyyP0KQLo80K99MssZCpgSeg==} - '@storybook/channels@7.4.6': - resolution: {integrity: sha512-yPv/sfo2c18fM3fvG0i1xse63vG8l33Al/OU0k/dtovltPu001/HVa1QgBgsb/QrEfZtvGjGhmtdVeYb39fv3A==} + '@storybook/channels@6.5.9': + resolution: {integrity: sha512-FvGA35nV38UPXWOl9ERapFTJaxwSTamQ339s2Ev7E9riyRG+GRkgTWzf5kECJgS1PAYKd/7m/RqKJT9BVv6A5g==} + + '@storybook/channels@7.4.0': + resolution: {integrity: sha512-/1CU0s3npFumzVHLGeubSyPs21O3jNqtSppOjSB9iDTyV2GtQrjh5ntVwebfKpCkUSitx3x7TkCb9dylpEZ8+w==} - '@storybook/channels@7.6.24': - resolution: {integrity: sha512-rNSifUbCjUPWQMZPptY5VTY4c4iOrCzDKmmDeBeurPH0ZiDvnJjW7v9dlXzlDNoXFUv+jBE+RjrEfNWsnJhvsQ==} + '@storybook/channels@7.6.10': + resolution: {integrity: sha512-ITCLhFuDBKgxetuKnWwYqMUWlU7zsfH3gEKZltTb+9/2OAWR7ez0iqU7H6bXP1ridm0DCKkt2UMWj2mmr9iQqg==} - '@storybook/cli@7.6.24': - resolution: {integrity: sha512-ZFnMnPiThO1GAFRQYiS177jxqmhXlWI9twphAWyYmuhVQrdplzELIRbXDUJ9ZE3ln043owN9mnh7gHLX6cAY6g==} + '@storybook/cli@7.6.10': + resolution: {integrity: sha512-pK1MEseMm73OMO2OVoSz79QWX8ymxgIGM8IeZTCo9gImiVRChMNDFYcv8yPWkjuyesY8c15CoO48aR7pdA1OjQ==} hasBin: true - '@storybook/cli@8.6.18': - resolution: {integrity: sha512-4e675ZaRORR+UY1Q6+pf0xv3JUMosNNQ0g1cmB8axVwG4wWT2baNyHNzcKrT5NpsWTziGGja97Wgi89QHp/BMA==} + '@storybook/cli@8.6.14': + resolution: {integrity: sha512-mnPlQ5ynwuC5iOFcSfjKcz0jvtJqKHZDKGzDRmNh82m60jRHa7Llex+1kzRtzUDnZFO7ZpZkH8u/GHzpEoKy7Q==} hasBin: true + '@storybook/client-api@6.3.7': + resolution: {integrity: sha512-8wOH19cMIwIIYhZy5O5Wl8JT1QOL5kNuamp9GPmg5ff4DtnG+/uUslskRvsnKyjPvl+WbIlZtBVWBiawVdd/yQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + '@storybook/client-api@6.5.16': resolution: {integrity: sha512-i3UwkzzUFw8I+E6fOcgB5sc4oU2fhvaKnqC1mpd9IYGJ9JN9MnGIaVl3Ko28DtFItu/QabC9JsLIJVripFLktQ==} peerDependencies: @@ -9075,20 +10036,32 @@ packages: '@storybook/client-api@7.4.6': resolution: {integrity: sha512-O8yA/xEzPW9Oe3s5VJAFor2d2KwXHjUZ1gvou3o14zu/TJLgXwol0qBBr+YLRO2rcNNJ51pAIGwAT5bgmpUaeg==} + '@storybook/client-logger@6.3.7': + resolution: {integrity: sha512-BQRErHE3nIEuUJN/3S3dO1LzxAknOgrFeZLd4UVcH/fvjtS1F4EkhcbH+jNyUWvcWGv66PZYN0oFPEn/g3Savg==} + '@storybook/client-logger@6.5.16': resolution: {integrity: sha512-pxcNaCj3ItDdicPTXTtmYJE3YC1SjxFrBmHcyrN+nffeNyiMuViJdOOZzzzucTUG0wcOOX8jaSyak+nnHg5H1Q==} - '@storybook/client-logger@7.4.6': - resolution: {integrity: sha512-XDw31ZziU//86PKuMRnmc+L/G0VopaGKENQOGEpvAXCU9IZASwGKlKAtcyosjrpi+ZiUXlMgUXCpXM7x3b1Ehw==} + '@storybook/client-logger@6.5.9': + resolution: {integrity: sha512-DOHL6p0uiDd3gV/Sb2FR+Vh6OiPrrf8BrA06uvXWsMRIIvEEvnparxv9EvPg7FlmUX0T3nq7d3juwjx4F8Wbcg==} + + '@storybook/client-logger@7.4.0': + resolution: {integrity: sha512-4pBnf7+df1wXEVcF1civqxbrtccGGHQkfWQkJo49s53RXvF7SRTcif6XTx0V3cQV0v7I1C5mmLm0LNlmjPRP1Q==} - '@storybook/client-logger@7.6.24': - resolution: {integrity: sha512-Xgn62FLhTzGJFl/uAMukJrfqAhiInkJ91ZwZMqEl8bdgeGO6ISkijDqQebqI0KyqB4ZpD11jVvEOQ/TowLebZw==} + '@storybook/client-logger@7.6.10': + resolution: {integrity: sha512-U7bbpu21ntgePMz/mKM18qvCSWCUGCUlYru8mgVlXLCKqFqfTeP887+CsPEQf29aoE3cLgDrxqbRJ1wxX9kL9A==} - '@storybook/codemod@7.6.24': - resolution: {integrity: sha512-WmkSNe/hdJy8oP3pWu9ekl1SjP5JRRlVrD1qWklsJSU1XinSzyR+GoNNMueW/oMl/Eg12rvnX5Py3LBVIivokQ==} + '@storybook/codemod@7.6.10': + resolution: {integrity: sha512-pzFR0nocBb94vN9QCJLC3C3dP734ZigqyPmd0ZCDj9Xce2ytfHK3v1lKB6TZWzKAZT8zztauECYxrbo4LVuagw==} - '@storybook/codemod@8.6.18': - resolution: {integrity: sha512-sdGzLOMjmDuqDBydr0A/1AfRpI3RwizPIM3L4duEtwF3+DKo2fRiVq7qhREBTnceZwyHGO+gPPzAdFKRBvospA==} + '@storybook/codemod@8.6.14': + resolution: {integrity: sha512-lRzE+l4xwKDLKimSk6NIx0dRAE1eFjQqV79gt/RidkJZgjSzpiJVuiGI9y+ALVvkrgjfA+2K0+KdPEmPIhbwxg==} + + '@storybook/components@6.3.7': + resolution: {integrity: sha512-O7LIg9Z18G0AJqXX7Shcj0uHqwXlSA5UkHgaz9A7mqqqJNl6m6FwwTWcxR1acUfYVNkO+czgpqZHNrOF6rky1A==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 '@storybook/components@6.5.16': resolution: {integrity: sha512-LzBOFJKITLtDcbW9jXl0/PaG+4xAz25PK8JxPZpIALbmOpYWOAPcO6V9C2heX6e6NgWFMUxjplkULEk9RCQMNA==} @@ -9096,17 +10069,34 @@ packages: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - '@storybook/components@7.4.6': - resolution: {integrity: sha512-nIRBhewAgrJJVafyCzuaLx1l+YOfvvD5dOZ0JxZsxJsefOdw1jFpUqUZ5fIpQ2moyvrR0mAUFw378rBfMdHz5Q==} + '@storybook/components@6.5.9': + resolution: {integrity: sha512-BhfX980O9zn/1J4FNMeDo8ZvL1m5Ml3T4HRpfYmEBnf8oW5b5BeF6S2K2cwFStZRjWqm1feUcwNpZxCBVMkQnQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + + '@storybook/components@7.4.0': + resolution: {integrity: sha512-GGnQrI4NXwri/PqNjhO1vNv4tC7RBjY87ce9WHBq1ueat3kBakdqV97NzScoldXarkkKK6grBqmhw9jE5PfzhQ==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - '@storybook/components@8.6.18': - resolution: {integrity: sha512-55yViiZzPS/cPBuOeW4QGxGqrusjXVyxuknmbYCIwDtFyyvI/CgbjXRHdxNBaIjz+IlftxvBmmSaOqFG5+/dkA==} + '@storybook/components@8.6.14': + resolution: {integrity: sha512-HNR2mC5I4Z5ek8kTrVZlIY/B8gJGs5b3XdZPBPBopTIN6U/YHXiDyOjY3JlaS4fSG1fVhp/Qp1TpMn1w/9m1pw==} peerDependencies: storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 + '@storybook/core-client@6.3.7': + resolution: {integrity: sha512-M/4A65yV+Y4lsCQXX4BtQO/i3BcMPrU5FkDG8qJd3dkcx2fUlFvGWqQPkcTZE+MPVvMEGl/AsEZSADzah9+dAg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + typescript: '*' + webpack: '*' + peerDependenciesMeta: + typescript: + optional: true + '@storybook/core-client@6.5.16': resolution: {integrity: sha512-14IRaDrVtKrQ+gNWC0wPwkCNfkZOKghYV/swCUnQX3rP99defsZK8Hc7xHIYoAiOP5+sc3sweRAxgmFiJeQ1Ig==} peerDependencies: @@ -9118,8 +10108,29 @@ packages: typescript: optional: true - '@storybook/core-client@7.4.6': - resolution: {integrity: sha512-tfgxAHeCvMcs6DsVgtb4hQSDaCHeAPJOsoyhb47eDQfk4OmxzriM0qWucJV5DePSMi+KutX/rN2u0JxfOuN68g==} + '@storybook/core-client@6.5.9': + resolution: {integrity: sha512-LY0QbhShowO+PQx3gao3wdVjpKMH1AaSLmuI95FrcjoMmSXGf96jVLKQp9mJRGeHIsAa93EQBYuCihZycM3Kbg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + typescript: '*' + webpack: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@storybook/core-client@7.4.0': + resolution: {integrity: sha512-AhysJS2HnydB8Jc+BMVzK5VLHa1liJjxroNsd+ZTgGUhD7R8wvozrswQgY4MLFtcaLwN/wDWlK2YavSBqmc94Q==} + + '@storybook/core-common@6.3.7': + resolution: {integrity: sha512-exLoqRPPsAefwyjbsQBLNFrlPCcv69Q/pclqmIm7FqAPR7f3CKP1rqsHY0PnemizTL/+cLX5S7mY90gI6wpNug==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true '@storybook/core-common@6.5.16': resolution: {integrity: sha512-2qtnKP3TTOzt2cp6LXKRTh7XrI9z5VanMnMTgeoFcA5ebnndD4V6BExQUdYPClE/QooLx6blUWNgS9dFEpjSqQ==} @@ -9131,20 +10142,52 @@ packages: typescript: optional: true - '@storybook/core-common@7.4.6': - resolution: {integrity: sha512-05MJFmOM86qvTLtgDskokIFz9txe0Lbhq4L3by1FtF0GwgH+p+W6I94KI7c6ANER+kVZkXQZhiRzwBFnVTW+Cg==} + '@storybook/core-common@6.5.9': + resolution: {integrity: sha512-NxOK0mrOCo0TWZ7Npc5HU66EKoRHlrtg18/ZixblLDWQMIqY9XCck8K1kJ8QYpYCHla+aHIsYUArFe2vhlEfZA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true - '@storybook/core-common@7.6.24': - resolution: {integrity: sha512-wgCarEWFodQaJ76uLxwHoxtGwQPymzoZHFLE2fJm04y6sdotUgattUUY5FxbhSveImj6VTLDDzstkzxxz166UQ==} + '@storybook/core-common@7.4.0': + resolution: {integrity: sha512-QKrBL46ZFdfTjlZE3f7b59Q5+frOHWIJ64sC9BZ2PHkZkGjFeYRDdJJ6EHLYBb+nToynl33dYN1GQz+hQn2vww==} + + '@storybook/core-common@7.6.10': + resolution: {integrity: sha512-K3YWqjCKMnpvYsWNjOciwTH6zWbuuZzmOiipziZaVJ+sB1XYmH52Y3WGEm07TZI8AYK9DRgwA13dR/7W0nw72Q==} + + '@storybook/core-events@6.3.7': + resolution: {integrity: sha512-l5Hlhe+C/dqxjobemZ6DWBhTOhQoFF3F1Y4kjFGE7pGZl/mas4M72I5I/FUcYCmbk2fbLfZX8hzKkUqS1hdyLA==} '@storybook/core-events@6.5.16': resolution: {integrity: sha512-qMZQwmvzpH5F2uwNUllTPg6eZXr2OaYZQRRN8VZJiuorZzDNdAFmiVWMWdkThwmyLEJuQKXxqCL8lMj/7PPM+g==} - '@storybook/core-events@7.4.6': - resolution: {integrity: sha512-r5vrE+32lwrJh1NGFr1a0mWjvxo7q8FXYShylcwRWpacmL5NTtLkrXOoJSeGvJ4yKNYkvxQFtOPId4lzDxa32w==} + '@storybook/core-events@6.5.9': + resolution: {integrity: sha512-tXt7a3ZvJOCeEKpNa/B5rQM5VI7UJLlOh3IHOImWn4HqoBRrZvbourmac+PRZAtXpos0h3c6554Hjapj/Sny5Q==} - '@storybook/core-events@7.6.24': - resolution: {integrity: sha512-9mhV2grn+IYljRJSqoTec3XhoMs1Va0aYWe937siX3Fj77F6zuXmEugrJstgVYsPAgcqH9eBSCM7rwdmbo7LVg==} + '@storybook/core-events@7.4.0': + resolution: {integrity: sha512-JavEo4dw7TQdF5pSKjk4RtqLgsG2R/eWRI8vZ3ANKa0ploGAnQR/eMTfSxf6TUH3ElBWLJhi+lvUCkKXPQD+dw==} + + '@storybook/core-events@7.6.10': + resolution: {integrity: sha512-yccDH67KoROrdZbRKwxgTswFMAco5nlCyxszCDASCLygGSV2Q2e+YuywrhchQl3U6joiWi3Ps1qWu56NeNafag==} + + '@storybook/core-server@6.3.7': + resolution: {integrity: sha512-m5OPD/rmZA7KFewkXzXD46/i1ngUoFO4LWOiAY/wR6RQGjYXGMhSa5UYFF6MNwSbiGS5YieHkR5crB1HP47AhQ==} + peerDependencies: + '@storybook/builder-webpack5': 6.3.7 + '@storybook/manager-webpack5': 6.3.7 + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + typescript: '*' + peerDependenciesMeta: + '@storybook/builder-webpack5': + optional: true + '@storybook/manager-webpack5': + optional: true + typescript: + optional: true '@storybook/core-server@6.5.16': resolution: {integrity: sha512-/3NPfmNyply395Dm0zaVZ8P9aruwO+tPx4D6/jpw8aqrRSwvAMndPMpoMCm0NXcpSm5rdX+Je4S3JW6JcggFkA==} @@ -9162,16 +10205,45 @@ packages: typescript: optional: true - '@storybook/core-server@7.6.24': - resolution: {integrity: sha512-x6kD7JW9hnF788xF46OtnkQqPZDS9qf52IUVF+Wuzpwo10bMj5wMYbgwT2WkiCMdktK00CQzV13jb8KRHgKZfw==} + '@storybook/core-server@6.5.9': + resolution: {integrity: sha512-YeePGUrd5fQPvGzMhowh124KrcZURFpFXg1VB0Op3ESqCIsInoMZeObci4Gc+binMXC7vcv7aw3EwSLU37qJzQ==} + peerDependencies: + '@storybook/builder-webpack5': '*' + '@storybook/manager-webpack5': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + typescript: '*' + peerDependenciesMeta: + '@storybook/builder-webpack5': + optional: true + '@storybook/manager-webpack5': + optional: true + typescript: + optional: true + + '@storybook/core-server@7.6.10': + resolution: {integrity: sha512-2icnqJkn3vwq0eJPP0rNaHd7IOvxYf5q4lSVl2AWTxo/Ae19KhokI6j/2vvS2XQJMGQszwshlIwrZUNsj5p0yw==} '@storybook/core-webpack@7.4.6': resolution: {integrity: sha512-EqQDmd+vKAWOAjoe539LsfP8WvQG9V9i1priMA53u1FOEged8o0NBtRiRy2+JDdUSiGUdpe/X5+V/TyyQw/KWw==} - '@storybook/core-webpack@8.6.18': - resolution: {integrity: sha512-M+y/DFbiT3CJYQ90wJdXT4WxYImphof1f11StZSxJGo0u5PnCCdCze1qchXubApXRDO2T8HGxurXfhTEMqaGsA==} + '@storybook/core-webpack@8.6.14': + resolution: {integrity: sha512-iG7r8osNKabSGBbuJuSeMWKbU+ilt5PvzTYkClcYaagla/DliXkXvfywA6jOugVk/Cpx+c6tVKlPfjLcaQHwmw==} peerDependencies: - storybook: ^8.6.18 + storybook: ^8.6.14 + + '@storybook/core@6.3.7': + resolution: {integrity: sha512-YTVLPXqgyBg7TALNxQ+cd+GtCm/NFjxr/qQ1mss1T9GCMR0IjE0d0trgOVHHLAO8jCVlK8DeuqZCCgZFTXulRw==} + peerDependencies: + '@storybook/builder-webpack5': 6.3.7 + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + typescript: '*' + peerDependenciesMeta: + '@storybook/builder-webpack5': + optional: true + typescript: + optional: true '@storybook/core@6.5.16': resolution: {integrity: sha512-CEF3QFTsm/VMnMKtRNr4rRdLeIkIG0g1t26WcmxTdSThNPBd8CsWzQJ7Jqu7CKiut+MU4A1LMOwbwCE5F2gmyA==} @@ -9190,26 +10262,49 @@ packages: typescript: optional: true - '@storybook/core@8.6.18': - resolution: {integrity: sha512-dRBP2TnX6fGdS0T2mXBHjkS/3Nlu1ra1huovZVFuM67CYMzrhM/3hX/zru1vWSC5rqY93ZaAhjMciPW4pK5mMQ==} + '@storybook/core@6.5.9': + resolution: {integrity: sha512-Mt3TTQnjQt2/pa60A+bqDsAOrYpohapdtt4DDZEbS8h0V6u11KyYYh3w7FCySlL+sPEyogj63l5Ec76Jah3l2w==} + peerDependencies: + '@storybook/builder-webpack5': '*' + '@storybook/manager-webpack5': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + typescript: '*' + webpack: '*' + peerDependenciesMeta: + '@storybook/builder-webpack5': + optional: true + '@storybook/manager-webpack5': + optional: true + typescript: + optional: true + + '@storybook/core@8.6.13': + resolution: {integrity: sha512-KGoCEDdc7L2eZMvuedlf/uX8oGFlNsWMsYrzvzriKl8KBwlfDixPxC6R668LPi54NwCY8d3HxGOMOTf7Y0jyVQ==} peerDependencies: prettier: ^2 || ^3 peerDependenciesMeta: prettier: optional: true - '@storybook/csf-plugin@7.4.6': - resolution: {integrity: sha512-yi7Qa4NSqKOyiJTWCxlB0ih2ijXq6oY5qZKW6MuMMBP14xJNRGLbH5KabpfXgN2T7YECcOWG1uWaGj2veJb1KA==} + '@storybook/core@8.6.14': + resolution: {integrity: sha512-1P/w4FSNRqP8j3JQBOi3yGt8PVOgSRbP66Ok520T78eJBeqx9ukCfl912PQZ7SPbW3TIunBwLXMZOjZwBB/JmA==} + peerDependencies: + prettier: ^2 || ^3 + peerDependenciesMeta: + prettier: + optional: true + + '@storybook/csf-plugin@7.4.0': + resolution: {integrity: sha512-X1L3l/dpz2UYjCEQlFLkW7w1A13pmzDZpJ0lotkV79PALlakMXBeoX3I2E0VMjJATV8wC9RSj56COBAs6HsPeg==} '@storybook/csf-plugin@8.6.14': resolution: {integrity: sha512-dErtc9teAuN+eelN8FojzFE635xlq9cNGGGEu0WEmMUQ4iJ8pingvBO1N8X3scz4Ry7KnxX++NNf3J3gpxS8qQ==} peerDependencies: storybook: ^8.6.14 - '@storybook/csf-plugin@8.6.18': - resolution: {integrity: sha512-x1ioz/L0CwaelCkHci3P31YtvwayN3FBftvwQOPbvRh9qeb4Cpz5IdVDmyvSxxYwXN66uAORNoqgjTi7B4/y5Q==} - peerDependencies: - storybook: ^8.6.18 + '@storybook/csf-tools@6.3.7': + resolution: {integrity: sha512-A7yGsrYwh+vwVpmG8dHpEimX021RbZd9VzoREcILH56u8atssdh/rseljyWlRes3Sr4QgtLvDB7ggoJ+XDZH7w==} '@storybook/csf-tools@6.5.16': resolution: {integrity: sha512-+WD4sH/OwAfXZX3IN6/LOZ9D9iGEFcN+Vvgv9wOsLRgsAZ10DG/NK6c1unXKDM/ogJtJYccNI8Hd+qNE/GFV6A==} @@ -9219,11 +10314,19 @@ packages: '@storybook/mdx2-csf': optional: true - '@storybook/csf-tools@7.4.6': - resolution: {integrity: sha512-ocKpcIUtTBy6hlLY34RUFQyX403cWpB2gGfqvkHbpGe2BQj7EyV0zpWnjsfVxvw+M9OWlCdxHWDOPUgXM33ELw==} + '@storybook/csf-tools@6.5.9': + resolution: {integrity: sha512-RAdhsO2XmEDyWy0qNQvdKMLeIZAuyfD+tYlUwBHRU6DbByDucvwgMOGy5dF97YNJFmyo93EUYJzXjUrJs3U1LQ==} + peerDependencies: + '@storybook/mdx2-csf': ^0.0.3 + peerDependenciesMeta: + '@storybook/mdx2-csf': + optional: true - '@storybook/csf-tools@7.6.24': - resolution: {integrity: sha512-jyGXjj8S2kNp3X69ZjzT+rVl2k/1Q4O4JpcwMEK0o5ByoYU2zFuefkvJyS5LFDDh1K8LCwwaCtawqF6rZhAAaw==} + '@storybook/csf-tools@7.4.0': + resolution: {integrity: sha512-bKyOmWPyvT50Neq2wCRr2PmVGLVVm6pOw8WL5t5jueD8sRRzo9QdfhEkqmuSyqdsBdt3SiJKL5oA6dqY5Vl9ww==} + + '@storybook/csf-tools@7.6.10': + resolution: {integrity: sha512-TnDNAwIALcN6SA4l00Cb67G02XMOrYU38bIpFJk5VMDX2dvgPjUtJNBuLmEbybGcOt7nPyyFIHzKcY5FCVGoWA==} '@storybook/csf@0.0.1': resolution: {integrity: sha512-USTLkZze5gkel8MYCujSRBVIrUQ3YPBrLOx7GNk/0wttvVtlzWXAq9eLbQ4p/NicGxP+3T7KPEMVV//g+yubpw==} @@ -9240,8 +10343,11 @@ packages: '@storybook/docs-tools@6.5.16': resolution: {integrity: sha512-o+rAWPRGifjBF5xZzTKOqnHN3XQWkl0QFJYVDIiJYJrVll7ExCkpEq/PahOGzIBBV+tpMstJgmKM3lr/lu/jmg==} - '@storybook/docs-tools@7.4.6': - resolution: {integrity: sha512-nZj1L/8WwKWWJ41FW4MaKGajZUtrhnr9UwflRCkQJaWhAKmDfOb5M5TqI93uCOULpFPOm5wpoMBz2IHInQ2Lrg==} + '@storybook/docs-tools@6.5.9': + resolution: {integrity: sha512-UoTaXLvec8x+q+4oYIk/t8DBju9C3ZTGklqOxDIt+0kS3TFAqEgI3JhKXqQOXgN5zDcvLVSxi8dbVAeSxk2ktA==} + + '@storybook/docs-tools@7.4.0': + resolution: {integrity: sha512-DzXmt4JorAOePoS+sjQznf8jLPI9D5mdB1eSXjfvmGBQyyehKTZv5+TXuxYvT3iPN4rW4OPrIrQCSIrbULFdwA==} '@storybook/global@5.0.0': resolution: {integrity: sha512-FcOqPAXACP0I3oJ/ws6/rrPT9WGhu915Cg8D02a9YxLo0DE9zI+a9A5gRGvmQ09fiWPukqI8ZAEoQEdWUKMQdQ==} @@ -9258,22 +10364,27 @@ packages: peerDependencies: storybook: ^8.6.14 - '@storybook/instrumenter@8.6.15': - resolution: {integrity: sha512-TvHR/+yyIAOp/1bLulFai2kkhIBtAlBw7J6Jd9DKyInoGhTWNE1G1Y61jD5GWXX29AlwaHfzGUaX5NL1K+FJpg==} - peerDependencies: - storybook: ^8.6.15 - - '@storybook/manager-api@7.4.6': - resolution: {integrity: sha512-inrm3DIbCp8wjXSN/wK6e6i2ysQ/IEmtC7IN0OJ7vdrp+USCooPT448SQTUmVctUGCFmOU3fxXByq8g77oIi7w==} + '@storybook/manager-api@7.4.0': + resolution: {integrity: sha512-sBfkkt0eZGTozeKrbzMtWLEOQrgqdk24OUJlkc2IDaucR1CBNjoCMjNeYg7cLDw0rXE8W3W3AdWtJnfsUbLMAQ==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - '@storybook/manager-api@8.6.18': - resolution: {integrity: sha512-BjIp12gEMgzFkEsgKpDIbZdnSWTZpm2dlws8WiPJCpgJtG+HWSxZ0/Ms30Au9yfwzQEKRSbV/5zpsKMGc2SIJw==} + '@storybook/manager-api@8.6.14': + resolution: {integrity: sha512-ez0Zihuy17udLbfHZQXkGqwtep0mSGgHcNzGN7iZrMP1m+VmNo+7aGCJJdvXi7+iU3yq8weXSQFWg5DqWgLS7g==} peerDependencies: storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 + '@storybook/manager-webpack4@6.3.7': + resolution: {integrity: sha512-cwUdO3oklEtx6y+ZOl2zHvflICK85emiXBQGgRcCsnwWQRBZOMh+tCgOSZj4jmISVpT52RtT9woG4jKe15KBig==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + '@storybook/manager-webpack4@6.5.16': resolution: {integrity: sha512-5VJZwmQU6AgdsBPsYdu886UKBHQ9SJEnFMaeUxKEclXk+iRsmbzlL4GHKyVd6oGX/ZaecZtcHPR6xrzmA4Ziew==} peerDependencies: @@ -9284,8 +10395,8 @@ packages: typescript: optional: true - '@storybook/manager-webpack5@6.5.16': - resolution: {integrity: sha512-OtxXv8JCe0r/0rE5HxaFicsNsXA+fqZxzokxquFFgrYf/1Jg4d7QX6/pG5wINF+5qInJfVkRG6xhPzv1s5bk9Q==} + '@storybook/manager-webpack4@6.5.9': + resolution: {integrity: sha512-49LZlHqWc7zj9tQfOOANixPYmLxqWTTZceA6DSXnKd9xDiO2Gl23Y+l/CSPXNZGDB8QFAwpimwqyKJj/NLH45A==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -9294,8 +10405,18 @@ packages: typescript: optional: true - '@storybook/manager@7.6.24': - resolution: {integrity: sha512-IqQ6G6wy88nYNBzNW2bWJCabSFvKv01reDdyDmH4asgvkSuFIoNuXGmZFUmg883U9Dj/Izsn1K9PDgvHTW6DQA==} + '@storybook/manager-webpack5@6.5.9': + resolution: {integrity: sha512-J1GamphSsaZLNBEhn1awgxzOS8KfvzrHtVlAm2VHwW7j1E1DItROFJhGCgduYYuBiN9eqm+KIYrxcr6cRuoolQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@storybook/manager@7.6.10': + resolution: {integrity: sha512-Co3sLCbNYY6O4iH2ggmRDLCPWLj03JE5s/DOG8OVoXc6vBwTc/Qgiyrsxxp6BHQnPpM0mxL6aKAxE3UjsW/Nog==} '@storybook/mdx1-csf@0.0.1': resolution: {integrity: sha512-4biZIWWzoWlCarMZmTpqcJNgo/RBesYZwGFbQeXiGYsswuvfWARZnW9RE9aUEMZ4XPn7B1N3EKkWcdcWe/K2tg==} @@ -9303,20 +10424,29 @@ packages: '@storybook/mdx2-csf@1.1.0': resolution: {integrity: sha512-TXJJd5RAKakWx4BtpwvSNdgTDkKM6RkXU8GK34S/LhidQ5Pjz3wcnqb0TxEkfhK/ztbP8nKHqXFwLfa2CYkvQw==} + '@storybook/node-logger@6.3.7': + resolution: {integrity: sha512-YXHCblruRe6HcNefDOpuXJoaybHnnSryIVP9Z+gDv6OgLAMkyxccTIaQL9dbc/eI4ywgzAz4kD8t1RfVwXNVXw==} + '@storybook/node-logger@6.5.16': resolution: {integrity: sha512-YjhBKrclQtjhqFNSO+BZK+RXOx6EQypAELJKoLFaawg331e8VUfvUuRCNB3fcEWp8G9oH13PQQte0OTjLyyOYg==} - '@storybook/node-logger@7.4.6': - resolution: {integrity: sha512-djZb310Q27GviDug1XBv0jOEDLCiwr4hhDE0aifCEKZpfNCi/EaP31nbWimFzZwxu4hE/YAPWExzScruR1zw9Q==} + '@storybook/node-logger@6.5.9': + resolution: {integrity: sha512-nZZNZG2Wtwv6Trxi3FrnIqUmB55xO+X/WQGPT5iKlqNjdRIu/T72mE7addcp4rbuWCQfZUhcDDGpBOwKtBxaGg==} + + '@storybook/node-logger@7.4.0': + resolution: {integrity: sha512-tWSWkYyAvp6SxjIBaTklg29avzv/3Lv4c0dOG2o5tz79PyZkq9v6sQtwLLoI8EJA9Mo8Z08vaJp8NZyDQ9RCuA==} - '@storybook/node-logger@7.6.24': - resolution: {integrity: sha512-6+kuX0q4VH1Orf0Yda+dj6svMIjtN5FbXU9lgKWbO5OY2xeyEtr/+3phxfTnfd6N89kYxDx8JGeP5ldzx2alxg==} + '@storybook/node-logger@7.6.10': + resolution: {integrity: sha512-ZBuqrv4bjJzKXyfRGFkVIi+z6ekn6rOPoQao4KmsfLNQAUUsEdR8Baw/zMnnU417zw5dSEaZdpuwx75SCQAeOA==} '@storybook/postinstall@6.5.16': resolution: {integrity: sha512-08K2q+qN6pqyPW7PHLCZ5G5Xa6Wosd6t0F16PQ4abX2ItlJLabVoJN5mZ0gm/aeLTjD8QYr8IDvacu4eXh0SVA==} - '@storybook/postinstall@7.4.6': - resolution: {integrity: sha512-TqI5BucPAGRWrkh55BYiG2/gHLFtC0In4cuu0GsUzB/1jc4i51npLRorCwhmT7r7YliGl5F7JaP0Bni/qHN3Lg==} + '@storybook/postinstall@6.5.9': + resolution: {integrity: sha512-KQBupK+FMRrtSt8IL0MzCZ/w9qbd25Yxxp/+ajfWgZTRgsWgVFOqcDyMhS16eNbBp5qKIBCBDXfEF+/mK8HwQQ==} + + '@storybook/postinstall@7.4.0': + resolution: {integrity: sha512-ZVBZggqkuj7ysfuHSCd/J7ovWV06zY9uWf+VU+Zw7ZeojDT8QHFrCurPsN7D9679j9vRU1/kSzqvAiStALS33g==} '@storybook/preset-react-webpack@7.4.6': resolution: {integrity: sha512-FfJvlk3bJfg66t06YLiyu+1o/DZN3uNfFP37zv5cJux7TpdmJRV/4m9LKQPJOvcnWBQYem8xX8k5cRS29vdW5g==} @@ -9332,26 +10462,26 @@ packages: typescript: optional: true - '@storybook/preset-react-webpack@8.6.18': - resolution: {integrity: sha512-UkioZsLIyKGQTAdVB3EMx4NyqwIPDRyuDTIQyCwlMcLYCJCs9Ks2ILbM1x1554/iqRIxy8Yv2IBMapK+euCwgg==} + '@storybook/preset-react-webpack@8.6.14': + resolution: {integrity: sha512-M7Q6ErNx7N2hQorTz0OLa3YV8nc8OcvkDlCxqqnkHPGQNEIWEpeDvq3wn2OvZlrHDpchyuiquGXZ8aztVtBP2g==} engines: {node: '>=18.0.0'} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - storybook: ^8.6.18 + storybook: ^8.6.14 typescript: '*' peerDependenciesMeta: typescript: optional: true - '@storybook/preview-api@7.4.6': - resolution: {integrity: sha512-byUS/Opt3ytWD4cWz3sNEKw5Yks8MkQgRN+GDSyIomaEAQkLAM0rchPC0MYjwCeUSecV7IIQweNX5RbV4a34BA==} + '@storybook/preview-api@7.4.0': + resolution: {integrity: sha512-ndXO0Nx+eE7ktVE4EqHpQZ0guX7yYBdruDdJ7B739C0+OoPWsJN7jAzUqq0NXaBcYrdaU5gTy+KnWJUt8R+OyA==} - '@storybook/preview-api@7.6.24': - resolution: {integrity: sha512-dBoHQeZk4ZdfeIZzc798Bl2wF0tjiY6fhl7QllBUIFqxvHTCM3YFa2vAIifr2bnxeTpvheKFhqNnOivJbSwTXQ==} + '@storybook/preview-api@7.6.10': + resolution: {integrity: sha512-5A3etoIwZCx05yuv3KSTv1wynN4SR4rrzaIs/CTBp3BC4q1RBL+Or/tClk0IJPXQMlx/4Y134GtNIBbkiDofpw==} - '@storybook/preview-api@8.6.18': - resolution: {integrity: sha512-joXRXh3GdVvzhbfIgmix1xs90p8Q/nja7AhEAC2egn5Pl7SKsIYZUCYI6UdrQANb2myg9P552LKXfPect8llKg==} + '@storybook/preview-api@8.6.14': + resolution: {integrity: sha512-2GhcCd4dNMrnD7eooEfvbfL4I83qAqEyO0CO7JQAmIO6Rxb9BsOLLI/GD5HkvQB73ArTJ+PT50rfaO820IExOQ==} peerDependencies: storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 @@ -9364,6 +10494,12 @@ packages: '@storybook/preview@7.4.6': resolution: {integrity: sha512-2RPXusJ4CTDrIipIKKvbotD7fP0+8VzoFjImunflIrzN9rni+2rq5eMjqlXAaB+77w064zIR4uDUzI9fxsMDeQ==} + '@storybook/react-docgen-typescript-plugin@1.0.2-canary.253f8c1.0': + resolution: {integrity: sha512-mmoRG/rNzAiTbh+vGP8d57dfcR2aP+5/Ll03KKFyfy5FqWFm/Gh7u27ikx1I3LmVMI8n6jh5SdWMkMKon7/tDw==} + peerDependencies: + typescript: '>= 3.x' + webpack: '>= 4' + '@storybook/react-docgen-typescript-plugin@1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0': resolution: {integrity: sha512-eVg3BxlOm2P+chijHBTByr90IZVUtgRW56qEOLX7xlww2NBuKrcavBlcmn+HH7GIUktquWkMPtvy6e0W0NgA5w==} peerDependencies: @@ -9376,8 +10512,8 @@ packages: typescript: '>= 4.x' webpack: '>= 4' - '@storybook/react-dom-shim@7.4.6': - resolution: {integrity: sha512-DSq8l9FDocUF1ooVI+TF83pddj1LynE/Hv0/y8XZhc3IgJ/HkuOQuUmfz29ezgfAi9gFYUR8raTIBi3/xdoRmw==} + '@storybook/react-dom-shim@7.4.0': + resolution: {integrity: sha512-TLpb8a2hnWJoRLqoXpMADh82BFfRZll6JI2Waf1FjnvJ4SF9eS0zBbxybrjW3lFAHWy2XJi+rwcK8FiPj0iBoQ==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -9389,21 +10525,14 @@ packages: react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta storybook: ^8.6.14 - '@storybook/react-dom-shim@8.6.18': - resolution: {integrity: sha512-N4xULcAWZQTUv4jy1/d346Tyb4gufuC3UaLCuU/iVSZ1brYF4OW3ANr+096btbMxY8pR/65lmtoqr5CTGwnBvA==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - storybook: ^8.6.18 - - '@storybook/react-vite@8.6.18': - resolution: {integrity: sha512-qpSYyH2IizlEsI95MJTdIL6xpLSgiNCMoJpHu+IEqLnyvmecRR/YEZvcHalgdtawuXlimH0bAYuwIu3l8Vo6FQ==} + '@storybook/react-vite@8.6.14': + resolution: {integrity: sha512-FZU0xMPxa4/TO87FgcWwappOxLBHZV5HSRK5K+2bJD7rFJAoNorbHvB4Q1zvIAk7eCMjkr2GPCPHx9PRB9vJFg==} engines: {node: '>=18.0.0'} peerDependencies: - '@storybook/test': 8.6.18 + '@storybook/test': 8.6.14 react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - storybook: ^8.6.18 + storybook: ^8.6.14 vite: ^4.0.0 || ^5.0.0 || ^6.0.0 peerDependenciesMeta: '@storybook/test': @@ -9423,18 +10552,33 @@ packages: typescript: optional: true - '@storybook/react-webpack5@8.6.18': - resolution: {integrity: sha512-oh7V2//Nm6O+7J5b7v4l+BTxksMq7thCmy607diwSBZHYz6G2CxcW3GhxWwZzpHoUVX6vOR5Uc94u9+wBuPi7A==} + '@storybook/react-webpack5@8.6.14': + resolution: {integrity: sha512-ka0q9tQBLruhO38sybP/MkZzejqAltce7HJTJ2KKbUYUlbvuG7m56tBX7DVC5JaImbsO3b8fqOrKH7gRt4KYrQ==} engines: {node: '>=18.0.0'} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - storybook: ^8.6.18 + storybook: ^8.6.14 typescript: '>= 4.2.x' peerDependenciesMeta: typescript: optional: true + '@storybook/react@6.3.7': + resolution: {integrity: sha512-4S0iCQIzgi6PdAtV2sYw4uL57yIwbMInNFSux9CxPnVdlxOxCJ+U8IgTxD4tjkTvR4boYSEvEle46ns/bwg5iQ==} + engines: {node: '>=10.13.0'} + hasBin: true + peerDependencies: + '@babel/core': ^7.11.5 + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + typescript: '*' + peerDependenciesMeta: + '@babel/core': + optional: true + typescript: + optional: true + '@storybook/react@6.5.16': resolution: {integrity: sha512-cBtNlOzf/MySpNLBK22lJ8wFU22HnfTB2xJyBk7W7Zi71Lm7Uxkhv1Pz8HdiQndJ0SlsAAQOWjQYsSZsGkZIaA==} engines: {node: '>=10.13.0'} @@ -9463,8 +10607,36 @@ packages: typescript: optional: true - '@storybook/react@7.4.6': - resolution: {integrity: sha512-w0dVo64baFFPTGpUOWFqkKsu6pQincoymegSNgqaBd5DxEyMDRiRoTWSJHMKE9BwgE8SyWhRkP1ak1mkccSOhQ==} + '@storybook/react@6.5.9': + resolution: {integrity: sha512-Rp+QaTQAzxJhwuzJXVd49mnIBLQRlF8llTxPT2YoGHdrGkku/zl/HblQ6H2yzEf15367VyzaAv/BpLsO9Jlfxg==} + engines: {node: '>=10.13.0'} + hasBin: true + peerDependencies: + '@babel/core': ^7.11.5 + '@storybook/builder-webpack4': '*' + '@storybook/builder-webpack5': '*' + '@storybook/manager-webpack4': '*' + '@storybook/manager-webpack5': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + require-from-string: ^2.0.2 + typescript: '*' + peerDependenciesMeta: + '@babel/core': + optional: true + '@storybook/builder-webpack4': + optional: true + '@storybook/builder-webpack5': + optional: true + '@storybook/manager-webpack4': + optional: true + '@storybook/manager-webpack5': + optional: true + typescript: + optional: true + + '@storybook/react@7.4.0': + resolution: {integrity: sha512-QWsFw/twsNkcWI6brW06sugQQ5dV+fJm4IrEeI28cA4cBHK9G9HKOwCHoXDUWikzZx48XYMpNfs/WyIkuGmEqg==} engines: {node: '>=16.0.0'} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -9474,14 +10646,14 @@ packages: typescript: optional: true - '@storybook/react@8.6.18': - resolution: {integrity: sha512-BuLpzMkKtF+UCQCbi+lYVX9cdcAMG86Lu2dDn7UFkPi5HRNFq/zHPSvlz1XDgL0OYMtcqB1aoVzFzcyzUBhhjw==} + '@storybook/react@8.6.14': + resolution: {integrity: sha512-BOepx5bBFwl/CPI+F+LnmMmsG1wQYmrX/UQXgUbHQUU9Tj7E2ndTnNbpIuSLc8IrM03ru+DfwSg1Co3cxWtT+g==} engines: {node: '>=18.0.0'} peerDependencies: - '@storybook/test': 8.6.18 + '@storybook/test': 8.6.14 react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - storybook: ^8.6.18 + storybook: ^8.6.14 typescript: '>= 4.2.x' peerDependenciesMeta: '@storybook/test': @@ -9489,14 +10661,26 @@ packages: typescript: optional: true + '@storybook/router@6.3.7': + resolution: {integrity: sha512-6tthN8op7H0NoYoE1SkQFJKC42pC4tGaoPn7kEql8XGeUJnxPtVFjrnywlTrRnKuxZKIvbilQBAwDml97XH23Q==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + '@storybook/router@6.5.16': resolution: {integrity: sha512-ZgeP8a5YV/iuKbv31V8DjPxlV4AzorRiR8OuSt/KqaiYXNXlOoQDz/qMmiNcrshrfLpmkzoq7fSo4T8lWo2UwQ==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - '@storybook/router@7.4.6': - resolution: {integrity: sha512-Vl1esrHkcHxDKqc+HY7+6JQpBPW3zYvGk0cQ2rxVMhWdLZTAz1hss9DqzN9tFnPyfn0a1Q77EpMySkUrvWKKNQ==} + '@storybook/router@6.5.9': + resolution: {integrity: sha512-G2Xp/2r8vU2O34eelE+G5VbEEVFDeHcCURrVJEROh6dq2asFJAPbzslVXSeCqgOTNLSpRDJ2NcN5BckkNqmqJg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + + '@storybook/router@7.4.0': + resolution: {integrity: sha512-IATdtFL5C3ryjNQSwaQfrmiOZiVFoVNMevMoBGDC++g0laSW40TGiNK6fUjUDBKuOgbuDt4Svfbl29k21GefEg==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -9512,6 +10696,12 @@ packages: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + '@storybook/source-loader@6.5.9': + resolution: {integrity: sha512-H03nFKaP6borfWMTTa9igBA+Jm2ph+FoVJImWC/X+LAmLSJYYSXuqSgmiZ/DZvbjxS4k8vccE2HXogne1IvaRA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + '@storybook/store@6.5.16': resolution: {integrity: sha512-g+bVL5hmMq/9cM51K04e37OviUPHT0rHHrRm5wj/hrf18Kd9120b3sxdQ5Dc+HZ292yuME0n+cyrQPTYx9Epmw==} peerDependencies: @@ -9524,18 +10714,22 @@ packages: '@storybook/telemetry@6.5.16': resolution: {integrity: sha512-CWr5Uko1l9jJW88yTXsZTj/3GTabPvw0o7pDPOXPp8JRZiJTxv1JFaFCafhK9UzYbgcRuGfCC8kEWPZims7iKA==} - '@storybook/telemetry@7.6.24': - resolution: {integrity: sha512-MDdg4sKrNsUSzRNBSXKBVZlE+OkOWahmjgzp9U0zJa17cpBqpLjYzRtLL9j/j1VOFhxKPpkXY0ipuPc24KJ8rw==} + '@storybook/telemetry@6.5.9': + resolution: {integrity: sha512-JluoHCRhHAr4X0eUNVBSBi1JIBA92404Tu1TPdbN7x6gCZxHXXPTSUTAnspXp/21cTdMhY2x+kfZQ8fmlGK4MQ==} + + '@storybook/telemetry@7.6.10': + resolution: {integrity: sha512-p3mOSUtIyy2tF1z6pQXxNh1JzYFcAm97nUgkwLzF07GfEdVAPM+ftRSLFbD93zVvLEkmLTlsTiiKaDvOY/lQWg==} '@storybook/test@8.6.14': resolution: {integrity: sha512-GkPNBbbZmz+XRdrhMtkxPotCLOQ1BaGNp/gFZYdGDk2KmUWBKmvc5JxxOhtoXM2703IzNFlQHSSNnhrDZYuLlw==} peerDependencies: storybook: ^8.6.14 - '@storybook/test@8.6.15': - resolution: {integrity: sha512-EwquDRUDVvWcZds3T2abmB5wSN/Vattal4YtZ6fpBlIUqONV4o/cOBX39cFfQSUCBrIXIjQ6RmapQCHK/PvBYw==} + '@storybook/theming@6.3.7': + resolution: {integrity: sha512-GXBdw18JJd5jLLcRonAZWvGGdwEXByxF1IFNDSOYCcpHWsMgTk4XoLjceu9MpXET04pVX51LbVPLCvMdggoohg==} peerDependencies: - storybook: ^8.6.15 + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 '@storybook/theming@6.5.16': resolution: {integrity: sha512-hNLctkjaYLRdk1+xYTkC1mg4dYz2wSv6SqbLpcKMbkPHTE0ElhddGPHQqB362md/w9emYXNkt1LSMD8Xk9JzVQ==} @@ -9543,22 +10737,39 @@ packages: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - '@storybook/theming@7.4.6': - resolution: {integrity: sha512-HW77iJ9ptCMqhoBOYFjRQw7VBap+38fkJGHP5KylEJCyYCgIAm2dEcQmtWpMVYFssSGcb6djfbtAMhYU4TL4Iw==} + '@storybook/theming@6.5.9': + resolution: {integrity: sha512-KM0AMP5jMQPAdaO8tlbFCYqx9uYM/hZXGSVUhznhLYu7bhNAIK7ZVmXxyE/z/khM++8eUHzRoZGiO/cwCkg9Xw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + + '@storybook/theming@7.4.0': + resolution: {integrity: sha512-eLjEf6G3cqlegfutF/iUrec9LrUjKDj7K4ZhGdACWrf7bQcODs99EK62e9/d8GNKr4b+QMSEuM6XNGaqdPnuzQ==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - '@storybook/theming@8.6.18': - resolution: {integrity: sha512-n6OEjEtHupa2PdTwWzRepr7cO8NkDd4rgF6BKLitRbujOspLxzMBEqdphs+QLcuiCIgf33SqmEA64QWnbSMhPw==} + '@storybook/theming@8.6.13': + resolution: {integrity: sha512-wedypFtCNtatWLAbqnVqChrI8fCsJbu6oAIt5M9zakiSqwI+w1WPZjgkTJ0/jzqAb2bQ+9kjgZu4eK+01NETSw==} + peerDependencies: + storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 + + '@storybook/theming@8.6.14': + resolution: {integrity: sha512-r4y+LsiB37V5hzpQo+BM10PaCsp7YlZ0YcZzQP1OCkPlYXmUAFy2VvDKaFRpD8IeNPKug2u4iFm/laDEbs03dg==} peerDependencies: storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 - '@storybook/types@7.4.6': - resolution: {integrity: sha512-6QLXtMVsFZFpzPkdGWsu/iuc8na9dnS67AMOBKm5qCLPwtUJOYkwhMdFRSSeJthLRpzV7JLAL8Kwvl7MFP3QSw==} + '@storybook/types@7.4.0': + resolution: {integrity: sha512-XyzYkmeklywxvElPrIWLczi/PWtEdgTL6ToT3++FVxptsC2LZKS3Ue+sBcQ9xRZhkRemw4HQHwed5EW3dO8yUg==} - '@storybook/types@7.6.24': - resolution: {integrity: sha512-XOhLmXnQprLRIs4dT9kmWHgETEiGdOjbJ9ULQGoKR72wia47Buzrjwg5Ym3BTQEzrtLpo/8FD3NS+Migldp+XA==} + '@storybook/types@7.6.10': + resolution: {integrity: sha512-hcS2HloJblaMpCAj2axgGV+53kgSRYPT0a1PG1IHsZaYQILfHSMmBqM8XzXXYTsgf9250kz3dqFX1l0n3EqMlQ==} + + '@storybook/ui@6.3.7': + resolution: {integrity: sha512-PBeRO8qtwAbtHvxUgNtz/ChUR6qnN+R37dMaIs3Y96jbks1fS2K9Mt7W5s1HnUbWbg2KsZMv9D4VYPBasY+Isw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 '@storybook/ui@6.5.16': resolution: {integrity: sha512-rHn/n12WM8BaXtZ3IApNZCiS+C4Oc5+Lkl4MoctX8V7QSml0SxZBB5hsJ/AiWkgbRxjQpa/L/Nt7/Qw0FjTH/A==} @@ -9779,9 +10990,6 @@ packages: '@tanstack/query-core@5.77.1': resolution: {integrity: sha512-nfxVhy4UynChMFfN4NxwI8pktV9R3Zt/ROxOAe6pdOf8CigDLn26p+ex1YW5uien26BBICLmN0dTvIELHCs5vw==} - '@tanstack/query-core@5.90.20': - resolution: {integrity: sha512-OMD2HLpNouXEfZJWcKeVKUgQ5n+n3A2JFmBaScpNDUqSrQSjiveC7dKMe53uJUg1nDG16ttFPz2xfilz6i2uVg==} - '@tanstack/query-persist-client-core@4.27.0': resolution: {integrity: sha512-A+dPA7zG0MJOMDeBc/2WcKXW4wV2JMkeBVydobPW9G02M4q0yAj7vI+7SmM2dFuXyIvxXp4KulCywN6abRKDSQ==} @@ -9842,20 +11050,16 @@ packages: resolution: {integrity: sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==} engines: {node: '>=18'} - '@testing-library/dom@10.4.1': - resolution: {integrity: sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg==} - engines: {node: '>=18'} - '@testing-library/jest-dom@6.5.0': resolution: {integrity: sha512-xGGHpBXYSHUUr6XsKBfs85TWlYKpTc37cSBBVrXcib2MkHLboWlkClhWF37JKlDb9KEq3dHs+f2xR7XJEWGBxA==} engines: {node: '>=14', npm: '>=6', yarn: '>=1'} - '@testing-library/jest-dom@6.6.4': - resolution: {integrity: sha512-xDXgLjVunjHqczScfkCJ9iyjdNOVHvvCdqHSSxwM9L0l/wHkTRum67SDc020uAlCoqktJplgO2AAQeLP1wgqDQ==} + '@testing-library/jest-dom@6.6.3': + resolution: {integrity: sha512-IteBhl4XqYNkM54f4ejhLRJiZNqcSCoXUOG2CPK7qbD322KjQozM4kHQOfkG2oln9b9HTYqs+Sae8vBATubxxA==} engines: {node: '>=14', npm: '>=6', yarn: '>=1'} - '@testing-library/react@16.3.2': - resolution: {integrity: sha512-XU5/SytQM+ykqMnAnvB2umaJNIOsLF3PVv//1Ew4CTcpz0/BRyy/af40qqrt7SjKpDdT1saBMc42CUok5gaw+g==} + '@testing-library/react@16.3.0': + resolution: {integrity: sha512-kFSyxiEDwv1WLl2fgsq6pPBbw5aWKrsY2/noi1Id0TK0UParSF62oFQFGHXIyaG4pp2tEub/Zlel+fjjZILDsw==} engines: {node: '>=18'} peerDependencies: '@testing-library/dom': ^10.0.0 @@ -9890,6 +11094,10 @@ packages: '@textlint/types@15.5.2': resolution: {integrity: sha512-sJOrlVLLXp4/EZtiWKWq9y2fWyZlI8GP+24rnU5avtPWBIMm/1w97yzKrAqYF8czx2MqR391z5akhnfhj2f/AQ==} + '@tokenizer/inflate@0.4.1': + resolution: {integrity: sha512-2mAv+8pkG6GIZiF1kNg1jAjh27IDxEPKwdGul3snfztFerfPGI1LjDezZp3i7BElXompqEtPmoPx6c2wgtWsOA==} + engines: {node: '>=18'} + '@tokenizer/token@0.3.0': resolution: {integrity: sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==} @@ -9923,6 +11131,11 @@ packages: '@tsconfig/node16@1.0.4': resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} + '@twbs/fantasticon@3.0.0': + resolution: {integrity: sha512-Vuf7M0IyOP9G7OhibereG3pXEqz+xcp1QuJ/GpezDqbUEx7mrJPiS0/WMftItWTtJ0C/yGK8slHME6+G7FWeEw==} + engines: {node: '>=16'} + hasBin: true + '@tybys/wasm-util@0.10.1': resolution: {integrity: sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==} @@ -9950,15 +11163,17 @@ packages: '@types/bonjour@3.5.13': resolution: {integrity: sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==} + '@types/braces@3.0.5': + resolution: {integrity: sha512-SQFof9H+LXeWNz8wDe7oN5zu7ket0qwMu5vZubW4GCJ8Kkeh6nBWUz87+KTz/G3Kqsrp0j/W253XJb3KMEeg3w==} + '@types/byline@4.2.36': resolution: {integrity: sha512-dO55KDSaOSE+3T8TwP66mzn0u/PM/aSedVMr1tby7WBNjfLIuS6IbYXi1mlau49sVSVB+gXKJscWE0JO3tlXDw==} - '@types/chai@4.3.20': - resolution: {integrity: sha512-/pC9HAB5I/xMlc5FP77qjCnI16ChlJfW0tGa0IUcFn38VJrTV6DeZ60NU5KZBtaOZqjdpwTWohz5HU1RrhiYxQ==} + '@types/chai@4.3.9': + resolution: {integrity: sha512-69TtiDzu0bcmKQv3yg1Zx409/Kd7r0b5F1PfpYJfSHzLGtB53547V4u+9iqKYsTu/O2ai6KTb0TInNpvuQ3qmg==} - '@types/classnames@2.3.4': - resolution: {integrity: sha512-dwmfrMMQb9ujX1uYGvB5ERDlOzBNywnZAZBtOe107/hORWP05ESgU4QyaanZMWYYfd2BzrG78y13/Bju8IQcMQ==} - deprecated: This is a stub types definition. classnames provides its own type definitions, so you do not need this installed. + '@types/classnames@2.2.9': + resolution: {integrity: sha512-MNl+rT5UmZeilaPxAVs6YaPC2m6aA8rofviZbhbxpPpl61uKodfdQVsBtgJGTqGizEf02oW3tsVe7FYB8kK14A==} '@types/codemirror@0.0.90': resolution: {integrity: sha512-8Z9+tSg27NPRGubbUPUCrt5DDG/OWzLph5BvcDykwR5D7RyZh5mhHG0uS1ePKV1YFCA+/cwc4Ey2AJAEFfV3IA==} @@ -9966,6 +11181,12 @@ packages: '@types/codemirror@5.60.17': resolution: {integrity: sha512-AZq2FIsUHVMlp7VSe2hTfl5w4pcUkoFkM3zVsRKsn1ca8CXRDYvnin04+HP2REkwsxemuHqvDofdlhUWNpbwfw==} + '@types/color-convert@2.0.4': + resolution: {integrity: sha512-Ub1MmDdyZ7mX//g25uBAoH/mWGd9swVbt8BseymnaE18SU4po/PjmCrHxqIIRjBo3hV/vh1KGr0eMxUhp+t+dQ==} + + '@types/color-name@1.1.5': + resolution: {integrity: sha512-j2K5UJqGTxeesj6oQuGpMgifpT5k9HprgQd8D1Y0lOFqKHl3PJu5GMeS4Y5EgjS55AE6OQxf8mPED9uaGbf4Cg==} + '@types/connect-history-api-fallback@1.5.4': resolution: {integrity: sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==} @@ -9975,8 +11196,8 @@ packages: '@types/cross-spawn@6.0.6': resolution: {integrity: sha512-fXRhhUkG4H3TQk5dBhQ7m/JDdSNHKwR2BBia62lhwEIq9xGiQKLxd6LymNhn47SjXhsUEPmxi+PKw2OkW4LLjA==} - '@types/dagre@0.7.54': - resolution: {integrity: sha512-QjcRY+adGbYvBFS7cwv5txhVIwX1XXIUswWl+kSQTbI6NjgZydrZkEKX/etzVd7i+bCsCb40Z/xlBY5eoFuvWQ==} + '@types/dagre@0.7.52': + resolution: {integrity: sha512-XKJdy+OClLk3hketHi9Qg6gTfe1F3y+UFnHxKA2rn9Dw+oXa4Gb378Ztz9HlMgZKSxpPmn4BNVh9wgkpvrK1uw==} '@types/debug@4.1.12': resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} @@ -10020,6 +11241,9 @@ packages: '@types/estree@0.0.51': resolution: {integrity: sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==} + '@types/estree@1.0.7': + resolution: {integrity: sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==} + '@types/estree@1.0.8': resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} @@ -10032,14 +11256,20 @@ packages: '@types/find-cache-dir@3.2.1': resolution: {integrity: sha512-frsJrz2t/CeGifcu/6uRo4b+SzAwT4NYCVPu1GN8IB9XTzrpPkGuV0tmh9mN+/L0PklAlsC3u5Fxt0ju00LXIw==} + '@types/fs-extra@11.0.1': + resolution: {integrity: sha512-MxObHvNl4A69ofaTRU8DFqvgzzv8s9yRtaPPm5gud9HDNvpB3GPQFvNuTWAI59B9huVGV5jXYJwbCsmBsOGYWA==} + '@types/fs-extra@11.0.4': resolution: {integrity: sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==} + '@types/glob-base@0.3.2': + resolution: {integrity: sha512-0/pNDkxZEZtlAEyMmZvVubAHbynbnlNjPl50gyzDO1iq9nT07Af7Jfg9qJUvXaOzkfVKBvWb4nfPrW1R0ihoyg==} + '@types/glob@7.2.0': resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} - '@types/glob@8.1.0': - resolution: {integrity: sha512-IO+MJPVhoqz+28h1qLAcBEH2+xHMK6MTyHJc7MTnnYb6wsoLR29POVGJ7LycmVXIqyy/4/2ShP5sUwTXuOwb/w==} + '@types/glob@8.0.0': + resolution: {integrity: sha512-l6NQsDDyQUVeoTynNpC9uRvCUint/gSUXQA2euwmTuWGvPY5LSDUu6tkCtJB2SvGQlJQzLaKqcGZP4//7EDveA==} '@types/graceful-fs@4.1.9': resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==} @@ -10098,6 +11328,9 @@ packages: '@types/jest@30.0.0': resolution: {integrity: sha512-XTYugzhuwqWjws0CVz8QpM36+T+Dz5mTEBKhNs/esGLnCIlGdRy+Dq78NRjd7ls7r8BC8ZRMOrKlkO1hU0JOwA==} + '@types/js-yaml@4.0.5': + resolution: {integrity: sha512-FhpRzf927MNQdRZP0J5DLIdTXhjLYzeUTmLAu69mnVksLH9CJY3IuSeEgbKUki7GQZm0WqDkGzyxju2EZGD2wA==} + '@types/js-yaml@4.0.9': resolution: {integrity: sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==} @@ -10113,21 +11346,42 @@ packages: '@types/jsonfile@6.1.4': resolution: {integrity: sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ==} + '@types/katex@0.16.8': + resolution: {integrity: sha512-trgaNyfU+Xh2Tc+ABIb44a5AYUpicB3uwirOioeOkNPPbmgRNtcWyDeeFRzjPZENO9Vq8gvVqfhaaXWLlevVwg==} + '@types/linkify-it@5.0.0': resolution: {integrity: sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==} - '@types/lodash.camelcase@4.3.9': - resolution: {integrity: sha512-ys9/hGBfsKxzmFI8hckII40V0ASQ83UM2pxfQRghHAwekhH4/jWtjz/3/9YDy7ZpUd/H0k2STSqmPR28dnj7Zg==} + '@types/lodash.camelcase@4.3.0': + resolution: {integrity: sha512-Q6uQaysIyJb2K9yc4Me8RfnV2gni57GBMgniq5T/xNvAgpBoPfNlTk4szJZj5Lq64WCViwPpR8NJyMn+ocxcrA==} + + '@types/lodash.clonedeep@4.5.6': + resolution: {integrity: sha512-cE1jYr2dEg1wBImvXlNtp0xDoS79rfEdGozQVgliDZj1uERH4k+rmEMTudP9b4VQ8O6nRb5gPqft0QzEQGMQgA==} - '@types/lodash.clonedeep@4.5.9': - resolution: {integrity: sha512-19429mWC+FyaAhOLzsS8kZUsI+/GmBAQ0HFiCPsKGU+7pBXOQWhyrY6xNNDwUSX8SMZMJvuFVMF9O5dQOlQK9Q==} + '@types/lodash.debounce@4.0.6': + resolution: {integrity: sha512-4WTmnnhCfDvvuLMaF3KV4Qfki93KebocUF45msxhYyjMttZDQYzHkO639ohhk8+oco2cluAFL3t5+Jn4mleylQ==} '@types/lodash.debounce@4.0.9': resolution: {integrity: sha512-Ma5JcgTREwpLRwMM+XwBR7DaWe96nC38uCBDFKZWbNKD+osjVzdpnUSwBcqCptrp16sSOLBAUb50Car5I0TCsQ==} + '@types/lodash@4.14.189': + resolution: {integrity: sha512-kb9/98N6X8gyME9Cf7YaqIMvYGnBSWqEci6tiettE6iJWH1XdJz/PO8LB0GtLCG7x8dU3KWhZT+lA1a35127tA==} + + '@types/lodash@4.14.198': + resolution: {integrity: sha512-trNJ/vtMZYMLhfN45uLq4ShQSw0/S7xCTLLVM+WM1rmFpba/VS42jVUgaO3w/NOLiWR/09lnYk0yMaA/atdIsg==} + + '@types/lodash@4.14.199': + resolution: {integrity: sha512-Vrjz5N5Ia4SEzWWgIVwnHNEnb1UE1XMkvY5DGXrAeOGE9imk0hgTHh5GyDjLDJi9OTCn9oo9dXH1uToK1VRfrg==} + + '@types/lodash@4.14.200': + resolution: {integrity: sha512-YI/M/4HRImtNf3pJgbF+W6FrXovqj+T+/HpENLTooK9PnkacBsDpeP3IpHab40CClUfhNmdM2WTNP2sa2dni5Q==} + '@types/lodash@4.14.202': resolution: {integrity: sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ==} + '@types/lodash@4.17.15': + resolution: {integrity: sha512-w/P33JFeySuhN6JLkysYUK2gEmy9kHHFN7E8ro0tkfmlDOgxBDzWEZ/J8cWA+fHqFevpswDTFZnDx+R9lbL6xw==} + '@types/lodash@4.17.16': resolution: {integrity: sha512-HX7Em5NYQAXKW+1T+FiuG27NGwzJfCX3s1GjOa7ujxZa52kjJLOr4FUxT+giF6Tgxv1e+/czV/iTtBw27WTU9g==} @@ -10137,6 +11391,9 @@ packages: '@types/markdown-it@14.1.2': resolution: {integrity: sha512-promo4eFwuiW+TfGxhi+0x3czqTYJkG8qB17ZUJiVF10Xm7NLVRSLUsfRTU/6h1e24VvRnXCx+hG7li58lkzog==} + '@types/markdown-to-jsx@6.11.3': + resolution: {integrity: sha512-30nFYpceM/ZEvhGiqWjm5quLUxNeld0HCzJEXMZZDpq53FPkS85mTwkWtCXzCqq8s5JYLgM5W392a02xn8Bdaw==} + '@types/mdast@3.0.15': resolution: {integrity: sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==} @@ -10149,6 +11406,9 @@ packages: '@types/mdx@2.0.13': resolution: {integrity: sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==} + '@types/micromatch@4.0.10': + resolution: {integrity: sha512-5jOhFDElqr4DKTrTEbnW8DZ4Hz5LRUEmyrGpCMrD/NphYv3nUnaF08xmSLx1rGGnyEs/kFnhiw6dCgcDqMr5PQ==} + '@types/mime-types@2.1.4': resolution: {integrity: sha512-lfU4b34HOri+kAY5UheuFMWPDOI+OPceBSHZKp69gEyTL/mmJ4cnU6Y/rlme3UL3GyOn6Y42hyIEw0/q8sWx5w==} @@ -10158,15 +11418,17 @@ packages: '@types/minimatch@5.1.2': resolution: {integrity: sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==} - '@types/minimatch@6.0.0': - resolution: {integrity: sha512-zmPitbQ8+6zNutpwgcQuLcsEpn/Cj54Kbn7L5pX0Os5kdWplB7xPgEh/g+SWOB/qmows2gpuCaPyduq8ZZRnxA==} - deprecated: This is a stub types definition. minimatch provides its own type definitions, so you do not need this installed. - '@types/minimist@1.2.5': resolution: {integrity: sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==} - '@types/mocha@10.0.10': - resolution: {integrity: sha512-xPyYSz1cMPnJQhl0CLMH68j3gprKZaTjG3s5Vi+fDgx+uhG9NOXwbVt52eFS8ECyXhyKcjDLCBEqBExKuiZb7Q==} + '@types/mocha@10.0.1': + resolution: {integrity: sha512-/fvYntiO1GeICvqbQ3doGDIP97vWmvFt83GKguJ6prmQM2iXZfFcq6YE8KteFyRtX2/h5Hf91BYvPodJKFYv5Q==} + + '@types/mocha@10.0.3': + resolution: {integrity: sha512-RsOPImTriV/OE4A9qKjMtk2MnXiuLLbcO3nCXK+kvq4nr0iMfFgpjaX3MPLb6f7+EL1FGSelYvuJMV6REH+ZPQ==} + + '@types/mousetrap@1.6.11': + resolution: {integrity: sha512-F0oAily9Q9QQpv9JKxKn0zMKfOo36KHCW7myYsmUyf2t0g+sBTbG3UleTPoguHdE1z3GLFr3p7/wiOio52QFjQ==} '@types/mousetrap@1.6.15': resolution: {integrity: sha512-qL0hyIMNPow317QWW/63RvL1x5MVMV+Ru3NaY9f/CuEpCqrmb7WeuK2071ZY5hczOnm38qExWM2i2WtkXLSqFw==} @@ -10174,29 +11436,41 @@ packages: '@types/ms@2.1.0': resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} + '@types/mustache@4.2.5': + resolution: {integrity: sha512-PLwiVvTBg59tGFL/8VpcGvqOu3L4OuveNvPi0EYbWchRdEVP++yRUXJPFl+CApKEq13017/4Nf7aQ5lTtHUNsA==} + '@types/mustache@4.2.6': resolution: {integrity: sha512-t+8/QWTAhOFlrF1IVZqKnMRJi84EgkIK5Kh0p2JV4OLywUvCwJPFxbJAl7XAow7DVIHsF+xW9f1MVzg0L6Szjw==} '@types/node-fetch@2.6.13': resolution: {integrity: sha512-QGpRVpzSaUs30JBSGPjOg4Uveu384erbHBoT1zeONvyCfwQxIkUshLAOqN/k9EjGviPRmWTTe6aH2qySWKTVSw==} + '@types/node@14.18.63': + resolution: {integrity: sha512-fAtCfv4jJg+ExtXhvCkCqUKZ+4ok/JQk01qDKhL5BDDoS3AxKXhV5/MAVUZyQnSEd2GT92fkgZl0pz0Q0AzcIQ==} + '@types/node@16.18.126': resolution: {integrity: sha512-OTcgaiwfGFBKacvfwuHzzn1KLxH/er8mluiy8/uM3sGXHaRe73RrSIj01jow9t4kJEW633Ov+cOexXeiApTyAw==} - '@types/node@18.19.130': - resolution: {integrity: sha512-GRaXQx6jGfL8sKfaIDD6OupbIHBr9jv7Jnaml9tB7l4v068PAOXqfcujMMo5PhbIs6ggR1XODELqahT2R8v0fg==} + '@types/node@18.11.19': + resolution: {integrity: sha512-YUgMWAQBWLObABqrvx8qKO1enAvBUdjZOAWQ5grBAkp5LQv45jBvYKZ3oFS9iKRCQyFjqw6iuEa1vmFqtxYLZw==} - '@types/node@20.19.37': - resolution: {integrity: sha512-8kzdPJ3FsNsVIurqBs7oodNnCEVbni9yUEkaHbgptDACOPW04jimGagZ51E6+lXUwJjgnBw+hyko/lkFWCldqw==} + '@types/node@18.18.7': + resolution: {integrity: sha512-bw+lEsxis6eqJYW8Ql6+yTqkE6RuFtsQPSe5JxXbqYRFQEER5aJA9a5UH9igqDWm3X4iLHIKOHlnAXLM4mi7uQ==} + + '@types/node@20.10.6': + resolution: {integrity: sha512-Vac8H+NlRNNlAmDfGUP7b5h/KA+AtWIzuXy0E6OyP8f1tCLYAtPvKRRDJjAPqhpCb0t6U2j7/xqAuLEebW2kiw==} '@types/node@22.15.18': resolution: {integrity: sha512-v1DKRfUdyW+jJhZNEI1PYy29S2YRxMV5AOO/x/SjKmW0acCIOqmbj6Haf9eHAhsPmrhlHSxEhv/1WszcLWV4cg==} + '@types/node@22.15.19': + resolution: {integrity: sha512-3vMNr4TzNQyjHcRZadojpRaD9Ofr6LsonZAoQ+HMUa/9ORTPoxVIw0e0mpqWpdjj8xybyCM+oKOUH2vwFu/oEw==} + '@types/node@22.15.21': resolution: {integrity: sha512-EV/37Td6c+MgKAbkcLG6vqZ2zEYHD7bvSrzqqs2RIhbA6w3x+Dqz8MZM3sP6kGTeLrdoOgKZe+Xja7tUB2DNkQ==} - '@types/node@22.15.35': - resolution: {integrity: sha512-stV91mHxlWpDksiUiivmFfQzjy2JLlb2NUTxKipiANEbxBZsdbDU9fSrT7SHY4uoCXAxYfJZVasn3x2/hqpd3g==} + '@types/node@22.15.24': + resolution: {integrity: sha512-w9CZGm9RDjzTh/D+hFwlBJ3ziUaVw7oufKA3vOFSOZlzmW9AkZnfjPb+DLnrV6qtgL/LNmP0/2zBNCFHL3F0ng==} '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} @@ -10204,6 +11478,9 @@ packages: '@types/npmlog@4.1.6': resolution: {integrity: sha512-0l3z16vnlJGl2Mi/rgJFrdwfLZ4jfNYgE6ZShEpjqhHuGTqdEzNles03NpYHwUMVYZa+Tj46UxKIEpE78lQ3DQ==} + '@types/overlayscrollbars@1.12.5': + resolution: {integrity: sha512-1yMmgFrq1DQ3sCHyb3DNfXnE0dB463MjG47ugX3cyade3sOt3U8Fjxk/Com0JJguTLPtw766TSDaO4NC65Wgkw==} + '@types/parse-json@4.0.2': resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} @@ -10219,8 +11496,8 @@ packages: '@types/pretty-hrtime@1.0.3': resolution: {integrity: sha512-nj39q0wAIdhwn7DGUyT9irmsKK1tV0bd5WFEhgpqNTMFZ8cE+jieuTphCW0tfdm47S2zVT5mr09B28b1chmQMA==} - '@types/prismjs@1.26.6': - resolution: {integrity: sha512-vqlvI7qlMvcCBbVe0AKAb4f97//Hy0EBTaiW8AalRnG/xAN5zOiWWyrNqNXeq8+KAuvRewjCVY1+IPxk4RdNYw==} + '@types/prismjs@1.26.5': + resolution: {integrity: sha512-AUZTa7hQ2KY5L7AmtSiqxlhWxb4ina0yd8hNbl4TWuqnv/pFP0nDMb3YrfSBf4hJVGLh2YEIBfKaBW/9UEl6IQ==} '@types/prop-types@15.7.15': resolution: {integrity: sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==} @@ -10234,23 +11511,24 @@ packages: '@types/range-parser@1.2.7': resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} + '@types/reach__router@1.3.15': + resolution: {integrity: sha512-5WEHKGglRjq/Ae3F8UQxg+GYUIhTUEiyBT9GKPoOLU/vPTn8iZrRbdzxqvarOaGludIejJykHLMdOCdhgWqaxA==} + '@types/react-collapse@5.0.4': resolution: {integrity: sha512-tM5cVB6skGLneNYnRK2E3R56VOHguSeJQHslGPTIMC58ytL3oelT8L/l1onkwHGn5vSEs2BEq2Olzrur+YdliA==} '@types/react-dom@17.0.14': resolution: {integrity: sha512-H03xwEP1oXmSfl3iobtmQ/2dHF5aBHr8aUMwyGZya6OW45G+xtdzmq6HkncefiBt5JU8DVyaWl/nWZbjZCnzAQ==} - '@types/react-dom@17.0.26': - resolution: {integrity: sha512-Z+2VcYXJwOqQ79HreLU/1fyQ88eXSSFh6I3JdrEHQIfYSI0kCQpTGvOrbE6jFGGYXKsHuwY9tBa/w5Uo6KzrEg==} - peerDependencies: - '@types/react': ^17.0.0 - '@types/react-dom@18.2.0': resolution: {integrity: sha512-8yQrvS6sMpSwIovhPOwfyNf2Wz6v/B62LFSVYQ85+Rq3tLsBIG7rP5geMxaijTUxSkrO6RzN/IRuIAADYQsleA==} '@types/react-lottie@1.2.10': resolution: {integrity: sha512-rCd1p3US4ELKJlqwVnP0h5b24zt5p9OCvKUoNpYExLqwbFZMWEiJ6EGLMmH7nmq5V7KomBIbWO2X/XRFsL0vCA==} + '@types/react-lottie@1.2.5': + resolution: {integrity: sha512-g5c7r0VN8g0hLsFEtR71ZFDWDp6niY4D/7llcAcLjV3LpaoyANmaQ9jispskWpkAUP+NYQcFllMtoGIWUM6VRw==} + '@types/react-split-pane@0.1.67': resolution: {integrity: sha512-2vq9mohqYZ7kR+XcedfjyI2M7/E8W5owr0KupGGP+TfFp/O9f6c/S06MCB3FKWiBwazA7+Zyj50OTxvYy1kGLA==} deprecated: This is a stub types definition for react-split-pane (https://github.com/tomkp/react-split-pane). react-split-pane provides its own type definitions, so you don't need @types/react-split-pane installed! @@ -10258,11 +11536,14 @@ packages: '@types/react-syntax-highlighter@15.5.13': resolution: {integrity: sha512-uLGJ87j6Sz8UaBAooU0T6lWJ0dBmjZgN1PZTrj05TNql2/XpC6+4HhMT5syIdFUUt+FASfCeLLv4kBygNU+8qA==} - '@types/react-test-renderer@19.1.0': - resolution: {integrity: sha512-XD0WZrHqjNrxA/MaR9O22w/RNidWR9YZmBdRGI7wcnWGrv/3dA8wKCJ8m63Sn+tLJhcjmuhOi629N66W6kgWzQ==} + '@types/react-test-renderer@18.3.0': + resolution: {integrity: sha512-HW4MuEYxfDbOHQsVlY/XtOvNHftCVEPhJF2pQXXwcUiUF+Oyb0usgp48HSgpK5rt8m9KZb22yqOeZm+rrVG8gw==} - '@types/react@17.0.91': - resolution: {integrity: sha512-xauZca6qMeCU3Moy0KxCM9jtf1vyk6qRYK39Ryf3afUqwgNUjRIGoDdS9BcGWgAMGSg1hvP4XcmlYrM66PtqeA==} + '@types/react@16.14.69': + resolution: {integrity: sha512-NdnAamzkxLX9LBssSdt9Q0tQ3LR94hYxotI4/sRUs1vHKFXaDx9xDbK8S4wuw5bwrxiiXbTYyhKeITtFnwDvEA==} + + '@types/react@17.0.37': + resolution: {integrity: sha512-2FS1oTqBGcH/s0E+CjrCCR9+JMpsu9b69RTFO+40ua43ZqP5MmQ4iUde/dMjWR909KxZwmOQIFq6AV6NjEG5xg==} '@types/react@18.2.0': resolution: {integrity: sha512-0FLj93y5USLHdnhIhABk83rm8XEGA7kH3cr+YUlvxoUGp1xNt/DINUMvqPxLyOQMzLmZe8i4RTHbvb8MC7NmrA==} @@ -10324,8 +11605,8 @@ packages: '@types/tapable@1.0.12': resolution: {integrity: sha512-bTHG8fcxEqv1M9+TD14P8ok8hjxoOCkfKc8XXLaaD05kI7ohpeI956jtDOD3XHKBQrlyPughUtzm1jtVhHpA5Q==} - '@types/tcp-port-used@1.0.4': - resolution: {integrity: sha512-0vQ4fz9TTM4bCdllYWEJ2JHBUXR9xqPtc70dJ7BMRDVfvZyYdrgey3nP5RRcVj+qAgnHJM8r9fvgrfnPMxdnhA==} + '@types/tcp-port-used@1.0.3': + resolution: {integrity: sha512-Lq0Z8iw3uiBJzOdfL+ip6l6vOJw++XEyXPa7/3hMkWVU2YMsKuQBjjK5M2Fmq/533DBVW9L5I/XlJvcHnfAP4g==} '@types/tern@0.23.9': resolution: {integrity: sha512-ypzHFE/wBzh+BlH6rrBgS5I/Z7RD21pGhZ2rltb/+ZrVM1awdZwjx7hE5XfuYgHWk9uvV5HLZN3SloevCAp3Bw==} @@ -10366,14 +11647,32 @@ packages: '@types/uuid@9.0.8': resolution: {integrity: sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==} - '@types/vscode-notebook-renderer@1.72.4': - resolution: {integrity: sha512-bdKO41c6Dc24pH/O/eM/jqfCwGH4zc76o/g/6Gt1y/eg/bvvqP2/VpbV+Sa5Te2sZekFRcbYnSSFTKo3wcVGUg==} + '@types/vscode-notebook-renderer@1.72.2': + resolution: {integrity: sha512-ZEiswUa8mwPmMlHZCuI1B6MHBs81XEzPHg3luINmTZSKvHunOzhUfNzocU+Ob3GmcOeUALRNr1u4iDRfVliH/g==} + + '@types/vscode-webview@1.57.2': + resolution: {integrity: sha512-RpkIso3+FVoi9hFwHj9uBFO+9p8PGym0LnLJ9Yabo9mUJaV39CzOxz6EVtHg8AidA9hAf4cVmG0c+l9pvw6Lbw==} + + '@types/vscode-webview@1.57.3': + resolution: {integrity: sha512-8at2UVGjA/6gcLOay+J8wOars6VsDqAqPxRHYihH0XFUaXt+2AZ+Hd9hSoUbnhjicb6V1xe7rfjb7j4Ri2n1fg==} '@types/vscode-webview@1.57.5': resolution: {integrity: sha512-iBAUYNYkz+uk1kdsq05fEcoh8gJmwT3lqqFPN7MGyjQ3HVloViMdo7ZJ8DFIP8WOK74PjOEilosqAyxV2iUFUw==} - '@types/vscode@1.110.0': - resolution: {integrity: sha512-AGuxUEpU4F4mfuQjxPPaQVyuOMhs+VT/xRok1jiHVBubHK7lBRvCuOMZG0LKUwxncrPorJ5qq/uil3IdZBd5lA==} + '@types/vscode@1.100.0': + resolution: {integrity: sha512-4uNyvzHoraXEeCamR3+fzcBlh7Afs4Ifjs4epINyUX/jvdk0uzLnwiDY35UKDKnkCHP5Nu3dljl2H8lR6s+rQw==} + + '@types/vscode@1.104.0': + resolution: {integrity: sha512-0KwoU2rZ2ecsTGFxo4K1+f+AErRsYW0fsp6A0zufzGuhyczc2IoKqYqcwXidKXmy2u8YB2GsYsOtiI9Izx3Tig==} + + '@types/vscode@1.63.0': + resolution: {integrity: sha512-iePu1axOi5WSThV6l2TYcciBIpAlMarjBC8H0y8L8ocsZLxh7MttzwFU3pjoItF5fRVGxHS0Hsvje9jO3yJsfw==} + + '@types/vscode@1.81.0': + resolution: {integrity: sha512-YIaCwpT+O2E7WOMq0eCgBEABE++SX3Yl/O02GoMIF2DO3qAtvw7m6BXFYsxnc6XyzwZgh6/s/UG78LSSombl2w==} + + '@types/vscode@1.84.0': + resolution: {integrity: sha512-lCGOSrhT3cL+foUEqc8G1PVZxoDbiMmxgnUZZTEnHF4mC47eKAUtBGAuMLY6o6Ua8PAuNCoKXbqPmJd1JYnQfg==} '@types/webpack-env@1.18.8': resolution: {integrity: sha512-G9eAoJRMLjcvN4I08wB5I7YofOb/kaJNd5uoCMX+LbKXTPCF+ZIHuqTnFaK9Jz1rgs035f9JUPUhNFtqgucy/A==} @@ -10393,6 +11692,12 @@ packages: '@types/ws@8.18.1': resolution: {integrity: sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==} + '@types/ws@8.2.1': + resolution: {integrity: sha512-SqQ+LhVZaJi7c7sYVkjWALDigi/Wy7h7Iu72gkQp8Y8OWw/DddEVBrTSKu86pQftV2+Gm8lYM61hadPKqyaIeg==} + + '@types/xml2js@0.4.12': + resolution: {integrity: sha512-CZPpQKBZ8db66EP5hCjwvYrLThgZvnyZrPXK2W+UI1oOaWezGt34iOaUCX4Jah2X8+rQqjvl9VKEIT8TR1I0rA==} + '@types/xml2js@0.4.14': resolution: {integrity: sha512-4YnrRemBShWRO2QjvUin8ESA41rH+9nQGLUGZV/1IDhi3SL9OhdpNC/MrulTWuptXKwhx/aDxE7toV0f/ypIXQ==} @@ -10424,6 +11729,14 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/eslint-plugin@8.33.0': + resolution: {integrity: sha512-CACyQuqSHt7ma3Ns601xykeBK/rDeZa3w6IS6UtMQbixO5DWy+8TilKkviGDH6jtWCo8FGRKEK5cLLkPvEammQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + '@typescript-eslint/parser': ^8.33.0 + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/experimental-utils@2.34.0': resolution: {integrity: sha512-eS6FTkq+wuMJ+sgtuNTtcqavWXqsflWcfBnlYhg/nS4aZ1leewkXGbvBhaapn1q6qf4M71bsR1tez5JTRMuqwA==} engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} @@ -10447,6 +11760,17 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/parser@8.33.0': + resolution: {integrity: sha512-JaehZvf6m0yqYp34+RVnihBAChkqeH+tqqhS0GuX1qgPpwLvmTPheKEs6OeCK6hVJgXZHJ2vbjnC9j119auStQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.9.0' + + '@typescript-eslint/project-service@8.33.0': + resolution: {integrity: sha512-d1hz0u9l6N+u/gcrk6s6gYdl7/+pp8yHheRTqP6X5hVDKALEaTn8WfGiit7G511yueBEL3OpOEpD+3/MBdoN+A==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/scope-manager@5.62.0': resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -10455,6 +11779,16 @@ packages: resolution: {integrity: sha512-7IsIaIDeZn7kffk7qXC3o6Z4UblZJKV3UBpkvRNpr5NSyLji7tvTcvmnMNYuYLyh26mN8W723xpo3i4MlD33vA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/scope-manager@8.33.0': + resolution: {integrity: sha512-LMi/oqrzpqxyO72ltP+dBSP6V0xiUb4saY7WLtxSfiNEBI8m321LLVFU9/QDJxjDQG9/tjSqKz/E3380TEqSTw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/tsconfig-utils@8.33.0': + resolution: {integrity: sha512-sTkETlbqhEoiFmGr1gsdq5HyVbSOF0145SYDJ/EQmXHtKViCaGvnyLqWFFHtEXoS0J1yU8Wyou2UGmgW88fEug==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/type-utils@8.32.1': resolution: {integrity: sha512-mv9YpQGA8iIsl5KyUPi+FGLm7+bA4fgXaeRcFKRDRwDMu4iwrSHeDPipwueNXhdIIZltwCJv+NkxftECbIZWfA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -10462,6 +11796,13 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/type-utils@8.33.0': + resolution: {integrity: sha512-lScnHNCBqL1QayuSrWeqAL5GmqNdVUQAAMTaCwdYEdWfIrSrOGzyLGRCHXcCixa5NK6i5l0AfSO2oBSjCjf4XQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/types@5.62.0': resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -10470,6 +11811,10 @@ packages: resolution: {integrity: sha512-YmybwXUJcgGqgAp6bEsgpPXEg6dcCyPyCSr0CAAueacR/CCBi25G3V8gGQ2kRzQRBNol7VQknxMs9HvVa9Rvfg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/types@8.33.0': + resolution: {integrity: sha512-DKuXOKpM5IDT1FA2g9x9x1Ug81YuKrzf4mYX8FAVSNu5Wo/LELHWQyM1pQaDkI42bX15PWl0vNPt1uGiIFUOpg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/typescript-estree@2.34.0': resolution: {integrity: sha512-OMAr+nJWKdlVM9LOqCqh3pQQPwxHAN7Du8DR6dmwCrAmxtiXQnhHJ6tBNtf+cggqfo51SG/FCwnKhXCIM7hnVg==} engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} @@ -10494,6 +11839,12 @@ packages: peerDependencies: typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/typescript-estree@8.33.0': + resolution: {integrity: sha512-vegY4FQoB6jL97Tu/lWRsAiUUp8qJTqzAmENH2k59SJhw0Th1oszb9Idq/FyyONLuNqT1OADJPXfyUNOR8SzAQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/utils@5.62.0': resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -10507,6 +11858,13 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/utils@8.33.0': + resolution: {integrity: sha512-lPFuQaLA9aSNa7D5u2EpRiqdAUhzShwGg/nhpBlc4GR6kcTABttCuyjFs8BcEZ8VWrjCBof/bePhP3Q3fS+Yrw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/visitor-keys@5.62.0': resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -10515,17 +11873,21 @@ packages: resolution: {integrity: sha512-ar0tjQfObzhSaW3C3QNmTc5ofj0hDoNQ5XWrCy6zDyabdr0TWhCkClp+rywGNj/odAFBVzzJrK4tEq5M4Hmu4w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/visitor-keys@8.33.0': + resolution: {integrity: sha512-7RW7CMYoskiz5OOGAWjJFxgb7c5UNjTG292gYhWeOAcFmYCtVCSqjqSBj5zMhxbXo2JOW95YYrUWJfU0zrpaGQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typespec/ts-http-runtime@0.3.4': resolution: {integrity: sha512-CI0NhTrz4EBaa0U+HaaUZrJhPoso8sG7ZFya8uQoBA57fjzrjRSv87ekCjLZOFExN+gXE/z0xuN2QfH4H2HrLQ==} engines: {node: '>=20.0.0'} - '@uiw/codemirror-extensions-basic-setup@4.23.14': - resolution: {integrity: sha512-lCseubZqjN9bFwHJdQlZEKEo2yO1tCiMMVL0gu3ZXwhqMdfnd6ky/fUCYbn8aJkW+cXKVwjEVhpKjOphNiHoNw==} + '@uiw/codemirror-extensions-basic-setup@4.23.12': + resolution: {integrity: sha512-l9vuiXOTFDBetYrRLDmz3jDxQHDsrVAZ2Y6dVfmrqi2AsulsDu+y7csW0JsvaMqo79rYkaIZg8yeqmDgMb7VyQ==} peerDependencies: '@codemirror/lint': '>=6.0.0' - '@uiw/react-codemirror@4.23.14': - resolution: {integrity: sha512-/CmlSh8LGUEZCxg/f78MEkEMehKnVklqJvJlL10AXXrO/2xOyPqHb8SK10GhwOqd0kHhHgVYp4+6oK5S+UIEuQ==} + '@uiw/react-codemirror@4.23.12': + resolution: {integrity: sha512-yseqWdzoAAGAW7i/NiU8YrfSLVOEBjQvSx1KpDTFVV/nn0AlAZoDVTIPEBgdXrPlVUQoCrwgpEaj3uZCklk9QA==} peerDependencies: '@codemirror/theme-one-dark': '>=6.0.0' '@codemirror/view': '>=6.0.0' @@ -10630,6 +11992,10 @@ packages: cpu: [x64] os: [win32] + '@vercel/oidc@3.0.5': + resolution: {integrity: sha512-fnYhv671l+eTTp48gB4zEsTW/YtRgRPnkI2nT7x6qw5rkI1Lq2hTmQIpHPgyThI0znLK+vX2n9XxKdXZ7BUbbw==} + engines: {node: '>= 20'} + '@vercel/oidc@3.1.0': resolution: {integrity: sha512-Fw28YZpRnA3cAHHDlkt7xQHiJ0fcL+NRcIqsocZQUSmbzeIKRpwttJjik5ZGanXP+vlA4SbTg+AbA3bP363l+w==} engines: {node: '>= 20'} @@ -10668,8 +12034,16 @@ packages: resolution: {integrity: sha512-vaTZE65zigWwSWYB6yaZUAyVC/Ux+6U82hnzy/ejuS/KpFifO+0oORNd5yAoPeIRnYjvllM6ES3YlX4K5tUuww==} engines: {vscode: ^1.75.0} - '@vscode/iconv-lite-umd@0.7.1': - resolution: {integrity: sha512-tK6k0DXFHW7q5+GGuGZO+phpAqpxO4WXl+BLc/8/uOk3RsM2ssAL3CQUQDb1TGfwltjsauhN6S4ghYZzs4sPFw==} + '@vscode/iconv-lite-umd@0.7.0': + resolution: {integrity: sha512-bRRFxLfg5dtAyl5XyiVWz/ZBPahpOpPrNYnnHpOpUZvam4tKH35wdhP4Kj6PbM0+KdliOsPzbGWpkxcdpNB/sg==} + + '@vscode/test-electron@2.3.2': + resolution: {integrity: sha512-CRfQIs5Wi5Ok5SUCC3PTvRRXa74LD43cSXHC8EuNlmHHEPaJa/AGrv76brcA1hVSxrdja9tiYwp95Lq8kwY0tw==} + engines: {node: '>=16'} + + '@vscode/test-electron@2.3.4': + resolution: {integrity: sha512-eWzIqXMhvlcoXfEFNWrVu/yYT5w6De+WZXR/bafUQhAp8+8GkQo95Oe14phwiRUPv8L+geAKl/QM2+PoT3YW3g==} + engines: {node: '>=16'} '@vscode/test-electron@2.5.2': resolution: {integrity: sha512-8ukpxv4wYe0iWMRQU18jhzJOHkeGKbnw7xWRX3Zw1WJA4cEKbHcmmLPdPrPtL6rhDcrlCZN+xKRpv09n4gRHYg==} @@ -10728,11 +12102,22 @@ packages: engines: {node: '>= 16'} hasBin: true + '@vscode/vsce@3.7.0': + resolution: {integrity: sha512-LY9r2T4joszRjz4d92ZPl6LTBUPS4IWH9gG/3JUv+1QyBJrveZlcVISuiaq0EOpmcgFh0GgVgKD4rD/21Tu8sA==} + engines: {node: '>= 20'} + hasBin: true + '@vscode/vsce@3.7.1': resolution: {integrity: sha512-OTm2XdMt2YkpSn2Nx7z2EJtSuhRHsTPYsSK59hr3v8jRArK+2UEoju4Jumn1CmpgoBLGI6ReHLJ/czYltNUW3g==} engines: {node: '>= 20'} hasBin: true + '@vscode/webview-ui-toolkit@1.2.0': + resolution: {integrity: sha512-3ai3B2iFK0myqSnEgK9JZd1nKJIR1zgOlQbwSqHS9Y15cyO0diyjsKzcDFCnuBI1UG4vmekWp+xWSTbrh36kLw==} + deprecated: This package has been deprecated, https://github.com/microsoft/vscode-webview-ui-toolkit/issues/561 + peerDependencies: + react: '>=16.9.0' + '@vscode/webview-ui-toolkit@1.4.0': resolution: {integrity: sha512-modXVHQkZLsxgmd5yoP3ptRC/G8NBDD+ob+ngPiWNQdlrH6H1xR/qgOBD85bfU3BhOB5sZzFWBwwhp9/SfoHww==} deprecated: This package has been deprecated, https://github.com/microsoft/vscode-webview-ui-toolkit/issues/561 @@ -10742,48 +12127,102 @@ packages: '@webassemblyjs/ast@1.14.1': resolution: {integrity: sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==} + '@webassemblyjs/ast@1.9.0': + resolution: {integrity: sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==} + '@webassemblyjs/floating-point-hex-parser@1.13.2': resolution: {integrity: sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==} + '@webassemblyjs/floating-point-hex-parser@1.9.0': + resolution: {integrity: sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==} + '@webassemblyjs/helper-api-error@1.13.2': resolution: {integrity: sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==} + '@webassemblyjs/helper-api-error@1.9.0': + resolution: {integrity: sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==} + '@webassemblyjs/helper-buffer@1.14.1': resolution: {integrity: sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==} + '@webassemblyjs/helper-buffer@1.9.0': + resolution: {integrity: sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==} + + '@webassemblyjs/helper-code-frame@1.9.0': + resolution: {integrity: sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==} + + '@webassemblyjs/helper-fsm@1.9.0': + resolution: {integrity: sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==} + + '@webassemblyjs/helper-module-context@1.9.0': + resolution: {integrity: sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==} + '@webassemblyjs/helper-numbers@1.13.2': resolution: {integrity: sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==} '@webassemblyjs/helper-wasm-bytecode@1.13.2': resolution: {integrity: sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==} + '@webassemblyjs/helper-wasm-bytecode@1.9.0': + resolution: {integrity: sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==} + '@webassemblyjs/helper-wasm-section@1.14.1': resolution: {integrity: sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==} + '@webassemblyjs/helper-wasm-section@1.9.0': + resolution: {integrity: sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==} + '@webassemblyjs/ieee754@1.13.2': resolution: {integrity: sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==} + '@webassemblyjs/ieee754@1.9.0': + resolution: {integrity: sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==} + '@webassemblyjs/leb128@1.13.2': resolution: {integrity: sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==} + '@webassemblyjs/leb128@1.9.0': + resolution: {integrity: sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==} + '@webassemblyjs/utf8@1.13.2': resolution: {integrity: sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==} + '@webassemblyjs/utf8@1.9.0': + resolution: {integrity: sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==} + '@webassemblyjs/wasm-edit@1.14.1': resolution: {integrity: sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==} + '@webassemblyjs/wasm-edit@1.9.0': + resolution: {integrity: sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==} + '@webassemblyjs/wasm-gen@1.14.1': resolution: {integrity: sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==} + '@webassemblyjs/wasm-gen@1.9.0': + resolution: {integrity: sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==} + '@webassemblyjs/wasm-opt@1.14.1': resolution: {integrity: sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==} + '@webassemblyjs/wasm-opt@1.9.0': + resolution: {integrity: sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==} + '@webassemblyjs/wasm-parser@1.14.1': resolution: {integrity: sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==} + '@webassemblyjs/wasm-parser@1.9.0': + resolution: {integrity: sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==} + + '@webassemblyjs/wast-parser@1.9.0': + resolution: {integrity: sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==} + '@webassemblyjs/wast-printer@1.14.1': resolution: {integrity: sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==} + '@webassemblyjs/wast-printer@1.9.0': + resolution: {integrity: sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==} + '@webpack-cli/configtest@1.2.0': resolution: {integrity: sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg==} peerDependencies: @@ -10859,8 +12298,8 @@ packages: engines: {node: '>=10.0.0'} deprecated: this version is no longer supported, please update to at least 0.8.* - '@xmldom/xmldom@0.8.11': - resolution: {integrity: sha512-cQzWCtO6C8TQiYl1ruKNn2U6Ao4o4WBBcbL61yJl84x+j5sOWWFU9X7DpND8XZG3daDppSsigMdfAIl2upQBRw==} + '@xmldom/xmldom@0.8.10': + resolution: {integrity: sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==} engines: {node: '>=10.0.0'} '@xtuc/ieee754@1.2.0': @@ -10897,10 +12336,6 @@ packages: abbrev@1.1.1: resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} - abort-controller@3.0.0: - resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} - engines: {node: '>=6.5'} - accepts@1.3.8: resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} engines: {node: '>= 0.6'} @@ -10909,6 +12344,10 @@ packages: resolution: {integrity: sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==} engines: {node: '>= 0.6'} + acorn-dynamic-import@2.0.2: + resolution: {integrity: sha512-GKp5tQ8h0KMPWIYGRHHXI1s5tUpZixZ3IHF2jAu42wSCf6In/G873s6/y4DdKdhWvzhu1T6mE1JgvnhAKqyYYQ==} + deprecated: This is probably built in to whatever tool you're using. If you still need it... idk + acorn-globals@3.1.0: resolution: {integrity: sha512-uWttZCk96+7itPxK8xCzY86PnxKTMrReKDqrHzv42VQY0K30PUO8WY13WMOuI+cOdX4EIdzdvQ8k6jkuGRFMYw==} @@ -10918,6 +12357,11 @@ packages: acorn-globals@7.0.1: resolution: {integrity: sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==} + acorn-import-attributes@1.9.5: + resolution: {integrity: sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==} + peerDependencies: + acorn: ^8 + acorn-import-phases@1.0.4: resolution: {integrity: sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==} engines: {node: '>=10.13.0'} @@ -10970,10 +12414,18 @@ packages: resolution: {integrity: sha512-z55ocwKBRLryBs394Sm3ushTtBeg6VAeuku7utSoSnsJKvKcnXFIyC6vh27n3rXyxSgkJBBCAvyOn7gSUcTYjg==} engines: {node: '>= 0.12.0'} + address@1.1.2: + resolution: {integrity: sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA==} + engines: {node: '>= 0.12.0'} + address@1.2.2: resolution: {integrity: sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==} engines: {node: '>= 10.0.0'} + adm-zip@0.5.14: + resolution: {integrity: sha512-DnyqqifT4Jrcvb8USYjp6FHtBpEIz1mnXu6pTRHZ0RL69LbQYiO+0lDFg5+OKA7U29oWSs3a/i8fhn8ZcceIWg==} + engines: {node: '>=12.0'} + adm-zip@0.5.16: resolution: {integrity: sha512-TGw5yVi4saajsSEgz25grObGHEUaDrniwvA2qwSC060KfqGPdglhvPMA2lPIoxs3PQIItj2iag35fONcQqgUaQ==} engines: {node: '>=12.0'} @@ -11002,14 +12454,14 @@ packages: resolution: {integrity: sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==} engines: {node: '>=12'} - ai@5.0.152: - resolution: {integrity: sha512-cKVkgaNV1iTWQqI1vUAMJztVBsco/lkIVJbmtd8A42PzHN1exyzqQPp1MZNszTCvE1T2kM4dHqmFCATQMYQMLw==} + ai@6.0.7: + resolution: {integrity: sha512-kLzSXHdW6cAcb2mFSIfkbfzxYqqjrUnyhrB1sg855qlC+6XkLI8hmwFE8f/4SnjmtcTDOnkIaVjWoO5i5Ir0bw==} engines: {node: '>=18'} peerDependencies: zod: ^3.25.76 || ^4.1.8 - ai@6.0.116: - resolution: {integrity: sha512-7yM+cTmyRLeNIXwt4Vj+mrrJgVQ9RMIW5WO0ydoLoYkewIvsMcvUmqS4j2RJTUXaF1HphwmSKUMQ/HypNRGOmA==} + ai@6.0.94: + resolution: {integrity: sha512-/F9wh262HbK05b/5vILh38JvPiheonT+kBj1L97712E7VPchqmcx7aJuZN3QSk5Pj6knxUJLm2FFpYJI1pHXUA==} engines: {node: '>=18'} peerDependencies: zod: ^3.25.76 || ^4.1.8 @@ -11017,6 +12469,11 @@ packages: airbnb-js-shims@2.2.1: resolution: {integrity: sha512-wJNXPH66U2xjgo1Zwyjf9EydvJ2Si94+vSdk6EERcBfB2VZkeltpqIats0cqIZMLCXP3zcyaUKGYQeIBT6XjsQ==} + ajv-errors@1.0.1: + resolution: {integrity: sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==} + peerDependencies: + ajv: '>=5.0.0' + ajv-formats@2.1.1: resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} @@ -11028,6 +12485,11 @@ packages: ajv: optional: true + ajv-keywords@2.1.1: + resolution: {integrity: sha512-ZFztHzVRdGLAzJmpUT9LNFLe1YiVOEylcaNpEutM26PVTCtOD919IMfD01CgbRouB42Dd9atjx1HseC15DgOZA==} + peerDependencies: + ajv: ^5.0.0 + ajv-keywords@3.5.2: resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==} peerDependencies: @@ -11047,6 +12509,10 @@ packages: ajv@8.17.1: resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} + align-text@0.1.4: + resolution: {integrity: sha512-GrTZLRpmp6wIC2ztrWW9MjjTgSKccffgFagbNDOX95/dcjEcYZibYTeaOntySQLcdw1ztBoFkviiUvTMbb9MYg==} + engines: {node: '>=0.10.0'} + alphanum-sort@1.0.2: resolution: {integrity: sha512-0FcBfdcmaumGPQ0qPn7Q5qTgz/ooXgIyp1rf8ik5bGX8mpE2YHjC0P/eyQvxu1GURYQgq9ozf2mteQ5ZD9YiyQ==} @@ -11075,6 +12541,10 @@ packages: resolution: {integrity: sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==} engines: {node: '>=6'} + ansi-colors@4.1.1: + resolution: {integrity: sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==} + engines: {node: '>=6'} + ansi-colors@4.1.3: resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} engines: {node: '>=6'} @@ -11100,6 +12570,11 @@ packages: engines: {'0': node >= 0.8.0} hasBin: true + ansi-html@0.0.7: + resolution: {integrity: sha512-JoAxEa1DfP9m2xfB/y2r/aKcwXNlltr4+0QSBC4TrLfcxyvepX2Pv0t/xpgGV5bGsDzCYV8SzjWgyCW0T9yYbA==} + engines: {'0': node >= 0.8.0} + hasBin: true + ansi-html@0.0.9: resolution: {integrity: sha512-ozbS3LuenHVxNRh/wdnN16QapUHzauqSomAl1jwwJRRsGwFwtj644lIhxfWu0Fy0acCij2+AEgHvjscq3dlVXg==} engines: {'0': node >= 0.8.0} @@ -11248,6 +12723,9 @@ packages: array-flatten@1.1.1: resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} + array-flatten@2.1.2: + resolution: {integrity: sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==} + array-includes@3.1.9: resolution: {integrity: sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==} engines: {node: '>= 0.4'} @@ -11313,6 +12791,9 @@ packages: asap@2.0.6: resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} + asn1.js@4.10.1: + resolution: {integrity: sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==} + asn1@0.2.6: resolution: {integrity: sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==} @@ -11324,6 +12805,9 @@ packages: resolution: {integrity: sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==} engines: {node: '>=0.8'} + assert@1.5.1: + resolution: {integrity: sha512-zzw1uCAgLbsKwBfFc8CX78DDg+xZeBksSO3vwVIDDN5i94eOrPsSSyiVhmsSABFDM/OcpE2aagCat9dnWQLG1A==} + assertion-error@1.1.0: resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} @@ -11399,8 +12883,15 @@ packages: autolinker@3.16.2: resolution: {integrity: sha512-JiYl7j2Z19F9NdTmirENSUUIIL/9MytEWtmzhfmsKPCp9E+G35Y0UNCMoM9tFigxT59qSc8Ml2dlZXOCVTYwuA==} - autoprefixer@10.4.27: - resolution: {integrity: sha512-NP9APE+tO+LuJGn7/9+cohklunJsXWiaWEfV3si4Gi/XHDwVNgkwr1J3RQYFIvPy76GmJ9/bW8vyoU1LcxwKHA==} + autoprefixer@10.4.19: + resolution: {integrity: sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==} + engines: {node: ^10 || ^12 || >=14} + hasBin: true + peerDependencies: + postcss: ^8.1.0 + + autoprefixer@10.4.21: + resolution: {integrity: sha512-O+A6LWV5LDHSJD3LjHYoNi4VLsj/Whi7k6zG12xTYaU4cQ8oxQGckXNX8cRHK5yOZ/ppVHe0ZBXGzSV9jXdVbQ==} engines: {node: ^10 || ^12 || >=14} hasBin: true peerDependencies: @@ -11446,14 +12937,6 @@ packages: azure-devops-node-api@12.5.0: resolution: {integrity: sha512-R5eFskGvOm3U/GzeAuxRkUsAl0hrAwGgWn6zAd2KrZmrEhWZVqLew4OOupbQlXUuojUzpGtq62SmdhJ06N88og==} - b4a@1.8.0: - resolution: {integrity: sha512-qRuSmNSkGQaHwNbM7J78Wwy+ghLEYF1zNrSeMxj4Kgw6y33O3mXcQ6Ie9fRvfU/YnxWkOchPXbaLb73TkIsfdg==} - peerDependencies: - react-native-b4a: '*' - peerDependenciesMeta: - react-native-b4a: - optional: true - babel-code-frame@6.26.0: resolution: {integrity: sha512-XqYMR2dfdGMW+hd0IUZ2PwK+fGeFkOxZJ0wY+JaQAHzt1Zx8LcvpiZD2NiGkEG8qx0CfkAOr5xt76d1e8vG90g==} @@ -11529,14 +13012,14 @@ packages: peerDependencies: '@babel/core': ^7.8.0 - babel-jest@30.3.0: - resolution: {integrity: sha512-gRpauEU2KRrCox5Z296aeVHR4jQ98BCnu0IO332D/xpHNOsIH/bgSRk9k6GbKIbBw8vFeN6ctuu6tV8WOyVfYQ==} + babel-jest@30.0.0: + resolution: {integrity: sha512-JQ0DhdFjODbSawDf0026uZuwaqfKkQzk+9mwWkq2XkKFIaMhFVOxlVmbFCOnnC76jATdxrff3IiUAvOAJec6tw==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} peerDependencies: - '@babel/core': ^7.11.0 || ^8.0.0-0 + '@babel/core': ^7.11.0 - babel-loader@10.1.1: - resolution: {integrity: sha512-JwKSzk2kjIe7mgPK+/lyZ2QAaJcpahNAdM+hgR2HI8D0OJVkdj8Rl6J3kaLYki9pwF7P2iWnD8qVv80Lq1ABtg==} + babel-loader@10.0.0: + resolution: {integrity: sha512-z8jt+EdS61AMw22nSfoNJAZ0vrtmhPRVi6ghL3rCeRZI8cdNYFiV5xeV3HbE7rlZZNmGH8BVccwWt8/ED0QOHA==} engines: {node: ^18.20.0 || ^20.10.0 || >=22.0.0} peerDependencies: '@babel/core': ^7.12.0 || ^8.0.0-beta.1 @@ -11596,6 +13079,9 @@ packages: babel-plugin-dynamic-import-node@1.1.0: resolution: {integrity: sha512-tTfZbM9Ecwj3GK50mnPrUpinTwA4xXmDiQGCk/aBYbvl1+X8YqldK86wZ1owVJ4u3mrKbRlXMma80J18qwiaTQ==} + babel-plugin-emotion@10.2.2: + resolution: {integrity: sha512-SMSkGoqTbTyUTDeuVuPIWifPdUGkTk1Kf9BWRiXIOIcuyMfsdp2EjeiiFvOzX8NOBvEh/ypKYvUh2rkgAJMCLA==} + babel-plugin-extract-import-names@1.6.22: resolution: {integrity: sha512-yJ9BsJaISua7d8zNT7oRG1ZLBJCIdZ4PZqmH8qa9N5AK01ifk3fnkc98AXhtzE7UkfCsEumvoQWgoYLhOnJ7jQ==} @@ -11624,8 +13110,8 @@ packages: resolution: {integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - babel-plugin-jest-hoist@30.3.0: - resolution: {integrity: sha512-+TRkByhsws6sfPjVaitzadk1I0F5sPvOVUH5tyTSzhePpsGIVrdeunHSw/C36QeocS95OOk8lunc4rlu5Anwsg==} + babel-plugin-jest-hoist@30.0.0: + resolution: {integrity: sha512-DSRm+US/FCB4xPDD6Rnslb6PAF9Bej1DZ+1u4aTiqJnk7ZX12eHsnDiIOqjGvITCq+u6wLqUhgS+faCNbVY8+g==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} babel-plugin-macros@2.8.0: @@ -11635,6 +13121,11 @@ packages: resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==} engines: {node: '>=10', npm: '>=6'} + babel-plugin-named-asset-import@0.3.8: + resolution: {integrity: sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q==} + peerDependencies: + '@babel/core': ^7.1.0 + babel-plugin-named-exports-order@0.0.2: resolution: {integrity: sha512-OgOYHOLoRK+/mvXU9imKHlG6GkPLYrUCvFXG/CM93R/aNNO8pOOF4aS+S8CCHMDQoNSeiOYEZb/G6RwL95Jktw==} @@ -11832,11 +13323,11 @@ packages: peerDependencies: '@babel/core': ^7.0.0 - babel-preset-jest@30.3.0: - resolution: {integrity: sha512-6ZcUbWHC+dMz2vfzdNwi87Z1gQsLNK2uLuK1Q89R11xdvejcivlYYwDlEv0FHX3VwEXpbBQ9uufB/MUNpZGfhQ==} + babel-preset-jest@30.0.0: + resolution: {integrity: sha512-hgEuu/W7gk8QOWUA9+m3Zk+WpGvKc1Egp6rFQEfYxEoM9Fk/q8nuTXNL65OkhwGrTApauEGgakOoWVXj+UfhKw==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} peerDependencies: - '@babel/core': ^7.11.0 || ^8.0.0-beta.1 + '@babel/core': ^7.11.0 babel-preset-react-app@3.1.2: resolution: {integrity: sha512-/sh5Qd5T08PYa6t4kuCdKh9tXp6/m/Jwyx7PJTqugsYMfsDUJMlBXOs5EwFODHprzjWrmQ0SydnMZu9FY4MZYg==} @@ -11884,44 +13375,6 @@ packages: resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==} engines: {node: 18 || 20 || >=22} - bare-events@2.8.2: - resolution: {integrity: sha512-riJjyv1/mHLIPX4RwiK+oW9/4c3TEUeORHKefKAKnZ5kyslbN+HXowtbaVEqt4IMUB7OXlfixcs6gsFeo/jhiQ==} - peerDependencies: - bare-abort-controller: '*' - peerDependenciesMeta: - bare-abort-controller: - optional: true - - bare-fs@4.5.5: - resolution: {integrity: sha512-XvwYM6VZqKoqDll8BmSww5luA5eflDzY0uEFfBJtFKe4PAAtxBjU3YIxzIBzhyaEQBy1VXEQBto4cpN5RZJw+w==} - engines: {bare: '>=1.16.0'} - peerDependencies: - bare-buffer: '*' - peerDependenciesMeta: - bare-buffer: - optional: true - - bare-os@3.7.1: - resolution: {integrity: sha512-ebvMaS5BgZKmJlvuWh14dg9rbUI84QeV3WlWn6Ph6lFI8jJoh7ADtVTyD2c93euwbe+zgi0DVrl4YmqXeM9aIA==} - engines: {bare: '>=1.14.0'} - - bare-path@3.0.0: - resolution: {integrity: sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw==} - - bare-stream@2.8.1: - resolution: {integrity: sha512-bSeR8RfvbRwDpD7HWZvn8M3uYNDrk7m9DQjYOFkENZlXW8Ju/MPaqUPQq5LqJ3kyjEm07siTaAQ7wBKCU59oHg==} - peerDependencies: - bare-buffer: '*' - bare-events: '*' - peerDependenciesMeta: - bare-buffer: - optional: true - bare-events: - optional: true - - bare-url@2.3.2: - resolution: {integrity: sha512-ZMq4gd9ngV5aTMa5p9+UfY0b3skwhHELaDkhEHetMdX0LRkW9kzaym4oo/Eh+Ghm0CCDuMTsRIGM/ytUc1ZYmw==} - base16@1.0.0: resolution: {integrity: sha512-pNdYkNPiJUnEhnfXV56+sQy8+AaPcG3POZAUnwr4EeqCUZFz4u2PePbo3e5Gj4ziYPCWGUZT9RHisvJKnwFuBQ==} @@ -11937,6 +13390,9 @@ packages: resolution: {integrity: sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==} engines: {node: '>= 0.8'} + batch-processor@1.0.0: + resolution: {integrity: sha512-xoLQD8gmmR32MeuBHgH0Tzd5PuSZx71ZsbhVxOCRbgktZEPe4SQy7s9Z50uPp0F/f7iw2XmkHN2xkgbMfckMDA==} + batch@0.6.1: resolution: {integrity: sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==} @@ -11979,6 +13435,9 @@ packages: bindings@1.5.0: resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} + bl@1.2.3: + resolution: {integrity: sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==} + bl@4.1.0: resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} @@ -11995,6 +13454,12 @@ packages: blueimp-md5@2.19.0: resolution: {integrity: sha512-DRQrD6gJyy8FbiE4s+bDoXS9hiW3Vbx5uCdwvcCf3zLHL+Iv7LtGHLpr+GZV8rHG8tK766FGYBwRbu8pELTt+w==} + bn.js@4.12.3: + resolution: {integrity: sha512-fGTi3gxV/23FTYdAoUtLYp6qySe2KE3teyZitipKNRuVYcBkoP/bB3guXN/XVKUe9mxCHXnc9C4ocyz8OmgN0g==} + + bn.js@5.2.3: + resolution: {integrity: sha512-EAcmnPkxpntVL+DS7bO1zhcZNvCkxqtkd0ZY53h06GNQ3DEkkGZ/gKgmDv6DdZQGj9BgfSPKtJJ7Dp1GPP8f7w==} + body-parser@1.20.4: resolution: {integrity: sha512-ZTgYYLMOXY9qKU/57FAo8F+HA2dGX7bqGc71txDRC1rS4frdFI5R7NhluHxH6M0YItAP0sHB4uqAOcYKxO6uGA==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} @@ -12006,6 +13471,9 @@ packages: bonjour-service@1.3.0: resolution: {integrity: sha512-3YuAUiSkWykd+2Azjgyxei8OWf8thdn8AITIog2M4UICzoqfjlqr64WIjEXZllf/W6vK1goqleSR6brGomxQqA==} + bonjour@3.5.1: + resolution: {integrity: sha512-xONzj4PfpPJw6xSqCcT2SmQkBOXpUINUz3o3qXcWJwYlXbkZNcNaUae0o5lle7tKt4HHV6dTgkIRhAXZ3nBMsQ==} + boolbase@1.0.0: resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} @@ -12019,6 +13487,10 @@ packages: resolution: {integrity: sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==} engines: {node: '>=4'} + boxen@4.2.0: + resolution: {integrity: sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ==} + engines: {node: '>=8'} + boxen@5.1.2: resolution: {integrity: sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==} engines: {node: '>=10'} @@ -12044,6 +13516,9 @@ packages: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} + brorand@1.1.0: + resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==} + browser-assert@1.2.1: resolution: {integrity: sha512-nfulgvOR6S4gt9UKCeGJOuSGBPGiFT6oQ/2UBnvTY/5aQ1PnksW72fhZkM30DzoRRv2WpwZf1vHHEr3mtuXIWQ==} @@ -12056,9 +13531,29 @@ packages: browser-stdout@1.3.1: resolution: {integrity: sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==} + browserify-aes@1.2.0: + resolution: {integrity: sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==} + + browserify-cipher@1.0.1: + resolution: {integrity: sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==} + + browserify-des@1.0.2: + resolution: {integrity: sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==} + + browserify-rsa@4.1.1: + resolution: {integrity: sha512-YBjSAiTqM04ZVei6sXighu679a3SqWORA3qZTEqZImnlkDIFtKc6pNutpjyZ8RJTjQtuYfeetkxM11GwoYXMIQ==} + engines: {node: '>= 0.10'} + + browserify-sign@4.2.5: + resolution: {integrity: sha512-C2AUdAJg6rlM2W5QMp2Q4KGQMVBwR1lIimTsUnutJ8bMpW5B52pGpR2gEnNBNwijumDo5FojQ0L9JrXA8m4YEw==} + engines: {node: '>= 0.10'} + browserify-zlib@0.1.4: resolution: {integrity: sha512-19OEpq7vWgsH6WkvkBJQDFvJS1uPcbFOQ4v9CU839dO+ZZXUZO6XpE6hNCqvlIIj+4fZvRiJ6DsAQ382GwiyTQ==} + browserify-zlib@0.2.0: + resolution: {integrity: sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==} + browserslist@1.7.7: resolution: {integrity: sha512-qHJblDE2bXVRYzuDetv/wAeHOJyO97+9wxC1cdCtyzgNuSozOyRCiiLaCR1f71AN66lQdVVBipWm63V+a7bPOw==} deprecated: Browserslist 2 could fail on reading Browserslist >3.0 config used in other tools. @@ -12069,6 +13564,11 @@ packages: deprecated: Browserslist 2 could fail on reading Browserslist >3.0 config used in other tools. hasBin: true + browserslist@4.14.2: + resolution: {integrity: sha512-HI4lPveGKUR0x2StIz+2FXfDk9SfVMrxn6PLh1JeGUwcuoDkdKZebWiyLRJ68iIPDpMI4JLVDf7S7XzslgWOhw==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + browserslist@4.28.1: resolution: {integrity: sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} @@ -12084,12 +13584,21 @@ packages: bser@2.1.1: resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} + buffer-alloc-unsafe@1.1.0: + resolution: {integrity: sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==} + + buffer-alloc@1.2.0: + resolution: {integrity: sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==} + buffer-crc32@0.2.13: resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} buffer-equal-constant-time@1.0.1: resolution: {integrity: sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==} + buffer-fill@1.0.0: + resolution: {integrity: sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==} + buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} @@ -12097,6 +13606,15 @@ packages: resolution: {integrity: sha512-I7wzHwA3t1/lwXQh+A5PbNvJxgfo5r3xulgpYDB5zckTu/Z9oUK9biouBKQUjEqzaz3HnAT6TYoovmE+GqSf7A==} engines: {node: '>=0.10'} + buffer-indexof@1.1.1: + resolution: {integrity: sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==} + + buffer-xor@1.0.3: + resolution: {integrity: sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==} + + buffer@4.9.2: + resolution: {integrity: sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==} + buffer@5.7.1: resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} @@ -12123,6 +13641,9 @@ packages: resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} engines: {node: '>=6'} + builtin-status-codes@3.0.0: + resolution: {integrity: sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==} + bundle-name@4.1.0: resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} engines: {node: '>=18'} @@ -12165,6 +13686,9 @@ packages: cacache@10.0.4: resolution: {integrity: sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA==} + cacache@12.0.4: + resolution: {integrity: sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==} + cacache@15.3.0: resolution: {integrity: sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==} engines: {node: '>= 10'} @@ -12232,6 +13756,10 @@ packages: resolution: {integrity: sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg==} engines: {node: '>=12'} + camelcase@1.2.1: + resolution: {integrity: sha512-wzLkDa4K/mzI1OSITC+DUyjgIl/ETNHE9QvYgy6J6Jvqyyz4C0Xfd+lQhb19sX2jMpZV4IssUn0VDVmglV+s4g==} + engines: {node: '>=0.10.0'} + camelcase@2.1.1: resolution: {integrity: sha512-DLIsRzJVBQu72meAKPkWQOLcujdXT32hwdfnkI1frSiSRMK1MofjKHf+MEx0SB6fjEFXL8fBDv1dKymBlOp4Qw==} engines: {node: '>=0.10.0'} @@ -12264,6 +13792,10 @@ packages: caniuse-lite@1.0.30001777: resolution: {integrity: sha512-tmN+fJxroPndC74efCdp12j+0rk0RHwV5Jwa1zWaFVyw2ZxAuPeG8ZgWC3Wz7uSjT3qMRQ5XHZ4COgQmsCMJAQ==} + canonicalize@2.1.0: + resolution: {integrity: sha512-F705O3xrsUtgt98j7leetNhTWPe+5S72rlL5O4jA1pKqBVQ/dT1O1D6PFxmSXvc0SUOinWS57DKx0I3CHrXJHQ==} + hasBin: true + canvas@3.2.1: resolution: {integrity: sha512-ej1sPFR5+0YWtaVp6S1N1FVz69TQCqmrkGeRvQxZeAB1nAIcjNTHVwrZtYtWFFBmQsF40/uDLehsW5KuYC99mg==} engines: {node: ^18.12.0 || >= 20.9.0} @@ -12297,8 +13829,12 @@ packages: ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} - chai@4.5.0: - resolution: {integrity: sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==} + center-align@0.1.3: + resolution: {integrity: sha512-Baz3aNe2gd2LP2qk5U+sDk/m4oSuwSDcBfayTCTBoWpfIGO5XFxPmjILQII4NGiZjD6DoDI6kf7gKaxkf7s3VQ==} + engines: {node: '>=0.10.0'} + + chai@4.3.10: + resolution: {integrity: sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g==} engines: {node: '>=4'} chai@5.3.3: @@ -12373,6 +13909,13 @@ packages: chokidar@1.7.0: resolution: {integrity: sha512-mk8fAWcRUOxY7btlLtitj3A45jOwSAxH4tOFOoEGbVsl6cL6pPMWUy7dwZ/canfj3QEdP6FHSnf/l1c6/WkzVg==} + chokidar@2.1.8: + resolution: {integrity: sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==} + + chokidar@3.5.3: + resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} + engines: {node: '>= 8.10.0'} + chokidar@3.6.0: resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} @@ -12406,6 +13949,10 @@ packages: resolution: {integrity: sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg==} engines: {node: '>=8'} + cipher-base@1.0.7: + resolution: {integrity: sha512-Mz9QMT5fJe7bKI7MH31UilT5cEK5EHHRCccw/YRFsRY47AuNgaV6HY3rscp0/I4Q+tTW/5zoqpSeRRI54TkDWA==} + engines: {node: '>= 0.10'} + citty@0.1.6: resolution: {integrity: sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==} @@ -12422,6 +13969,9 @@ packages: class-variance-authority@0.7.1: resolution: {integrity: sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==} + classnames@2.2.6: + resolution: {integrity: sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q==} + classnames@2.5.1: resolution: {integrity: sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==} @@ -12452,10 +14002,6 @@ packages: resolution: {integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==} engines: {node: '>=6'} - cli-color@2.0.4: - resolution: {integrity: sha512-zlnpg0jNcibNrO7GG9IeHH7maWFeCz+Ja1wx/7tZNU5ASSSSZ+/qZciM0/LHCYxSdqv5h2sdbQ/PXYdOuetXvA==} - engines: {node: '>=0.10'} - cli-cursor@2.1.0: resolution: {integrity: sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==} engines: {node: '>=4'} @@ -12476,13 +14022,17 @@ packages: resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} engines: {node: '>=6'} + cli-table3@0.6.0: + resolution: {integrity: sha512-gnB85c3MGC7Nm9I/FkiasNBOKjOiO1RNuXXarQms37q4QMpWdlbBgD/VnOStA2faG1dpXMv31RFApjX1/QdgWQ==} + engines: {node: 10.* || >= 12.*} + cli-table3@0.6.5: resolution: {integrity: sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==} engines: {node: 10.* || >= 12.*} - cli-truncate@5.2.0: - resolution: {integrity: sha512-xRwvIOMGrfOAnM1JYtqQImuaNtDEv9v6oIYAs4LIHwTiKee8uwvIi363igssOC0O5U04i4AlENs79LQLu9tEMw==} - engines: {node: '>=20'} + cli-truncate@4.0.0: + resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==} + engines: {node: '>=18'} cli-width@2.2.1: resolution: {integrity: sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==} @@ -12506,6 +14056,9 @@ packages: resolution: {integrity: sha512-fPWgBqpp9ctiOQCkE5yjYGzv11ZU55g6ahEgr3COiio6dXdt1mbchCPXQrSR2Y9sZqfi8L7QD3+UosgXVIuPdg==} engines: {node: '>=20'} + cliui@2.1.0: + resolution: {integrity: sha512-GIOYRizG+TGoc7Wgc1LiOTLare95R3mzKgoln+Q/lE4ceiYH19gUpl0l0Ffq4lJDEf3FxujMe6IBfOCs7pfqNA==} + cliui@3.2.0: resolution: {integrity: sha512-0yayqDxWQbqk3ojkYqUKqaAQ6AfNKeKWRNA8kR0WXzAsdHpP4BIaOmMAG87JGuO6qcobyW4GjxHd9PmhEd+T9w==} @@ -12682,10 +14235,6 @@ packages: resolution: {integrity: sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==} engines: {node: '>=18'} - commander@14.0.3: - resolution: {integrity: sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==} - engines: {node: '>=20'} - commander@2.13.0: resolution: {integrity: sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==} @@ -12735,6 +14284,9 @@ packages: resolution: {integrity: sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==} engines: {node: '>= 0.8.0'} + compute-scroll-into-view@1.0.20: + resolution: {integrity: sha512-UCB0ioiyj8CRjtrvaceBLqqhZCVP+1B8+NWQhmdsm0VXOJtobBCf1dBQmebCCo34qZmUwZfIH2MZLqNHazrfjg==} + compute-scroll-into-view@2.0.4: resolution: {integrity: sha512-y/ZA3BGnxoM/QHHQ2Uy49CLtnWPbt4tTPpEEZiEmmiWBFKjej7nEyH8Ryz54jH0MLXflUYA3Er2zUxPSJu5R+g==} @@ -12763,6 +14315,10 @@ packages: confusing-browser-globals@1.0.11: resolution: {integrity: sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==} + connect-history-api-fallback@1.6.0: + resolution: {integrity: sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==} + engines: {node: '>=0.8'} + connect-history-api-fallback@2.0.0: resolution: {integrity: sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==} engines: {node: '>=0.8'} @@ -12771,6 +14327,9 @@ packages: resolution: {integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==} engines: {node: ^14.18.0 || >=16.10.0} + console-browserify@1.2.0: + resolution: {integrity: sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==} + console-control-strings@1.1.0: resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} @@ -12824,8 +14383,8 @@ packages: copy-to-clipboard@3.3.3: resolution: {integrity: sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==} - copy-webpack-plugin@13.0.1: - resolution: {integrity: sha512-J+YV3WfhY6W/Xf9h+J1znYuqTye2xkBUIGyTPWuBAT27qajBa5mR4f8WBmfDY3YjRftT2kqZZiLi1qf0H+UOFw==} + copy-webpack-plugin@13.0.0: + resolution: {integrity: sha512-FgR/h5a6hzJqATDGd9YG41SeDViH+0bkHn6WNXCi5zKAZkeESeSxLySSsFLHqLEVCh0E+rITmCf0dusXWYukeQ==} engines: {node: '>= 18.12.0'} peerDependencies: webpack: ^5.1.0 @@ -12907,20 +14466,35 @@ packages: resolution: {integrity: sha512-dmC4mUesv0OYH2kNFEidtf/skUwv4zePmGeepjyyJ0qTo5+8KhA1o99oIAwVVLzQMAeDJml74d6wPPKb6EZUTg==} engines: {node: '>=8'} + create-ecdh@4.0.4: + resolution: {integrity: sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==} + create-error-class@3.0.2: resolution: {integrity: sha512-gYTKKexFO3kh200H1Nit76sRwRtOY32vQd3jpAQKpLtZqyNsSQNfI4N7o3eP2wUjV35pTWKRYqFUDBvUha/Pkw==} engines: {node: '>=0.10.0'} + create-hash@1.2.0: + resolution: {integrity: sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==} + + create-hmac@1.1.7: + resolution: {integrity: sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==} + create-jest@29.7.0: resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true + create-react-context@0.3.0: + resolution: {integrity: sha512-dNldIoSuNSvlTJ7slIKC/ZFGKexBMBrrcc+TTe1NdmROnaASuLPvqpwj9v4XS4uXZ8+YPu0sNmShX2rXI5LNsw==} + peerDependencies: + prop-types: ^15.0.0 + react: ^0.14.0 || ^15.0.0 || ^16.0.0 + create-require@1.1.1: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} - create-storybook@8.6.18: - resolution: {integrity: sha512-kLQo+bwn7RX53wF5lK40Uel4tEwsdBf4nmAzuAcu8SBDII1+nk9W9JRpIIxSb8uMOEFEgnk7F1DOa8SWaRChvg==} + create-storybook@8.6.14: + resolution: {integrity: sha512-xrKGHu1w1zbZDTjNJffbLh1W2UrYP7ciHfKw92A3BDU/jmDZwmqKQqCfwzbh2iBc6vTdt/uUn0U76zpgQ6A4XA==} hasBin: true crelt@1.0.6: @@ -12951,10 +14525,18 @@ packages: resolution: {integrity: sha512-VqCUuhcd1iB+dsv8gxPttb5iZh/D0iubSP21g36KXdEuf6I5JiioesUVjpCdHV9MZRUfVFlvwtIUyPfxo5trtw==} engines: {node: '>=4.8'} + cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + cross-spawn@7.0.6: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} + crypto-browserify@3.12.1: + resolution: {integrity: sha512-r4ESw/IlusD17lgQi1O20Fa3qNnsckR126TdUuBgAu7GBYSIPvdNyONd3Zrxh0xCwA4+6w/TDArBPsMvhur+KQ==} + engines: {node: '>= 0.10'} + crypto-js@4.2.0: resolution: {integrity: sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==} @@ -13011,8 +14593,8 @@ packages: webpack: optional: true - css-loader@7.1.4: - resolution: {integrity: sha512-vv3J9tlOl04WjiMvHQI/9tmIrCxVrj6PFbHemBB1iihpeRbi/I4h033eoFIhwxBBqLhI0KYFS7yvynBFhIZfTw==} + css-loader@7.1.2: + resolution: {integrity: sha512-6WvYYn7l/XEGN8Xu2vWFt9nVzrCn39vKyTEFf/ExEyoksJjjSZV/0/35XPlMbpnr6VGhZIUg5yJrL8tGfes/FA==} engines: {node: '>= 18.12.0'} peerDependencies: '@rspack/core': 0.x || ^1.0.0 || ^2.0.0-0 @@ -13101,6 +14683,9 @@ packages: resolution: {integrity: sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==} engines: {node: '>=8'} + csstype@2.6.21: + resolution: {integrity: sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==} + csstype@3.2.3: resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==} @@ -13181,6 +14766,15 @@ packages: supports-color: optional: true + debug@4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + debug@4.4.3: resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} engines: {node: '>=6.0'} @@ -13242,6 +14836,10 @@ packages: resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} engines: {node: '>=6'} + deep-equal@1.1.2: + resolution: {integrity: sha512-5tdhKF6DbU7iIzrIOa1AOUt39ZRm13cmL1cGEh//aqR8x9+tNfbywRf0n5FD/18OKMdo7DNEtrX2t22ZAkI+eg==} + engines: {node: '>= 0.4'} + deep-equal@2.2.3: resolution: {integrity: sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==} engines: {node: '>= 0.4'} @@ -13253,6 +14851,9 @@ packages: deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + deep-object-diff@1.1.9: + resolution: {integrity: sha512-Rn+RuwkmkDwCi2/oXOFS9Gsr5lJZu/yTGpK7wAaAIE75CC+LCGEZHpY6VQJa/RoJcrmaA/docWJZvYohlNkWPA==} + deepmerge@4.3.1: resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} engines: {node: '>=0.10.0'} @@ -13321,6 +14922,10 @@ packages: resolution: {integrity: sha512-Z4fzpbIRjOu7lO5jCETSWoqUDVe0IPOlfugBsF6suen2LKDlVb4QZpKEM9P+buNJ4KI1eN7I083w/pbKUpsrWQ==} engines: {node: '>=0.10.0'} + del@3.0.0: + resolution: {integrity: sha512-7yjqSoVSlJzA4t/VUwazuEagGeANEKB3f/aNI//06pfKgwoCb7f6Q1gETN1sZzYaj6chTQ0AhIwDiPdfOjko4A==} + engines: {node: '>=4'} + del@6.1.1: resolution: {integrity: sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==} engines: {node: '>=10'} @@ -13352,6 +14957,9 @@ packages: resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} engines: {node: '>=6'} + des.js@1.1.0: + resolution: {integrity: sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==} + destroy@1.2.0: resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} @@ -13398,8 +15006,8 @@ packages: devlop@1.1.0: resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} - dexie@4.3.0: - resolution: {integrity: sha512-5EeoQpJvMKHe6zWt/FSIIuRa3CWlZeIl6zKXt+Lz7BU6RoRRLgX9dZEynRfXrkLcldKYCBiz7xekTEylnie1Ug==} + dexie@4.0.11: + resolution: {integrity: sha512-SOKO002EqlvBYYKQSew3iymBoN2EQ4BDw/3yprjh7kAfFzjBYkaMNa/pZvcA7HSWlcKSQb9XhPe3wKyQ0x4A8A==} diagnostic-channel-publishers@0.3.5: resolution: {integrity: sha512-AOIjw4T7Nxl0G2BoBPhkQ6i7T4bUd9+xvdYizwvG7vVAM1dvr+SDrcUudlmzwH0kbEwdR2V1EcnKT0wAeYLQNQ==} @@ -13424,6 +15032,9 @@ packages: resolution: {integrity: sha512-qejHi7bcSD4hQAZE0tNAawRK1ZtafHDmMTMkrrIGgSLl7hTnQHmKCeB45xAcbfTqK2zowkM3j3bHt/4b/ARbYQ==} engines: {node: '>=0.3.1'} + diffie-hellman@5.0.3: + resolution: {integrity: sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==} + dir-glob@2.2.2: resolution: {integrity: sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==} engines: {node: '>=4'} @@ -13438,10 +15049,16 @@ packages: dnd-core@16.0.1: resolution: {integrity: sha512-HK294sl7tbw6F6IeuK16YSBUoorvHpY8RHO+9yFfaJyCDVb6n7PRcezrOEOa2SBCqiYpemh5Jx20ZcjKdFAVng==} + dns-equal@1.0.0: + resolution: {integrity: sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==} + dns-packet@5.6.1: resolution: {integrity: sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==} engines: {node: '>=6'} + dns-txt@2.0.2: + resolution: {integrity: sha512-Ix5PrWjphuSoUXV/Zv5gaFHjnaJtb02F2+Si3Ht9dyJ87+Z/lMmy+dpNHtTGraNK958ndXq2i+GLkWsWHcKaBQ==} + doctrine@2.1.0: resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} engines: {node: '>=0.10.0'} @@ -13472,6 +15089,10 @@ packages: dom-walk@0.1.2: resolution: {integrity: sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==} + domain-browser@1.2.0: + resolution: {integrity: sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==} + engines: {node: '>=0.4', npm: '>=1.2'} + domelementtype@2.3.0: resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} @@ -13492,8 +15113,9 @@ packages: resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} engines: {node: '>= 4'} - dompurify@3.3.3: - resolution: {integrity: sha512-Oj6pzI2+RqBfFG+qOaOLbFXLQ90ARpcGG6UePL82bJLtdsa6CYJD7nmiU8MW9nQNOtCHV3lZ/Bzq1X0QYbBZCA==} + dompurify@3.3.2: + resolution: {integrity: sha512-6obghkliLdmKa56xdbLOpUZ43pAR6xFy1uOrxBaIDjT+yaRuuybLjGS9eVBoSR/UPU5fq3OXClEHLJNGvbxKpQ==} + engines: {node: '>=20'} domutils@2.8.0: resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} @@ -13508,6 +15130,9 @@ packages: resolution: {integrity: sha512-l0p4+mIuJIua0mhxGoh4a+iNL9bmeK5DvnSVQa6T0OhrVmaEa1XScX5Etc673FePCJOArq/4Pa2cLGODUWTPOQ==} engines: {node: '>=4'} + dotenv-defaults@1.1.1: + resolution: {integrity: sha512-6fPRo9o/3MxKvmRZBD3oNFdxODdhJtIy1zcJeUSCs6HCy4tarUpd+G67UTU9tF6OWXeSPqsm4fPAB+2eY9Rt9Q==} + dotenv-expand@10.0.0: resolution: {integrity: sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==} engines: {node: '>=12'} @@ -13518,6 +15143,15 @@ packages: dotenv-expand@5.1.0: resolution: {integrity: sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==} + dotenv-webpack@1.8.0: + resolution: {integrity: sha512-o8pq6NLBehtrqA8Jv8jFQNtG9nhRtVqmoD4yWbgUyoU3+9WBlPe+c2EAiaJok9RB28QvrWvdWLZGeTT5aATDMg==} + peerDependencies: + webpack: ^1 || ^2 || ^3 || ^4 + + dotenv@16.0.3: + resolution: {integrity: sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==} + engines: {node: '>=12'} + dotenv@16.5.0: resolution: {integrity: sha512-m/C+AwOAr9/W1UOIZUo232ejMNnJAJtYQjUbHoNTBNTJSvqzzDh7vnrei3o3r3m9blf6ZoDkvcw0VmozNRFJxg==} engines: {node: '>=12'} @@ -13526,10 +15160,19 @@ packages: resolution: {integrity: sha512-XcaMACOr3JMVcEv0Y/iUM2XaOsATRZ3U1In41/1jjK6vJZ2PZbQ1bzCG8uvaByfaBpl9gqc9QWJovpUGBXLLYQ==} engines: {node: '>=4.6.0'} + dotenv@6.2.0: + resolution: {integrity: sha512-HygQCKUBSFl8wKQZBSemMywRWcEDNidvNbjGVyZu3nbZ8qq9ubiPoGLMdRDpfSrpkkm9BXYFkpKxxFX38o/76w==} + engines: {node: '>=6'} + dotenv@8.6.0: resolution: {integrity: sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==} engines: {node: '>=10'} + downshift@6.1.12: + resolution: {integrity: sha512-7XB/iaSJVS4T8wGFT3WRXmSF1UlBHAA40DshZtkrIscIN+VC+Lh363skLxFTvJwtNgHxAMDGEHT4xsyQFWL+UA==} + peerDependencies: + react: '>=16.12.0' + downshift@7.6.2: resolution: {integrity: sha512-iOv+E1Hyt3JDdL9yYcOgW7nZ7GQ2Uz6YbggwXvKUSleetYhU2nXD482Rz6CzvM4lvI1At34BYruKAL4swRGxaA==} peerDependencies: @@ -13579,6 +15222,12 @@ packages: electron-to-chromium@1.5.307: resolution: {integrity: sha512-5z3uFKBWjiNR44nFcYdkcXjKMbg5KXNdciu7mhTPo9tB7NbqSNP2sSnGR+fqknZSCwKkBN+oxiiajWs4dT6ORg==} + element-resize-detector@1.2.4: + resolution: {integrity: sha512-Fl5Ftk6WwXE0wqCgNoseKWndjzZlDCwuPTcoVZfCP9R3EHQF8qUtr3YUPNETegRBOKqQKPW3n4kiIWngGi8tKg==} + + elliptic@6.6.1: + resolution: {integrity: sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g==} + email-addresses@5.0.0: resolution: {integrity: sha512-4OIPYlA6JXqtVn8zpHpGiI7vE6EQOAg16aGnDMIAlZVinnoZ8208tW1hAbjWydgN/4PLTT9q+O1K6AH/vALJGw==} @@ -13606,6 +15255,12 @@ packages: resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==} engines: {node: '>= 4'} + emotion-theming@10.3.0: + resolution: {integrity: sha512-mXiD2Oj7N9b6+h/dC6oLf9hwxbtKHQjoIqtodEyL8CpkN4F3V4IK/BT4D0C7zSs4BBFOu4UlPJbvvBLa88SGEA==} + peerDependencies: + '@emotion/core': ^10.0.27 + react: '>=16.3.0' + enabled@2.0.0: resolution: {integrity: sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==} @@ -13629,6 +15284,10 @@ packages: resolution: {integrity: sha512-ZaAux1rigq1e2nQrztHn4h2ugvpzZxs64qneNah+8Mh/K0CRqJFJc+UoXnUsq+1yX+DmQFPPdVqboKAJ89e0Iw==} engines: {node: '>=4.3.0 <5.0.0 || >=5.10'} + enhanced-resolve@4.5.0: + resolution: {integrity: sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==} + engines: {node: '>=6.9.0'} + enhanced-resolve@5.20.0: resolution: {integrity: sha512-/ce7+jQ1PQ6rVXwe+jKEg5hW5ciicHwIQUagZkp6IufBoY3YDgdTTY1azVs0qoRgVmvsNB+rbjLJxDAeHHtwsQ==} engines: {node: '>=10.13.0'} @@ -13742,9 +15401,16 @@ packages: es6-iterator@2.0.3: resolution: {integrity: sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==} + es6-map@0.1.5: + resolution: {integrity: sha512-mz3UqCh0uPCIqsw1SSAkB/p0rOzF/M0V++vyN7JqlPtSW/VsYgQBvVvqMLmfBuyMzTpLnNqi6JmcSizs4jy19A==} + es6-promise@4.2.8: resolution: {integrity: sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==} + es6-set@0.1.6: + resolution: {integrity: sha512-TE3LgGLDIBX332jq3ypv6bcOpkLO0AslAQo7p2VqX/1N46YNsvIWgvjojjSEnWEGWMhr1qUbYeTSir5J6mFHOw==} + engines: {node: '>=0.12'} + es6-shim@0.35.8: resolution: {integrity: sha512-Twf7I2v4/1tLoIXMT8HlqaBSS5H2wQTs2wx3MNYCI8K1R1/clXyCazrcVCPm/FuO9cyV8+leEaZOWD5C253NDg==} @@ -13763,6 +15429,16 @@ packages: peerDependencies: esbuild: '>=0.12 <1' + esbuild@0.18.20: + resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} + engines: {node: '>=12'} + hasBin: true + + esbuild@0.24.2: + resolution: {integrity: sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==} + engines: {node: '>=18'} + hasBin: true + esbuild@0.25.12: resolution: {integrity: sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==} engines: {node: '>=18'} @@ -13809,6 +15485,10 @@ packages: engines: {node: '>=6.0'} hasBin: true + escope@3.6.0: + resolution: {integrity: sha512-75IUQsusDdalQEW/G/2esa87J7raqdJF+Ca0/Xm5C3Q58Nr4yVYjZGp/P1+2xiEVgXRrA39dpRb8LcshajbqDQ==} + engines: {node: '>=0.4.0'} + eslint-config-prettier@6.15.0: resolution: {integrity: sha512-a1+kOYLR8wMGustcgAjdydMsQ2A/2ipRPwRKUmfYaSxc9ZPcrku080Ctl6zrZzZNs/U82MjSv+qKREkoq3bJaw==} hasBin: true @@ -13892,6 +15572,17 @@ packages: peerDependencies: eslint: '>=8.40' + eslint-plugin-react-refresh@0.4.4: + resolution: {integrity: sha512-eD83+65e8YPVg6603Om2iCIwcQJf/y7++MWm4tACtEswFLYMwxwVWAfwN+e19f5Ad/FOyyNg9Dfi5lXhH3Y3rA==} + peerDependencies: + eslint: '>=7' + + eslint-plugin-react@7.33.1: + resolution: {integrity: sha512-L093k0WAMvr6VhNwReB8VgOq5s2LesZmrpPdKz/kZElQDzqS7G7+DnKoqT+w4JwuiGeAhAvHO0fvy0Eyk4ejDA==} + engines: {node: '>=4'} + peerDependencies: + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + eslint-plugin-react@7.37.5: resolution: {integrity: sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==} engines: {node: '>=4'} @@ -13913,6 +15604,10 @@ packages: '@typescript-eslint/eslint-plugin': optional: true + eslint-scope@4.0.3: + resolution: {integrity: sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==} + engines: {node: '>=4.0.0'} + eslint-scope@5.1.1: resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} engines: {node: '>=8.0.0'} @@ -14021,19 +15716,12 @@ packages: event-emitter@0.3.5: resolution: {integrity: sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==} - event-target-shim@5.0.1: - resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} - engines: {node: '>=6'} - eventemitter3@4.0.7: resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} eventemitter3@5.0.4: resolution: {integrity: sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==} - events-universal@1.0.1: - resolution: {integrity: sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw==} - events@3.3.0: resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} engines: {node: '>=0.8.x'} @@ -14050,6 +15738,9 @@ packages: resolution: {integrity: sha512-CRT1WTyuQoD771GW56XEZFQ/ZoSfWid1alKGDYMmkt2yl8UXrVR4pspqWNEcqKvVIzg6PAltWjxcSSPrboA4iA==} engines: {node: '>=18.0.0'} + evp_bytestokey@1.0.3: + resolution: {integrity: sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==} + exec-sh@0.2.2: resolution: {integrity: sha512-FIUCJz1RbuS0FKTdaAafAByGS0CPvU3R0MeHxgtl+djzCc//F8HakL8GzmVNZanasTbTAY/3DRFA0KpVqj/eAw==} @@ -14121,8 +15812,8 @@ packages: exponential-backoff@3.1.3: resolution: {integrity: sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA==} - express-rate-limit@8.3.1: - resolution: {integrity: sha512-D1dKN+cmyPWuvB+G2SREQDzPY1agpBIcTa9sJxOPMCNeH3gwzhqJRDWCXW3gg0y//+LQ/8j52JbMROWyrKdMdw==} + express-rate-limit@8.2.2: + resolution: {integrity: sha512-Ybv7bqtOgA914MLwaHWVFXMpMYeR1MQu/D+z2MaLYteqBsTIp9sY3AU7mGNLMJv8eLg8uQMpE20I+L2Lv49nSg==} engines: {node: '>= 16'} peerDependencies: express: '>= 4.11' @@ -14164,11 +15855,6 @@ packages: resolution: {integrity: sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==} engines: {'0': node >=0.6.0} - fantasticon@3.0.0: - resolution: {integrity: sha512-PylulixZA8I0SeiUKtuyOhwrz/ojZTSA1KXddipvEyQXCVrpPMTnSXzaE9nXXK7nCjJWFkqoBAQ1aBdaxMltrg==} - engines: {node: '>= 16.0.0'} - hasBin: true - fast-deep-equal@1.1.0: resolution: {integrity: sha512-fueX787WZKCV0Is4/T2cyAdM4+x1S3MXXOAhavE1ys/W42SHAPacLTQhucja22QBYrfGw50M2sRiXPtTGv9Ymw==} @@ -14178,9 +15864,6 @@ packages: fast-diff@1.3.0: resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} - fast-fifo@1.3.2: - resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==} - fast-glob@2.2.7: resolution: {integrity: sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==} engines: {node: '>=4.0.0'} @@ -14227,6 +15910,10 @@ packages: fault@2.0.1: resolution: {integrity: sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==} + faye-websocket@0.10.0: + resolution: {integrity: sha512-Xhj93RXbMSq8urNCUq4p9l0P6hnySJ/7YNRhYNug0bLOuii7pKO7xQFb5mx9xZXWCar88pLPb805PvUkwrLZpQ==} + engines: {node: '>=0.4.0'} + faye-websocket@0.11.4: resolution: {integrity: sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==} engines: {node: '>=0.8.0'} @@ -14271,16 +15958,24 @@ packages: fetch-retry@5.0.6: resolution: {integrity: sha512-3yurQZ2hD9VISAhJJP9bpYFNQrHHBXE2JxxjY5aLEcDi46RmAzJE2OC9FAde0yis5ElW0jTTzs0zfg/Cca4XqQ==} + figgy-pudding@3.5.2: + resolution: {integrity: sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==} + deprecated: This module is no longer supported. + figures@2.0.0: resolution: {integrity: sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==} engines: {node: '>=4'} + figures@3.2.0: + resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} + engines: {node: '>=8'} + figures@6.1.0: resolution: {integrity: sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==} engines: {node: '>=18'} - file-entry-cache@11.1.2: - resolution: {integrity: sha512-N2WFfK12gmrK1c1GXOqiAJ1tc5YE+R53zvQ+t5P8S5XhnmKYVB5eZEiLNZKDSmoG8wqqbF9EXYBBW/nef19log==} + file-entry-cache@10.1.4: + resolution: {integrity: sha512-5XRUFc0WTtUbjfGzEwXc42tiGxQHBmtbUG1h9L2apu4SulCGN3Hqm//9D6FAolf8MYNL7f/YlJl9vy08pj5JuA==} file-entry-cache@8.0.0: resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} @@ -14307,9 +16002,9 @@ packages: file-system-cache@2.3.0: resolution: {integrity: sha512-l4DMNdsIPsVnKrgEXbJwDJsA5mB8rGwHYERMgqQx/xAUtChPJMre1bXBzDEqqVbWv9AIbFezXMxeEkZDSrXUOQ==} - file-type@18.7.0: - resolution: {integrity: sha512-ihHtXRzXEziMrQ56VSgU7wkxh55iNchFkosu7Y9/S+tXHdKyrGjVK0ujbqNnsxzea+78MaLhN6PGmfYSAv1ACw==} - engines: {node: '>=14.16'} + file-type@21.3.1: + resolution: {integrity: sha512-SrzXX46I/zsRDjTb82eucsGg0ODq2NpGDp4HcsFKApPy8P8vACjpJRDoGGMfEzhFC0ry61ajd7f72J3603anBA==} + engines: {node: '>=20'} file-uri-to-path@1.0.0: resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} @@ -14339,6 +16034,10 @@ packages: resolution: {integrity: sha512-ZH7loueKBoDb7yG9esn1U+fgq7BzlzW6NRi5/rMdxIZ05dj7GFD/Xc5rq2CDt5Yq86CyfSYVyx4242QQNZbx1g==} engines: {node: '>= 0.4.0'} + filesize@6.1.0: + resolution: {integrity: sha512-LpCHtPQ3sFx67z+uh2HnSyWSLLu5Jxo21795uRDuar/EOuYWXib5EmPaGIBuSnRqH2IODiKA2k5re/K9OnN/Yg==} + engines: {node: '>= 0.4.0'} + fill-range@7.1.1: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} @@ -14370,8 +16069,8 @@ packages: find-index@0.1.1: resolution: {integrity: sha512-uJ5vWrfBKMcE6y2Z8834dwEZj9mNGxYa3t3I53OwFeuZ8D9oc2E5zcsrkuhX6h4iYrjhiv0T3szQmxlAV9uxDg==} - find-process@1.4.11: - resolution: {integrity: sha512-mAOh9gGk9WZ4ip5UjV0o6Vb4SrfnAmtsFNzkMRH9HQiFXVQnDyQFrSHTK5UoG6E+KV+s+cIznbtwpfN41l2nFA==} + find-process@1.4.10: + resolution: {integrity: sha512-ncYFnWEIwL7PzmrK1yZtaccN8GhethD37RzBHG6iOZoFYB4vSmLLXfeWJjeN5nMvCJMjOtBvBBF8OgxEcikiZg==} hasBin: true find-root@1.1.0: @@ -14420,8 +16119,8 @@ packages: resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} hasBin: true - flatted@3.4.1: - resolution: {integrity: sha512-IxfVbRFVlV8V/yRaGzk0UVIcsKKHMSfYw66T/u4nTwlWteQePsxe//LjudR1AMX4tZW3WFCh3Zqa/sjlqpbURQ==} + flatted@3.4.0: + resolution: {integrity: sha512-kC6Bb+ooptOIvWj5B63EQWkF0FEnNjV2ZNkLMLZRDDduIiWeFF4iKnslwhiWxjAdbg4NzTNo6h0qLuvFrcx+Sw==} flatten@1.0.3: resolution: {integrity: sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg==} @@ -14512,6 +16211,10 @@ packages: resolution: {integrity: sha512-G6NsmEW15s0Uw9XnCg+33H3ViYRyiM0hMrMhhqQOR8NFc5GhYrI+6I3u7OTw7b91J2g8rtvMBZJDbcGb2YUniw==} engines: {node: '>= 18'} + form-data@2.3.3: + resolution: {integrity: sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==} + engines: {node: '>= 0.12'} + form-data@4.0.5: resolution: {integrity: sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==} engines: {node: '>= 6'} @@ -14528,8 +16231,22 @@ packages: resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} engines: {node: '>= 0.6'} - fraction.js@5.3.4: - resolution: {integrity: sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==} + fraction.js@4.3.7: + resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} + + framer-motion@11.18.2: + resolution: {integrity: sha512-5F5Och7wrvtLVElIpclDT0CBzMVg3dL22B64aZwHtsIY8RB4mXICLrkajK4G9R+ieSAGcgrLeae2SeUTg2pr6w==} + peerDependencies: + '@emotion/is-prop-valid': '*' + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + '@emotion/is-prop-valid': + optional: true + react: + optional: true + react-dom: + optional: true framer-motion@6.5.1: resolution: {integrity: sha512-o1BGqqposwi7cgDrtg0dNONhkmPsUFDaLcKXigzuTFC5x58mE8iyTazxSudFzmT6MEyJKfjjU8ItoMe3W+3fiw==} @@ -14551,6 +16268,9 @@ packages: from2@2.3.0: resolution: {integrity: sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==} + fs-constants@1.0.0: + resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} + fs-extra@0.30.0: resolution: {integrity: sha512-UvSPKyhMn6LEd/WpUaV9C9t3zATuqoqfWc3QdPhPLb58prN9tqYPlPWi8Krxi44loBoUzlobqZ3+8tGpxxSzwA==} @@ -14566,6 +16286,10 @@ packages: resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==} engines: {node: '>=14.14'} + fs-extra@11.3.0: + resolution: {integrity: sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==} + engines: {node: '>=14.14'} + fs-extra@11.3.4: resolution: {integrity: sha512-CTXd6rk/M3/ULNQj8FBqBWHYBVYybQ3VPBw0xGKFe3tuH7ytT6ACnvzpIQ3UZtB8yvUKC2cXn1a+x+5EVQLovA==} engines: {node: '>=14.14'} @@ -14632,6 +16356,10 @@ packages: functions-have-names@1.2.3: resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + fuse.js@3.6.1: + resolution: {integrity: sha512-hT9yh/tiinkmirKrlv4KWOjztdoZo1mx9Qh4KvWqC7isoXwdUY3PNWUxceF4/qO9R6riA2C29jdTOeQOIROjgw==} + engines: {node: '>=6'} + gauge@2.7.4: resolution: {integrity: sha512-14x4kjc6lkD3ltw589k0NrPD6cCNTD6CWoVUNpB85+DrtONoZn+Rug6xZU5RvSC4+TZPxA5AnBibQYAvZn41Hg==} deprecated: This package is no longer supported. @@ -14756,6 +16484,10 @@ packages: github-slugger@1.5.0: resolution: {integrity: sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==} + glob-base@0.3.0: + resolution: {integrity: sha512-ab1S1g1EbO7YzauaJLkgLp7DZVAqj9M/dvKlTt8DkXA2tiOIcSMrlVI2J1RZyB5iJVccEscjGn+kpOG9788MHA==} + engines: {node: '>=0.10.0'} + glob-parent@2.0.0: resolution: {integrity: sha512-JDYOvfxio/t42HKdxkAYaCiBN7oYiuxykOxKxdaUW5Qn0zaYN3gRQWolrwdnf0shM9/EP0ebuuTmyoXNr1cC5w==} @@ -14807,6 +16539,10 @@ packages: resolution: {integrity: sha512-c9IPMazfRITpmAAKi22dK1VKxGDX9ehhqfABDriL/lzO92xcUKEJPQHrVA/2YHSNFB4iFlykVmWvwo48nr3OxA==} deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me + glob@7.2.0: + resolution: {integrity: sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==} + deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me + glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me @@ -14854,6 +16590,10 @@ packages: globalyzer@0.1.0: resolution: {integrity: sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==} + globby@11.0.1: + resolution: {integrity: sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==} + engines: {node: '>=10'} + globby@11.1.0: resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} engines: {node: '>=10'} @@ -14870,6 +16610,10 @@ packages: resolution: {integrity: sha512-HJRTIH2EeH44ka+LWig+EqT2ONSYpVlNfx6pyd592/VF1TbfljJ7elwie7oSwcViLGqOdWocSdu2txwBF9bjmQ==} engines: {node: '>=0.10.0'} + globby@6.1.0: + resolution: {integrity: sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==} + engines: {node: '>=0.10.0'} + globby@9.2.0: resolution: {integrity: sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==} engines: {node: '>=6'} @@ -14925,13 +16669,16 @@ packages: peerDependencies: graphql: ^15.5.0 || ^16.0.0 || ^17.0.0 - graphql@16.13.1: - resolution: {integrity: sha512-gGgrVCoDKlIZ8fIqXBBb0pPKqDgki0Z/FSKNiQzSGj2uEYHr1tq5wmBegGwJx6QB5S5cM0khSBpi/JFHMCvsmQ==} + graphql@16.11.0: + resolution: {integrity: sha512-mS1lbMsxgQj6hge1XZ6p7GPhbrtFwUFYi3wRzXAC/FmYnyXMTvvI3td3rjmQ2u8ewXueaSvRPWaEcgVVOT9Jnw==} engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} growly@1.3.0: resolution: {integrity: sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw==} + gud@1.0.0: + resolution: {integrity: sha512-zGEOVKFM5sVPPrYs7J5/hYEw2Pof8KCyOwyhG8sAF26mCAeUFAcYPu1mwB7hhpIP29zOIBaDqwuHdLp0jvZXjw==} + gunzip-maybe@1.4.2: resolution: {integrity: sha512-4haO1M4mLO91PW57BMsDFf75UmwoRX0GkdD+Faw+Lr+r/OZrOCS0pIBwOL1xCKQqnQzbNFGgK2V2CpBUPeFNTw==} hasBin: true @@ -14940,6 +16687,13 @@ packages: resolution: {integrity: sha512-6s8trQiK+OMzSaCSVXX+iqIcLV9tC+E73jrJrJTyS4h/AJhlxHvzFKqM1YLDJWRGgHX8uLkBeXkA0njNj39L4w==} engines: {node: '>=0.12.0'} + gzip-size@5.1.1: + resolution: {integrity: sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA==} + engines: {node: '>=6'} + + handle-thing@1.2.5: + resolution: {integrity: sha512-Ld9EYcBflMUF6SsJLGDADVH50jSzLNIUUrOFlFGK/zwqimATg9+wY4jsLWCR7DZSxt2BfK0+liHUMdoR11bjLg==} + handle-thing@2.0.1: resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==} @@ -14976,6 +16730,10 @@ packages: resolution: {integrity: sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA==} engines: {node: '>=0.10.0'} + has-flag@2.0.0: + resolution: {integrity: sha512-P+1n3MnwjR/Epg9BBo1KT8qbye2g2Ou4sFumihwt6I4tsUX7jnLcX4BTOSKg/B1ZrIYMN9FcEnG4x5a7NB8Eng==} + engines: {node: '>=0.10.0'} + has-flag@3.0.0: resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} engines: {node: '>=4'} @@ -15010,6 +16768,17 @@ packages: resolution: {integrity: sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==} engines: {node: '>= 0.4.0'} + hash-base@3.0.5: + resolution: {integrity: sha512-vXm0l45VbcHEVlTCzs8M+s0VeYsB2lnlAaThoLKGXr3bE/VWDOelNUnycUPEhKEaXARL2TEFjBOyUiM6+55KBg==} + engines: {node: '>= 0.10'} + + hash-base@3.1.2: + resolution: {integrity: sha512-Bb33KbowVTIj5s7Ked1OsqHUeCpz//tPwR+E2zJgJKo9Z5XolZ9b6bdUgjmYlwnWhoOQKoTd1TYToZGn5mAYOg==} + engines: {node: '>= 0.8'} + + hash.js@1.1.7: + resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==} + hashery@1.5.0: resolution: {integrity: sha512-nhQ6ExaOIqti2FDWoEMWARUqIKyjr2VcZzXShrI+A3zpeiuPWzx6iPftt44LhP74E5sW36B75N6VHbvRtpvO6Q==} engines: {node: '>=20'} @@ -15021,6 +16790,15 @@ packages: hast-to-hyperscript@9.0.1: resolution: {integrity: sha512-zQgLKqF+O2F72S1aa4y2ivxzSlko3MAvxkwG8ehGmNiqd98BIN3JM1rAJPmplEyLmGLO2QZYJtIneOSZ2YbJuA==} + hast-util-from-dom@5.0.1: + resolution: {integrity: sha512-N+LqofjR2zuzTjCPzyDUdSshy4Ma6li7p/c3pA78uTwzFgENbgbUrm2ugwsOdcjI1muO+o6Dgzp9p8WHtn/39Q==} + + hast-util-from-html-isomorphic@2.0.0: + resolution: {integrity: sha512-zJfpXq44yff2hmE0XmwEOzdWin5xwH+QIhMLOScpX91e/NSGPsAzNCvLQDIEPyO2TXi+lBmU6hjLIhV8MwP2kw==} + + hast-util-from-html@2.0.3: + resolution: {integrity: sha512-CUSRHXyKjzHov8yKsQjGOElXy/3EKpyX56ELnkHH34vDVw1N1XSQ1ZcAvTyAPtGqLTuKP/uxM+aLkSPqF/EtMw==} + hast-util-from-parse5@6.0.1: resolution: {integrity: sha512-jeJUWiN5pSxW12Rh01smtVkZgZr33wBokLzKLwinYOUfSzm1Nl/c3GUGebDyOKjdsRgMvoVbV0VpAcpjF4NrJA==} @@ -15030,6 +16808,9 @@ packages: hast-util-from-parse5@8.0.3: resolution: {integrity: sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg==} + hast-util-is-element@3.0.0: + resolution: {integrity: sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==} + hast-util-parse-selector@2.2.5: resolution: {integrity: sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ==} @@ -15060,6 +16841,9 @@ packages: hast-util-to-parse5@8.0.1: resolution: {integrity: sha512-MlWT6Pjt4CG9lFCjiz4BH7l9wmrMkfkJYCxFwKQic8+RTZgWPuWxwAfjJElsXkex7DJjfSJsQIt931ilUgmwdA==} + hast-util-to-text@4.0.2: + resolution: {integrity: sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A==} + hast-util-whitespace@3.0.0: resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==} @@ -15092,6 +16876,9 @@ packages: highlightjs-vue@1.0.0: resolution: {integrity: sha512-PDEfEF102G23vHmPhLyPboFCD+BkMGu+GuJe2d9/eH4FsCwvgBpnc9n0pGE+ffKdph38s6foEZiEjdgHdzp+IA==} + hmac-drbg@1.0.1: + resolution: {integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==} + hoist-non-react-statics@3.3.2: resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} @@ -15138,6 +16925,9 @@ packages: resolution: {integrity: sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==} engines: {node: '>=12'} + html-entities@1.4.0: + resolution: {integrity: sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==} + html-entities@2.6.0: resolution: {integrity: sha512-kig+rMn/QOVRvr7c86gQ8lWXq+Hkv6CbAH1hLu+RG338StTpE8Z0b44SDVaqVu7HGKf27frdmUYEs9hTUX/cLQ==} @@ -15237,6 +17027,9 @@ packages: resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} engines: {node: '>= 14'} + http-proxy-middleware@0.17.4: + resolution: {integrity: sha512-JtH3UZju4oXDdca28/kknbm/CFmt35vy0YV0PNOMWWWpn3rT9WV95IXN451xwBGSjy9L0Cah1O9TCMytboLdfw==} + http-proxy-middleware@2.0.9: resolution: {integrity: sha512-c1IyJYLYppU574+YI7R4QyX2ystMtVXZwIdzazUIPIJsHuWNd+mho2j+bKoHftndicGj9yh+xjd+l0yj7VeT1Q==} engines: {node: '>=12.0.0'} @@ -15263,6 +17056,9 @@ packages: resolution: {integrity: sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==} engines: {node: '>=10.19.0'} + https-browserify@1.0.0: + resolution: {integrity: sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==} + https-proxy-agent@4.0.0: resolution: {integrity: sha512-zoDhWrkR3of1l9QAL8/scJZyLu8j/gBkcwcaQOZh7Gyh/+uJQzGVETdgT30akuwkpL8HTRfssqI3BZuV18teDg==} engines: {node: '>= 6.0.0'} @@ -15364,6 +17160,9 @@ packages: immediate@3.0.6: resolution: {integrity: sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==} + immer@8.0.1: + resolution: {integrity: sha512-aqXhGP7//Gui2+UrEtvxZxSquQVXTpZ7KDxfCcKAF3Vysvw0CViVaW9RZ1j1xlIYqaaaipBoqdqeibkc18PNvA==} + immutable@3.8.3: resolution: {integrity: sha512-AUY/VyX0E5XlibOmWt10uabJzam1zlYjwiEgQSDc5+UIkFNaF9WM0JxXKaNMGf+F/ffUF+7kRKXM9A7C0xXqMg==} engines: {node: '>=0.10.0'} @@ -15380,10 +17179,18 @@ packages: resolution: {integrity: sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ==} engines: {node: '>=8'} + import-in-the-middle@2.0.6: + resolution: {integrity: sha512-3vZV3jX0XRFW3EJDTwzWoZa+RH1b8eTTx6YOCjglrLyPuepwoBti1k3L2dKwdCUrnVEfc5CuRuGstaC/uQJJaw==} + import-lazy@2.1.0: resolution: {integrity: sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A==} engines: {node: '>=4'} + import-local@1.0.0: + resolution: {integrity: sha512-vAaZHieK9qjGo58agRBg+bhHX3hoTZU/Oa3GESWLz7t1U62fk63aHuDJJEteXoDeTCcPmUT+z38gkHPZkkmpmQ==} + engines: {node: '>=4'} + hasBin: true + import-local@3.2.0: resolution: {integrity: sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==} engines: {node: '>=8'} @@ -15437,6 +17244,11 @@ packages: inquirer@3.3.0: resolution: {integrity: sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==} + internal-ip@1.2.0: + resolution: {integrity: sha512-DzGfTasXPmwizQP4XV2rR6r2vp8TjlOpMnJqG9Iy2i1pl1lkZdZj5rSpIc7YFGX2nS46PPgAGEyT+Q5hE2FB2g==} + engines: {node: '>=0.10.0'} + hasBin: true + internal-slot@1.1.0: resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==} engines: {node: '>= 0.4'} @@ -15457,8 +17269,8 @@ packages: resolution: {integrity: sha512-fn4bQ0Xq8FTej09YC/jqKZwtijpvARlRp6wxL5WTA6yPe2YWSJ5RJh7Nm79rK2qB0wr6iDQzH60XGq5V/7u8YQ==} deprecated: The Intersection Observer polyfill is no longer needed and can safely be removed. Intersection Observer has been Baseline since 2019. - intl-messageformat@10.7.18: - resolution: {integrity: sha512-m3Ofv/X/tV8Y3tHXLohcuVuhWKo7BBq62cqY15etqmLxg2DZ34AGGgQDeR+SCta2+zICb1NX83af0GJmbQ1++g==} + intl-messageformat@10.7.16: + resolution: {integrity: sha512-UmdmHUmp5CIKKjSoE10la5yfU+AYJAaiYLsodbjL4lji83JNvgOQUjGaGhGrpFCb0Uh7sl7qfP1IyILa8Z40ug==} invariant@2.2.4: resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} @@ -15479,6 +17291,9 @@ packages: resolution: {integrity: sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==} engines: {node: '>=8'} + ip@1.1.9: + resolution: {integrity: sha512-cyRxvOEpNHNtchU3Ln9KC/auJgup87llfQpQ+t5ghoC/UhL16SWzbueiCsdTnWmqAWl7LadfuwhlqmtOaqMHdQ==} + ip@2.0.1: resolution: {integrity: sha512-lJUL9imLTNi1ZfXT+DU6rBBdbiKGBuay9B6xGSPVjUeQwaH1RIGqef8RZkUtHioLmSNpPR5M4HVKJGm1j8FWVQ==} @@ -15541,6 +17356,9 @@ packages: resolution: {integrity: sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==} engines: {node: '>= 0.4'} + is-buffer@1.1.6: + resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} + is-buffer@2.0.5: resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==} engines: {node: '>=4'} @@ -15631,6 +17449,10 @@ packages: resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} engines: {node: '>=8'} + is-fullwidth-code-point@4.0.0: + resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} + engines: {node: '>=12'} + is-fullwidth-code-point@5.1.0: resolution: {integrity: sha512-5XHYaSyiqADb4RnZ1Bdad6cPp8Toise4TzEjcOYDHZkTCbKgiUl7WTUCpNWHuxmDt91wnsZBc9xinNzopv3JMQ==} engines: {node: '>=18'} @@ -15785,9 +17607,6 @@ packages: resolution: {integrity: sha512-GljRxhWvlCNRfZyORiH77FwdFwGcMO620o37EOYC0ORWdq+WYNVqW0w2Juzew4M+L81l6/QS3t5gkkihyRqv9w==} engines: {node: '>=0.10.0'} - is-promise@2.2.2: - resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==} - is-promise@4.0.0: resolution: {integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==} @@ -15810,6 +17629,10 @@ packages: resolution: {integrity: sha512-1d50EJ7ipFxb9bIx213o6KPaJmHN8f+nR48UZWxWVzDx+NA3kpscxi02oQX3rGkEaLBi9m3ZayHngQc3+bBX9w==} engines: {node: '>=0.10.0'} + is-root@2.1.0: + resolution: {integrity: sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==} + engines: {node: '>=6'} + is-set@2.0.3: resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} engines: {node: '>= 0.4'} @@ -16240,8 +18063,8 @@ packages: resolution: {integrity: sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - jest-haste-map@30.3.0: - resolution: {integrity: sha512-mMi2oqG4KRU0R9QEtscl87JzMXfUhbKaFqOxmjb2CKcbHcUGFrJCBWHmnTiUqi6JcnzoBlO4rWfpdl2k/RfLCA==} + jest-haste-map@30.0.0: + resolution: {integrity: sha512-p4bXAhXTawTsADgQgTpbymdLaTyPW1xWNu1oIGG7/N3LIAbZVkH2JMJqS8/IUcnGR8Kc7WFE+vWbJvsqGCWZXw==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} jest-jasmine2@20.0.4: @@ -16517,8 +18340,8 @@ packages: resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - jest-worker@30.3.0: - resolution: {integrity: sha512-DrCKkaQwHexjRUFTmPzs7sHQe0TSj9nvDALKGdwmK5mW9v7j90BudWirKAJHt3QQ9Dhrg1F7DogPzhChppkJpQ==} + jest-worker@30.0.0: + resolution: {integrity: sha512-VZvxfWIybIvwK8N/Bsfe43LfQgd/rD0c4h5nLUx78CAqPxIQcW2qDjsVAC53iUR8yxzFIeCFFvWOh8en8hGzdg==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} jest@20.0.4: @@ -16591,6 +18414,10 @@ packages: jsbn@0.1.1: resolution: {integrity: sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==} + jschardet@3.0.0: + resolution: {integrity: sha512-lJH6tJ77V8Nzd5QWRkFYCLc13a3vADkh3r/Fi8HupZGWk2OVVDfnZP8V/VgQgZ+lzW0kG2UGb5hFgt3V3ndotQ==} + engines: {node: '>=0.1.90'} + jschardet@3.1.4: resolution: {integrity: sha512-/kmVISmrwVwtyYU40iQUOp3SUPk2dhNCMsZBQX0R1/jZ8maaXJ/oZIzUOiyOqcgtLnETFKYChbJ5iDC/eWmFHg==} engines: {node: '>=0.1.90'} @@ -16648,6 +18475,12 @@ packages: json-buffer@3.0.1: resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + json-loader@0.5.7: + resolution: {integrity: sha512-QLPs8Dj7lnf3e3QYS1zkCo+4ZwqOiF9d/nZnYozTISxXWCfNs9yuky5rJw4/W34s7POaNlbZmQGaB5NiXCbP4w==} + + json-parse-better-errors@1.0.2: + resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} + json-parse-even-better-errors@2.3.1: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} @@ -16737,16 +18570,20 @@ packages: resolution: {integrity: sha512-pBxcB3LFc8QVgdggvZWyeys+hnrNWg4OcZIU/1X59k5jQdLBlCsYGRQaz234SqoRLTCgMH00fY0xRJH+F9METQ==} engines: {node: '>=8'} - jwa@1.4.2: - resolution: {integrity: sha512-eeH5JO+21J78qMvTIDdBXidBd6nG2kZjg5Ohz/1fpa28Z4CcsWUzJ1ZZyFq/3z3N17aZy+ZuBoHljASbL1WfOw==} + jwa@2.0.1: + resolution: {integrity: sha512-hRF04fqJIP8Abbkq5NKGN0Bbr3JxlQ+qhZufXVr0DvujKy93ZCbXZMHDL4EOtodSbCWxOqR8MS1tXA5hwqCXDg==} - jws@3.2.3: - resolution: {integrity: sha512-byiJ0FLRdLdSVSReO/U4E7RoEyOCKnEnEPMjq3HxWtvzLsV08/i5RQKsFVNkCldrCaPr2vDNAOMsfs8T/Hze7g==} + jws@4.0.1: + resolution: {integrity: sha512-EKI/M/yqPncGUUh44xz0PxSidXFr/+r0pA70+gIYhjv+et7yxM+s29Y+VGDkovRofQem0fs7Uvf4+YmAdyRduA==} jwt-decode@4.0.0: resolution: {integrity: sha512-+KJGIyHgkGuIq3IEBNftfhW/LfWhXUIY6OmyVWjliu5KH1y0fw7VQ8YndE2O4qZdMSd9SqbnC8GOcZEy0Om7sA==} engines: {node: '>=18'} + katex@0.16.38: + resolution: {integrity: sha512-cjHooZUmIAUmDsHBN+1n8LaZdpmbj03LtYeYPyuYB7OuloiaeaV6N4LcfjcnHVzGWjVQmKrxxTrpDcmSzEZQwQ==} + hasBin: true + keytar@7.9.0: resolution: {integrity: sha512-VPD8mtVtm5JNtA2AErl6Chp06JBfy7diFQ7TQQhdpWOl6MrCRB+eRbvAZUsbGQS9kiMq0coJsy0W0vHpDCkWsQ==} @@ -16760,6 +18597,13 @@ packages: resolution: {integrity: sha512-e0SVOV5jFo0mx8r7bS29maVWp17qGqLBZ5ricNSajON6//kmb7qqqNnml4twNE8Dtj97UQD+gNFOaipS/q1zzQ==} hasBin: true + killable@1.0.1: + resolution: {integrity: sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==} + + kind-of@3.2.2: + resolution: {integrity: sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==} + engines: {node: '>=0.10.0'} + kind-of@6.0.3: resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} engines: {node: '>=0.10.0'} @@ -16775,12 +18619,20 @@ packages: resolution: {integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==} engines: {node: '>= 8'} - known-css-properties@0.37.0: - resolution: {integrity: sha512-JCDrsP4Z1Sb9JwG0aJ8Eo2r7k4Ou5MwmThS/6lcIe1ICyb7UBJKGRIUUdqc2ASdE/42lgz6zFUnzAIhtXnBVrQ==} + known-css-properties@0.36.0: + resolution: {integrity: sha512-A+9jP+IUmuQsNdsLdcg6Yt7voiMF/D4K83ew0OpJtpu+l34ef7LaohWV0Rc6KNvzw6ZDizkqfyB5JznZnzuKQA==} kuler@2.0.0: resolution: {integrity: sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==} + langfuse-core@3.38.6: + resolution: {integrity: sha512-EcZXa+DK9FJdi1I30+u19eKjuBJ04du6j2Nybk19KKCuraLczg/ppkTQcGvc4QOk//OAi3qUHrajUuV74RXsBQ==} + engines: {node: '>=18'} + + langfuse@3.38.6: + resolution: {integrity: sha512-mtwfsNGIYvObRh+NYNGlJQJDiBN+Wr3Hnr++wN25mxuOpSTdXX+JQqVCyAqGL5GD2TAXRZ7COsN42Vmp9krYmg==} + engines: {node: '>=18'} + language-subtag-registry@0.3.23: resolution: {integrity: sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==} @@ -16795,6 +18647,10 @@ packages: launch-editor@2.13.1: resolution: {integrity: sha512-lPSddlAAluRKJ7/cjRFoXUFzaX7q/YKI7yPHuEvSJVqoXvFnJov1/Ud87Aa4zULIbA9Nja4mSPK8l0z/7eV2wA==} + lazy-cache@1.0.4: + resolution: {integrity: sha512-RE2g0b5VGZsOCFOCgP7omTRYFqydmZkBwl5oNnQ1lDYC57uyO9KqNnNVxT7COSHTxrRCWVcAVOcbjk+tvh/rgQ==} + engines: {node: '>=0.10.0'} + lazy-universal-dotenv@3.0.1: resolution: {integrity: sha512-prXSYk799h3GY3iOWnC6ZigYzMPjxN2svgjJ9shk7oMadSNX3wXy0B6F32PMJv7qtMnrIbUxoEHzbutvxR2LBQ==} engines: {node: '>=6.0.0', npm: '>=6.0.0', yarn: '>=1.0.0'} @@ -16850,22 +18706,30 @@ packages: linkify-it@5.0.0: resolution: {integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==} - lint-staged@16.3.3: - resolution: {integrity: sha512-RLq2koZ5fGWrx7tcqx2tSTMQj4lRkfNJaebO/li/uunhCJbtZqwTuwPHpgIimAHHi/2nZIiGrkCHDCOeR1onxA==} - engines: {node: '>=20.17'} + lint-staged@16.0.0: + resolution: {integrity: sha512-sUCprePs6/rbx4vKC60Hez6X10HPkpDJaGcy3D1NdwR7g1RcNkWL8q9mJMreOqmHBTs+1sNFp+wOiX9fr+hoOQ==} + engines: {node: '>=20.18'} hasBin: true listenercount@1.0.1: resolution: {integrity: sha512-3mk/Zag0+IJxeDrxSgaDPy4zZ3w05PRZeJNnlWhzFz5OkX49J4krc+A8X2d2M69vGMBEX0uyl8M+W+8gH+kBqQ==} - listr2@9.0.5: - resolution: {integrity: sha512-ME4Fb83LgEgwNw96RKNvKV4VTLuXfoKudAmm2lP8Kk87KaMK0/Xrx/aAkMWmT8mDb+3MlFDspfbCs7adjRxA2g==} - engines: {node: '>=20.0.0'} + listr2@8.3.3: + resolution: {integrity: sha512-LWzX2KsqcB1wqQ4AHgYb4RsDXauQiqhjLk+6hjbaeHG4zpjjVAB6wC/gz6X0l+Du1cN3pUB5ZlrvTbhGSNnUQQ==} + engines: {node: '>=18.0.0'} load-json-file@1.1.0: resolution: {integrity: sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A==} engines: {node: '>=0.10.0'} + load-json-file@2.0.0: + resolution: {integrity: sha512-3p6ZOGNbiX4CdvEd1VcE6yi78UrGNpjHO33noGwHCnT/o2fyllJDepsm8+mFFv/DvtwFHht5HIHSyOy5a+ChVQ==} + engines: {node: '>=4'} + + loader-runner@2.4.0: + resolution: {integrity: sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==} + engines: {node: '>=4.3.0 <5.0.0 || >=5.10'} + loader-runner@4.3.1: resolution: {integrity: sha512-IWqP2SCPhyVFTBtRcgMHdzlf9ul25NwaFx4wCEH/KjAXuuHY4yNjvPXsBokp8jCB936PyWRaPKUNh8NvylLp2Q==} engines: {node: '>=6.11.5'} @@ -16877,6 +18741,10 @@ packages: resolution: {integrity: sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==} engines: {node: '>=4.0.0'} + loader-utils@2.0.0: + resolution: {integrity: sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==} + engines: {node: '>=8.9.0'} + loader-utils@2.0.4: resolution: {integrity: sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==} engines: {node: '>=8.9.0'} @@ -17038,6 +18906,10 @@ packages: longest-streak@3.1.0: resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} + longest@1.0.1: + resolution: {integrity: sha512-k+yt5n3l48JU4k8ftnKG6V7u32wyH2NfKzeMto9F/QRE0amxy/LayxwlvjjkZEIzqR+19IrtFO8p5kB9QaYUFg==} + engines: {node: '>=0.10.0'} + loose-envify@1.4.0: resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} hasBin: true @@ -17093,9 +18965,6 @@ packages: resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==} engines: {node: '>=12'} - lru-queue@0.1.0: - resolution: {integrity: sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==} - lucide-react@0.523.0: resolution: {integrity: sha512-rUjQoy7egZT9XYVXBK1je9ckBnNp7qzRZOhLQx5RcEp2dCGlXo+mv6vf7Am4LimEcFBJIIZzSGfgTqc9QCrPSw==} peerDependencies: @@ -17184,6 +19053,12 @@ packages: markdown-table@3.0.4: resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==} + markdown-to-jsx@6.11.4: + resolution: {integrity: sha512-3lRCD5Sh+tfA52iGgfs/XZiw33f7fFX9Bn55aNnVNUd2GzLDkOWyKYYD8Yju2B1Vn+feiEdgJs8T6Tg0xNokPw==} + engines: {node: '>= 4'} + peerDependencies: + react: '>= 0.14.0' + markdown-to-jsx@7.7.17: resolution: {integrity: sha512-7mG/1feQ0TX5I7YyMZVDgCC/y2I3CiEhIRQIhyov9nGBP5eoVrOXXHuL5ZP8GRfxVZKRiXWJgwXkb9It+nQZfQ==} engines: {node: '>= 10'} @@ -17206,6 +19081,9 @@ packages: mathml-tag-names@2.1.3: resolution: {integrity: sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==} + md5.js@1.3.5: + resolution: {integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==} + mdast-squeeze-paragraphs@4.0.0: resolution: {integrity: sha512-zxdPn69hkQ1rm4J+2Cs2j6wDEv7O17TfXTJ33tl/+JPIoEmtV9t2ZzBM5LPHE8QlHsmVD8t3vPKCyY3oH+H8MQ==} @@ -17242,6 +19120,9 @@ packages: mdast-util-gfm@3.1.0: resolution: {integrity: sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==} + mdast-util-math@3.0.0: + resolution: {integrity: sha512-Tl9GBNeG/AhJnQM221bJR2HPvLOSnLE/T9cJI9tlc6zwQk2nPk/4f0cHkOdEixQPC/j8UtKDdITswvLAy1OZ1w==} + mdast-util-mdx-expression@2.0.1: resolution: {integrity: sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==} @@ -17310,16 +19191,16 @@ packages: memfs@4.56.11: resolution: {integrity: sha512-/GodtwVeKVIHZKLUSr2ZdOxKBC5hHki4JNCU22DoCGPEHr5o2PD5U721zvESKyWwCfTfavFl9WZYgA13OAYK0g==} - memoizee@0.4.17: - resolution: {integrity: sha512-DGqD7Hjpi/1or4F/aYAspXKNm5Yili0QDAFAY4QYvpqpgiY6+1jOfqpmByzjxbWd/T9mChbCArXAbDAsTm5oXA==} - engines: {node: '>=0.12'} - memoizerific@1.11.3: resolution: {integrity: sha512-/EuHYwAPdLtXwAwSZkh/Gutery6pD2KYd44oQLhAvQp/50mpyduZh8Q7PYHXTCJ+wuXxt7oij2LXyIJOOYFPog==} memory-fs@0.4.1: resolution: {integrity: sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ==} + memory-fs@0.5.0: + resolution: {integrity: sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==} + engines: {node: '>=4.3.0 <5.0.0 || >=5.10'} + meow@10.1.5: resolution: {integrity: sha512-/d+PQ4GKmGvM9Bee/DPa8z3mXs/pkvJE2KEThngVNOqtmljC6K7NMPxtc2JeZYTmpWb9k/TmxjeL18ez3h7vCw==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -17406,6 +19287,9 @@ packages: micromark-extension-gfm@3.0.0: resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==} + micromark-extension-math@3.1.0: + resolution: {integrity: sha512-lvEqd+fHjATVs+2v/8kg9i5Q0AP2k85H0WUOwpIVvUML8BapsMvh1XAogmQjOCsLpoKRCVQqEkQBB3NhVBcsOg==} + micromark-extension-mdx-expression@3.0.1: resolution: {integrity: sha512-dD/ADLJ1AeMvSAKBwO22zG22N4ybhe7kFIZ3LsDI0GlsNr2A3KYxb0LdC1u5rj4Nw+CHKY0RVdnHX8vj8ejm4Q==} @@ -17491,6 +19375,10 @@ packages: resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} + miller-rabin@4.0.1: + resolution: {integrity: sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==} + hasBin: true + mime-db@1.33.0: resolution: {integrity: sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==} engines: {node: '>= 0.6'} @@ -17560,8 +19448,8 @@ packages: resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} engines: {node: '>=4'} - mini-css-extract-plugin@2.10.1: - resolution: {integrity: sha512-k7G3Y5QOegl380tXmZ68foBRRjE9Ljavx835ObdvmZjQ639izvZD8CS7BkWw1qKPPzHsGL/JDhl0uyU1zc2rJw==} + mini-css-extract-plugin@2.9.2: + resolution: {integrity: sha512-GJuACcS//jtq4kCtd5ii/M0SZf7OZRH+BxdqXZHaJfb8TJiVl+NgQRPwiYt2EuqeSkNydn/7vP+bcE27C5mb9w==} engines: {node: '>= 12.13.0'} peerDependencies: webpack: ^5.0.0 @@ -17573,19 +19461,25 @@ packages: minimalistic-assert@1.0.1: resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} - minimatch@10.2.4: - resolution: {integrity: sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==} + minimalistic-crypto-utils@1.0.1: + resolution: {integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==} + + minimatch@10.2.3: + resolution: {integrity: sha512-Rwi3pnapEqirPSbWbrZaa6N3nmqq4Xer/2XooiOKyV3q12ML06f7MOuc5DVH8ONZIFhwIYQ3yzPH4nt7iWHaTg==} engines: {node: 18 || 20 || >=22} + minimatch@3.1.4: + resolution: {integrity: sha512-twmL+S8+7yIsE9wsqgzU3E8/LumN3M3QELrBZ20OdmQ9jB2JvW5oZtBEmft84k/Gs5CG9mqtWc6Y9vW+JEzGxw==} + minimatch@3.1.5: resolution: {integrity: sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==} - minimatch@5.1.9: - resolution: {integrity: sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw==} + minimatch@5.1.8: + resolution: {integrity: sha512-7RN35vit8DeBclkofOVmBY0eDAZZQd1HzmukRdSyz95CRh8FT54eqnbj0krQr3mrHR6sfRyYkyhwBWjoV5uqlQ==} engines: {node: '>=10'} - minimatch@9.0.9: - resolution: {integrity: sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==} + minimatch@9.0.7: + resolution: {integrity: sha512-MOwgjc8tfrpn5QQEvjijjmDVtMw2oL88ugTevzxQnzRLm6l3fVEF2gzU0kYeYYKD8C66+IdGX6peJ4MyUlUnPg==} engines: {node: '>=16 || 14 >=14.17'} minimist-options@4.1.0: @@ -17635,6 +19529,10 @@ packages: resolution: {integrity: sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw==} engines: {node: '>=4.0.0'} + mississippi@3.0.0: + resolution: {integrity: sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==} + engines: {node: '>=4.0.0'} + mkdirp-classic@0.5.3: resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} @@ -17655,16 +19553,29 @@ packages: mlly@1.8.1: resolution: {integrity: sha512-SnL6sNutTwRWWR/vcmCYHSADjiEesp5TGQQ0pXyLhW5IoeibRlF/CbSLailbB3CNqJUk9cVJ9dUDnbD7GrcHBQ==} - mocha@10.8.2: - resolution: {integrity: sha512-VZlYo/WE8t1tstuRmqgeyBgCbJc/lEdopaa+axcKzTBJ+UIdlAB9XnmvTCAH4pwR4ElNInaedhEBmZD8iCSVEg==} + mocha@10.2.0: + resolution: {integrity: sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==} engines: {node: '>= 14.0.0'} hasBin: true - mocha@11.7.5: - resolution: {integrity: sha512-mTT6RgopEYABzXWFx+GcJ+ZQ32kp4fMf0xvpZIIfSq9Z8lC/++MtcCnQ9t5FP2veYEP95FIYSvW+U9fV4xrlig==} + mocha@11.2.2: + resolution: {integrity: sha512-VlSBxrPYHK4YNOEbFdkCxHQbZMoNzBkoPprqtZRW6311EUF/DlSxoycE2e/2NtRk4WKkIXzyrXDTrlikJMWgbw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + hasBin: true + + mocha@11.4.0: + resolution: {integrity: sha512-O6oi5Y9G6uu8f9iqXR6iKNLWHLRex3PKbmHynfpmUnMJJGrdgXh8ZmS85Ei5KR2Gnl+/gQ9s+Ktv5CqKybNw4A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true + mocha@11.5.0: + resolution: {integrity: sha512-VKDjhy6LMTKm0WgNEdlY77YVsD49LZnPSXJAaPNL9NRYQADxvORsyG1DIQY6v53BKTnlNbEE2MbVCDbnxr4K3w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + hasBin: true + + module-details-from-path@1.0.4: + resolution: {integrity: sha512-EGWKgxALGMgzvxYF1UyGTy0HXX/2vHLkw6+NvDKW2jypWbHpjQuj4UMcqQWXHERJhVGKikolT06G3bcKe4fi7w==} + moment-timezone@0.5.39: resolution: {integrity: sha512-hoB6suq4ISDj7BDgctiOy6zljBsdYT0++0ZzZm9rtxIvJhIbQ3nmbgSWe7dNFGurl6/7b1OUkHlmN9JWgXVz7w==} @@ -17691,6 +19602,12 @@ packages: selenium-webdriver: '>=4.6.1' typescript: '>=4.6.2' + motion-dom@11.18.1: + resolution: {integrity: sha512-g76KvA001z+atjfxczdRtw/RXOM3OMSdd1f4DL77qCTF/+avrRJiawSG4yDibEQ215sr9kpinSlX2pCTJ9zbhw==} + + motion-utils@11.18.1: + resolution: {integrity: sha512-49Kt+HKjtbJKLtgO/LKj9Ld+6vw9BjH5d9sc40R/kVyH8GLAXgT42M2NnuPcJNuA3s9ZfZBUcwIgpmZWGEE+hA==} + mousetrap@1.6.5: resolution: {integrity: sha512-QNo4kEepaIBwiT8CDhP98umTetp+JNfQYBWvC1pc6/OAibuXtRcxZ58Qz8skvEHYvURne/7R8T5VoOI7rDsEUA==} @@ -17711,6 +19628,9 @@ packages: ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + multicast-dns-service-types@1.1.0: + resolution: {integrity: sha512-cnAsSVxIDsYt0v7HmC0hWZFwwXSh+E6PgCrREDuN/EsjgLwA5XRmlMHhSiDPrt6HxY1gTivEa/Zh7GtODoLevQ==} + multicast-dns@7.2.5: resolution: {integrity: sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==} hasBin: true @@ -17731,11 +19651,20 @@ packages: nan@2.25.0: resolution: {integrity: sha512-0M90Ag7Xn5KMLLZ7zliPWP3rT90P6PN+IzVFS0VqmnPktBk3700xUVv8Ikm9EUaUE5SDWdp/BIxdENzVznpm1g==} + nano-spawn@1.0.3: + resolution: {integrity: sha512-jtpsQDetTnvS2Ts1fiRdci5rx0VYws5jGyC+4IYOTnIQ/wwdf6JdomlHBwqC3bJYOvaKu0C2GSZ1A60anrYpaA==} + engines: {node: '>=20.17'} + nanoid@3.3.11: resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true + nanoid@3.3.3: + resolution: {integrity: sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + nanoid@5.1.6: resolution: {integrity: sha512-c7+7RQ+dMB5dPwwCp4ee1/iV/q2P6aK1mTZcfr1BTuVlyW9hJYiMPybJCcnBlQtuSmTIWNeazm/zqNoZSSElBg==} engines: {node: ^18 || >=20} @@ -17752,6 +19681,9 @@ packages: engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} hasBin: true + native-url@0.2.6: + resolution: {integrity: sha512-k4bDC87WtgrdD362gZz6zoiXQrl40kYlBmpfmSjwRO1VU0V5ccwJTlxuE72F6m3V0vc1xOf6n3UCP9QyerRqmA==} + natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} @@ -17829,8 +19761,8 @@ packages: node-fetch-native@1.6.7: resolution: {integrity: sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q==} - node-fetch@2.6.13: - resolution: {integrity: sha512-StxNAxh15zr77QvvkmveSQ8uCQ4+v5FkvNTj0OESmiHu+VRi/gXArXtkWMElOsOUNLtUEvI4yS+rdtOHZTwlQA==} + node-fetch@2.6.7: + resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==} engines: {node: 4.x || >=6.0.0} peerDependencies: encoding: ^0.1.0 @@ -17851,6 +19783,10 @@ packages: resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + node-forge@0.10.0: + resolution: {integrity: sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==} + engines: {node: '>= 6.0.0'} + node-gyp-build@4.8.4: resolution: {integrity: sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==} hasBin: true @@ -17868,6 +19804,9 @@ packages: node-int64@0.4.0: resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} + node-libs-browser@2.2.1: + resolution: {integrity: sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==} + node-loader@2.0.0: resolution: {integrity: sha512-I5VN34NO4/5UYJaUBtkrODPWxbobrE4hgDqPrjB25yPkonFhCmZ146vTH+Zg417E9Iwoh1l/MbRs1apc5J295Q==} engines: {node: '>= 10.13.0'} @@ -17886,6 +19825,9 @@ packages: node-notifier@6.0.0: resolution: {integrity: sha512-SVfQ/wMw+DesunOm5cKqr6yDcvUTDl/yc97ybGHMrteNEY6oekXpNpS3lZwgLlwz0FLgHoiW28ZpmBHUDg37cw==} + node-releases@1.1.77: + resolution: {integrity: sha512-rB1DUFUNAN4Gn9keO2K1efO35IDK7yKHCdCaIMvFO7yUYmmZYeDjnGKle26G4rwj+LKRQpjyUUvMkPglwGCYNQ==} + node-releases@2.0.36: resolution: {integrity: sha512-TdC8FSgHz8Mwtw9g5L4gR/Sh9XhSP/0DEkQxfEFXOpiul5IiHgHan2VhYYb6agDSfp4KuvltmGApc8HMgUrIkA==} @@ -18040,6 +19982,10 @@ packages: resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==} engines: {node: '>= 0.4'} + object.hasown@1.1.4: + resolution: {integrity: sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==} + engines: {node: '>= 0.4'} + object.values@1.2.1: resolution: {integrity: sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==} engines: {node: '>= 0.4'} @@ -18108,6 +20054,10 @@ packages: resolution: {integrity: sha512-Jd/GpzPyHF4P2/aNOVmS3lfMSWV9J7cOhCG1s08XCEAsPkB7lp6ddiU0J7XzyQRDUh8BqJ7PchfINjR8jyofRQ==} engines: {node: '>=4'} + opn@5.5.0: + resolution: {integrity: sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==} + engines: {node: '>=4'} + optionator@0.8.3: resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==} engines: {node: '>= 0.8.0'} @@ -18134,6 +20084,9 @@ packages: original@1.0.2: resolution: {integrity: sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==} + os-browserify@0.3.0: + resolution: {integrity: sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==} + os-homedir@1.0.2: resolution: {integrity: sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==} engines: {node: '>=0.10.0'} @@ -18157,6 +20110,9 @@ packages: outvariant@1.4.0: resolution: {integrity: sha512-AlWY719RF02ujitly7Kk/0QlV+pXGFDHrHf9O2OKqyqgBieaPOIeuSkL8sRK6j2WK+/ZAURq2kZsY0d8JapUiw==} + overlayscrollbars@1.13.3: + resolution: {integrity: sha512-1nB/B5kaakJuHXaLXLRK0bUIilWhUGT6q5g+l2s5vqYdLle/sd0kscBHkQC1kuuDg9p9WR4MTdySDOPbeL/86g==} + own-keys@1.0.1: resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==} engines: {node: '>= 0.4'} @@ -18310,6 +20266,10 @@ packages: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} + parse-asn1@5.1.9: + resolution: {integrity: sha512-fIYNuZ/HastSb80baGOuPRo1O9cf4baWw5WsAp7dBuUzeTD/BoaG8sVTdlPFksBE2lF21dN+A1AnrpIjSWqHHg==} + engines: {node: '>= 0.10'} + parse-entities@2.0.0: resolution: {integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==} @@ -18367,6 +20327,9 @@ packages: pascal-case@3.1.2: resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} + path-browserify@0.0.1: + resolution: {integrity: sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==} + path-browserify@1.0.1: resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} @@ -18435,6 +20398,10 @@ packages: resolution: {integrity: sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg==} engines: {node: '>=0.10.0'} + path-type@2.0.0: + resolution: {integrity: sha512-dUnb5dXUf+kzhC/W/F4e5/SkluXIFf5VUHolW1Eg1irn1hGWjPGdsRcvYJ1nD6lhk8Ir7VM0bHJKsYTx8Jx9OQ==} + engines: {node: '>=4'} + path-type@3.0.0: resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==} engines: {node: '>=4'} @@ -18471,14 +20438,17 @@ packages: resolution: {integrity: sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==} engines: {node: '>= 14.16'} + pbkdf2@3.1.5: + resolution: {integrity: sha512-Q3CG/cYvCO1ye4QKkuH7EXxs3VC/rI1/trd+qX2+PolbaKG0H+bgcZzrTt96mMyRtejk+JMCiLUn3y29W8qmFQ==} + engines: {node: '>= 0.10'} + + pdf-lib@1.17.1: + resolution: {integrity: sha512-V/mpyJAoTsN4cnP31vc0wfNA1+p20evqqnap0KLoRUN0Yk/p3wN52DOEsL4oBFcLdb76hlpKPtzJIgo67j/XLw==} + pdfjs-dist@4.8.69: resolution: {integrity: sha512-IHZsA4T7YElCKNNXtiLgqScw4zPd3pG9do8UrznC757gMd7UPeHSL2qwNNMJo4r79fl8oj1Xx+1nh2YkzdMpLQ==} engines: {node: '>=18'} - peek-readable@5.4.2: - resolution: {integrity: sha512-peBp3qZyuS6cNIJ2akRNG1uo1WJ1d0wTxg/fxMdZ0BqCVhx242bSFHM9eNqflfJVS9SsgkzgT/1UgnsurBOTMg==} - engines: {node: '>=14.16'} - peek-stream@1.1.3: resolution: {integrity: sha512-FhJ+YbOSBb9/rIl2ZeE/QHEsWn7PqNYt8ARAY3kIgNGOk13g9FGyIY6JIl/xB/3TFRVoTv5as0l11weORrTekA==} @@ -18564,6 +20534,10 @@ packages: pkg-types@1.3.1: resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} + pkg-up@3.1.0: + resolution: {integrity: sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==} + engines: {node: '>=8'} + pkijs@3.3.3: resolution: {integrity: sha512-+KD8hJtqQMYoTuL1bbGOqxb4z+nZkTAwVdNtWwe8Tc2xNbEmdJYIYoc6Qt0uF55e6YW6KuTHw1DjQ18gMhzepw==} engines: {node: '>=16.0.0'} @@ -18603,8 +20577,12 @@ packages: popmotion@11.0.3: resolution: {integrity: sha512-Y55FLdj3UxkR7Vl3s7Qr4e9m0onSnP8W7d/xQLsoJM40vs6UKHFdygs6SWryasTZYqugMjm3BepCF4CWXDiHgA==} - portfinder@1.0.38: - resolution: {integrity: sha512-rEwq/ZHlJIKw++XtLAO8PPuOQA/zaPJOZJ37BVuN97nLpMJeuDVLVGRwbFoBgLudgdTMP2hdRJP++H+8QOA3vg==} + portfinder@1.0.32: + resolution: {integrity: sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg==} + engines: {node: '>= 0.12.0'} + + portfinder@1.0.37: + resolution: {integrity: sha512-yuGIEjDAYnnOex9ddMnKZEMFE0CcGo6zbfzDklkmT1m5z734ss6JMzN9rNB3+RR7iS+F10D4/BVIaXOyh8PQKw==} engines: {node: '>= 10.12'} possible-typed-array-names@1.1.0: @@ -18750,8 +20728,8 @@ packages: postcss: ^7.0.0 || ^8.0.1 webpack: ^4.0.0 || ^5.0.0 - postcss-loader@8.2.1: - resolution: {integrity: sha512-k98jtRzthjj3f76MYTs9JTpRqV1RaaMhEU0Lpw9OTmQZQdppg4B30VZ74BojuBHt3F4KyubHJoXCMUeM8Bqeow==} + postcss-loader@8.1.1: + resolution: {integrity: sha512-0IeqyAsG6tYiDRCYKQJLAmgQr47DX6N7sFSWvQxt6AcupX8DIdmykuk/o/tx0Lze3ErGHJEp5OSRxrelC6+NdQ==} engines: {node: '>= 18.12.0'} peerDependencies: '@rspack/core': 0.x || ^1.0.0 || ^2.0.0-0 @@ -19034,8 +21012,12 @@ packages: resolution: {integrity: sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==} engines: {node: '>=6.0.0'} - postcss@8.5.8: - resolution: {integrity: sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg==} + postcss@8.5.3: + resolution: {integrity: sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==} + engines: {node: ^10 || ^12 || >=14} + + postcss@8.5.4: + resolution: {integrity: sha512-QSa9EBe+uwlGTFmHsPKokv3B/oEMQZxfqW0QqNCyhpa6mB1afzulwn8hihglqAb2pOw+BJgNlmXQ8la2VeHB7w==} engines: {node: ^10 || ^12 || >=14} powershell-utils@0.2.0: @@ -19073,6 +21055,11 @@ packages: engines: {node: '>=4'} hasBin: true + prettier@2.2.1: + resolution: {integrity: sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q==} + engines: {node: '>=10.13.0'} + hasBin: true + prettier@2.3.0: resolution: {integrity: sha512-kXtO4s0Lz/DW/IJ9QdWhAf7/NmPWQXkFr/r/WkR3vyI+0v8amTDxiaQSLzs8NBlytfLWX/7uQUMIW677yLKl4w==} engines: {node: '>=10.13.0'} @@ -19183,6 +21170,10 @@ packages: promise@8.0.1: resolution: {integrity: sha512-6NO4VAynZF2J958bGr+U5mPDwK5n7Vi/S0mCW7bke3bJmcALGjCywH8sl6a2eN+xIX6Q1exH2lmqyjR9PKTiwg==} + prompts@2.4.0: + resolution: {integrity: sha512-awZAKrk3vN6CroQukBL+R9051a4R3zCZBlJm/HBfrSZ8iTpYix3VX1vU4mveiLpiwmOJT4wokTF9m6HUk4KqWQ==} + engines: {node: '>= 6'} + prompts@2.4.2: resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} engines: {node: '>= 6'} @@ -19217,34 +21208,42 @@ packages: prosemirror-inputrules@1.5.1: resolution: {integrity: sha512-7wj4uMjKaXWAQ1CDgxNzNtR9AlsuwzHfdFH1ygEHA2KHF2DOEaXl1CJfNPAKCg9qNEh4rum975QLaCiQPyY6Fw==} - prosemirror-keymap@1.2.3: - resolution: {integrity: sha512-4HucRlpiLd1IPQQXNqeo81BGtkY8Ai5smHhKW9jjPKRc2wQIxksg7Hl1tTI2IfT2B/LgX6bfYvXxEpJl7aKYKw==} + prosemirror-keymap@1.2.2: + resolution: {integrity: sha512-EAlXoksqC6Vbocqc0GtzCruZEzYgrn+iiGnNjsJsH4mrnIGex4qbLdWWNza3AW5W36ZRrlBID0eM6bdKH4OStQ==} - prosemirror-markdown@1.13.4: - resolution: {integrity: sha512-D98dm4cQ3Hs6EmjK500TdAOew4Z03EV71ajEFiWra3Upr7diytJsjF4mPV2dW+eK5uNectiRj0xFxYI9NLXDbw==} + prosemirror-markdown@1.13.2: + resolution: {integrity: sha512-FPD9rHPdA9fqzNmIIDhhnYQ6WgNoSWX9StUZ8LEKapaXU9i6XgykaHKhp6XMyXlOWetmaFgGDS/nu/w9/vUc5g==} prosemirror-model@1.25.4: resolution: {integrity: sha512-PIM7E43PBxKce8OQeezAs9j4TP+5yDpZVbuurd1h5phUxEKIu+G2a+EUZzIC5nS1mJktDJWzbqS23n1tsAf5QA==} - prosemirror-schema-basic@1.2.4: - resolution: {integrity: sha512-ELxP4TlX3yr2v5rM7Sb70SqStq5NvI15c0j9j/gjsrO5vaw+fnnpovCLEGIcpeGfifkuqJwl4fon6b+KdrODYQ==} + prosemirror-schema-basic@1.2.2: + resolution: {integrity: sha512-/dT4JFEGyO7QnNTe9UaKUhjDXbTNkiWTq/N4VpKaF79bBjSExVV2NXmJpcM7z/gD7mbqNjxbmWW5nf1iNSSGnw==} prosemirror-schema-list@1.5.1: resolution: {integrity: sha512-927lFx/uwyQaGwJxLWCZRkjXG0p48KpMj6ueoYiu4JX05GGuGcgzAy62dfiV8eFZftgyBUvLx76RsMe20fJl+Q==} - prosemirror-state@1.4.4: - resolution: {integrity: sha512-6jiYHH2CIGbCfnxdHbXZ12gySFY/fz/ulZE333G6bPqIZ4F+TXo9ifiR86nAHpWnfoNjOb3o5ESi7J8Uz1jXHw==} + prosemirror-state@1.4.3: + resolution: {integrity: sha512-goFKORVbvPuAQaXhpbemJFRKJ2aixr+AZMGiquiqKxaucC6hlpHNZHWgz5R7dS4roHiwq9vDctE//CZ++o0W1Q==} prosemirror-transform@1.11.0: resolution: {integrity: sha512-4I7Ce4KpygXb9bkiPS3hTEk4dSHorfRw8uI0pE8IhxlK2GXsqv5tIA7JUSxtSu7u8APVOTtbUBxTmnHIxVkIJw==} - prosemirror-view@1.41.6: - resolution: {integrity: sha512-mxpcDG4hNQa/CPtzxjdlir5bJFDlm0/x5nGBbStB2BWX+XOQ9M8ekEG+ojqB5BcVu2Rc80/jssCMZzSstJuSYg==} + prosemirror-view@1.41.3: + resolution: {integrity: sha512-SqMiYMUQNNBP9kfPhLO8WXEk/fon47vc52FQsUiJzTBuyjKgEcoAwMyF04eQ4WZ2ArMn7+ReypYL60aKngbACQ==} + + protobufjs@7.2.5: + resolution: {integrity: sha512-gGXRSXvxQ7UiPgfw8gevrfRWcTlSbOFg+p/N+JVJEK5VhueL2miT6qTymqAmjr1Q5WbOCyJbyrk6JfWKwlFn6A==} + engines: {node: '>=12.0.0'} protobufjs@7.5.4: resolution: {integrity: sha512-CvexbZtbov6jW2eXAvLukXjXUW1TzFaivC46BpWc/3BpcCysb5Vffu+B3XHMm8lVEuy2Mm4XGex8hBSg1yapPg==} engines: {node: '>=12.0.0'} + protobufjs@8.0.0: + resolution: {integrity: sha512-jx6+sE9h/UryaCZhsJWbJtTEy47yXoGNYI4z8ZaRncM0zBKeRqjO2JEcOUYwrYGb1WLhXM1FfMzW3annvFv0rw==} + engines: {node: '>=12.0.0'} + proxy-addr@2.0.7: resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} engines: {node: '>= 0.10'} @@ -19264,6 +21263,12 @@ packages: psl@1.15.0: resolution: {integrity: sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w==} + public-encrypt@4.0.3: + resolution: {integrity: sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==} + + pump@1.0.3: + resolution: {integrity: sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==} + pump@2.0.1: resolution: {integrity: sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==} @@ -19320,18 +21325,19 @@ packages: resolution: {integrity: sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==} engines: {node: '>=0.6'} - qs@6.15.0: - resolution: {integrity: sha512-mAZTtNCeetKMH+pSjrb76NAM8V9a05I9aBZOHztWy/UqcJdQYNsf59vrRKWnojAT9Y+GbIvoTBC++CPHqpDBhQ==} - engines: {node: '>=0.6'} - - qs@6.5.5: - resolution: {integrity: sha512-mzR4sElr1bfCaPJe7m8ilJ6ZXdDaGoObcYR0ZHSsktM/Lt21MVHj5De30GQH2eiZ1qGRTO7LCAzQsUeXTNexWQ==} - engines: {node: '>=0.6'} - query-string@4.3.4: resolution: {integrity: sha512-O2XLNDBIg1DnTOa+2XrIwSiXEV8h2KImXUnjhhn2+UsvZ+Es2uyd5CCRTNQlDGbzUQOW3aYCBx9rVA6dzsiY7Q==} engines: {node: '>=0.10.0'} + querystring-es3@0.2.1: + resolution: {integrity: sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==} + engines: {node: '>=0.4.x'} + + querystring@0.2.1: + resolution: {integrity: sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg==} + engines: {node: '>=0.4.x'} + deprecated: The querystring API is considered Legacy. new code should use the URLSearchParams API instead. + querystringify@2.2.0: resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} @@ -19367,6 +21373,9 @@ packages: randombytes@2.1.0: resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + randomfill@1.0.4: + resolution: {integrity: sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==} + range-parser@1.2.0: resolution: {integrity: sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==} engines: {node: '>= 0.6'} @@ -19420,6 +21429,10 @@ packages: peerDependencies: react: ^15.3.0 || 16 || 17 || 18 + react-dev-utils@11.0.4: + resolution: {integrity: sha512-dx0LvIGHcOPtKbeiSUM4jqpBl3TcY7CDjZdfOIcKeznE7BWr9dg0iPG90G5yfVQ+p/rGNMXdbfStvzQZEVEi4A==} + engines: {node: '>=10'} + react-dev-utils@5.0.3: resolution: {integrity: sha512-Mvs6ofsc2xTjeZIrMaIfbXfsPVrbdVy/cVqq6SAacnqfMlcBpDuivhWZ1ODGeJ8HgmyWTLH971PYjj/EPCDVAw==} engines: {node: '>=6'} @@ -19474,6 +21487,12 @@ packages: peerDependencies: react: ^19.1.0 + react-draggable@4.5.0: + resolution: {integrity: sha512-VC+HBLEZ0XJxnOxVAZsdRi8rD04Iz3SiiKOoYzamjylUcju/hP9np/aZdLHf/7WOD268WMoNJMvYfB5yAK45cw==} + peerDependencies: + react: '>= 16.3.0' + react-dom: '>= 16.3.0' + react-element-to-jsx-string@14.3.4: resolution: {integrity: sha512-t4ZwvV6vwNxzujDQ+37bspnLwA4JlgUPWhLjBJWsNIDceAf6ZKUTCjdm08cN6WeZ5pTMKiCJkmAYnpmR4Bm+dg==} peerDependencies: @@ -19492,19 +21511,25 @@ packages: peerDependencies: react: '>=16.13.1' - react-error-boundary@6.0.3: - resolution: {integrity: sha512-5guqn2UYpCFjE8UDMA8J7Kke+YSGBFrKQRJb3XdcaGZXYINZfQXgBt3ifY6MvjkN7QROc5A8zclyoSCwrcRUKw==} + react-error-boundary@6.0.0: + resolution: {integrity: sha512-gdlJjD7NWr0IfkPlaREN2d9uUZUlksrfOx7SX62VRerwXbMY6ftGCIZua1VG1aXFNOimhISsTq+Owp725b9SiA==} peerDependencies: - react: ^18.0.0 || ^19.0.0 + react: '>=16.13.1' react-error-overlay@4.0.1: resolution: {integrity: sha512-xXUbDAZkU08aAkjtUvldqbvI04ogv+a1XdHxvYuHPYKIVk/42BIOD0zSKTHAWV4+gDy3yGm283z2072rA2gdtw==} - react-hook-form@7.56.3: - resolution: {integrity: sha512-IK18V6GVbab4TAo1/cz3kqajxbDPGofdF0w7VHdCo0Nt8PrPlOZcuuDq9YYIV1BtjcX78x0XsldbQRQnQXWXmw==} - engines: {node: '>=18.0.0'} + react-error-overlay@6.1.0: + resolution: {integrity: sha512-SN/U6Ytxf1QGkw/9ve5Y+NxBbZM6Ht95tuXNMKs8EJyFa/Vy/+Co3stop3KBHARfn/giv+Lj1uUnTfOJ3moFEQ==} + + react-fast-compare@3.2.2: + resolution: {integrity: sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==} + + react-helmet-async@1.3.0: + resolution: {integrity: sha512-9jZ57/dAn9t3q6hneQS0wukqC2ENOBgMNVEhb/ZG9ZSxUetzVIw4iAmEU38IaVg3QGYauQPhSeUTuIUtFglWpg==} peerDependencies: - react: ^16.8.0 || ^17 || ^18 || ^19 + react: ^16.6.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.6.0 || ^17.0.0 || ^18.0.0 react-hook-form@7.56.4: resolution: {integrity: sha512-Rob7Ftz2vyZ/ZGsQZPaRdIefkgOSrQSPXfqBdvOPwJfoGnjwRJUs7EM7Kc1mcoDv3NOtqBzPGbcMB8CGn9CKgw==} @@ -19556,8 +21581,8 @@ packages: peerDependencies: react: ^16.8.4 || ^17.0.0 || ^18.0.0 - react-intl@7.1.14: - resolution: {integrity: sha512-VE/0Wi/lHJlBC7APQpCzLUdIt3GB5B0GZrRW8Q+ACbkHI4j+Wwgg9J1TniN6zmLHmPH5gxXcMy+fkSPfw5p1WQ==} + react-intl@7.1.11: + resolution: {integrity: sha512-tnVoRCWvW5Ie2ikYSdPF7z3+880yCe/9xPmitFeRPw3RYDcCfR4m8ZYa4MBq19W4adt9Z+PQA4FaMBCJ7E+HCQ==} peerDependencies: react: 16 || 17 || 18 || 19 typescript: ^5.6.0 @@ -19600,14 +21625,26 @@ packages: peerDependencies: react: '>=15.0.0' + react-lottie@1.2.3: + resolution: {integrity: sha512-qLCERxUr8M+4mm1LU0Ruxw5Y5Fn/OmYkGfnA+JDM/dZb3oKwVAJCjwnjkj9TMHtzR2U6sMEUD3ZZ1RaHagM7kA==} + engines: {npm: ^3.0.0} + peerDependencies: + react: ^0.14.7 || ^15.0.0 || ^16.0.0 + + react-lottie@1.2.4: + resolution: {integrity: sha512-kBGxI+MIZGBf4wZhNCWwHkMcVP+kbpmrLWH/SkO0qCKc7D7eSPcxQbfpsmsCo8v2KCBYjuGSou+xTqK44D/jMg==} + engines: {npm: ^3.0.0} + peerDependencies: + react: '>=15.0.0' + react-markdown@10.1.0: resolution: {integrity: sha512-qKxVopLT/TyA6BX3Ue5NwabOsAzm0Q7kAPwq6L+wWDwisYs7R8vZ0nRXqq6rkueboxpkjvLGU9fWifiX/ZZFxQ==} peerDependencies: '@types/react': '>=18' react: '>=18' - react-markdown@9.0.3: - resolution: {integrity: sha512-Yk7Z94dbgYTOrdk41Z74GoKA7rThnsbbqBTRYuxoe08qvfQ9tJVhmAKw6BJS/ZORG7kTy/s1QvYzSuaoBA1qfw==} + react-markdown@9.0.1: + resolution: {integrity: sha512-186Gw/vF1uRkydbsOIkcGXw7aHq0sZOCRFFjGrr7b9+nVZg4UfA4enXCaxm4fUzecU38sWfrNDitGhshuU7rdg==} peerDependencies: '@types/react': '>=18' react: '>=18' @@ -19629,6 +21666,19 @@ packages: '@types/react': optional: true + react-popper-tooltip@3.1.1: + resolution: {integrity: sha512-EnERAnnKRptQBJyaee5GJScWNUKQPDD2ywvzZyUjst/wj5U64C8/CnSYLNEmP2hG0IJ3ZhtDxE8oDN+KOyavXQ==} + peerDependencies: + react: ^16.6.0 || ^17.0.0 + react-dom: ^16.6.0 || ^17.0.0 + + react-popper@2.3.0: + resolution: {integrity: sha512-e1hj8lL3uM+sgSR4Lxzn5h1GxBlpa4CQz0XLF8kx4MDrDRWY0Ena4c97PUeSX9i5W3UAfDP0z0FXCTQkoXUl3Q==} + peerDependencies: + '@popperjs/core': ^2.0.0 + react: ^16.8.0 || ^17 || ^18 + react-dom: ^16.8.0 || ^17 || ^18 + react-redux@9.2.0: resolution: {integrity: sha512-ROY9fvHhwOD9ySfrF0wmvu//bKCQ6AeZZq1nJNtbDC+kk5DuSuNX/n6YWYF/SYy7bSba4D4FSz8DJeKY/S/r+g==} peerDependencies: @@ -19645,6 +21695,10 @@ packages: resolution: {integrity: sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==} engines: {node: '>=0.10.0'} + react-refresh@0.8.3: + resolution: {integrity: sha512-X8jZHc7nCMjaCqoU+V2I0cOhNW+QMBwSUkeXnTi8IPe6zaRWfn60ZzvFDZqWPfmSJfjub7dDW1SP0jaHWLu/hg==} + engines: {node: '>=0.10.0'} + react-remove-scroll-bar@2.3.8: resolution: {integrity: sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==} engines: {node: '>=10'} @@ -19682,12 +21736,20 @@ packages: peerDependencies: typescript: 3.x.x + react-shallow-renderer@16.15.0: + resolution: {integrity: sha512-oScf2FqQ9LFVQgA73vr86xl2NaOIX73rh+YFqcOp68CWj56tSfgtGKrEbyhCj0rSijyG9M1CYprTh39fBi5hzA==} + peerDependencies: + react: ^16.0.0 || ^17.0.0 || ^18.0.0 + react-simple-code-editor@0.14.1: resolution: {integrity: sha512-BR5DtNRy+AswWJECyA17qhUDvrrCZ6zXOCfkQY5zSmb96BVUbpVAv03WpcjcwtCwiLbIANx3gebHOcXYn1EHow==} peerDependencies: react: '>=16.8.0' react-dom: '>=16.8.0' + react-sizeme@3.0.2: + resolution: {integrity: sha512-xOIAOqqSSmKlKFJLO3inBQBdymzDuXx4iuwkNcJmC96jeiOg5ojByvL+g3MW9LPEsojLbC6pf68zOfobK8IPlw==} + react-split-pane@0.1.92: resolution: {integrity: sha512-GfXP1xSzLMcLJI5BM36Vh7GgZBpy+U/X0no+VM3fxayv+p1Jly5HpMofZJraeaMl73b3hvlr+N9zJKvLB/uz9w==} peerDependencies: @@ -19707,15 +21769,25 @@ packages: '@types/react': optional: true - react-syntax-highlighter@15.6.6: - resolution: {integrity: sha512-DgXrc+AZF47+HvAPEmn7Ua/1p10jNoVZVI/LoPiYdtY+OM+/nG5yefLHKJwdKqY1adMuHFbeyBaG9j64ML7vTw==} + react-syntax-highlighter@13.5.3: + resolution: {integrity: sha512-crPaF+QGPeHNIblxxCdf2Lg936NAHKhNhuMzRL3F9ct6aYXL3NcZtCL0Rms9+qVo6Y1EQLdXGypBNSbPL/r+qg==} + peerDependencies: + react: '>= 0.14.0' + + react-syntax-highlighter@15.6.1: + resolution: {integrity: sha512-OqJ2/vL7lEeV5zTJyG7kmARppUjiB9h9udl4qHQjjgEos66z00Ia0OckwYfRxCSFrW8RJIBnsBwQsHZbVPspqg==} peerDependencies: react: '>= 0.14.0' - react-test-renderer@19.1.5: - resolution: {integrity: sha512-V+ZFUbqCiXshpb1JIqs/XLukYXvpvUGTy0syzKajbzAh1fMIAaz0x6d1I3kzCYGgBzr8FtFYnlllg1/6WimbZA==} + react-test-renderer@18.3.0: + resolution: {integrity: sha512-eFnJU8sSYq9I6VI8ISrXDm+7F0igeFlTc0Ngq2XCkVasR5AsyJRg8SuwcD9D5E+VvDS2NrYGZ+gKpO43/wIDHw==} peerDependencies: - react: ^19.1.5 + react: ^18.3.0 + + react-test-renderer@19.1.0: + resolution: {integrity: sha512-jXkSl3CpvPYEF+p/eGDLB4sPoDX8pKkYvRl9+rR8HxLY0X04vW7hCm1/0zHoUSjPZ3bDa+wXWNTDVIw/R8aDVw==} + peerDependencies: + react: ^19.1.0 react-textarea-autosize@8.5.9: resolution: {integrity: sha512-U1DGlIQN5AwgjTyOEnI1oCcMuEr1pv1qOtklB2l4nyMGbHzWrI0eFsYK0zos2YWqAolJyG0IWJaqWmWj5ETh0A==} @@ -19749,6 +21821,10 @@ packages: resolution: {integrity: sha512-WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A==} engines: {node: '>=0.10.0'} + read-pkg-up@2.0.0: + resolution: {integrity: sha512-1orxQfbWGUiTn9XsPlChs6rLie/AV9jwZTGmu2NZw/CUDJQchXJFYE0Fq5j7+n558T1JhDWLdhyd1Zj+wLY//w==} + engines: {node: '>=4'} + read-pkg-up@7.0.1: resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} engines: {node: '>=8'} @@ -19761,6 +21837,10 @@ packages: resolution: {integrity: sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ==} engines: {node: '>=0.10.0'} + read-pkg@2.0.0: + resolution: {integrity: sha512-eFIBOPW7FGjzBuk3hdXEuNSiTZS/xEMlH49HxMyzb0hyPfu4EhVjT2DH32K1hSSmVq4sebAWnZuuY5auISUTGA==} + engines: {node: '>=4'} + read-pkg@5.2.0: resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} engines: {node: '>=8'} @@ -19793,14 +21873,6 @@ packages: resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} engines: {node: '>= 6'} - readable-stream@4.7.0: - resolution: {integrity: sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - - readable-web-to-node-stream@3.0.4: - resolution: {integrity: sha512-9nX56alTf5bwXQ3ZDipHJhusu9NTQJ/CVPtb/XHAJCXihZeitfJvIRS4GqQ/mfIoOE3IelHMrpayVrosdHBuLw==} - engines: {node: '>=8'} - readdirp@2.2.1: resolution: {integrity: sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==} engines: {node: '>=0.10'} @@ -19837,6 +21909,10 @@ packages: resolution: {integrity: sha512-BKWLxPZb4B07G/4LzyzsHaw24fC41/tL7LrECr1//X9ykRhmxlYgyl7G7X+6A7nvJyOGE/ED7refqmSGORVYqQ==} engines: {node: '>=0.10.0'} + recursive-readdir@2.2.2: + resolution: {integrity: sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg==} + engines: {node: '>=0.10.0'} + redent@1.0.0: resolution: {integrity: sha512-qtW5hKzGQZqKoh6JNSD+4lfitfPKGz42e6QwiRmPM5mmKtR0N41AbJRYu0xJi7nhOJ4WDgRkKvAk6tw4WIwR4g==} engines: {node: '>=0.10.0'} @@ -19928,8 +22004,11 @@ packages: resolution: {integrity: sha512-NZQZdC5wOE/H3UT28fVGL+ikOZcEzfMGk/c3iN9UGxzWHMa1op7274oyiUVrAG4B2EuFhus8SvkaYnhvW92p9Q==} hasBin: true - rehype-raw@6.1.1: - resolution: {integrity: sha512-d6AKtisSRtDRX4aSPsJGTfnzrX2ZkHQLE5kiUuGOeEoLpbEulFF4hj0mLPbsa+7vmguDKOVVEQdHKDSwoaIDsQ==} + rehype-katex@7.0.1: + resolution: {integrity: sha512-OiM2wrZ/wuhKkigASodFoo8wimG3H12LWQaH8qSPVJn9apWKFSH3YOCtbKpBorTVw/eI7cuT21XBbvwEswbIOA==} + + rehype-raw@6.1.0: + resolution: {integrity: sha512-12j2UiiYJgZFdjnHDny77NY5BF3eW4Jsl0vtgL1DWdTzcHjPpbhumU+GtPUdivEWwQc8x9OdEuO0oxaGz7Tvyg==} rehype-raw@7.0.0: resolution: {integrity: sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==} @@ -19954,6 +22033,9 @@ packages: remark-gfm@4.0.1: resolution: {integrity: sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==} + remark-math@6.0.0: + resolution: {integrity: sha512-MMqgnP74Igy+S3WwnhQ7kqGlEerTETXMvJhrUzDikVZ2/uogJCb+WHUg97hK9/jcfc0dkD73s3LN8zU49cTEtA==} + remark-mdx@1.6.22: resolution: {integrity: sha512-phMHBJgeV76uyFkH4rvzCftLfKCr2RZuF+/gmVcaKrpsihyzmhXjA0BEMDaPTXG5y8qZOKPVo83NAOX01LPnOQ==} @@ -20027,6 +22109,10 @@ packages: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} + require-in-the-middle@8.0.1: + resolution: {integrity: sha512-QT7FVMXfWOYFbeRBF6nu+I6tr2Tf3u0q8RIEjNob/heKY/nh7drD/k7eeMFmSQgnTtCzLDcCu/XEnpW2wk4xCQ==} + engines: {node: '>=9.3.0 || >=8.10.0 <9.0.0'} + require-main-filename@1.0.1: resolution: {integrity: sha512-IqSUtOVP4ksd1C/ej5zeEh/BIP2ajqpn8c5x+q99gvcIG/Qf0cud5raVnE/Dwd0ua9TXYDoDc0RE5hBSdz22Ug==} @@ -20049,6 +22135,10 @@ packages: resolve-alpn@1.2.1: resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} + resolve-cwd@2.0.0: + resolution: {integrity: sha512-ccu8zQTrzVr954472aUVPLEcB3YpKSYR3cg/3lo1okzobPBM+1INXBbBZlDbnI/hbEocnf8j0QVo43hQKrbchg==} + engines: {node: '>=4'} + resolve-cwd@3.0.0: resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} engines: {node: '>=8'} @@ -20057,6 +22147,10 @@ packages: resolution: {integrity: sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==} engines: {node: '>=0.10.0'} + resolve-from@3.0.0: + resolution: {integrity: sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==} + engines: {node: '>=4'} + resolve-from@4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} @@ -20126,6 +22220,10 @@ packages: rfdc@1.4.1: resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} + right-align@0.1.3: + resolution: {integrity: sha512-yqINtL/G7vs2v+dFIZmFUDbnVyFUJFKd6gK22Kgo6R4jfJGFtisKyncWDDULgjfqf4ASQuIQyjJ7XZ+3aWpsAg==} + engines: {node: '>=0.10.0'} + rimraf@2.6.3: resolution: {integrity: sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==} deprecated: Rimraf versions prior to v4 are no longer supported @@ -20141,8 +22239,9 @@ packages: deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true - rimraf@5.0.10: - resolution: {integrity: sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==} + rimraf@5.0.5: + resolution: {integrity: sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A==} + engines: {node: '>=14'} hasBin: true rimraf@6.0.1: @@ -20150,6 +22249,10 @@ packages: engines: {node: 20 || >=22} hasBin: true + ripemd160@2.0.3: + resolution: {integrity: sha512-5Di9UC0+8h1L6ZD2d7awM7E/T4uA1fJRlx6zk/NvdCCVEoAnFqvHmCuNeIKoCeIixBX/q8uM+6ycDvF8woqosA==} + engines: {node: '>= 0.8'} + rollup-plugin-import-css@3.5.8: resolution: {integrity: sha512-a3YsZnwHz66mRHCKHjaPCSfWczczvS/HTkgDc+Eogn0mt/0JZXz0WjK0fzM5WwBpVtOqHB4/gHdmEY40ILsaVg==} engines: {node: '>=16'} @@ -20211,8 +22314,8 @@ packages: resolution: {integrity: sha512-/2HA0Ec70TvQnXdzynFffkjA6XN+1e2pEv/uKS5Ulca40g2L7KuOE3riasHoNVHOsFD5KKZgDsMk1CP3Tw9s+A==} hasBin: true - rollup@4.59.0: - resolution: {integrity: sha512-2oMpl67a3zCH9H79LeMcbDhXW/UmWG/y2zuqnF2jQq5uq9TbM9TVyXvA4+t+ne2IIkBdrLpAaRQAvo7YI/Yyeg==} + rollup@4.41.0: + resolution: {integrity: sha512-HqMFpUbWlf/tvcxBFNKnJyzc7Lk+XO3FGc3pbNBLqEbOz0gPLRgcrlS3UF4MfUrVlstOaP/q0kM6GVvi+LrLRg==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -20301,12 +22404,12 @@ packages: sanitize-filename@1.6.3: resolution: {integrity: sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg==} - sass-loader@13.3.3: - resolution: {integrity: sha512-mt5YN2F1MOZr3d/wBRcZxeFgwgkH44wVc2zohO2YF6JiOMkiXe4BYRZpSu2sO1g71mo/j16txzUhsKZlqjVGzA==} + sass-loader@13.2.0: + resolution: {integrity: sha512-JWEp48djQA4nbZxmgC02/Wh0eroSUutulROUusYJO9P9zltRbNN80JCBHqRGzjd4cmZCa/r88xgfkjGD0TXsHg==} engines: {node: '>= 14.15.0'} peerDependencies: fibers: '>= 3.1.0' - node-sass: ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 + node-sass: ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 sass: ^1.3.0 sass-embedded: '*' webpack: ^5.0.0 @@ -20320,11 +22423,11 @@ packages: sass-embedded: optional: true - sass-loader@16.0.7: - resolution: {integrity: sha512-w6q+fRHourZ+e+xA1kcsF27iGM6jdB8teexYCfdUw0sYgcDNeZESnDNT9sUmmPm3ooziwUJXGwZJSTF3kOdBfA==} + sass-loader@16.0.5: + resolution: {integrity: sha512-oL+CMBXrj6BZ/zOq4os+UECPL+bWqt6OAC6DWS8Ln8GZRcMDjlJ4JC3FBDuHJdYaFWIdKNIBYmtZtK2MaMkNIw==} engines: {node: '>= 18.12.0'} peerDependencies: - '@rspack/core': 0.x || ^1.0.0 || ^2.0.0-0 + '@rspack/core': 0.x || 1.x node-sass: ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 sass: ^1.3.0 sass-embedded: '*' @@ -20341,8 +22444,8 @@ packages: webpack: optional: true - sass@1.98.0: - resolution: {integrity: sha512-+4N/u9dZ4PrgzGgPlKnaaRQx64RO0JBKs9sDhQ2pLgN6JQZ25uPQZKQYaBJU48Kd5BxgXoJ4e09Dq7nMcOUW3A==} + sass@1.89.0: + resolution: {integrity: sha512-ld+kQU8YTdGNjOLfRWBzewJpU5cwEv/h5yyqlSeJcj6Yh8U4TDA9UA5FPicqDz/xgRPWRSYIQNiFks21TbA9KQ==} engines: {node: '>=14.0.0'} hasBin: true @@ -20375,6 +22478,10 @@ packages: resolution: {integrity: sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==} engines: {node: '>= 4'} + schema-utils@1.0.0: + resolution: {integrity: sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==} + engines: {node: '>= 4'} + schema-utils@2.7.0: resolution: {integrity: sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==} engines: {node: '>= 8.9.0'} @@ -20406,6 +22513,9 @@ packages: resolution: {integrity: sha512-1XxuKVhr9az24xwixPBEDGSZP+P0z3ZOnCmr9Oiep0MlJN2Mk+flIjD3iBS9BgyjS4g14dikMqnrYUPIjhQBhA==} engines: {node: '>= 20.0.0'} + selfsigned@1.10.14: + resolution: {integrity: sha512-lkjaiAye+wBZDCBsu5BGi0XiLRxeUlsGod5ZP924CRSEoGuZAw/f7y9RKu28rwTfiHVhdavhB0qH0INV6P1lEA==} + selfsigned@5.5.0: resolution: {integrity: sha512-ftnu3TW4+3eBfLRFnDEkzGxSF/10BJBkaLJuBHZX0kiPS7bRdlpZGu6YGt4KngMkdTwJE6MbjavFpqHvqVt+Ew==} engines: {node: '>=18'} @@ -20443,8 +22553,8 @@ packages: resolution: {integrity: sha512-3NnuWfM6vBYoy5gZFvHiYsVbafvI9vZv/+jlIigFn4oP4zjNPK3LhcY0xSCgeb1a5L8jO71Mit9LlNoi2UfDDQ==} engines: {node: '>=10'} - serialize-javascript@7.0.4: - resolution: {integrity: sha512-DuGdB+Po43Q5Jxwpzt1lhyFSYKryqoNjQSA9M92tyw0lyHIOur+XCalOUe0KTJpyqzT8+fQ5A0Jf7vCx/NKmIg==} + serialize-javascript@7.0.3: + resolution: {integrity: sha512-h+cZ/XXarqDgCjo+YSyQU/ulDEESGGf8AMK9pPNmhNSl/FzPl6L8pMp1leca5z6NuG6tvV/auC8/43tmovowww==} engines: {node: '>=20.0.0'} serve-favicon@2.5.1: @@ -20528,6 +22638,9 @@ packages: shell-quote@1.6.1: resolution: {integrity: sha512-V0iQEZ/uoem3NmD91rD8XiuozJnq9/ZJnbHVXHnWqP1ucAhS3yJ7sLIIzEi57wFFcK3oi3kFUC46uSyWr35mxg==} + shell-quote@1.7.2: + resolution: {integrity: sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==} + shell-quote@1.8.3: resolution: {integrity: sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==} engines: {node: '>= 0.4'} @@ -20608,6 +22721,10 @@ packages: resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} engines: {node: '>=10'} + slice-ansi@5.0.0: + resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} + engines: {node: '>=12'} + slice-ansi@7.1.2: resolution: {integrity: sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==} engines: {node: '>=18'} @@ -20627,6 +22744,9 @@ packages: sockjs-client@1.1.5: resolution: {integrity: sha512-PmPRkAYIeuRgX+ZSieViT4Z3Q23bLS2Itm/ck1tSf5P0/yVuFDiI5q9mcnpXoMdToaPSRS9MEyUx/aaBxrFzyw==} + sockjs@0.3.19: + resolution: {integrity: sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw==} + sockjs@0.3.24: resolution: {integrity: sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==} @@ -20656,8 +22776,8 @@ packages: resolution: {integrity: sha512-OU6UJUty+i2JDpTItnizPrlpOIBLmQbWMuBg9q5bVtnHACqw1tn9nNwqJLbv0/00JjnJb/Ee5g5WS5vrRv7zIQ==} engines: {node: '>= 6'} - source-map-loader@4.0.2: - resolution: {integrity: sha512-oYwAqCuL0OZhBoSgmdrLa7mv9MjommVMiQIWgcztf+eS4+8BfcUee6nenFnDhKOhzAVnk5gpZdfnz1iiBv+5sg==} + source-map-loader@4.0.1: + resolution: {integrity: sha512-oqXpzDIByKONVY8g1NUPOTQhe0UTU5bWUl32GSkqK2LjJj0HmwTMVKxcUip0RgAYhY1mqgOxjbQM48a0mmeNfA==} engines: {node: '>= 14.15.0'} peerDependencies: webpack: ^5.72.1 @@ -20726,9 +22846,16 @@ packages: spdx-license-ids@3.0.23: resolution: {integrity: sha512-CWLcCCH7VLu13TgOH+r8p1O/Znwhqv/dbb6lqWy67G+pT1kHmeD/+V36AVb/vq8QMIQwVShJ6Ssl5FPh0fuSdw==} + spdy-transport@2.1.1: + resolution: {integrity: sha512-q7D8c148escoB3Z7ySCASadkegMmUZW8Wb/Q1u0/XBgDKMO880rLQDj8Twiew/tYi7ghemKUi/whSYOwE17f5Q==} + spdy-transport@3.0.0: resolution: {integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==} + spdy@3.4.7: + resolution: {integrity: sha512-jEvgkLRpMza5GON0oDzvLTLMAVfB5BxeOPbsWyisEyE8IbxL6cCiKbr8xrJdScs6XoOUp7pQy4PI+GVczHbO4w==} + engines: {'0': node >= 0.7.0} + spdy@4.0.2: resolution: {integrity: sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==} engines: {node: '>=6.0.0'} @@ -20744,6 +22871,9 @@ packages: ssri@5.3.0: resolution: {integrity: sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==} + ssri@6.0.2: + resolution: {integrity: sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==} + ssri@8.0.1: resolution: {integrity: sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==} engines: {node: '>= 8'} @@ -20814,8 +22944,17 @@ packages: store2@2.14.4: resolution: {integrity: sha512-srTItn1GOvyvOycgxjAnPA63FZNwy0PTyUBFMHRM+hVFltAeoh0LmNBz9SZqUS9mMqGk8rfyWyXn3GH5ReJ8Zw==} - storybook@8.6.18: - resolution: {integrity: sha512-p8seiSI6FiVY6P3V0pG+5v7c8pDMehMAFRWEhG5XqIBSQszzOjDnW2rNvm3odoLKfo3V3P6Cs6Hv9ILzymULyQ==} + storybook@8.6.13: + resolution: {integrity: sha512-RUPf8PHQcaK6k6/jyE0yyUbhQoghxoemvs4mQ75Wl0sZ36JF4TiLvW+618++6eTOwxe+oIu2EUavkaNQTn8xnw==} + hasBin: true + peerDependencies: + prettier: ^2 || ^3 + peerDependenciesMeta: + prettier: + optional: true + + storybook@8.6.14: + resolution: {integrity: sha512-sVKbCj/OTx67jhmauhxc2dcr1P+yOgz/x3h0krwjyMgdc5Oubvxyg4NYDZmzAw+ym36g/lzH8N0Ccp4dwtdfxw==} hasBin: true peerDependencies: prettier: ^2 || ^3 @@ -20823,9 +22962,15 @@ packages: prettier: optional: true + stream-browserify@2.0.2: + resolution: {integrity: sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==} + stream-each@1.2.3: resolution: {integrity: sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==} + stream-http@2.8.3: + resolution: {integrity: sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==} + stream-shift@1.0.3: resolution: {integrity: sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==} @@ -20833,9 +22978,6 @@ packages: resolution: {integrity: sha512-KFxaM7XT+irxvdqSP1LGLgNWbYN7ay5owZ3r/8t77p+EtSUAfUgtl7be3xtqtOmGUl9K9YPO2ca8133RlTjvKw==} engines: {node: '>=8.0'} - streamx@2.23.0: - resolution: {integrity: sha512-kn+e44esVfn2Fa/O0CPFcex27fjIL6MkVae0Mm6q+E6f0hWv578YCERbv+4m02cjxvDsPKLnmxral/rR6lBMAg==} - strict-event-emitter@0.4.6: resolution: {integrity: sha512-12KWeb+wixJohmnwNFerbyiBrAlq5qJLwIt38etRtKtmmHyDSoGlIqFE9wx+4IwG0aDjI7GV8tc8ZccjWZZtTg==} @@ -20882,10 +23024,6 @@ packages: resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} engines: {node: '>=18'} - string-width@8.2.0: - resolution: {integrity: sha512-6hJPQ8N0V0P3SNmP6h2J99RLuzrWz2gvT7VnK5tKvrNqJoyS9W4/Fb8mo31UiPvy00z7DQXkP2hnKBVav76thw==} - engines: {node: '>=20'} - string.fromcodepoint@0.2.1: resolution: {integrity: sha512-n69H31OnxSGSZyZbgBlvYIXlrMhJQ0dQAX1js1QDhpaUH6zmU3QYlj07bCwCNlPOu3oRXIubGPl2gDGnHsiCqg==} @@ -20947,6 +23085,10 @@ packages: resolution: {integrity: sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==} engines: {node: '>=6'} + strip-ansi@6.0.0: + resolution: {integrity: sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==} + engines: {node: '>=8'} + strip-ansi@6.0.1: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} @@ -21011,9 +23153,9 @@ packages: strnum@2.2.0: resolution: {integrity: sha512-Y7Bj8XyJxnPAORMZj/xltsfo55uOiyHcU2tnAVzHUnSJR/KsEX+9RoDeXEnsXtl/CX4fAcrt64gZ13aGaWPeBg==} - strtok3@7.1.1: - resolution: {integrity: sha512-mKX8HA/cdBqMKUr0MMZAFssCkIGoZeSCMXgnt79yKxNFguMLVFgRe6wB+fsL0NmoHDbeyZXczy7vEPSoo3rkzg==} - engines: {node: '>=16'} + strtok3@10.3.4: + resolution: {integrity: sha512-KIy5nylvC5le1OdaaoCJ07L+8iQzJHGH6pWDuzS+d07Cu7n1MZ2x26P8ZKIWfbK02+XIL8Mp4RkWeqdUCrDMfg==} + engines: {node: '>=18'} structured-source@4.0.0: resolution: {integrity: sha512-qGzRFNJDjFieQkl/sVOI2dUjHKRyL9dAJi2gCPGJLbJHBIkyOHxjuocpIEfbLioX+qSJpvbYdT49/YCdMznKxA==} @@ -21082,8 +23224,8 @@ packages: peerDependencies: stylelint: ^16.18.0 - stylelint@16.26.1: - resolution: {integrity: sha512-v20V59/crfc8sVTAtge0mdafI3AdnzQ2KsWe6v523L4OA1bJO02S7MO2oyXDCS6iWb9ckIPnqAFVItqSBQr7jw==} + stylelint@16.19.1: + resolution: {integrity: sha512-C1SlPZNMKl+d/C867ZdCRthrS+6KuZ3AoGW113RZCOL0M8xOGpgx7G70wq7lFvqvm4dcfdGFVLB/mNaLFChRKw==} engines: {node: '>=18.12.0'} hasBin: true @@ -21110,6 +23252,10 @@ packages: resolution: {integrity: sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A==} engines: {node: '>=0.8.0'} + supports-color@4.5.0: + resolution: {integrity: sha512-ycQR/UbvI9xIlEdQT1TQqwoXtEldExbCEAJgRo5YXlmSKjv6ThHnP9/vwGa1gr19Gfw+LkFd7KqYMhzrRC5JYw==} + engines: {node: '>=4'} + supports-color@5.5.0: resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} engines: {node: '>=4'} @@ -21260,8 +23406,8 @@ packages: engines: {node: '>=14.0.0'} hasBin: true - tailwindcss@4.2.1: - resolution: {integrity: sha512-/tBrSQ36vCleJkAOsy9kbNTgaxvGbyOamC30PRePTQe/o1MFwEKHQk4Cn7BNGaPtjp+PuUrByJehM1hgxfq4sw==} + tailwindcss@4.1.7: + resolution: {integrity: sha512-kr1o/ErIdNhTz8uzAYL7TpaUuzKIE6QPQ4qmSdxnoX/lo+5wmUHQA6h3L5yIqEImSRnAAURDirLu/BgiXGPAhg==} tapable@0.2.9: resolution: {integrity: sha512-2wsvQ+4GwBvLPLWsNfLCDYGsW6xb7aeC6utq2Qh0PFwgEy7K7dsma9Jsmb2zSQj7GvYAyUGSntLtsv++GmgL1A==} @@ -21275,11 +23421,19 @@ packages: resolution: {integrity: sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==} engines: {node: '>=6'} - tar-fs@3.1.1: - resolution: {integrity: sha512-LZA0oaPOc2fVo82Txf3gw+AkEd38szODlptMYejQUhndHMLQ9M059uXR+AfS7DNo0NpINvSqDsvyaCrBVkptWg==} + tar-fs@1.16.6: + resolution: {integrity: sha512-JkOgFt3FxM/2v2CNpAVHqMW2QASjc/Hxo7IGfNd3MHaDYSW/sBFiS7YVmmhmr8x6vwN1VFQDQGdT2MWpmIuVKA==} - tar-stream@3.1.8: - resolution: {integrity: sha512-U6QpVRyCGHva435KoNWy9PRoi2IFYCgtEhq9nmrPPpbRacPs9IH4aJ3gbrFC8dPcXvdSZ4XXfXT5Fshbp2MtlQ==} + tar-fs@2.1.4: + resolution: {integrity: sha512-mDAjwmZdh7LTT6pNleZ05Yt65HC3E+NiQzl672vQG38jIrehtJk/J3mNwIg+vShQPcLF/LV7CMnDW6vjj6sfYQ==} + + tar-stream@1.6.2: + resolution: {integrity: sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==} + engines: {node: '>= 0.8.0'} + + tar-stream@2.2.0: + resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} + engines: {node: '>=6'} tar@2.2.2: resolution: {integrity: sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==} @@ -21296,8 +23450,8 @@ packages: tcp-port-used@1.0.2: resolution: {integrity: sha512-l7ar8lLUD3XS1V2lfoJlCBaeoaWo/2xfYt81hM7VlvR4RrMVFqfmzfhLVk40hAb368uitje5gPtBRL1m/DGvLA==} - teex@1.0.1: - resolution: {integrity: sha512-eYE6iEI62Ni1H8oIa7KlDU6uQBtqr4Eajni3wX7rpfXD8ysFx8z0+dri+KWEPWpBsxXfxu58x/0jvTVT1ekOSg==} + telejson@5.3.3: + resolution: {integrity: sha512-PjqkJZpzEggA9TBpVtJi1LVptP7tYtXB6rEubwlHap76AMjzvOdKX41CxyaW7ahhzDU1aftXnMCx5kAPDZTQBA==} telejson@6.0.8: resolution: {integrity: sha512-nerNXi+j8NK1QEfBHtZUN/aLdDcyupA//9kAboYLrtzZlPLpUfqbVGWb9zz91f/mIjRbAYhbgtnJHY8I1b5MBg==} @@ -21321,6 +23475,10 @@ packages: resolution: {integrity: sha512-7dPUZQGy/+m3/wjVz3ZW5dobSoD/02NxJpoXUX0WIyjfVS3l0c+b/+9phIDFA7FHzkYtwtMFgeGZ/Y8jVTeqQQ==} engines: {node: '>=4'} + term-size@2.2.1: + resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==} + engines: {node: '>=8'} + terminal-link@2.1.1: resolution: {integrity: sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==} engines: {node: '>=8'} @@ -21329,14 +23487,52 @@ packages: resolution: {integrity: sha512-lk+vH+MccxNqgVqSnkMVKx4VLJfnLjDBGzH16JVZjKE2DoxP57s6/vt6JmXV5I3jBcfGrxNrYtC+mPtU7WJztA==} engines: {node: '>=18'} + terser-webpack-plugin@1.4.6: + resolution: {integrity: sha512-2lBVf/VMVIddjSn3GqbT90GvIJ/eYXJkt8cTzU7NbjKqK8fwv18Ftr4PlbF46b/e88743iZFL5Dtr/rC4hjIeA==} + engines: {node: '>= 6.9.0'} + peerDependencies: + webpack: ^4.0.0 + terser-webpack-plugin@4.2.3: resolution: {integrity: sha512-jTgXh40RnvOrLQNgIkwEKnQ8rmHjHK4u+6UBEi+W+FPmvb+uo+chJXntKe7/3lW5mNysgSWD60KyesnhW8D6MQ==} engines: {node: '>= 10.13.0'} peerDependencies: webpack: ^4.0.0 || ^5.0.0 - terser-webpack-plugin@5.4.0: - resolution: {integrity: sha512-Bn5vxm48flOIfkdl5CaD2+1CiUVbonWQ3KQPyP7/EuIl9Gbzq/gQFOzaMFUEgVjB1396tcK0SG8XcNJ/2kDH8g==} + terser-webpack-plugin@5.3.10: + resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==} + engines: {node: '>= 10.13.0'} + peerDependencies: + '@swc/core': '*' + esbuild: '*' + uglify-js: '*' + webpack: ^5.1.0 + peerDependenciesMeta: + '@swc/core': + optional: true + esbuild: + optional: true + uglify-js: + optional: true + + terser-webpack-plugin@5.3.14: + resolution: {integrity: sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw==} + engines: {node: '>= 10.13.0'} + peerDependencies: + '@swc/core': '*' + esbuild: '*' + uglify-js: '*' + webpack: ^5.1.0 + peerDependenciesMeta: + '@swc/core': + optional: true + esbuild: + optional: true + uglify-js: + optional: true + + terser-webpack-plugin@5.3.17: + resolution: {integrity: sha512-YR7PtUp6GMU91BgSJmlaX/rS2lGDbAF7D+Wtq7hRO+MiljNmodYvqslzCFiYVAgW+Qoaaia/QUIP4lGXufjdZw==} engines: {node: '>= 10.13.0'} peerDependencies: '@swc/core': '*' @@ -21372,9 +23568,6 @@ packages: resolution: {integrity: sha512-u9E6A+ZDYdp7a4WnarkXPZOx8Ilz46+kby6p1yZ8zsGTz9gYa6FIS7lj2oezzNKmtdyyJNNmmXDppga5GB7kSw==} engines: {node: '>=18'} - text-decoder@1.2.7: - resolution: {integrity: sha512-vlLytXkeP4xvEq2otHeJfSQIRyWxo/oZGEbXrtEEF9Hnmrdly59sUbzZ/QgyWuLYHctCHxFF4tRQZNQ9k60ExQ==} - text-hex@1.0.0: resolution: {integrity: sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==} @@ -21404,6 +23597,10 @@ packages: throat@5.0.0: resolution: {integrity: sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==} + throttle-debounce@3.0.1: + resolution: {integrity: sha512-dTEWWNu6JmeVXY0ZYoPuH5cRIwc0MeGbJwah9KUNYSJwommQpCzTySTpEe8Gs1J23aeWEuAobe4Ag7EHVt/LOg==} + engines: {node: '>=10'} + through2@2.0.5: resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==} @@ -21416,13 +23613,20 @@ packages: thunky@1.1.0: resolution: {integrity: sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==} + tiktoken@1.0.22: + resolution: {integrity: sha512-PKvy1rVF1RibfF3JlXBSP0Jrcw2uq3yXdgcEXtKTYn3QJ/cBRBHDnrJ5jHky+MENZ6DIPwNUGWpkVx+7joCpNA==} + + time-stamp@2.2.0: + resolution: {integrity: sha512-zxke8goJQpBeEgD82CXABeMh0LSJcj7CXEd0OHOg45HgcofF7pxNwZm9+RknpxpDhwN4gFpySkApKfFYfRQnUA==} + engines: {node: '>=0.10.0'} + timed-out@4.0.1: resolution: {integrity: sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA==} engines: {node: '>=0.10.0'} - timers-ext@0.1.8: - resolution: {integrity: sha512-wFH7+SEAcKfJpfLPkrgMPvvwnEtj8W4IurvEyrKsDleXnKLCDw71w8jltvfLa8Rm4qQxxT4jmDBYbJG/z7qoww==} - engines: {node: '>=0.12'} + timers-browserify@2.0.12: + resolution: {integrity: sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==} + engines: {node: '>=0.6.0'} timezone-support@3.1.0: resolution: {integrity: sha512-N04dOzxt7Bw3PZ5ts8ofkQx6RsqWDo8cUQ/a8fdtywB58NIctmdbUUDWZSrgtI7c2jzA6MZ1Z6jY6OtBvc+CUQ==} @@ -21461,6 +23665,10 @@ packages: resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} engines: {node: '>=0.6.0'} + tmp@0.2.4: + resolution: {integrity: sha512-UdiSoX6ypifLmrfQ/XfiawN6hkjSBpCjhKxxZcWlUUmoXLaCKQU0bx4HF/tdDK2uzRuchf1txGvrWBzYREssoQ==} + engines: {node: '>=14.14'} + tmp@0.2.5: resolution: {integrity: sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow==} engines: {node: '>=14.14'} @@ -21468,6 +23676,9 @@ packages: tmpl@1.0.5: resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} + to-arraybuffer@1.0.1: + resolution: {integrity: sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA==} + to-buffer@1.2.2: resolution: {integrity: sha512-db0E3UJjcFhpDhAF4tLo03oli3pwl3dbnzXOUIlRKrp+ldk/VUxzpWYZENsw2SZiuBjHAk7DfB0VU7NKdpb6sw==} engines: {node: '>= 0.4'} @@ -21493,8 +23704,8 @@ packages: resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} engines: {node: '>=0.6'} - token-types@5.0.1: - resolution: {integrity: sha512-Y2fmSnZjQdDb9W4w4r1tswlMHylzWIeOKpx0aZH9BgGtACHhrk3OkT52AzwcuqTRBZtvvnTjDBh8eynMulu8Vg==} + token-types@6.1.2: + resolution: {integrity: sha512-dRXchy+C0IgK8WPC6xvCHFRIWYUbqqdEIKPaKo/AcTUNzwLTK6AH7RjdLWsEZcAN/TBdtfUw3PYEgPr5VPr6ww==} engines: {node: '>=14.16'} toposort@1.0.7: @@ -21649,6 +23860,34 @@ packages: resolution: {integrity: sha512-8t3bu2FcEkXb+D4L+Cn8qiK2E2C6Ms4/GQChvz6IMbVurcFHLXrhW4EMtfaol1a1ASQACZGDUGit4NHnX9g7hQ==} engines: {node: '>=4.3.0 <5.0.0 || >=5.10'} + ts-loader@9.4.1: + resolution: {integrity: sha512-384TYAqGs70rn9F0VBnh6BPTfhga7yFNdC5gXbQpDrBj9/KsT4iRkGqKXhziofHOlE2j6YEaiTYVGKKvPhGWvw==} + engines: {node: '>=12.0.0'} + peerDependencies: + typescript: '*' + webpack: ^5.0.0 + + ts-loader@9.4.4: + resolution: {integrity: sha512-MLukxDHBl8OJ5Dk3y69IsKVFRA/6MwzEqBgh+OXMPB/OD01KQuWPFd1WAQP8a5PeSCAxfnkhiuWqfmFJzJQt9w==} + engines: {node: '>=12.0.0'} + peerDependencies: + typescript: '*' + webpack: ^5.0.0 + + ts-loader@9.5.0: + resolution: {integrity: sha512-LLlB/pkB4q9mW2yLdFMnK3dEHbrBjeZTYguaaIfusyojBgAGf5kF+O6KcWqiGzWqHk0LBsoolrp4VftEURhybg==} + engines: {node: '>=12.0.0'} + peerDependencies: + typescript: '*' + webpack: ^5.0.0 + + ts-loader@9.5.2: + resolution: {integrity: sha512-Qo4piXvOTWcMGIgRiuFa6nHNm+54HbYaZCKqc9eeZCLRy3XqafQgwX2F7mofrbJG3g7EEb+lkiR+z2Lic2s3Zw==} + engines: {node: '>=12.0.0'} + peerDependencies: + typescript: '*' + webpack: ^5.0.0 + ts-loader@9.5.4: resolution: {integrity: sha512-nCz0rEwunlTZiy6rXFByQU1kVVpCIgUpc/psFiKVrUwrizdnIbRFu8w7bxhUF0X613DYwT4XzrZHpVyMe758hQ==} engines: {node: '>=12.0.0'} @@ -21712,6 +23951,12 @@ packages: tslib@2.0.1: resolution: {integrity: sha512-SgIkNheinmEBgx1IUNirK0TUD4X9yjjBRTqqjggWCU3pUEqIk3/Uwl3yRixYKT6WjQuGiwDv4NomL3wqRCj+CQ==} + tslib@2.1.0: + resolution: {integrity: sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==} + + tslib@2.5.0: + resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==} + tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} @@ -21802,6 +24047,9 @@ packages: resolution: {integrity: sha512-OvmFcj70PhmAsVQKfC15XoKH55cRWuaRzvr2fpTNhTNer6JBpG8n6vOhRrIgxMjcikyYt88xqYXMMVapJ4Rjvg==} hasBin: true + tty-browserify@0.0.0: + resolution: {integrity: sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==} + tunnel-agent@0.6.0: resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} @@ -21904,8 +24152,13 @@ packages: engines: {node: '>=4.2.0'} hasBin: true - typescript@4.9.5: - resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} + typescript@4.2.4: + resolution: {integrity: sha512-V+evlYHZnQkaz8TRBuxTA92yZBPotr5H+WhQ7bD3hZUndx5tGOa1fuCgeSjxAzM1RiN5IzvadIXTVefuuwZCRg==} + engines: {node: '>=4.2.0'} + hasBin: true + + typescript@4.9.4: + resolution: {integrity: sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==} engines: {node: '>=4.2.0'} hasBin: true @@ -21933,6 +24186,11 @@ packages: deprecated: support for ECMAScript is superseded by `uglify-js` as of v3.13.0 hasBin: true + uglify-js@2.8.29: + resolution: {integrity: sha512-qLq/4y2pjcU3vhlhseXGGJ7VbFO4pBANu0kwl8VCa9KEI0V8VfZIx2Fy3w01iSTA/pGwKZSmu/+I4etLNDdt5w==} + engines: {node: '>=0.8.0'} + hasBin: true + uglify-js@3.19.3: resolution: {integrity: sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==} engines: {node: '>=0.8.0'} @@ -21943,12 +24201,25 @@ packages: engines: {node: '>=0.8.0'} hasBin: true + uglify-to-browserify@1.0.2: + resolution: {integrity: sha512-vb2s1lYx2xBtUgy+ta+b2J/GLVUR+wmpINwHePmPRhOsIVCG2wDzKJ0n14GslH1BifsqVzSOwQhRaCAsZ/nI4Q==} + + uglifyjs-webpack-plugin@0.4.6: + resolution: {integrity: sha512-TNM20HMW67kxHRNCZdvLyiwE1ST6WyY5Ae+TG55V81NpvNwJ9+V4/po4LHA1R9afV/WrqzfedG2UJCk2+swirw==} + engines: {node: '>=4.3.0 <5.0.0 || >=5.10'} + peerDependencies: + webpack: ^1.9 || ^2 || ^2.1.0-beta || ^2.2.0-rc || ^3.0.0 + uglifyjs-webpack-plugin@1.2.5: resolution: {integrity: sha512-hIQJ1yxAPhEA2yW/i7Fr+SXZVMp+VEI3d42RTHBgQd2yhp/1UdBcR3QEWPV5ahBxlqQDMEMTuTEvDHSFINfwSw==} engines: {node: '>= 4.8 < 5.0.0 || >= 5.10'} peerDependencies: webpack: ^2.0.0 || ^3.0.0 || ^4.0.0 + uint8array-extras@1.5.0: + resolution: {integrity: sha512-rvKSBiC5zqCCiDZ9kAOszZcDvdAHwwIKJG33Ykj43OKcWsnmcBRL09YTU4nOeHZ8Y2a7l1MgTd08SBe9A8Qj6A==} + engines: {node: '>=18'} + unbox-primitive@1.1.0: resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==} engines: {node: '>= 0.4'} @@ -22025,6 +24296,10 @@ packages: resolution: {integrity: sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + unique-names-generator@4.7.1: + resolution: {integrity: sha512-lMx9dX+KRmG8sq6gulYYpKWZc9RlGsgBR6aoO8Qsm3qvkSJ+3rAymr+TnV8EDMrIrwuFJ4kruzMWM/OpYzPoow==} + engines: {node: '>=8'} + unique-slug@2.0.2: resolution: {integrity: sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==} @@ -22047,6 +24322,9 @@ packages: unist-builder@2.0.3: resolution: {integrity: sha512-f98yt5pnlMWlzP539tPc4grGMsFaQQlP/vM396b00jngsiINumNmsY8rkXjfoi1c6QaM8nQ3vaGDuoKWbe/1Uw==} + unist-util-find-after@5.0.0: + resolution: {integrity: sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==} + unist-util-generated@1.1.6: resolution: {integrity: sha512-cln2Mm1/CZzN5ttGK7vkoGw+RZ8VcUH6BtGbq98DDtRGquAAOXig1mrBQYelOwMXYS8rK+vZDyyojSjp7JX+Lg==} @@ -22074,9 +24352,18 @@ packages: unist-util-remove-position@2.0.1: resolution: {integrity: sha512-fDZsLYIe2uT+oGFnuZmy73K6ZxOPG/Qcm+w7jbEjaFcJgbQ6cqjs/eSPzXhsmGpAsWPkqZM9pYjww5QTn3LHMA==} + unist-util-remove-position@5.0.0: + resolution: {integrity: sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==} + unist-util-remove@2.1.0: resolution: {integrity: sha512-J8NYPyBm4baYLdCbjmf1bhPu45Cr1MWTm77qd9istEkzWpnN6O9tMsEbB2JhNnBCqGENRqEWomQ+He6au0B27Q==} + unist-util-stringify-position@2.0.3: + resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==} + + unist-util-stringify-position@3.0.3: + resolution: {integrity: sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==} + unist-util-stringify-position@4.0.0: resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} @@ -22121,6 +24408,9 @@ packages: resolution: {integrity: sha512-4/u/j4FrCKdi17jaxuJA0jClGxB1AvU2hw/IuayPc4ay1XGaJs/rbb4v5WKwAjNifjmXK9PIFyuPiaK8azyR9w==} engines: {node: '>=14.0.0'} + unquote@1.1.1: + resolution: {integrity: sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==} + unraw@3.0.0: resolution: {integrity: sha512-08/DA66UF65OlpUDIQtbJyrqTR0jTAlJ+jsnkQ4jxR7+K5g5YG1APZKQSMCE1vqqmD+2pv6+IdEjmopFatacvg==} @@ -22145,6 +24435,10 @@ packages: unzipper@0.12.3: resolution: {integrity: sha512-PZ8hTS+AqcGxsaQntl3IRBw65QrBI6lxzqDEL7IAo/XCEqRTKGfOX56Vea5TH9SZczRVxuzk1re04z/YjuYCJA==} + upath@1.2.0: + resolution: {integrity: sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==} + engines: {node: '>=4'} + upath@2.0.1: resolution: {integrity: sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==} engines: {node: '>=4'} @@ -22270,6 +24564,9 @@ packages: util@0.10.4: resolution: {integrity: sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==} + util@0.11.1: + resolution: {integrity: sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==} + util@0.12.5: resolution: {integrity: sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==} @@ -22344,14 +24641,26 @@ packages: vfile-location@5.0.3: resolution: {integrity: sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==} + vfile-message@2.0.4: + resolution: {integrity: sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==} + + vfile-message@3.1.4: + resolution: {integrity: sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==} + vfile-message@4.0.3: resolution: {integrity: sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==} + vfile@4.2.1: + resolution: {integrity: sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==} + + vfile@5.3.7: + resolution: {integrity: sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==} + vfile@6.0.3: resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} - vite@6.4.1: - resolution: {integrity: sha512-+Oxm7q9hDoLMyJOYfUYBuHQo+dkAloi33apOPP56pzj+vsdJDzr+j1NISE5pyaAuKL4A3UD34qd0lx5+kfKp2g==} + vite@6.0.7: + resolution: {integrity: sha512-RDt8r/7qx9940f8FcOIAH9PTViRrghKaK2K1jY3RaAURrEUbm9Du1mJ72G+jlhtG3WwodnfzY8ORQZbBavZEAQ==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true peerDependencies: @@ -22390,6 +24699,9 @@ packages: yaml: optional: true + vm-browserify@1.1.2: + resolution: {integrity: sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==} + vscode-debugadapter-testsupport@1.51.0: resolution: {integrity: sha512-rb8tfn7J3kxLi1rRhEyG5ggGkFcJH2WrYYrq6Vb1tDAcHoFXF580M1dAA2jPOrc0I14GuWxMnndvfGkfG10VxA==} deprecated: This package has been renamed to @vscode/debugadapter-testsupport, please update to the new name @@ -22500,12 +24812,15 @@ packages: engines: {node: '>=8.9.3'} deprecated: This package has been renamed to @vscode/test-electron, please update to the new name + vscode-uri@3.0.8: + resolution: {integrity: sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==} + vscode-uri@3.1.0: resolution: {integrity: sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==} - vscode-ws-jsonrpc@3.5.0: - resolution: {integrity: sha512-13ZDy7Od4AfEPK2HIfY3DtyRi4FVsvFql1yobVJrpIoHOKGGJpIjVvIJpMxkrHzCZzWlYlg+WEu2hrYkCTvM0Q==} - engines: {node: '>=20.10.0', npm: '>=10.2.3'} + vscode-ws-jsonrpc@3.4.0: + resolution: {integrity: sha512-jkNZvX0LdHt4skPxMw/jFePr3jRCJU6ZmO28oPoQ7RwNSkwU3uN8mgtxACYEbOY68bYmi/b/uJzhxewKCz1P4w==} + engines: {node: '>=18.19.0', npm: '>=10.2.3'} w3c-hr-time@1.0.2: resolution: {integrity: sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==} @@ -22534,6 +24849,12 @@ packages: resolution: {integrity: sha512-FAk18nzhYggg939xgRRLJjvqmAKZciO24wr8neoxNPl87w8J3m784wxL4zFBwME+0gNQ2Sv/vfsCrUxPxU2Dmg==} engines: {'0': node >=0.1.95} + watchpack-chokidar2@2.0.1: + resolution: {integrity: sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==} + + watchpack@1.7.5: + resolution: {integrity: sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==} + watchpack@2.5.1: resolution: {integrity: sha512-Zn5uXdcFNIA1+1Ei5McRd+iRzfhENPCe7LeABkJtNulSxjma+l7ltNx55BWZkRlwRnpOgHqxnjyaDgJnNXnqzg==} engines: {node: '>=10.13.0'} @@ -22621,6 +24942,12 @@ packages: webpack-dev-server: optional: true + webpack-dev-middleware@1.12.2: + resolution: {integrity: sha512-FCrqPy1yy/sN6U/SaEZcHKRXGlqU0DUaEBL45jkUYoB8foVb6wCnbIJ1HKIx+qUFTW+3JpVcCJCxZ8VATL4e+A==} + engines: {node: '>=0.6'} + peerDependencies: + webpack: ^1.0.0 || ^2.0.0 || ^3.0.0 + webpack-dev-middleware@3.7.3: resolution: {integrity: sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ==} engines: {node: '>= 6'} @@ -22651,6 +24978,13 @@ packages: webpack: optional: true + webpack-dev-server@2.11.3: + resolution: {integrity: sha512-Qz22YEFhWx+M2vvJ+rQppRv39JA0h5NNbOOdODApdX6iZ52Diz7vTPXjF7kJlfn+Uc24Qr48I3SZ9yncQwRycg==} + engines: {node: '>=4.7'} + hasBin: true + peerDependencies: + webpack: ^2.2.0 || ^3.0.0 + webpack-dev-server@5.2.3: resolution: {integrity: sha512-9Gyu2F7+bg4Vv+pjbovuYDhHX+mqdqITykfzdM9UyKqKHlsE5aAjRhR+oOEfXW5vBeu8tarzlJFIZva4ZjAdrQ==} engines: {node: '>= 18.12.0'} @@ -22694,6 +25028,9 @@ packages: webpack-permissions-plugin@1.0.10: resolution: {integrity: sha512-5b99jU4IEYYzQbHK8vPRVax7D0dNJl9Ns47IPbpDl8hcRp/geA/U0RmNO/WuXEVTObh3stT/0kC7mC1b575zHA==} + webpack-permissions-plugin@1.0.9: + resolution: {integrity: sha512-ZMQP/4OB8TW+xGLlgnxcTCCnq5yskCLD8ojQQkllgCRchhOcO24lGVojcy27sKUWObFSOm2FRyY4cd0+rbpx9A==} + webpack-sources@1.4.3: resolution: {integrity: sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==} @@ -22713,8 +25050,26 @@ packages: webpack-virtual-modules@0.6.2: resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==} - webpack@5.105.4: - resolution: {integrity: sha512-jTywjboN9aHxFlToqb0K0Zs9SbBoW4zRUlGzI2tYNxVYcEi/IPpn+Xi4ye5jTLvX2YeLuic/IvxNot+Q1jMoOw==} + webpack@3.8.1: + resolution: {integrity: sha512-5ZXLWWsMqHKFr5y0N3Eo5IIisxeEeRAajNq4mELb/WELOR7srdbQk2N5XiyNy2A/AgvlR3AmeBCZJW8lHrolbw==} + engines: {node: '>=4.3.0 <5.0.0 || >=5.10'} + hasBin: true + + webpack@4.47.0: + resolution: {integrity: sha512-td7fYwgLSrky3fI1EuU5cneU4+pbH6GgOfuKNS1tNPcfdGinGELAqsb/BP4nnvZyKSG2i/xFGU7+n2PvZA8HJQ==} + engines: {node: '>=6.11.5'} + hasBin: true + peerDependencies: + webpack-cli: '*' + webpack-command: '*' + peerDependenciesMeta: + webpack-cli: + optional: true + webpack-command: + optional: true + + webpack@5.104.1: + resolution: {integrity: sha512-Qphch25abbMNtekmEGJmeRUhLDbe+QfiWTiqpKYkpCOWY64v9eyl+KRRLmqOFA2AvKPpc9DC6+u2n76tQLBoaA==} engines: {node: '>=10.13.0'} hasBin: true peerDependencies: @@ -22829,6 +25184,10 @@ packages: wildcard@2.0.1: resolution: {integrity: sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==} + window-size@0.1.0: + resolution: {integrity: sha512-1pTPQDKTdd61ozlKGNCjhNRd+KPmgLSGa3mZTHoOliaGcESD8G1PXhh7c1fgiPjVbNVfgy2Faw4BI8/m0cC8Mg==} + engines: {node: '>= 0.8.0'} + winston-transport@4.6.0: resolution: {integrity: sha512-wbBA9PbPAHxKiygo7ub7BYRiKxms0tpfU2ljtWzb3SjRjv5yl6Ozuy/TkXf00HTAt+Uylo3gSkNwzc4ME0wiIg==} engines: {node: '>= 12.0.0'} @@ -22841,6 +25200,10 @@ packages: resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} engines: {node: '>=0.10.0'} + wordwrap@0.0.2: + resolution: {integrity: sha512-xSBsCeh+g+dinoBv3GAOWM4LcVVO68wLXRanibtBSdUvkGWQRGeE9P7IwU9EmDDi4jA6L44lz15CGMwdw9N5+Q==} + engines: {node: '>=0.4.0'} + wordwrap@1.0.0: resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} @@ -22850,6 +25213,9 @@ packages: worker-rpc@0.1.1: resolution: {integrity: sha512-P1WjMrUB3qgJNI9jfmpZ/htmBEjFh//6l/5y8SD9hg1Ef5zTTVVoRjTrTEzPrNBQvmhMxkoTsjOXN10GWU7aCg==} + workerpool@6.2.1: + resolution: {integrity: sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==} + workerpool@6.5.1: resolution: {integrity: sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA==} @@ -23012,8 +25378,13 @@ packages: resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} engines: {node: '>= 6'} - yaml@2.8.2: - resolution: {integrity: sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==} + yaml@2.6.0: + resolution: {integrity: sha512-a6ae//JvKDEra2kdi1qzCyrJW/WZCgFi8ydDV+eXExl95t+5R+ijnqHJbz9tmMh8FUjx3iv2fCQ4dclAQlO2UQ==} + engines: {node: '>= 14'} + hasBin: true + + yaml@2.8.0: + resolution: {integrity: sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ==} engines: {node: '>= 14.6'} hasBin: true @@ -23021,6 +25392,10 @@ packages: resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} engines: {node: '>=6'} + yargs-parser@20.2.4: + resolution: {integrity: sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==} + engines: {node: '>=10'} + yargs-parser@20.2.9: resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} engines: {node: '>=10'} @@ -23029,9 +25404,15 @@ packages: resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} engines: {node: '>=12'} + yargs-parser@4.2.1: + resolution: {integrity: sha512-+QQWqC2xeL0N5/TE+TY6OGEqyNRM+g2/r712PDNYgiCdXYCApXf1vzfmDSLBxfGRwV+moTq/V8FnMI24JCm2Yg==} + yargs-parser@5.0.1: resolution: {integrity: sha512-wpav5XYiddjXxirPoCTUPbqM0PXvJ9hiBMvuJgInvo4/lAOTZzUprArw17q2O1P2+GHhbBr18/iQwjL5Z9BqfA==} + yargs-parser@7.0.0: + resolution: {integrity: sha512-WhzC+xgstid9MbVUktco/bf+KJG+Uu6vMX0LN1sLJvwmbCQVxb4D8LzogobonKycNasCZLdOzTAk1SK7+K7swg==} + yargs-parser@8.1.0: resolution: {integrity: sha512-yP+6QqN8BmrgW2ggLtTbdrOyBNSI7zBa4IykmiV5R1wl1JWNxQvWhMfMdmzIYtKU7oP3OOInY/tl2ov3BDjnJQ==} @@ -23054,11 +25435,20 @@ packages: resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} engines: {node: '>=12'} + yargs@3.10.0: + resolution: {integrity: sha512-QFzUah88GAGy9lyDKGBqZdkYApt63rCXYBGYnEP4xDJPXNqXXnBDACnbrXnViV6jRSqAePwrATi2i8mfYm4L1A==} + + yargs@6.6.0: + resolution: {integrity: sha512-6/QWTdisjnu5UHUzQGst+UOEuEVwIzFVGBjq3jMTFNs5WJQsH/X6nMURSaScIdF5txylr1Ao9bvbWiKi2yXbwA==} + yargs@7.1.2: resolution: {integrity: sha512-ZEjj/dQYQy0Zx0lgLMLR8QuaqTihnxirir7EwUHp1Axq4e3+k8jXU5K0VLbNvedv1f4EWtBonDIZm0NUr+jCcA==} - yarn@1.22.22: - resolution: {integrity: sha512-prL3kGtyG7o9Z9Sv8IPfBNrWTDmXB4Qbes8A9rEzt6wkJV8mUvoirjU0Mp3GGAU06Y0XQyA3/2/RQFVuK7MTfg==} + yargs@8.0.2: + resolution: {integrity: sha512-3RiZrpLpjrzIAKgGdPktBcMP/eG5bDFlkI+PHle1qwzyVXyDQL+pD/eZaMoOOO0Y7LLBfjpucObuUm/icvbpKQ==} + + yarn@1.22.19: + resolution: {integrity: sha512-/0V5q0WbslqnwP91tirOvldvYISzaqhClxzyUKXYxs07yUILIs5jx/k6CFe8bvKSkds5w+eiOqta39Wk3WxdcQ==} engines: {node: '>=4.0.0'} hasBin: true @@ -23098,14 +25488,38 @@ packages: peerDependencies: zod: ^3.25 || ^4 + zod@3.22.4: + resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} + zod@3.25.76: resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==} zod@4.1.11: resolution: {integrity: sha512-WPsqwxITS2tzx1bzhIKsEs19ABD5vmCVa4xBo2tq/SrV4RNZtfws1EnCWQXM6yh8bD08a1idvkB5MZSBiZsjwg==} - zustand@5.0.11: - resolution: {integrity: sha512-fdZY+dk7zn/vbWNCYmzZULHRrss0jx5pPFiOuMZ/5HJN6Yv3u+1Wswy/4MpZEkEGhtNH+pwxZB8OKgUBPzYAGg==} + zod@4.1.8: + resolution: {integrity: sha512-5R1P+WwQqmmMIEACyzSvo4JXHY5WiAFHRMg+zBZKgKS+Q1viRa0C1hmUKtHltoIFKtIdki3pRxkmpP74jnNYHQ==} + + zustand@5.0.4: + resolution: {integrity: sha512-39VFTN5InDtMd28ZhjLyuTnlytDr9HfwO512Ai4I8ZABCoyAj4F1+sr7sD1jP/+p7k77Iko0Pb5NhgBFDCX0kQ==} + engines: {node: '>=12.20.0'} + peerDependencies: + '@types/react': '>=18.0.0' + immer: '>=9.0.6' + react: '>=18.0.0' + use-sync-external-store: '>=1.2.0' + peerDependenciesMeta: + '@types/react': + optional: true + immer: + optional: true + react: + optional: true + use-sync-external-store: + optional: true + + zustand@5.0.5: + resolution: {integrity: sha512-mILtRfKW9xM47hqxGIxCv12gXusoY/xTSHBYApXozR0HmQv299whhBeeAcRy+KrPPybzosvJBCOmVjq6x12fCg==} engines: {node: '>=12.20.0'} peerDependencies: '@types/react': '>=18.0.0' @@ -23132,48 +25546,63 @@ snapshots: '@adobe/css-tools@4.4.4': {} - '@ai-sdk/amazon-bedrock@4.0.77(zod@4.1.11)': + '@ai-sdk/amazon-bedrock@4.0.4(zod@4.1.11)': dependencies: - '@ai-sdk/anthropic': 3.0.58(zod@4.1.11) - '@ai-sdk/provider': 3.0.8 - '@ai-sdk/provider-utils': 4.0.19(zod@4.1.11) + '@ai-sdk/anthropic': 3.0.2(zod@4.1.11) + '@ai-sdk/provider': 3.0.1 + '@ai-sdk/provider-utils': 4.0.2(zod@4.1.11) '@smithy/eventstream-codec': 4.2.11 '@smithy/util-utf8': 4.2.2 aws4fetch: 1.0.20 zod: 4.1.11 - '@ai-sdk/anthropic@2.0.70(zod@3.25.76)': + '@ai-sdk/amazon-bedrock@4.0.4(zod@4.1.8)': dependencies: - '@ai-sdk/provider': 2.0.1 - '@ai-sdk/provider-utils': 3.0.22(zod@3.25.76) - zod: 3.25.76 + '@ai-sdk/anthropic': 3.0.2(zod@4.1.8) + '@ai-sdk/provider': 3.0.1 + '@ai-sdk/provider-utils': 4.0.2(zod@4.1.8) + '@smithy/eventstream-codec': 4.2.11 + '@smithy/util-utf8': 4.2.2 + aws4fetch: 1.0.20 + zod: 4.1.8 + + '@ai-sdk/anthropic@3.0.2(zod@4.1.11)': + dependencies: + '@ai-sdk/provider': 3.0.1 + '@ai-sdk/provider-utils': 4.0.2(zod@4.1.11) + zod: 4.1.11 + + '@ai-sdk/anthropic@3.0.2(zod@4.1.8)': + dependencies: + '@ai-sdk/provider': 3.0.1 + '@ai-sdk/provider-utils': 4.0.2(zod@4.1.8) + zod: 4.1.8 - '@ai-sdk/anthropic@3.0.58(zod@4.1.11)': + '@ai-sdk/anthropic@3.0.46(zod@4.1.11)': dependencies: '@ai-sdk/provider': 3.0.8 '@ai-sdk/provider-utils': 4.0.19(zod@4.1.11) zod: 4.1.11 - '@ai-sdk/gateway@2.0.57(zod@3.25.76)': + '@ai-sdk/devtools@0.0.6': dependencies: - '@ai-sdk/provider': 2.0.1 - '@ai-sdk/provider-utils': 3.0.22(zod@3.25.76) - '@vercel/oidc': 3.1.0 - zod: 3.25.76 + '@ai-sdk/provider': 3.0.4 + '@hono/node-server': 1.19.10(hono@4.12.4) + hono: 4.12.4 - '@ai-sdk/gateway@3.0.66(zod@4.1.11)': + '@ai-sdk/gateway@3.0.52(zod@4.1.11)': dependencies: '@ai-sdk/provider': 3.0.8 '@ai-sdk/provider-utils': 4.0.19(zod@4.1.11) '@vercel/oidc': 3.1.0 zod: 4.1.11 - '@ai-sdk/provider-utils@3.0.22(zod@3.25.76)': + '@ai-sdk/gateway@3.0.6(zod@4.1.8)': dependencies: - '@ai-sdk/provider': 2.0.1 - '@standard-schema/spec': 1.1.0 - eventsource-parser: 3.0.6 - zod: 3.25.76 + '@ai-sdk/provider': 3.0.1 + '@ai-sdk/provider-utils': 4.0.2(zod@4.1.8) + '@vercel/oidc': 3.0.5 + zod: 4.1.8 '@ai-sdk/provider-utils@4.0.19(zod@4.1.11)': dependencies: @@ -23182,7 +25611,25 @@ snapshots: eventsource-parser: 3.0.6 zod: 4.1.11 - '@ai-sdk/provider@2.0.1': + '@ai-sdk/provider-utils@4.0.2(zod@4.1.11)': + dependencies: + '@ai-sdk/provider': 3.0.1 + '@standard-schema/spec': 1.1.0 + eventsource-parser: 3.0.6 + zod: 4.1.11 + + '@ai-sdk/provider-utils@4.0.2(zod@4.1.8)': + dependencies: + '@ai-sdk/provider': 3.0.1 + '@standard-schema/spec': 1.1.0 + eventsource-parser: 3.0.6 + zod: 4.1.8 + + '@ai-sdk/provider@3.0.1': + dependencies: + json-schema: 0.4.0 + + '@ai-sdk/provider@3.0.4': dependencies: json-schema: 0.4.0 @@ -23197,6 +25644,11 @@ snapshots: '@jridgewell/gen-mapping': 0.3.13 '@jridgewell/trace-mapping': 0.3.31 + '@anthropic-ai/tokenizer@0.0.4': + dependencies: + '@types/node': 18.18.7 + tiktoken: 1.0.22 + '@apidevtools/json-schema-ref-parser@11.6.1': dependencies: '@jsdevtools/ono': 7.1.3 @@ -23222,14 +25674,14 @@ snapshots: '@aws-crypto/crc32c@5.2.0': dependencies: '@aws-crypto/util': 5.2.0 - '@aws-sdk/types': 3.973.5 + '@aws-sdk/types': 3.804.0 tslib: 2.8.1 '@aws-crypto/sha1-browser@5.2.0': dependencies: '@aws-crypto/supports-web-crypto': 5.2.0 '@aws-crypto/util': 5.2.0 - '@aws-sdk/types': 3.973.5 + '@aws-sdk/types': 3.804.0 '@aws-sdk/util-locate-window': 3.965.5 '@smithy/util-utf8': 2.3.0 tslib: 2.8.1 @@ -23239,7 +25691,7 @@ snapshots: '@aws-crypto/sha256-js': 5.2.0 '@aws-crypto/supports-web-crypto': 5.2.0 '@aws-crypto/util': 5.2.0 - '@aws-sdk/types': 3.973.5 + '@aws-sdk/types': 3.804.0 '@aws-sdk/util-locate-window': 3.965.5 '@smithy/util-utf8': 2.3.0 tslib: 2.8.1 @@ -23247,7 +25699,7 @@ snapshots: '@aws-crypto/sha256-js@5.2.0': dependencies: '@aws-crypto/util': 5.2.0 - '@aws-sdk/types': 3.973.5 + '@aws-sdk/types': 3.804.0 tslib: 2.8.1 '@aws-crypto/supports-web-crypto@5.2.0': @@ -23256,33 +25708,34 @@ snapshots: '@aws-crypto/util@5.2.0': dependencies: - '@aws-sdk/types': 3.973.5 + '@aws-sdk/types': 3.804.0 '@smithy/util-utf8': 2.3.0 tslib: 2.8.1 - '@aws-sdk/client-s3@3.1006.0': + '@aws-sdk/client-s3@3.817.0': 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.973.19 - '@aws-sdk/credential-provider-node': 3.972.19 - '@aws-sdk/middleware-bucket-endpoint': 3.972.7 - '@aws-sdk/middleware-expect-continue': 3.972.7 - '@aws-sdk/middleware-flexible-checksums': 3.973.5 - '@aws-sdk/middleware-host-header': 3.972.7 - '@aws-sdk/middleware-location-constraint': 3.972.7 - '@aws-sdk/middleware-logger': 3.972.7 - '@aws-sdk/middleware-recursion-detection': 3.972.7 - '@aws-sdk/middleware-sdk-s3': 3.972.19 - '@aws-sdk/middleware-ssec': 3.972.7 - '@aws-sdk/middleware-user-agent': 3.972.20 - '@aws-sdk/region-config-resolver': 3.972.7 - '@aws-sdk/signature-v4-multi-region': 3.996.7 - '@aws-sdk/types': 3.973.5 - '@aws-sdk/util-endpoints': 3.996.4 - '@aws-sdk/util-user-agent-browser': 3.972.7 - '@aws-sdk/util-user-agent-node': 3.973.5 + '@aws-sdk/core': 3.816.0 + '@aws-sdk/credential-provider-node': 3.817.0 + '@aws-sdk/middleware-bucket-endpoint': 3.808.0 + '@aws-sdk/middleware-expect-continue': 3.804.0 + '@aws-sdk/middleware-flexible-checksums': 3.816.0 + '@aws-sdk/middleware-host-header': 3.804.0 + '@aws-sdk/middleware-location-constraint': 3.804.0 + '@aws-sdk/middleware-logger': 3.804.0 + '@aws-sdk/middleware-recursion-detection': 3.804.0 + '@aws-sdk/middleware-sdk-s3': 3.816.0 + '@aws-sdk/middleware-ssec': 3.804.0 + '@aws-sdk/middleware-user-agent': 3.816.0 + '@aws-sdk/region-config-resolver': 3.808.0 + '@aws-sdk/signature-v4-multi-region': 3.816.0 + '@aws-sdk/types': 3.804.0 + '@aws-sdk/util-endpoints': 3.808.0 + '@aws-sdk/util-user-agent-browser': 3.804.0 + '@aws-sdk/util-user-agent-node': 3.816.0 + '@aws-sdk/xml-builder': 3.804.0 '@smithy/config-resolver': 4.4.10 '@smithy/core': 3.23.9 '@smithy/eventstream-serde-browser': 4.2.11 @@ -23315,44 +25768,80 @@ snapshots: '@smithy/util-retry': 4.2.11 '@smithy/util-stream': 4.5.17 '@smithy/util-utf8': 4.2.2 - '@smithy/util-waiter': 4.2.12 + '@smithy/util-waiter': 4.2.11 tslib: 2.8.1 transitivePeerDependencies: - aws-crt - '@aws-sdk/core@3.973.19': + '@aws-sdk/client-sso@3.817.0': dependencies: - '@aws-sdk/types': 3.973.5 - '@aws-sdk/xml-builder': 3.972.10 + '@aws-crypto/sha256-browser': 5.2.0 + '@aws-crypto/sha256-js': 5.2.0 + '@aws-sdk/core': 3.816.0 + '@aws-sdk/middleware-host-header': 3.804.0 + '@aws-sdk/middleware-logger': 3.804.0 + '@aws-sdk/middleware-recursion-detection': 3.804.0 + '@aws-sdk/middleware-user-agent': 3.816.0 + '@aws-sdk/region-config-resolver': 3.808.0 + '@aws-sdk/types': 3.804.0 + '@aws-sdk/util-endpoints': 3.808.0 + '@aws-sdk/util-user-agent-browser': 3.804.0 + '@aws-sdk/util-user-agent-node': 3.816.0 + '@smithy/config-resolver': 4.4.10 '@smithy/core': 3.23.9 + '@smithy/fetch-http-handler': 5.3.13 + '@smithy/hash-node': 4.2.11 + '@smithy/invalid-dependency': 4.2.11 + '@smithy/middleware-content-length': 4.2.11 + '@smithy/middleware-endpoint': 4.4.23 + '@smithy/middleware-retry': 4.4.40 + '@smithy/middleware-serde': 4.2.12 + '@smithy/middleware-stack': 4.2.11 '@smithy/node-config-provider': 4.3.11 - '@smithy/property-provider': 4.2.11 + '@smithy/node-http-handler': 4.4.14 '@smithy/protocol-http': 5.3.11 - '@smithy/signature-v4': 5.3.11 '@smithy/smithy-client': 4.12.3 '@smithy/types': 4.13.0 + '@smithy/url-parser': 4.2.11 '@smithy/util-base64': 4.3.2 + '@smithy/util-body-length-browser': 4.2.2 + '@smithy/util-body-length-node': 4.2.3 + '@smithy/util-defaults-mode-browser': 4.3.39 + '@smithy/util-defaults-mode-node': 4.2.42 + '@smithy/util-endpoints': 3.3.2 '@smithy/util-middleware': 4.2.11 + '@smithy/util-retry': 4.2.11 '@smithy/util-utf8': 4.2.2 tslib: 2.8.1 + transitivePeerDependencies: + - aws-crt - '@aws-sdk/crc64-nvme@3.972.4': + '@aws-sdk/core@3.816.0': dependencies: + '@aws-sdk/types': 3.804.0 + '@smithy/core': 3.23.9 + '@smithy/node-config-provider': 4.3.11 + '@smithy/property-provider': 4.2.11 + '@smithy/protocol-http': 5.3.11 + '@smithy/signature-v4': 5.3.11 + '@smithy/smithy-client': 4.12.3 '@smithy/types': 4.13.0 + '@smithy/util-middleware': 4.2.11 + fast-xml-parser: 5.3.8 tslib: 2.8.1 - '@aws-sdk/credential-provider-env@3.972.17': + '@aws-sdk/credential-provider-env@3.816.0': dependencies: - '@aws-sdk/core': 3.973.19 - '@aws-sdk/types': 3.973.5 + '@aws-sdk/core': 3.816.0 + '@aws-sdk/types': 3.804.0 '@smithy/property-provider': 4.2.11 '@smithy/types': 4.13.0 tslib: 2.8.1 - '@aws-sdk/credential-provider-http@3.972.19': + '@aws-sdk/credential-provider-http@3.816.0': dependencies: - '@aws-sdk/core': 3.973.19 - '@aws-sdk/types': 3.973.5 + '@aws-sdk/core': 3.816.0 + '@aws-sdk/types': 3.804.0 '@smithy/fetch-http-handler': 5.3.13 '@smithy/node-http-handler': 4.4.14 '@smithy/property-provider': 4.2.11 @@ -23362,17 +25851,16 @@ snapshots: '@smithy/util-stream': 4.5.17 tslib: 2.8.1 - '@aws-sdk/credential-provider-ini@3.972.18': + '@aws-sdk/credential-provider-ini@3.817.0': dependencies: - '@aws-sdk/core': 3.973.19 - '@aws-sdk/credential-provider-env': 3.972.17 - '@aws-sdk/credential-provider-http': 3.972.19 - '@aws-sdk/credential-provider-login': 3.972.18 - '@aws-sdk/credential-provider-process': 3.972.17 - '@aws-sdk/credential-provider-sso': 3.972.18 - '@aws-sdk/credential-provider-web-identity': 3.972.18 - '@aws-sdk/nested-clients': 3.996.8 - '@aws-sdk/types': 3.973.5 + '@aws-sdk/core': 3.816.0 + '@aws-sdk/credential-provider-env': 3.816.0 + '@aws-sdk/credential-provider-http': 3.816.0 + '@aws-sdk/credential-provider-process': 3.816.0 + '@aws-sdk/credential-provider-sso': 3.817.0 + '@aws-sdk/credential-provider-web-identity': 3.817.0 + '@aws-sdk/nested-clients': 3.817.0 + '@aws-sdk/types': 3.804.0 '@smithy/credential-provider-imds': 4.2.11 '@smithy/property-provider': 4.2.11 '@smithy/shared-ini-file-loader': 4.4.6 @@ -23381,28 +25869,15 @@ snapshots: transitivePeerDependencies: - aws-crt - '@aws-sdk/credential-provider-login@3.972.18': - dependencies: - '@aws-sdk/core': 3.973.19 - '@aws-sdk/nested-clients': 3.996.8 - '@aws-sdk/types': 3.973.5 - '@smithy/property-provider': 4.2.11 - '@smithy/protocol-http': 5.3.11 - '@smithy/shared-ini-file-loader': 4.4.6 - '@smithy/types': 4.13.0 - tslib: 2.8.1 - transitivePeerDependencies: - - aws-crt - - '@aws-sdk/credential-provider-node@3.972.19': + '@aws-sdk/credential-provider-node@3.817.0': dependencies: - '@aws-sdk/credential-provider-env': 3.972.17 - '@aws-sdk/credential-provider-http': 3.972.19 - '@aws-sdk/credential-provider-ini': 3.972.18 - '@aws-sdk/credential-provider-process': 3.972.17 - '@aws-sdk/credential-provider-sso': 3.972.18 - '@aws-sdk/credential-provider-web-identity': 3.972.18 - '@aws-sdk/types': 3.973.5 + '@aws-sdk/credential-provider-env': 3.816.0 + '@aws-sdk/credential-provider-http': 3.816.0 + '@aws-sdk/credential-provider-ini': 3.817.0 + '@aws-sdk/credential-provider-process': 3.816.0 + '@aws-sdk/credential-provider-sso': 3.817.0 + '@aws-sdk/credential-provider-web-identity': 3.817.0 + '@aws-sdk/types': 3.804.0 '@smithy/credential-provider-imds': 4.2.11 '@smithy/property-provider': 4.2.11 '@smithy/shared-ini-file-loader': 4.4.6 @@ -23411,21 +25886,21 @@ snapshots: transitivePeerDependencies: - aws-crt - '@aws-sdk/credential-provider-process@3.972.17': + '@aws-sdk/credential-provider-process@3.816.0': dependencies: - '@aws-sdk/core': 3.973.19 - '@aws-sdk/types': 3.973.5 + '@aws-sdk/core': 3.816.0 + '@aws-sdk/types': 3.804.0 '@smithy/property-provider': 4.2.11 '@smithy/shared-ini-file-loader': 4.4.6 '@smithy/types': 4.13.0 tslib: 2.8.1 - '@aws-sdk/credential-provider-sso@3.972.18': + '@aws-sdk/credential-provider-sso@3.817.0': dependencies: - '@aws-sdk/core': 3.973.19 - '@aws-sdk/nested-clients': 3.996.8 - '@aws-sdk/token-providers': 3.1005.0 - '@aws-sdk/types': 3.973.5 + '@aws-sdk/client-sso': 3.817.0 + '@aws-sdk/core': 3.816.0 + '@aws-sdk/token-providers': 3.817.0 + '@aws-sdk/types': 3.804.0 '@smithy/property-provider': 4.2.11 '@smithy/shared-ini-file-loader': 4.4.6 '@smithy/types': 4.13.0 @@ -23433,43 +25908,41 @@ snapshots: transitivePeerDependencies: - aws-crt - '@aws-sdk/credential-provider-web-identity@3.972.18': + '@aws-sdk/credential-provider-web-identity@3.817.0': dependencies: - '@aws-sdk/core': 3.973.19 - '@aws-sdk/nested-clients': 3.996.8 - '@aws-sdk/types': 3.973.5 + '@aws-sdk/core': 3.816.0 + '@aws-sdk/nested-clients': 3.817.0 + '@aws-sdk/types': 3.804.0 '@smithy/property-provider': 4.2.11 - '@smithy/shared-ini-file-loader': 4.4.6 '@smithy/types': 4.13.0 tslib: 2.8.1 transitivePeerDependencies: - aws-crt - '@aws-sdk/middleware-bucket-endpoint@3.972.7': + '@aws-sdk/middleware-bucket-endpoint@3.808.0': dependencies: - '@aws-sdk/types': 3.973.5 - '@aws-sdk/util-arn-parser': 3.972.3 + '@aws-sdk/types': 3.804.0 + '@aws-sdk/util-arn-parser': 3.804.0 '@smithy/node-config-provider': 4.3.11 '@smithy/protocol-http': 5.3.11 '@smithy/types': 4.13.0 '@smithy/util-config-provider': 4.2.2 tslib: 2.8.1 - '@aws-sdk/middleware-expect-continue@3.972.7': + '@aws-sdk/middleware-expect-continue@3.804.0': dependencies: - '@aws-sdk/types': 3.973.5 + '@aws-sdk/types': 3.804.0 '@smithy/protocol-http': 5.3.11 '@smithy/types': 4.13.0 tslib: 2.8.1 - '@aws-sdk/middleware-flexible-checksums@3.973.5': + '@aws-sdk/middleware-flexible-checksums@3.816.0': dependencies: '@aws-crypto/crc32': 5.2.0 '@aws-crypto/crc32c': 5.2.0 '@aws-crypto/util': 5.2.0 - '@aws-sdk/core': 3.973.19 - '@aws-sdk/crc64-nvme': 3.972.4 - '@aws-sdk/types': 3.973.5 + '@aws-sdk/core': 3.816.0 + '@aws-sdk/types': 3.804.0 '@smithy/is-array-buffer': 4.2.2 '@smithy/node-config-provider': 4.3.11 '@smithy/protocol-http': 5.3.11 @@ -23479,38 +25952,37 @@ snapshots: '@smithy/util-utf8': 4.2.2 tslib: 2.8.1 - '@aws-sdk/middleware-host-header@3.972.7': + '@aws-sdk/middleware-host-header@3.804.0': dependencies: - '@aws-sdk/types': 3.973.5 + '@aws-sdk/types': 3.804.0 '@smithy/protocol-http': 5.3.11 '@smithy/types': 4.13.0 tslib: 2.8.1 - '@aws-sdk/middleware-location-constraint@3.972.7': + '@aws-sdk/middleware-location-constraint@3.804.0': dependencies: - '@aws-sdk/types': 3.973.5 + '@aws-sdk/types': 3.804.0 '@smithy/types': 4.13.0 tslib: 2.8.1 - '@aws-sdk/middleware-logger@3.972.7': + '@aws-sdk/middleware-logger@3.804.0': dependencies: - '@aws-sdk/types': 3.973.5 + '@aws-sdk/types': 3.804.0 '@smithy/types': 4.13.0 tslib: 2.8.1 - '@aws-sdk/middleware-recursion-detection@3.972.7': + '@aws-sdk/middleware-recursion-detection@3.804.0': dependencies: - '@aws-sdk/types': 3.973.5 - '@aws/lambda-invoke-store': 0.2.3 + '@aws-sdk/types': 3.804.0 '@smithy/protocol-http': 5.3.11 '@smithy/types': 4.13.0 tslib: 2.8.1 - '@aws-sdk/middleware-sdk-s3@3.972.19': + '@aws-sdk/middleware-sdk-s3@3.816.0': dependencies: - '@aws-sdk/core': 3.973.19 - '@aws-sdk/types': 3.973.5 - '@aws-sdk/util-arn-parser': 3.972.3 + '@aws-sdk/core': 3.816.0 + '@aws-sdk/types': 3.804.0 + '@aws-sdk/util-arn-parser': 3.804.0 '@smithy/core': 3.23.9 '@smithy/node-config-provider': 4.3.11 '@smithy/protocol-http': 5.3.11 @@ -23523,37 +25995,36 @@ snapshots: '@smithy/util-utf8': 4.2.2 tslib: 2.8.1 - '@aws-sdk/middleware-ssec@3.972.7': + '@aws-sdk/middleware-ssec@3.804.0': dependencies: - '@aws-sdk/types': 3.973.5 + '@aws-sdk/types': 3.804.0 '@smithy/types': 4.13.0 tslib: 2.8.1 - '@aws-sdk/middleware-user-agent@3.972.20': + '@aws-sdk/middleware-user-agent@3.816.0': dependencies: - '@aws-sdk/core': 3.973.19 - '@aws-sdk/types': 3.973.5 - '@aws-sdk/util-endpoints': 3.996.4 + '@aws-sdk/core': 3.816.0 + '@aws-sdk/types': 3.804.0 + '@aws-sdk/util-endpoints': 3.808.0 '@smithy/core': 3.23.9 '@smithy/protocol-http': 5.3.11 '@smithy/types': 4.13.0 - '@smithy/util-retry': 4.2.11 tslib: 2.8.1 - '@aws-sdk/nested-clients@3.996.8': + '@aws-sdk/nested-clients@3.817.0': dependencies: '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/core': 3.973.19 - '@aws-sdk/middleware-host-header': 3.972.7 - '@aws-sdk/middleware-logger': 3.972.7 - '@aws-sdk/middleware-recursion-detection': 3.972.7 - '@aws-sdk/middleware-user-agent': 3.972.20 - '@aws-sdk/region-config-resolver': 3.972.7 - '@aws-sdk/types': 3.973.5 - '@aws-sdk/util-endpoints': 3.996.4 - '@aws-sdk/util-user-agent-browser': 3.972.7 - '@aws-sdk/util-user-agent-node': 3.973.5 + '@aws-sdk/core': 3.816.0 + '@aws-sdk/middleware-host-header': 3.804.0 + '@aws-sdk/middleware-logger': 3.804.0 + '@aws-sdk/middleware-recursion-detection': 3.804.0 + '@aws-sdk/middleware-user-agent': 3.816.0 + '@aws-sdk/region-config-resolver': 3.808.0 + '@aws-sdk/types': 3.804.0 + '@aws-sdk/util-endpoints': 3.808.0 + '@aws-sdk/util-user-agent-browser': 3.804.0 + '@aws-sdk/util-user-agent-node': 3.816.0 '@smithy/config-resolver': 4.4.10 '@smithy/core': 3.23.9 '@smithy/fetch-http-handler': 5.3.13 @@ -23583,28 +26054,29 @@ snapshots: transitivePeerDependencies: - aws-crt - '@aws-sdk/region-config-resolver@3.972.7': + '@aws-sdk/region-config-resolver@3.808.0': dependencies: - '@aws-sdk/types': 3.973.5 - '@smithy/config-resolver': 4.4.10 + '@aws-sdk/types': 3.804.0 '@smithy/node-config-provider': 4.3.11 '@smithy/types': 4.13.0 + '@smithy/util-config-provider': 4.2.2 + '@smithy/util-middleware': 4.2.11 tslib: 2.8.1 - '@aws-sdk/signature-v4-multi-region@3.996.7': + '@aws-sdk/signature-v4-multi-region@3.816.0': dependencies: - '@aws-sdk/middleware-sdk-s3': 3.972.19 - '@aws-sdk/types': 3.973.5 + '@aws-sdk/middleware-sdk-s3': 3.816.0 + '@aws-sdk/types': 3.804.0 '@smithy/protocol-http': 5.3.11 '@smithy/signature-v4': 5.3.11 '@smithy/types': 4.13.0 tslib: 2.8.1 - '@aws-sdk/token-providers@3.1005.0': + '@aws-sdk/token-providers@3.817.0': dependencies: - '@aws-sdk/core': 3.973.19 - '@aws-sdk/nested-clients': 3.996.8 - '@aws-sdk/types': 3.973.5 + '@aws-sdk/core': 3.816.0 + '@aws-sdk/nested-clients': 3.817.0 + '@aws-sdk/types': 3.804.0 '@smithy/property-provider': 4.2.11 '@smithy/shared-ini-file-loader': 4.4.6 '@smithy/types': 4.13.0 @@ -23612,20 +26084,24 @@ snapshots: transitivePeerDependencies: - aws-crt + '@aws-sdk/types@3.804.0': + dependencies: + '@smithy/types': 4.13.0 + tslib: 2.8.1 + '@aws-sdk/types@3.973.5': dependencies: '@smithy/types': 4.13.0 tslib: 2.8.1 - '@aws-sdk/util-arn-parser@3.972.3': + '@aws-sdk/util-arn-parser@3.804.0': dependencies: tslib: 2.8.1 - '@aws-sdk/util-endpoints@3.996.4': + '@aws-sdk/util-endpoints@3.808.0': dependencies: - '@aws-sdk/types': 3.973.5 + '@aws-sdk/types': 3.804.0 '@smithy/types': 4.13.0 - '@smithy/url-parser': 4.2.11 '@smithy/util-endpoints': 3.3.2 tslib: 2.8.1 @@ -23633,29 +26109,26 @@ snapshots: dependencies: tslib: 2.8.1 - '@aws-sdk/util-user-agent-browser@3.972.7': + '@aws-sdk/util-user-agent-browser@3.804.0': dependencies: - '@aws-sdk/types': 3.973.5 + '@aws-sdk/types': 3.804.0 '@smithy/types': 4.13.0 bowser: 2.14.1 tslib: 2.8.1 - '@aws-sdk/util-user-agent-node@3.973.5': + '@aws-sdk/util-user-agent-node@3.816.0': dependencies: - '@aws-sdk/middleware-user-agent': 3.972.20 - '@aws-sdk/types': 3.973.5 + '@aws-sdk/middleware-user-agent': 3.816.0 + '@aws-sdk/types': 3.804.0 '@smithy/node-config-provider': 4.3.11 '@smithy/types': 4.13.0 tslib: 2.8.1 - '@aws-sdk/xml-builder@3.972.10': + '@aws-sdk/xml-builder@3.804.0': dependencies: '@smithy/types': 4.13.0 - fast-xml-parser: 5.3.8 tslib: 2.8.1 - '@aws/lambda-invoke-store@0.2.3': {} - '@azu/format-text@1.0.2': {} '@azu/style-format@1.0.1': @@ -23745,6 +26218,10 @@ snapshots: jsonwebtoken: 9.0.3 uuid: 8.3.2 + '@babel/code-frame@7.10.4': + dependencies: + '@babel/highlight': 7.25.9 + '@babel/code-frame@7.29.0': dependencies: '@babel/helper-validator-identifier': 7.28.5 @@ -23774,18 +26251,58 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/core@7.27.7': + '@babel/core@7.24.4': + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.29.0 + '@babel/generator': 7.29.1 + '@babel/helper-compilation-targets': 7.28.6 + '@babel/helper-module-transforms': 7.28.6(@babel/core@7.24.4) + '@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 + convert-source-map: 2.0.0 + debug: 4.4.3(supports-color@8.1.1) + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/core@7.27.1': dependencies: '@ampproject/remapping': 2.3.0 '@babel/code-frame': 7.29.0 '@babel/generator': 7.29.1 '@babel/helper-compilation-targets': 7.28.6 - '@babel/helper-module-transforms': 7.28.6(@babel/core@7.27.7) + '@babel/helper-module-transforms': 7.28.6(@babel/core@7.27.1) + '@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 + convert-source-map: 2.0.0 + debug: 4.4.3(supports-color@8.1.1) + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/core@7.29.0': + dependencies: + '@babel/code-frame': 7.29.0 + '@babel/generator': 7.29.1 + '@babel/helper-compilation-targets': 7.28.6 + '@babel/helper-module-transforms': 7.28.6(@babel/core@7.29.0) '@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 + '@jridgewell/remapping': 2.3.5 convert-source-map: 2.0.0 debug: 4.4.3(supports-color@8.1.1) gensync: 1.0.0-beta.2 @@ -23814,29 +26331,49 @@ snapshots: lru-cache: 5.1.1 semver: 6.3.1 - '@babel/helper-create-class-features-plugin@7.28.6(@babel/core@7.27.7)': + '@babel/helper-create-class-features-plugin@7.28.6(@babel/core@7.27.1)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-member-expression-to-functions': 7.28.5 '@babel/helper-optimise-call-expression': 7.27.1 - '@babel/helper-replace-supers': 7.28.6(@babel/core@7.27.7) + '@babel/helper-replace-supers': 7.28.6(@babel/core@7.27.1) '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 '@babel/traverse': 7.29.0 semver: 6.3.1 transitivePeerDependencies: - supports-color - '@babel/helper-create-regexp-features-plugin@7.28.5(@babel/core@7.27.7)': + '@babel/helper-create-class-features-plugin@7.28.6(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-member-expression-to-functions': 7.28.5 + '@babel/helper-optimise-call-expression': 7.27.1 + '@babel/helper-replace-supers': 7.28.6(@babel/core@7.29.0) + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + '@babel/traverse': 7.29.0 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/helper-create-regexp-features-plugin@7.28.5(@babel/core@7.27.1)': + dependencies: + '@babel/core': 7.27.1 + '@babel/helper-annotate-as-pure': 7.27.3 + regexpu-core: 6.4.0 + semver: 6.3.1 + + '@babel/helper-create-regexp-features-plugin@7.28.5(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.29.0 '@babel/helper-annotate-as-pure': 7.27.3 regexpu-core: 6.4.0 semver: 6.3.1 - '@babel/helper-define-polyfill-provider@0.0.3(@babel/core@7.27.7)': + '@babel/helper-define-polyfill-provider@0.0.3(@babel/core@7.27.1)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 '@babel/helper-compilation-targets': 7.28.6 '@babel/helper-module-imports': 7.28.6 '@babel/helper-plugin-utils': 7.28.6 @@ -23848,9 +26385,9 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/helper-define-polyfill-provider@0.1.5(@babel/core@7.27.7)': + '@babel/helper-define-polyfill-provider@0.1.5(@babel/core@7.27.1)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 '@babel/helper-compilation-targets': 7.28.6 '@babel/helper-module-imports': 7.28.6 '@babel/helper-plugin-utils': 7.28.6 @@ -23862,9 +26399,20 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/helper-define-polyfill-provider@0.6.7(@babel/core@7.27.7)': + '@babel/helper-define-polyfill-provider@0.6.7(@babel/core@7.27.1)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 + '@babel/helper-compilation-targets': 7.28.6 + '@babel/helper-plugin-utils': 7.28.6 + debug: 4.4.3(supports-color@8.1.1) + lodash.debounce: 4.0.8 + resolve: 1.22.11 + transitivePeerDependencies: + - supports-color + + '@babel/helper-define-polyfill-provider@0.6.7(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 '@babel/helper-compilation-targets': 7.28.6 '@babel/helper-plugin-utils': 7.28.6 debug: 4.4.3(supports-color@8.1.1) @@ -23898,9 +26446,27 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/helper-module-transforms@7.28.6(@babel/core@7.27.7)': + '@babel/helper-module-transforms@7.28.6(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-module-imports': 7.28.6 + '@babel/helper-validator-identifier': 7.28.5 + '@babel/traverse': 7.29.0 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-transforms@7.28.6(@babel/core@7.27.1)': + dependencies: + '@babel/core': 7.27.1 + '@babel/helper-module-imports': 7.28.6 + '@babel/helper-validator-identifier': 7.28.5 + '@babel/traverse': 7.29.0 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-transforms@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.29.0 '@babel/helper-module-imports': 7.28.6 '@babel/helper-validator-identifier': 7.28.5 '@babel/traverse': 7.29.0 @@ -23915,18 +26481,36 @@ snapshots: '@babel/helper-plugin-utils@7.28.6': {} - '@babel/helper-remap-async-to-generator@7.27.1(@babel/core@7.27.7)': + '@babel/helper-remap-async-to-generator@7.27.1(@babel/core@7.27.1)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-wrap-function': 7.28.6 '@babel/traverse': 7.29.0 transitivePeerDependencies: - supports-color - '@babel/helper-replace-supers@7.28.6(@babel/core@7.27.7)': + '@babel/helper-remap-async-to-generator@7.27.1(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-wrap-function': 7.28.6 + '@babel/traverse': 7.29.0 + transitivePeerDependencies: + - supports-color + + '@babel/helper-replace-supers@7.28.6(@babel/core@7.27.1)': + dependencies: + '@babel/core': 7.27.1 + '@babel/helper-member-expression-to-functions': 7.28.5 + '@babel/helper-optimise-call-expression': 7.27.1 + '@babel/traverse': 7.29.0 + transitivePeerDependencies: + - supports-color + + '@babel/helper-replace-supers@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.29.0 '@babel/helper-member-expression-to-functions': 7.28.5 '@babel/helper-optimise-call-expression': 7.27.1 '@babel/traverse': 7.29.0 @@ -23959,72 +26543,114 @@ snapshots: '@babel/template': 7.28.6 '@babel/types': 7.29.0 + '@babel/highlight@7.25.9': + dependencies: + '@babel/helper-validator-identifier': 7.28.5 + chalk: 2.4.2 + js-tokens: 4.0.0 + picocolors: 1.1.1 + '@babel/parser@7.29.0': dependencies: '@babel/types': 7.29.0 - '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.28.5(@babel/core@7.27.7)': + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.28.5(@babel/core@7.27.1)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 '@babel/helper-plugin-utils': 7.28.6 '@babel/traverse': 7.29.0 transitivePeerDependencies: - supports-color - '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.27.1(@babel/core@7.27.7)': + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.28.5(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + '@babel/traverse': 7.29.0 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.27.1(@babel/core@7.27.1)': + dependencies: + '@babel/core': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.27.1(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.27.1(@babel/core@7.27.7)': + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.27.1(@babel/core@7.27.1)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.27.1(@babel/core@7.27.7)': + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.27.1(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.27.1(@babel/core@7.27.1)': + dependencies: + '@babel/core': 7.27.1 '@babel/helper-plugin-utils': 7.28.6 '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - '@babel/plugin-transform-optional-chaining': 7.28.6(@babel/core@7.27.7) + '@babel/plugin-transform-optional-chaining': 7.28.6(@babel/core@7.27.1) transitivePeerDependencies: - supports-color - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.28.6(@babel/core@7.27.7)': + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.27.1(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + '@babel/plugin-transform-optional-chaining': 7.28.6(@babel/core@7.29.0) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.28.6(@babel/core@7.27.1)': + dependencies: + '@babel/core': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 + '@babel/traverse': 7.29.0 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.28.6(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 '@babel/traverse': 7.29.0 transitivePeerDependencies: - supports-color - '@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.27.7)': + '@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.27.1)': dependencies: - '@babel/core': 7.27.7 - '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.27.7) + '@babel/core': 7.27.1 + '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.27.1) '@babel/helper-plugin-utils': 7.28.6 transitivePeerDependencies: - supports-color - '@babel/plugin-proposal-decorators@7.29.0(@babel/core@7.27.7)': + '@babel/plugin-proposal-decorators@7.29.0(@babel/core@7.27.1)': dependencies: - '@babel/core': 7.27.7 - '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.27.7) + '@babel/core': 7.27.1 + '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.27.1) '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-syntax-decorators': 7.28.6(@babel/core@7.27.7) + '@babel/plugin-syntax-decorators': 7.28.6(@babel/core@7.27.1) transitivePeerDependencies: - supports-color - '@babel/plugin-proposal-export-default-from@7.27.1(@babel/core@7.27.7)': + '@babel/plugin-proposal-export-default-from@7.27.1(@babel/core@7.27.1)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.27.7)': + '@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.27.1)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.27.7) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.27.1) '@babel/plugin-proposal-object-rest-spread@7.12.1(@babel/core@7.12.9)': dependencies: @@ -24033,104 +26659,153 @@ snapshots: '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.12.9) '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.12.9) - '@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.27.7)': + '@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.27.1)': dependencies: '@babel/compat-data': 7.29.0 - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 '@babel/helper-compilation-targets': 7.28.6 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.27.7) - '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.27.7) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.27.1) + '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.27.1) - '@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.27.7)': + '@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.27.1)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 '@babel/helper-plugin-utils': 7.28.6 '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.27.7) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.27.1) transitivePeerDependencies: - supports-color - '@babel/plugin-proposal-private-methods@7.18.6(@babel/core@7.27.7)': + '@babel/plugin-proposal-private-methods@7.18.6(@babel/core@7.27.1)': dependencies: - '@babel/core': 7.27.7 - '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.27.7) + '@babel/core': 7.27.1 + '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.27.1) '@babel/helper-plugin-utils': 7.28.6 transitivePeerDependencies: - supports-color - '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.27.7)': + '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.27.1)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 - '@babel/plugin-proposal-private-property-in-object@7.21.11(@babel/core@7.27.7)': + '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.29.0 + + '@babel/plugin-proposal-private-property-in-object@7.21.11(@babel/core@7.27.1)': + dependencies: + '@babel/core': 7.27.1 '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.27.7) + '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.27.1) '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.27.7) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.27.1) transitivePeerDependencies: - supports-color - '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.27.7)': + '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.27.1)': + dependencies: + '@babel/core': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.27.1)': + dependencies: + '@babel/core': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.27.1)': + dependencies: + '@babel/core': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.27.1)': + dependencies: + '@babel/core': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.27.7)': + '@babel/plugin-syntax-decorators@7.28.6(@babel/core@7.27.1)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.27.7)': + '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.27.1)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.27.7)': + '@babel/plugin-syntax-flow@7.22.5(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-syntax-decorators@7.28.6(@babel/core@7.27.7)': + '@babel/plugin-syntax-flow@7.27.1(@babel/core@7.27.1)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.27.7)': + '@babel/plugin-syntax-flow@7.27.1(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-syntax-flow@7.22.5(@babel/core@7.27.7)': + '@babel/plugin-syntax-import-assertions@7.28.6(@babel/core@7.27.1)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-syntax-flow@7.27.1(@babel/core@7.27.7)': + '@babel/plugin-syntax-import-assertions@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-syntax-import-assertions@7.28.6(@babel/core@7.27.7)': + '@babel/plugin-syntax-import-attributes@7.28.6(@babel/core@7.27.1)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-syntax-import-attributes@7.28.6(@babel/core@7.27.7)': + '@babel/plugin-syntax-import-attributes@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.27.7)': + '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.27.1)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.27.7)': + '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.27.1)': + dependencies: + '@babel/core': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-syntax-jsx@7.12.1(@babel/core@7.12.9)': @@ -24138,24 +26813,44 @@ snapshots: '@babel/core': 7.12.9 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.27.7)': + '@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.27.1)': + dependencies: + '@babel/core': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.27.1)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.27.7)': + '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.27.7)': + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.27.1)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.27.7)': + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.27.1)': + dependencies: + '@babel/core': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.12.9)': @@ -24163,274 +26858,547 @@ snapshots: '@babel/core': 7.12.9 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.27.7)': + '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.27.1)': + dependencies: + '@babel/core': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.27.1)': + dependencies: + '@babel/core': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.27.1)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.27.7)': + '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.27.7)': + '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.27.1)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.27.7)': + '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.27.7)': + '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.27.1)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.27.7)': + '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.27.7)': + '@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.27.1)': dependencies: - '@babel/core': 7.27.7 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.27.7) + '@babel/core': 7.27.1 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-arrow-functions@7.27.1(@babel/core@7.27.7)': + '@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-async-generator-functions@7.29.0(@babel/core@7.27.7)': + '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.27.1)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.27.1) '@babel/helper-plugin-utils': 7.28.6 - '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.27.7) + + '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0) + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-arrow-functions@7.27.1(@babel/core@7.27.1)': + dependencies: + '@babel/core': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-arrow-functions@7.27.1(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-async-generator-functions@7.29.0(@babel/core@7.27.1)': + dependencies: + '@babel/core': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.27.1) '@babel/traverse': 7.29.0 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-async-to-generator@7.28.6(@babel/core@7.27.7)': + '@babel/plugin-transform-async-generator-functions@7.29.0(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.29.0) + '@babel/traverse': 7.29.0 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-async-to-generator@7.28.6(@babel/core@7.27.1)': + dependencies: + '@babel/core': 7.27.1 '@babel/helper-module-imports': 7.28.6 '@babel/helper-plugin-utils': 7.28.6 - '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.27.7) + '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.27.1) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-async-to-generator@7.28.6(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-module-imports': 7.28.6 + '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.29.0) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-block-scoped-functions@7.27.1(@babel/core@7.27.1)': + dependencies: + '@babel/core': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-block-scoped-functions@7.27.1(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-block-scoping@7.28.6(@babel/core@7.27.1)': + dependencies: + '@babel/core': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-block-scoping@7.28.6(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-class-properties@7.28.6(@babel/core@7.27.1)': + dependencies: + '@babel/core': 7.27.1 + '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.27.1) + '@babel/helper-plugin-utils': 7.28.6 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-block-scoped-functions@7.27.1(@babel/core@7.27.7)': + '@babel/plugin-transform-class-properties@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.29.0 + '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.29.0) '@babel/helper-plugin-utils': 7.28.6 + transitivePeerDependencies: + - supports-color - '@babel/plugin-transform-block-scoping@7.28.6(@babel/core@7.27.7)': + '@babel/plugin-transform-class-static-block@7.28.6(@babel/core@7.27.1)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 + '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.27.1) '@babel/helper-plugin-utils': 7.28.6 + transitivePeerDependencies: + - supports-color - '@babel/plugin-transform-class-properties@7.28.6(@babel/core@7.27.7)': + '@babel/plugin-transform-class-static-block@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.27.7 - '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.27.7) + '@babel/core': 7.29.0 + '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.29.0) '@babel/helper-plugin-utils': 7.28.6 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-class-static-block@7.28.6(@babel/core@7.27.7)': + '@babel/plugin-transform-classes@7.28.6(@babel/core@7.27.1)': dependencies: - '@babel/core': 7.27.7 - '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.27.7) + '@babel/core': 7.27.1 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-compilation-targets': 7.28.6 + '@babel/helper-globals': 7.28.0 '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-replace-supers': 7.28.6(@babel/core@7.27.1) + '@babel/traverse': 7.29.0 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-classes@7.28.6(@babel/core@7.27.7)': + '@babel/plugin-transform-classes@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.29.0 '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-compilation-targets': 7.28.6 '@babel/helper-globals': 7.28.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/helper-replace-supers': 7.28.6(@babel/core@7.27.7) + '@babel/helper-replace-supers': 7.28.6(@babel/core@7.29.0) '@babel/traverse': 7.29.0 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-computed-properties@7.28.6(@babel/core@7.27.7)': + '@babel/plugin-transform-computed-properties@7.28.6(@babel/core@7.27.1)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 '@babel/helper-plugin-utils': 7.28.6 '@babel/template': 7.28.6 - '@babel/plugin-transform-destructuring@7.28.5(@babel/core@7.27.7)': + '@babel/plugin-transform-computed-properties@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + '@babel/template': 7.28.6 + + '@babel/plugin-transform-destructuring@7.28.5(@babel/core@7.27.1)': + dependencies: + '@babel/core': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 + '@babel/traverse': 7.29.0 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-destructuring@7.28.5(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 '@babel/traverse': 7.29.0 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-dotall-regex@7.28.6(@babel/core@7.27.7)': + '@babel/plugin-transform-dotall-regex@7.28.6(@babel/core@7.27.1)': + dependencies: + '@babel/core': 7.27.1 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.27.1) + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-dotall-regex@7.28.6(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0) + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-duplicate-keys@7.27.1(@babel/core@7.27.1)': + dependencies: + '@babel/core': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-duplicate-keys@7.27.1(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.29.0(@babel/core@7.27.1)': + dependencies: + '@babel/core': 7.27.1 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.27.1) + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.29.0(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0) + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-dynamic-import@7.27.1(@babel/core@7.27.1)': + dependencies: + '@babel/core': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-dynamic-import@7.27.1(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-exponentiation-operator@7.28.6(@babel/core@7.27.1)': dependencies: - '@babel/core': 7.27.7 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.27.7) + '@babel/core': 7.27.1 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-duplicate-keys@7.27.1(@babel/core@7.27.7)': + '@babel/plugin-transform-exponentiation-operator@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.29.0(@babel/core@7.27.7)': + '@babel/plugin-transform-export-namespace-from@7.27.1(@babel/core@7.27.1)': dependencies: - '@babel/core': 7.27.7 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.27.7) + '@babel/core': 7.27.1 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-dynamic-import@7.27.1(@babel/core@7.27.7)': + '@babel/plugin-transform-export-namespace-from@7.27.1(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-exponentiation-operator@7.28.6(@babel/core@7.27.7)': + '@babel/plugin-transform-flow-strip-types@7.27.1(@babel/core@7.27.1)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 '@babel/helper-plugin-utils': 7.28.6 + '@babel/plugin-syntax-flow': 7.27.1(@babel/core@7.27.1) - '@babel/plugin-transform-export-namespace-from@7.27.1(@babel/core@7.27.7)': + '@babel/plugin-transform-flow-strip-types@7.27.1(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 + '@babel/plugin-syntax-flow': 7.27.1(@babel/core@7.29.0) - '@babel/plugin-transform-flow-strip-types@7.27.1(@babel/core@7.27.7)': + '@babel/plugin-transform-for-of@7.27.1(@babel/core@7.27.1)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-syntax-flow': 7.27.1(@babel/core@7.27.7) + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + transitivePeerDependencies: + - supports-color - '@babel/plugin-transform-for-of@7.27.1(@babel/core@7.27.7)': + '@babel/plugin-transform-for-of@7.27.1(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-function-name@7.27.1(@babel/core@7.27.7)': + '@babel/plugin-transform-function-name@7.27.1(@babel/core@7.27.1)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 '@babel/helper-compilation-targets': 7.28.6 '@babel/helper-plugin-utils': 7.28.6 '@babel/traverse': 7.29.0 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-json-strings@7.28.6(@babel/core@7.27.7)': + '@babel/plugin-transform-function-name@7.27.1(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.29.0 + '@babel/helper-compilation-targets': 7.28.6 '@babel/helper-plugin-utils': 7.28.6 + '@babel/traverse': 7.29.0 + transitivePeerDependencies: + - supports-color - '@babel/plugin-transform-literals@7.27.1(@babel/core@7.27.7)': + '@babel/plugin-transform-json-strings@7.28.6(@babel/core@7.27.1)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-logical-assignment-operators@7.28.6(@babel/core@7.27.7)': + '@babel/plugin-transform-json-strings@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-member-expression-literals@7.27.1(@babel/core@7.27.7)': + '@babel/plugin-transform-literals@7.27.1(@babel/core@7.27.1)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-modules-amd@7.27.1(@babel/core@7.27.7)': + '@babel/plugin-transform-literals@7.27.1(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.27.7 - '@babel/helper-module-transforms': 7.28.6(@babel/core@7.27.7) + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-logical-assignment-operators@7.28.6(@babel/core@7.27.1)': + dependencies: + '@babel/core': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-logical-assignment-operators@7.28.6(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-member-expression-literals@7.27.1(@babel/core@7.27.1)': + dependencies: + '@babel/core': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-member-expression-literals@7.27.1(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-modules-amd@7.27.1(@babel/core@7.27.1)': + dependencies: + '@babel/core': 7.27.1 + '@babel/helper-module-transforms': 7.28.6(@babel/core@7.27.1) + '@babel/helper-plugin-utils': 7.28.6 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-amd@7.27.1(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-module-transforms': 7.28.6(@babel/core@7.29.0) + '@babel/helper-plugin-utils': 7.28.6 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-commonjs@7.28.6(@babel/core@7.27.1)': + dependencies: + '@babel/core': 7.27.1 + '@babel/helper-module-transforms': 7.28.6(@babel/core@7.27.1) '@babel/helper-plugin-utils': 7.28.6 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-modules-commonjs@7.28.6(@babel/core@7.27.7)': + '@babel/plugin-transform-modules-commonjs@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.27.7 - '@babel/helper-module-transforms': 7.28.6(@babel/core@7.27.7) + '@babel/core': 7.29.0 + '@babel/helper-module-transforms': 7.28.6(@babel/core@7.29.0) '@babel/helper-plugin-utils': 7.28.6 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-modules-systemjs@7.29.0(@babel/core@7.27.7)': + '@babel/plugin-transform-modules-systemjs@7.29.0(@babel/core@7.27.1)': dependencies: - '@babel/core': 7.27.7 - '@babel/helper-module-transforms': 7.28.6(@babel/core@7.27.7) + '@babel/core': 7.27.1 + '@babel/helper-module-transforms': 7.28.6(@babel/core@7.27.1) '@babel/helper-plugin-utils': 7.28.6 '@babel/helper-validator-identifier': 7.28.5 '@babel/traverse': 7.29.0 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-modules-umd@7.27.1(@babel/core@7.27.7)': + '@babel/plugin-transform-modules-systemjs@7.29.0(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.27.7 - '@babel/helper-module-transforms': 7.28.6(@babel/core@7.27.7) + '@babel/core': 7.29.0 + '@babel/helper-module-transforms': 7.28.6(@babel/core@7.29.0) + '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-validator-identifier': 7.28.5 + '@babel/traverse': 7.29.0 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-umd@7.27.1(@babel/core@7.27.1)': + dependencies: + '@babel/core': 7.27.1 + '@babel/helper-module-transforms': 7.28.6(@babel/core@7.27.1) + '@babel/helper-plugin-utils': 7.28.6 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-umd@7.27.1(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-module-transforms': 7.28.6(@babel/core@7.29.0) '@babel/helper-plugin-utils': 7.28.6 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-named-capturing-groups-regex@7.29.0(@babel/core@7.27.7)': + '@babel/plugin-transform-named-capturing-groups-regex@7.29.0(@babel/core@7.27.1)': + dependencies: + '@babel/core': 7.27.1 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.27.1) + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-named-capturing-groups-regex@7.29.0(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0) + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-new-target@7.27.1(@babel/core@7.27.1)': + dependencies: + '@babel/core': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-new-target@7.27.1(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-nullish-coalescing-operator@7.28.6(@babel/core@7.27.1)': + dependencies: + '@babel/core': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-nullish-coalescing-operator@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.27.7 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.27.7) + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-new-target@7.27.1(@babel/core@7.27.7)': + '@babel/plugin-transform-numeric-separator@7.28.6(@babel/core@7.27.1)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-nullish-coalescing-operator@7.28.6(@babel/core@7.27.7)': + '@babel/plugin-transform-numeric-separator@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-numeric-separator@7.28.6(@babel/core@7.27.7)': + '@babel/plugin-transform-object-rest-spread@7.28.6(@babel/core@7.27.1)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 + '@babel/helper-compilation-targets': 7.28.6 '@babel/helper-plugin-utils': 7.28.6 + '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.27.1) + '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.27.1) + '@babel/traverse': 7.29.0 + transitivePeerDependencies: + - supports-color - '@babel/plugin-transform-object-rest-spread@7.28.6(@babel/core@7.27.7)': + '@babel/plugin-transform-object-rest-spread@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.29.0 '@babel/helper-compilation-targets': 7.28.6 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.27.7) - '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.27.7) + '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.29.0) + '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.29.0) '@babel/traverse': 7.29.0 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-object-super@7.27.1(@babel/core@7.27.7)': + '@babel/plugin-transform-object-super@7.27.1(@babel/core@7.27.1)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 '@babel/helper-plugin-utils': 7.28.6 - '@babel/helper-replace-supers': 7.28.6(@babel/core@7.27.7) + '@babel/helper-replace-supers': 7.28.6(@babel/core@7.27.1) transitivePeerDependencies: - supports-color - '@babel/plugin-transform-optional-catch-binding@7.28.6(@babel/core@7.27.7)': + '@babel/plugin-transform-object-super@7.27.1(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-replace-supers': 7.28.6(@babel/core@7.29.0) + transitivePeerDependencies: + - supports-color - '@babel/plugin-transform-optional-chaining@7.28.6(@babel/core@7.27.7)': + '@babel/plugin-transform-optional-catch-binding@7.28.6(@babel/core@7.27.1)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-optional-catch-binding@7.28.6(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-optional-chaining@7.28.6(@babel/core@7.27.1)': + dependencies: + '@babel/core': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-optional-chaining@7.28.6(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 transitivePeerDependencies: @@ -24441,266 +27409,512 @@ snapshots: '@babel/core': 7.12.9 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-parameters@7.27.7(@babel/core@7.27.7)': + '@babel/plugin-transform-parameters@7.27.7(@babel/core@7.27.1)': + dependencies: + '@babel/core': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-parameters@7.27.7(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-private-methods@7.28.6(@babel/core@7.27.1)': + dependencies: + '@babel/core': 7.27.1 + '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.27.1) + '@babel/helper-plugin-utils': 7.28.6 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-private-methods@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.29.0 + '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.29.0) '@babel/helper-plugin-utils': 7.28.6 + transitivePeerDependencies: + - supports-color - '@babel/plugin-transform-private-methods@7.28.6(@babel/core@7.27.7)': + '@babel/plugin-transform-private-property-in-object@7.28.6(@babel/core@7.27.1)': dependencies: - '@babel/core': 7.27.7 - '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.27.7) + '@babel/core': 7.27.1 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.27.1) '@babel/helper-plugin-utils': 7.28.6 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-private-property-in-object@7.28.6(@babel/core@7.27.7)': + '@babel/plugin-transform-private-property-in-object@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.29.0 '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.27.7) + '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.29.0) '@babel/helper-plugin-utils': 7.28.6 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-property-literals@7.27.1(@babel/core@7.27.7)': + '@babel/plugin-transform-property-literals@7.27.1(@babel/core@7.27.1)': + dependencies: + '@babel/core': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-property-literals@7.27.1(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-react-display-name@7.28.0(@babel/core@7.27.1)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-react-display-name@7.28.0(@babel/core@7.27.7)': + '@babel/plugin-transform-react-display-name@7.28.0(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-react-jsx-development@7.27.1(@babel/core@7.27.7)': + '@babel/plugin-transform-react-jsx-development@7.27.1(@babel/core@7.27.1)': dependencies: - '@babel/core': 7.27.7 - '@babel/plugin-transform-react-jsx': 7.28.6(@babel/core@7.27.7) + '@babel/core': 7.27.1 + '@babel/plugin-transform-react-jsx': 7.28.6(@babel/core@7.27.1) transitivePeerDependencies: - supports-color - '@babel/plugin-transform-react-jsx@7.28.6(@babel/core@7.27.7)': + '@babel/plugin-transform-react-jsx-development@7.27.1(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.29.0 + '@babel/plugin-transform-react-jsx': 7.28.6(@babel/core@7.29.0) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-react-jsx@7.28.6(@babel/core@7.27.1)': + dependencies: + '@babel/core': 7.27.1 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-module-imports': 7.28.6 + '@babel/helper-plugin-utils': 7.28.6 + '@babel/plugin-syntax-jsx': 7.28.6(@babel/core@7.27.1) + '@babel/types': 7.29.0 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-react-jsx@7.28.6(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-module-imports': 7.28.6 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-syntax-jsx': 7.28.6(@babel/core@7.27.7) + '@babel/plugin-syntax-jsx': 7.28.6(@babel/core@7.29.0) '@babel/types': 7.29.0 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-react-pure-annotations@7.27.1(@babel/core@7.27.7)': + '@babel/plugin-transform-react-pure-annotations@7.27.1(@babel/core@7.27.1)': + dependencies: + '@babel/core': 7.27.1 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-react-pure-annotations@7.27.1(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.29.0 '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-regenerator@7.29.0(@babel/core@7.27.7)': + '@babel/plugin-transform-regenerator@7.29.0(@babel/core@7.27.1)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-regexp-modifiers@7.28.6(@babel/core@7.27.7)': + '@babel/plugin-transform-regenerator@7.29.0(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.27.7 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.27.7) + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-reserved-words@7.27.1(@babel/core@7.27.7)': + '@babel/plugin-transform-regexp-modifiers@7.28.6(@babel/core@7.27.1)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.27.1) '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-shorthand-properties@7.27.1(@babel/core@7.27.7)': + '@babel/plugin-transform-regexp-modifiers@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.29.0 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0) '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-spread@7.28.6(@babel/core@7.27.7)': + '@babel/plugin-transform-reserved-words@7.27.1(@babel/core@7.27.1)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-reserved-words@7.27.1(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-shorthand-properties@7.27.1(@babel/core@7.27.1)': + dependencies: + '@babel/core': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-shorthand-properties@7.27.1(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-spread@7.28.6(@babel/core@7.27.1)': + dependencies: + '@babel/core': 7.27.1 '@babel/helper-plugin-utils': 7.28.6 '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-sticky-regex@7.27.1(@babel/core@7.27.7)': + '@babel/plugin-transform-spread@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + transitivePeerDependencies: + - supports-color - '@babel/plugin-transform-template-literals@7.27.1(@babel/core@7.27.7)': + '@babel/plugin-transform-sticky-regex@7.27.1(@babel/core@7.27.1)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-typeof-symbol@7.27.1(@babel/core@7.27.7)': + '@babel/plugin-transform-sticky-regex@7.27.1(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-typescript@7.28.6(@babel/core@7.27.7)': + '@babel/plugin-transform-template-literals@7.27.1(@babel/core@7.27.1)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-template-literals@7.27.1(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-typeof-symbol@7.27.1(@babel/core@7.27.1)': + dependencies: + '@babel/core': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-typeof-symbol@7.27.1(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-typescript@7.27.1(@babel/core@7.27.1)': + dependencies: + '@babel/core': 7.27.1 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.27.1) + '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + '@babel/plugin-syntax-typescript': 7.28.6(@babel/core@7.27.1) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-typescript@7.27.1(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.27.7) + '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.29.0) '@babel/helper-plugin-utils': 7.28.6 '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - '@babel/plugin-syntax-typescript': 7.28.6(@babel/core@7.27.7) + '@babel/plugin-syntax-typescript': 7.28.6(@babel/core@7.29.0) transitivePeerDependencies: - supports-color - '@babel/plugin-transform-unicode-escapes@7.27.1(@babel/core@7.27.7)': + '@babel/plugin-transform-unicode-escapes@7.27.1(@babel/core@7.27.1)': + dependencies: + '@babel/core': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-unicode-escapes@7.27.1(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-unicode-property-regex@7.28.6(@babel/core@7.27.1)': + dependencies: + '@babel/core': 7.27.1 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.27.1) + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-unicode-property-regex@7.28.6(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0) + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-unicode-regex@7.27.1(@babel/core@7.27.1)': + dependencies: + '@babel/core': 7.27.1 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.27.1) + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-unicode-regex@7.27.1(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.29.0 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0) '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-unicode-property-regex@7.28.6(@babel/core@7.27.7)': + '@babel/plugin-transform-unicode-sets-regex@7.28.6(@babel/core@7.27.1)': dependencies: - '@babel/core': 7.27.7 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.27.7) + '@babel/core': 7.27.1 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.27.1) '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-unicode-regex@7.27.1(@babel/core@7.27.7)': + '@babel/plugin-transform-unicode-sets-regex@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.27.7 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.27.7) + '@babel/core': 7.29.0 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0) '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-unicode-sets-regex@7.28.6(@babel/core@7.27.7)': + '@babel/preset-env@7.27.2(@babel/core@7.27.1)': dependencies: - '@babel/core': 7.27.7 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.27.7) + '@babel/compat-data': 7.29.0 + '@babel/core': 7.27.1 + '@babel/helper-compilation-targets': 7.28.6 '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-validator-option': 7.27.1 + '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.28.5(@babel/core@7.27.1) + '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.27.1(@babel/core@7.27.1) + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.27.1(@babel/core@7.27.1) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.27.1(@babel/core@7.27.1) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.28.6(@babel/core@7.27.1) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.27.1) + '@babel/plugin-syntax-import-assertions': 7.28.6(@babel/core@7.27.1) + '@babel/plugin-syntax-import-attributes': 7.28.6(@babel/core@7.27.1) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.27.1) + '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.27.1) + '@babel/plugin-transform-async-generator-functions': 7.29.0(@babel/core@7.27.1) + '@babel/plugin-transform-async-to-generator': 7.28.6(@babel/core@7.27.1) + '@babel/plugin-transform-block-scoped-functions': 7.27.1(@babel/core@7.27.1) + '@babel/plugin-transform-block-scoping': 7.28.6(@babel/core@7.27.1) + '@babel/plugin-transform-class-properties': 7.28.6(@babel/core@7.27.1) + '@babel/plugin-transform-class-static-block': 7.28.6(@babel/core@7.27.1) + '@babel/plugin-transform-classes': 7.28.6(@babel/core@7.27.1) + '@babel/plugin-transform-computed-properties': 7.28.6(@babel/core@7.27.1) + '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.27.1) + '@babel/plugin-transform-dotall-regex': 7.28.6(@babel/core@7.27.1) + '@babel/plugin-transform-duplicate-keys': 7.27.1(@babel/core@7.27.1) + '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.29.0(@babel/core@7.27.1) + '@babel/plugin-transform-dynamic-import': 7.27.1(@babel/core@7.27.1) + '@babel/plugin-transform-exponentiation-operator': 7.28.6(@babel/core@7.27.1) + '@babel/plugin-transform-export-namespace-from': 7.27.1(@babel/core@7.27.1) + '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.27.1) + '@babel/plugin-transform-function-name': 7.27.1(@babel/core@7.27.1) + '@babel/plugin-transform-json-strings': 7.28.6(@babel/core@7.27.1) + '@babel/plugin-transform-literals': 7.27.1(@babel/core@7.27.1) + '@babel/plugin-transform-logical-assignment-operators': 7.28.6(@babel/core@7.27.1) + '@babel/plugin-transform-member-expression-literals': 7.27.1(@babel/core@7.27.1) + '@babel/plugin-transform-modules-amd': 7.27.1(@babel/core@7.27.1) + '@babel/plugin-transform-modules-commonjs': 7.28.6(@babel/core@7.27.1) + '@babel/plugin-transform-modules-systemjs': 7.29.0(@babel/core@7.27.1) + '@babel/plugin-transform-modules-umd': 7.27.1(@babel/core@7.27.1) + '@babel/plugin-transform-named-capturing-groups-regex': 7.29.0(@babel/core@7.27.1) + '@babel/plugin-transform-new-target': 7.27.1(@babel/core@7.27.1) + '@babel/plugin-transform-nullish-coalescing-operator': 7.28.6(@babel/core@7.27.1) + '@babel/plugin-transform-numeric-separator': 7.28.6(@babel/core@7.27.1) + '@babel/plugin-transform-object-rest-spread': 7.28.6(@babel/core@7.27.1) + '@babel/plugin-transform-object-super': 7.27.1(@babel/core@7.27.1) + '@babel/plugin-transform-optional-catch-binding': 7.28.6(@babel/core@7.27.1) + '@babel/plugin-transform-optional-chaining': 7.28.6(@babel/core@7.27.1) + '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.27.1) + '@babel/plugin-transform-private-methods': 7.28.6(@babel/core@7.27.1) + '@babel/plugin-transform-private-property-in-object': 7.28.6(@babel/core@7.27.1) + '@babel/plugin-transform-property-literals': 7.27.1(@babel/core@7.27.1) + '@babel/plugin-transform-regenerator': 7.29.0(@babel/core@7.27.1) + '@babel/plugin-transform-regexp-modifiers': 7.28.6(@babel/core@7.27.1) + '@babel/plugin-transform-reserved-words': 7.27.1(@babel/core@7.27.1) + '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.27.1) + '@babel/plugin-transform-spread': 7.28.6(@babel/core@7.27.1) + '@babel/plugin-transform-sticky-regex': 7.27.1(@babel/core@7.27.1) + '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.27.1) + '@babel/plugin-transform-typeof-symbol': 7.27.1(@babel/core@7.27.1) + '@babel/plugin-transform-unicode-escapes': 7.27.1(@babel/core@7.27.1) + '@babel/plugin-transform-unicode-property-regex': 7.28.6(@babel/core@7.27.1) + '@babel/plugin-transform-unicode-regex': 7.27.1(@babel/core@7.27.1) + '@babel/plugin-transform-unicode-sets-regex': 7.28.6(@babel/core@7.27.1) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.27.1) + babel-plugin-polyfill-corejs2: 0.4.16(@babel/core@7.27.1) + babel-plugin-polyfill-corejs3: 0.11.1(@babel/core@7.27.1) + babel-plugin-polyfill-regenerator: 0.6.7(@babel/core@7.27.1) + core-js-compat: 3.48.0 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color - '@babel/preset-env@7.27.2(@babel/core@7.27.7)': + '@babel/preset-env@7.27.2(@babel/core@7.29.0)': dependencies: '@babel/compat-data': 7.29.0 - '@babel/core': 7.27.7 + '@babel/core': 7.29.0 '@babel/helper-compilation-targets': 7.28.6 '@babel/helper-plugin-utils': 7.28.6 '@babel/helper-validator-option': 7.27.1 - '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.28.5(@babel/core@7.27.7) - '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.27.1(@babel/core@7.27.7) - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.27.1(@babel/core@7.27.7) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.27.1(@babel/core@7.27.7) - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.28.6(@babel/core@7.27.7) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.27.7) - '@babel/plugin-syntax-import-assertions': 7.28.6(@babel/core@7.27.7) - '@babel/plugin-syntax-import-attributes': 7.28.6(@babel/core@7.27.7) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.27.7) - '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.27.7) - '@babel/plugin-transform-async-generator-functions': 7.29.0(@babel/core@7.27.7) - '@babel/plugin-transform-async-to-generator': 7.28.6(@babel/core@7.27.7) - '@babel/plugin-transform-block-scoped-functions': 7.27.1(@babel/core@7.27.7) - '@babel/plugin-transform-block-scoping': 7.28.6(@babel/core@7.27.7) - '@babel/plugin-transform-class-properties': 7.28.6(@babel/core@7.27.7) - '@babel/plugin-transform-class-static-block': 7.28.6(@babel/core@7.27.7) - '@babel/plugin-transform-classes': 7.28.6(@babel/core@7.27.7) - '@babel/plugin-transform-computed-properties': 7.28.6(@babel/core@7.27.7) - '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.27.7) - '@babel/plugin-transform-dotall-regex': 7.28.6(@babel/core@7.27.7) - '@babel/plugin-transform-duplicate-keys': 7.27.1(@babel/core@7.27.7) - '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.29.0(@babel/core@7.27.7) - '@babel/plugin-transform-dynamic-import': 7.27.1(@babel/core@7.27.7) - '@babel/plugin-transform-exponentiation-operator': 7.28.6(@babel/core@7.27.7) - '@babel/plugin-transform-export-namespace-from': 7.27.1(@babel/core@7.27.7) - '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.27.7) - '@babel/plugin-transform-function-name': 7.27.1(@babel/core@7.27.7) - '@babel/plugin-transform-json-strings': 7.28.6(@babel/core@7.27.7) - '@babel/plugin-transform-literals': 7.27.1(@babel/core@7.27.7) - '@babel/plugin-transform-logical-assignment-operators': 7.28.6(@babel/core@7.27.7) - '@babel/plugin-transform-member-expression-literals': 7.27.1(@babel/core@7.27.7) - '@babel/plugin-transform-modules-amd': 7.27.1(@babel/core@7.27.7) - '@babel/plugin-transform-modules-commonjs': 7.28.6(@babel/core@7.27.7) - '@babel/plugin-transform-modules-systemjs': 7.29.0(@babel/core@7.27.7) - '@babel/plugin-transform-modules-umd': 7.27.1(@babel/core@7.27.7) - '@babel/plugin-transform-named-capturing-groups-regex': 7.29.0(@babel/core@7.27.7) - '@babel/plugin-transform-new-target': 7.27.1(@babel/core@7.27.7) - '@babel/plugin-transform-nullish-coalescing-operator': 7.28.6(@babel/core@7.27.7) - '@babel/plugin-transform-numeric-separator': 7.28.6(@babel/core@7.27.7) - '@babel/plugin-transform-object-rest-spread': 7.28.6(@babel/core@7.27.7) - '@babel/plugin-transform-object-super': 7.27.1(@babel/core@7.27.7) - '@babel/plugin-transform-optional-catch-binding': 7.28.6(@babel/core@7.27.7) - '@babel/plugin-transform-optional-chaining': 7.28.6(@babel/core@7.27.7) - '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.27.7) - '@babel/plugin-transform-private-methods': 7.28.6(@babel/core@7.27.7) - '@babel/plugin-transform-private-property-in-object': 7.28.6(@babel/core@7.27.7) - '@babel/plugin-transform-property-literals': 7.27.1(@babel/core@7.27.7) - '@babel/plugin-transform-regenerator': 7.29.0(@babel/core@7.27.7) - '@babel/plugin-transform-regexp-modifiers': 7.28.6(@babel/core@7.27.7) - '@babel/plugin-transform-reserved-words': 7.27.1(@babel/core@7.27.7) - '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.27.7) - '@babel/plugin-transform-spread': 7.28.6(@babel/core@7.27.7) - '@babel/plugin-transform-sticky-regex': 7.27.1(@babel/core@7.27.7) - '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.27.7) - '@babel/plugin-transform-typeof-symbol': 7.27.1(@babel/core@7.27.7) - '@babel/plugin-transform-unicode-escapes': 7.27.1(@babel/core@7.27.7) - '@babel/plugin-transform-unicode-property-regex': 7.28.6(@babel/core@7.27.7) - '@babel/plugin-transform-unicode-regex': 7.27.1(@babel/core@7.27.7) - '@babel/plugin-transform-unicode-sets-regex': 7.28.6(@babel/core@7.27.7) - '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.27.7) - babel-plugin-polyfill-corejs2: 0.4.16(@babel/core@7.27.7) - babel-plugin-polyfill-corejs3: 0.11.1(@babel/core@7.27.7) - babel-plugin-polyfill-regenerator: 0.6.7(@babel/core@7.27.7) + '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.28.5(@babel/core@7.29.0) + '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.29.0) + '@babel/plugin-syntax-import-assertions': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-syntax-import-attributes': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.29.0) + '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-async-generator-functions': 7.29.0(@babel/core@7.29.0) + '@babel/plugin-transform-async-to-generator': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-block-scoped-functions': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-block-scoping': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-class-properties': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-class-static-block': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-classes': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-computed-properties': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.29.0) + '@babel/plugin-transform-dotall-regex': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-duplicate-keys': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.29.0(@babel/core@7.29.0) + '@babel/plugin-transform-dynamic-import': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-exponentiation-operator': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-export-namespace-from': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-function-name': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-json-strings': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-literals': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-logical-assignment-operators': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-member-expression-literals': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-modules-amd': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-modules-commonjs': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-modules-systemjs': 7.29.0(@babel/core@7.29.0) + '@babel/plugin-transform-modules-umd': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-named-capturing-groups-regex': 7.29.0(@babel/core@7.29.0) + '@babel/plugin-transform-new-target': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-nullish-coalescing-operator': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-numeric-separator': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-object-rest-spread': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-object-super': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-optional-catch-binding': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-optional-chaining': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.29.0) + '@babel/plugin-transform-private-methods': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-private-property-in-object': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-property-literals': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-regenerator': 7.29.0(@babel/core@7.29.0) + '@babel/plugin-transform-regexp-modifiers': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-reserved-words': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-spread': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-sticky-regex': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-typeof-symbol': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-unicode-escapes': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-unicode-property-regex': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-unicode-regex': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-unicode-sets-regex': 7.28.6(@babel/core@7.29.0) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.29.0) + babel-plugin-polyfill-corejs2: 0.4.16(@babel/core@7.29.0) + babel-plugin-polyfill-corejs3: 0.11.1(@babel/core@7.29.0) + babel-plugin-polyfill-regenerator: 0.6.7(@babel/core@7.29.0) core-js-compat: 3.48.0 semver: 6.3.1 transitivePeerDependencies: - supports-color - '@babel/preset-flow@7.27.1(@babel/core@7.27.7)': + '@babel/preset-flow@7.27.1(@babel/core@7.27.1)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 '@babel/helper-plugin-utils': 7.28.6 '@babel/helper-validator-option': 7.27.1 - '@babel/plugin-transform-flow-strip-types': 7.27.1(@babel/core@7.27.7) + '@babel/plugin-transform-flow-strip-types': 7.27.1(@babel/core@7.27.1) + + '@babel/preset-flow@7.27.1(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-validator-option': 7.27.1 + '@babel/plugin-transform-flow-strip-types': 7.27.1(@babel/core@7.29.0) + + '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.27.1)': + dependencies: + '@babel/core': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 + '@babel/types': 7.29.0 + esutils: 2.0.3 - '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.27.7)': + '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 '@babel/types': 7.29.0 esutils: 2.0.3 - '@babel/preset-react@7.27.1(@babel/core@7.27.7)': + '@babel/preset-react@7.27.1(@babel/core@7.27.1)': + dependencies: + '@babel/core': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-validator-option': 7.27.1 + '@babel/plugin-transform-react-display-name': 7.28.0(@babel/core@7.27.1) + '@babel/plugin-transform-react-jsx': 7.28.6(@babel/core@7.27.1) + '@babel/plugin-transform-react-jsx-development': 7.27.1(@babel/core@7.27.1) + '@babel/plugin-transform-react-pure-annotations': 7.27.1(@babel/core@7.27.1) + transitivePeerDependencies: + - supports-color + + '@babel/preset-react@7.27.1(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-validator-option': 7.27.1 + '@babel/plugin-transform-react-display-name': 7.28.0(@babel/core@7.29.0) + '@babel/plugin-transform-react-jsx': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-react-jsx-development': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-react-pure-annotations': 7.27.1(@babel/core@7.29.0) + transitivePeerDependencies: + - supports-color + + '@babel/preset-typescript@7.22.11(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 '@babel/helper-validator-option': 7.27.1 - '@babel/plugin-transform-react-display-name': 7.28.0(@babel/core@7.27.7) - '@babel/plugin-transform-react-jsx': 7.28.6(@babel/core@7.27.7) - '@babel/plugin-transform-react-jsx-development': 7.27.1(@babel/core@7.27.7) - '@babel/plugin-transform-react-pure-annotations': 7.27.1(@babel/core@7.27.7) + '@babel/plugin-syntax-jsx': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-modules-commonjs': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-typescript': 7.27.1(@babel/core@7.29.0) transitivePeerDependencies: - supports-color - '@babel/preset-typescript@7.22.15(@babel/core@7.27.7)': + '@babel/preset-typescript@7.27.1(@babel/core@7.27.1)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 '@babel/helper-plugin-utils': 7.28.6 '@babel/helper-validator-option': 7.27.1 - '@babel/plugin-syntax-jsx': 7.28.6(@babel/core@7.27.7) - '@babel/plugin-transform-modules-commonjs': 7.28.6(@babel/core@7.27.7) - '@babel/plugin-transform-typescript': 7.28.6(@babel/core@7.27.7) + '@babel/plugin-syntax-jsx': 7.28.6(@babel/core@7.27.1) + '@babel/plugin-transform-modules-commonjs': 7.28.6(@babel/core@7.27.1) + '@babel/plugin-transform-typescript': 7.27.1(@babel/core@7.27.1) transitivePeerDependencies: - supports-color - '@babel/preset-typescript@7.27.1(@babel/core@7.27.7)': + '@babel/preset-typescript@7.27.1(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 '@babel/helper-validator-option': 7.27.1 - '@babel/plugin-syntax-jsx': 7.28.6(@babel/core@7.27.7) - '@babel/plugin-transform-modules-commonjs': 7.28.6(@babel/core@7.27.7) - '@babel/plugin-transform-typescript': 7.28.6(@babel/core@7.27.7) + '@babel/plugin-syntax-jsx': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-modules-commonjs': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-typescript': 7.27.1(@babel/core@7.29.0) transitivePeerDependencies: - supports-color - '@babel/register@7.28.6(@babel/core@7.27.7)': + '@babel/register@7.28.6(@babel/core@7.27.1)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 clone-deep: 4.0.1 find-cache-dir: 2.1.0 make-dir: 2.1.0 @@ -24744,6 +27958,17 @@ snapshots: '@bcoe/v8-coverage@1.0.2': {} + '@biomejs/biome@1.8.3': + optionalDependencies: + '@biomejs/cli-darwin-arm64': 1.8.3 + '@biomejs/cli-darwin-x64': 1.8.3 + '@biomejs/cli-linux-arm64': 1.8.3 + '@biomejs/cli-linux-arm64-musl': 1.8.3 + '@biomejs/cli-linux-x64': 1.8.3 + '@biomejs/cli-linux-x64-musl': 1.8.3 + '@biomejs/cli-win32-arm64': 1.8.3 + '@biomejs/cli-win32-x64': 1.8.3 + '@biomejs/biome@1.9.4': optionalDependencies: '@biomejs/cli-darwin-arm64': 1.9.4 @@ -24755,30 +27980,56 @@ snapshots: '@biomejs/cli-win32-arm64': 1.9.4 '@biomejs/cli-win32-x64': 1.9.4 + '@biomejs/cli-darwin-arm64@1.8.3': + optional: true + '@biomejs/cli-darwin-arm64@1.9.4': optional: true + '@biomejs/cli-darwin-x64@1.8.3': + optional: true + '@biomejs/cli-darwin-x64@1.9.4': optional: true + '@biomejs/cli-linux-arm64-musl@1.8.3': + optional: true + '@biomejs/cli-linux-arm64-musl@1.9.4': optional: true + '@biomejs/cli-linux-arm64@1.8.3': + optional: true + '@biomejs/cli-linux-arm64@1.9.4': optional: true + '@biomejs/cli-linux-x64-musl@1.8.3': + optional: true + '@biomejs/cli-linux-x64-musl@1.9.4': optional: true + '@biomejs/cli-linux-x64@1.8.3': + optional: true + '@biomejs/cli-linux-x64@1.9.4': optional: true + '@biomejs/cli-win32-arm64@1.8.3': + optional: true + '@biomejs/cli-win32-arm64@1.9.4': optional: true + '@biomejs/cli-win32-x64@1.8.3': + optional: true + '@biomejs/cli-win32-x64@1.9.4': optional: true + '@borewit/text-codec@0.2.1': {} + '@cacheable/memory@2.0.8': dependencies: '@cacheable/utils': 2.4.0 @@ -24799,14 +28050,14 @@ snapshots: '@codemirror/autocomplete@6.19.1': dependencies: '@codemirror/language': 6.11.3 - '@codemirror/state': 6.5.4 + '@codemirror/state': 6.5.2 '@codemirror/view': 6.38.8 '@lezer/common': 1.5.1 - '@codemirror/commands@6.10.2': + '@codemirror/commands@6.10.0': dependencies: '@codemirror/language': 6.11.3 - '@codemirror/state': 6.5.4 + '@codemirror/state': 6.5.2 '@codemirror/view': 6.38.8 '@lezer/common': 1.5.1 @@ -24828,7 +28079,7 @@ snapshots: dependencies: '@codemirror/autocomplete': 6.19.1 '@codemirror/language': 6.11.3 - '@codemirror/state': 6.5.4 + '@codemirror/state': 6.5.2 '@lezer/common': 1.5.1 '@lezer/css': 1.3.1 @@ -24836,7 +28087,7 @@ snapshots: dependencies: '@codemirror/autocomplete': 6.19.1 '@codemirror/language': 6.11.3 - '@codemirror/state': 6.5.4 + '@codemirror/state': 6.5.2 '@lezer/common': 1.5.1 '@lezer/go': 1.0.1 @@ -24846,7 +28097,7 @@ snapshots: '@codemirror/lang-css': 6.3.1 '@codemirror/lang-javascript': 6.2.5 '@codemirror/language': 6.11.3 - '@codemirror/state': 6.5.4 + '@codemirror/state': 6.5.2 '@codemirror/view': 6.38.8 '@lezer/common': 1.5.1 '@lezer/css': 1.3.1 @@ -24862,7 +28113,7 @@ snapshots: '@codemirror/autocomplete': 6.19.1 '@codemirror/language': 6.11.3 '@codemirror/lint': 6.8.5 - '@codemirror/state': 6.5.4 + '@codemirror/state': 6.5.2 '@codemirror/view': 6.38.8 '@lezer/common': 1.5.1 '@lezer/javascript': 1.5.4 @@ -24893,7 +28144,7 @@ snapshots: '@codemirror/autocomplete': 6.19.1 '@codemirror/lang-html': 6.4.11 '@codemirror/language': 6.11.3 - '@codemirror/state': 6.5.4 + '@codemirror/state': 6.5.2 '@codemirror/view': 6.38.8 '@lezer/common': 1.5.1 '@lezer/highlight': 1.2.3 @@ -24904,7 +28155,7 @@ snapshots: '@codemirror/autocomplete': 6.19.1 '@codemirror/lang-html': 6.4.11 '@codemirror/language': 6.11.3 - '@codemirror/state': 6.5.4 + '@codemirror/state': 6.5.2 '@codemirror/view': 6.38.8 '@lezer/common': 1.5.1 '@lezer/markdown': 1.6.3 @@ -24913,7 +28164,7 @@ snapshots: dependencies: '@codemirror/lang-html': 6.4.11 '@codemirror/language': 6.11.3 - '@codemirror/state': 6.5.4 + '@codemirror/state': 6.5.2 '@lezer/common': 1.5.1 '@lezer/php': 1.0.5 @@ -24921,7 +28172,7 @@ snapshots: dependencies: '@codemirror/autocomplete': 6.19.1 '@codemirror/language': 6.11.3 - '@codemirror/state': 6.5.4 + '@codemirror/state': 6.5.2 '@lezer/common': 1.5.1 '@lezer/python': 1.1.18 @@ -24934,7 +28185,7 @@ snapshots: dependencies: '@codemirror/lang-css': 6.3.1 '@codemirror/language': 6.11.3 - '@codemirror/state': 6.5.4 + '@codemirror/state': 6.5.2 '@lezer/common': 1.5.1 '@lezer/sass': 1.1.0 @@ -24942,7 +28193,7 @@ snapshots: dependencies: '@codemirror/autocomplete': 6.19.1 '@codemirror/language': 6.11.3 - '@codemirror/state': 6.5.4 + '@codemirror/state': 6.5.2 '@lezer/common': 1.5.1 '@lezer/highlight': 1.2.3 '@lezer/lr': 1.4.8 @@ -24967,7 +28218,7 @@ snapshots: dependencies: '@codemirror/autocomplete': 6.19.1 '@codemirror/language': 6.11.3 - '@codemirror/state': 6.5.4 + '@codemirror/state': 6.5.2 '@codemirror/view': 6.38.8 '@lezer/common': 1.5.1 '@lezer/xml': 1.0.6 @@ -24976,7 +28227,7 @@ snapshots: dependencies: '@codemirror/autocomplete': 6.19.1 '@codemirror/language': 6.11.3 - '@codemirror/state': 6.5.4 + '@codemirror/state': 6.5.2 '@lezer/common': 1.5.1 '@lezer/highlight': 1.2.3 '@lezer/lr': 1.4.8 @@ -25010,7 +28261,7 @@ snapshots: '@codemirror/language@6.11.3': dependencies: - '@codemirror/state': 6.5.4 + '@codemirror/state': 6.5.2 '@codemirror/view': 6.38.8 '@lezer/common': 1.5.1 '@lezer/highlight': 1.2.3 @@ -25021,40 +28272,46 @@ snapshots: dependencies: '@codemirror/language': 6.11.3 + '@codemirror/lint@6.8.1': + dependencies: + '@codemirror/state': 6.5.2 + '@codemirror/view': 6.38.8 + crelt: 1.0.6 + '@codemirror/lint@6.8.5': dependencies: - '@codemirror/state': 6.5.4 + '@codemirror/state': 6.5.2 '@codemirror/view': 6.38.8 crelt: 1.0.6 - '@codemirror/merge@6.12.1': + '@codemirror/merge@6.12.0': dependencies: '@codemirror/language': 6.11.3 - '@codemirror/state': 6.5.4 + '@codemirror/state': 6.5.2 '@codemirror/view': 6.38.8 '@lezer/highlight': 1.2.3 style-mod: 4.1.3 '@codemirror/search@6.6.0': dependencies: - '@codemirror/state': 6.5.4 + '@codemirror/state': 6.5.2 '@codemirror/view': 6.38.8 crelt: 1.0.6 - '@codemirror/state@6.5.4': + '@codemirror/state@6.5.2': dependencies: '@marijn/find-cluster-break': 1.0.2 - '@codemirror/theme-one-dark@6.1.3': + '@codemirror/theme-one-dark@6.1.2': dependencies: '@codemirror/language': 6.11.3 - '@codemirror/state': 6.5.4 + '@codemirror/state': 6.5.2 '@codemirror/view': 6.38.8 '@lezer/highlight': 1.2.3 '@codemirror/view@6.38.8': dependencies: - '@codemirror/state': 6.5.4 + '@codemirror/state': 6.5.2 crelt: 1.0.6 style-mod: 4.1.3 w3c-keyname: 2.2.8 @@ -25076,12 +28333,12 @@ snapshots: '@codesandbox/sandpack-react@2.20.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@codemirror/autocomplete': 6.19.1 - '@codemirror/commands': 6.10.2 + '@codemirror/commands': 6.10.0 '@codemirror/lang-css': 6.3.1 '@codemirror/lang-html': 6.4.11 '@codemirror/lang-javascript': 6.2.5 '@codemirror/language': 6.11.3 - '@codemirror/state': 6.5.4 + '@codemirror/state': 6.5.2 '@codemirror/view': 6.38.8 '@codesandbox/sandpack-client': 2.19.8 '@lezer/highlight': 1.2.3 @@ -25110,8 +28367,6 @@ snapshots: dependencies: '@csstools/css-tokenizer': 3.0.4 - '@csstools/css-syntax-patches-for-csstree@1.1.0': {} - '@csstools/css-tokenizer@3.0.4': {} '@csstools/media-query-list-parser@4.0.3(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': @@ -25141,6 +28396,31 @@ snapshots: '@discoveryjs/json-ext@0.6.3': {} + '@dnd-kit/accessibility@3.1.1(react@18.2.0)': + dependencies: + react: 18.2.0 + tslib: 2.8.1 + + '@dnd-kit/core@6.1.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@dnd-kit/accessibility': 3.1.1(react@18.2.0) + '@dnd-kit/utilities': 3.2.2(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + tslib: 2.8.1 + + '@dnd-kit/sortable@8.0.0(@dnd-kit/core@6.1.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react@18.2.0)': + dependencies: + '@dnd-kit/core': 6.1.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@dnd-kit/utilities': 3.2.2(react@18.2.0) + react: 18.2.0 + tslib: 2.8.1 + + '@dnd-kit/utilities@3.2.2(react@18.2.0)': + dependencies: + react: 18.2.0 + tslib: 2.8.1 + '@dual-bundle/import-meta-resolve@4.2.1': {} '@emnapi/core@1.8.1': @@ -25175,6 +28455,13 @@ snapshots: transitivePeerDependencies: - supports-color + '@emotion/cache@10.0.29': + dependencies: + '@emotion/sheet': 0.9.4 + '@emotion/stylis': 0.8.5 + '@emotion/utils': 0.11.3 + '@emotion/weak-memoize': 0.2.5 + '@emotion/cache@11.14.0': dependencies: '@emotion/memoize': 0.9.0 @@ -25183,6 +28470,38 @@ snapshots: '@emotion/weak-memoize': 0.4.0 stylis: 4.2.0 + '@emotion/core@10.3.1(react@18.2.0)': + dependencies: + '@babel/runtime': 7.28.6 + '@emotion/cache': 10.0.29 + '@emotion/css': 10.0.27 + '@emotion/serialize': 0.11.16 + '@emotion/sheet': 0.9.4 + '@emotion/utils': 0.11.3 + react: 18.2.0 + transitivePeerDependencies: + - supports-color + + '@emotion/css@10.0.27': + dependencies: + '@emotion/serialize': 0.11.16 + '@emotion/utils': 0.11.3 + babel-plugin-emotion: 10.2.2 + transitivePeerDependencies: + - supports-color + + '@emotion/css@11.10.5(@babel/core@7.29.0)': + dependencies: + '@emotion/babel-plugin': 11.13.5 + '@emotion/cache': 11.14.0 + '@emotion/serialize': 1.3.3 + '@emotion/sheet': 1.4.0 + '@emotion/utils': 1.4.2 + optionalDependencies: + '@babel/core': 7.29.0 + transitivePeerDependencies: + - supports-color + '@emotion/css@11.13.5': dependencies: '@emotion/babel-plugin': 11.13.5 @@ -25193,23 +28512,23 @@ snapshots: transitivePeerDependencies: - supports-color + '@emotion/hash@0.8.0': {} + '@emotion/hash@0.9.2': {} '@emotion/is-prop-valid@0.8.8': dependencies: '@emotion/memoize': 0.7.4 - optional: true '@emotion/is-prop-valid@1.4.0': dependencies: '@emotion/memoize': 0.9.0 - '@emotion/memoize@0.7.4': - optional: true + '@emotion/memoize@0.7.4': {} '@emotion/memoize@0.9.0': {} - '@emotion/react@11.14.0(@types/react@17.0.91)(react@19.1.0)': + '@emotion/react@11.14.0(@types/react@17.0.37)(react@19.1.0)': dependencies: '@babel/runtime': 7.28.6 '@emotion/babel-plugin': 11.13.5 @@ -25221,7 +28540,7 @@ snapshots: hoist-non-react-statics: 3.3.2 react: 19.1.0 optionalDependencies: - '@types/react': 17.0.91 + '@types/react': 17.0.37 transitivePeerDependencies: - supports-color @@ -25257,6 +28576,46 @@ snapshots: transitivePeerDependencies: - supports-color + '@emotion/react@11.9.3(@babel/core@7.29.0)(@types/react@18.2.0)(react@18.2.0)': + dependencies: + '@babel/runtime': 7.28.6 + '@emotion/babel-plugin': 11.13.5 + '@emotion/cache': 11.14.0 + '@emotion/serialize': 1.3.3 + '@emotion/utils': 1.4.2 + '@emotion/weak-memoize': 0.2.5 + hoist-non-react-statics: 3.3.2 + react: 18.2.0 + optionalDependencies: + '@babel/core': 7.29.0 + '@types/react': 18.2.0 + transitivePeerDependencies: + - supports-color + + '@emotion/react@11.9.3(@babel/core@7.29.0)(@types/react@18.2.0)(react@19.1.0)': + dependencies: + '@babel/runtime': 7.28.6 + '@emotion/babel-plugin': 11.13.5 + '@emotion/cache': 11.14.0 + '@emotion/serialize': 1.3.3 + '@emotion/utils': 1.4.2 + '@emotion/weak-memoize': 0.2.5 + hoist-non-react-statics: 3.3.2 + react: 19.1.0 + optionalDependencies: + '@babel/core': 7.29.0 + '@types/react': 18.2.0 + transitivePeerDependencies: + - supports-color + + '@emotion/serialize@0.11.16': + dependencies: + '@emotion/hash': 0.8.0 + '@emotion/memoize': 0.7.4 + '@emotion/unitless': 0.7.5 + '@emotion/utils': 0.11.3 + csstype: 2.6.21 + '@emotion/serialize@1.3.3': dependencies: '@emotion/hash': 0.9.2 @@ -25265,24 +28624,91 @@ snapshots: '@emotion/utils': 1.4.2 csstype: 3.2.3 + '@emotion/sheet@0.9.4': {} + '@emotion/sheet@1.4.0': {} - '@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@17.0.91)(react@19.1.0))(@types/react@17.0.91)(react@19.1.0)': + '@emotion/styled-base@10.3.0(@emotion/core@10.3.1(react@18.2.0))(react@18.2.0)': + dependencies: + '@babel/runtime': 7.28.6 + '@emotion/core': 10.3.1(react@18.2.0) + '@emotion/is-prop-valid': 0.8.8 + '@emotion/serialize': 0.11.16 + '@emotion/utils': 0.11.3 + react: 18.2.0 + + '@emotion/styled@10.3.0(@emotion/core@10.3.1(react@18.2.0))(react@18.2.0)': + dependencies: + '@emotion/core': 10.3.1(react@18.2.0) + '@emotion/styled-base': 10.3.0(@emotion/core@10.3.1(react@18.2.0))(react@18.2.0) + babel-plugin-emotion: 10.2.2 + react: 18.2.0 + transitivePeerDependencies: + - supports-color + + '@emotion/styled@11.10.5(@babel/core@7.29.0)(@emotion/react@11.9.3(@babel/core@7.29.0)(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0)': + dependencies: + '@babel/runtime': 7.28.6 + '@emotion/babel-plugin': 11.13.5 + '@emotion/is-prop-valid': 1.4.0 + '@emotion/react': 11.9.3(@babel/core@7.29.0)(@types/react@18.2.0)(react@18.2.0) + '@emotion/serialize': 1.3.3 + '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@18.2.0) + '@emotion/utils': 1.4.2 + react: 18.2.0 + optionalDependencies: + '@babel/core': 7.29.0 + '@types/react': 18.2.0 + transitivePeerDependencies: + - supports-color + + '@emotion/styled@11.10.5(@babel/core@7.29.0)(@emotion/react@11.9.3(@babel/core@7.29.0)(@types/react@18.2.0)(react@19.1.0))(@types/react@18.2.0)(react@19.1.0)': dependencies: '@babel/runtime': 7.28.6 '@emotion/babel-plugin': 11.13.5 '@emotion/is-prop-valid': 1.4.0 - '@emotion/react': 11.14.0(@types/react@17.0.91)(react@19.1.0) + '@emotion/react': 11.9.3(@babel/core@7.29.0)(@types/react@18.2.0)(react@19.1.0) '@emotion/serialize': 1.3.3 '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@19.1.0) '@emotion/utils': 1.4.2 react: 19.1.0 optionalDependencies: - '@types/react': 17.0.91 + '@babel/core': 7.29.0 + '@types/react': 18.2.0 transitivePeerDependencies: - supports-color - '@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0)': + '@emotion/styled@11.11.0(@emotion/react@11.9.3(@babel/core@7.29.0)(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0)': + dependencies: + '@babel/runtime': 7.28.6 + '@emotion/babel-plugin': 11.13.5 + '@emotion/is-prop-valid': 1.4.0 + '@emotion/react': 11.9.3(@babel/core@7.29.0)(@types/react@18.2.0)(react@18.2.0) + '@emotion/serialize': 1.3.3 + '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@18.2.0) + '@emotion/utils': 1.4.2 + react: 18.2.0 + optionalDependencies: + '@types/react': 18.2.0 + transitivePeerDependencies: + - supports-color + + '@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@17.0.37)(react@19.1.0))(@types/react@17.0.37)(react@19.1.0)': + dependencies: + '@babel/runtime': 7.28.6 + '@emotion/babel-plugin': 11.13.5 + '@emotion/is-prop-valid': 1.4.0 + '@emotion/react': 11.14.0(@types/react@17.0.37)(react@19.1.0) + '@emotion/serialize': 1.3.3 + '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@19.1.0) + '@emotion/utils': 1.4.2 + react: 19.1.0 + optionalDependencies: + '@types/react': 17.0.37 + transitivePeerDependencies: + - supports-color + + '@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0)': dependencies: '@babel/runtime': 7.28.6 '@emotion/babel-plugin': 11.13.5 @@ -25297,7 +28723,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@18.2.0)(react@19.1.0))(@types/react@18.2.0)(react@18.2.0)': + '@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@18.2.0)(react@19.1.0))(@types/react@18.2.0)(react@18.2.0)': dependencies: '@babel/runtime': 7.28.6 '@emotion/babel-plugin': 11.13.5 @@ -25312,7 +28738,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@18.2.0)(react@19.1.0))(@types/react@18.2.0)(react@19.1.0)': + '@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@18.2.0)(react@19.1.0))(@types/react@18.2.0)(react@19.1.0)': dependencies: '@babel/runtime': 7.28.6 '@emotion/babel-plugin': 11.13.5 @@ -25327,8 +28753,12 @@ snapshots: transitivePeerDependencies: - supports-color + '@emotion/stylis@0.8.5': {} + '@emotion/unitless@0.10.0': {} + '@emotion/unitless@0.7.5': {} + '@emotion/use-insertion-effect-with-fallbacks@1.2.0(react@18.2.0)': dependencies: react: 18.2.0 @@ -25337,85 +28767,230 @@ snapshots: dependencies: react: 19.1.0 + '@emotion/utils@0.11.3': {} + '@emotion/utils@1.4.2': {} + '@emotion/weak-memoize@0.2.5': {} + '@emotion/weak-memoize@0.4.0': {} + '@esbuild/aix-ppc64@0.24.2': + optional: true + '@esbuild/aix-ppc64@0.25.12': optional: true + '@esbuild/android-arm64@0.18.20': + optional: true + + '@esbuild/android-arm64@0.24.2': + optional: true + '@esbuild/android-arm64@0.25.12': optional: true + '@esbuild/android-arm@0.18.20': + optional: true + + '@esbuild/android-arm@0.24.2': + optional: true + '@esbuild/android-arm@0.25.12': optional: true + '@esbuild/android-x64@0.18.20': + optional: true + + '@esbuild/android-x64@0.24.2': + optional: true + '@esbuild/android-x64@0.25.12': optional: true + '@esbuild/darwin-arm64@0.18.20': + optional: true + + '@esbuild/darwin-arm64@0.24.2': + optional: true + '@esbuild/darwin-arm64@0.25.12': optional: true + '@esbuild/darwin-x64@0.18.20': + optional: true + + '@esbuild/darwin-x64@0.24.2': + optional: true + '@esbuild/darwin-x64@0.25.12': optional: true + '@esbuild/freebsd-arm64@0.18.20': + optional: true + + '@esbuild/freebsd-arm64@0.24.2': + optional: true + '@esbuild/freebsd-arm64@0.25.12': optional: true + '@esbuild/freebsd-x64@0.18.20': + optional: true + + '@esbuild/freebsd-x64@0.24.2': + optional: true + '@esbuild/freebsd-x64@0.25.12': optional: true + '@esbuild/linux-arm64@0.18.20': + optional: true + + '@esbuild/linux-arm64@0.24.2': + optional: true + '@esbuild/linux-arm64@0.25.12': optional: true + '@esbuild/linux-arm@0.18.20': + optional: true + + '@esbuild/linux-arm@0.24.2': + optional: true + '@esbuild/linux-arm@0.25.12': optional: true + '@esbuild/linux-ia32@0.18.20': + optional: true + + '@esbuild/linux-ia32@0.24.2': + optional: true + '@esbuild/linux-ia32@0.25.12': optional: true + '@esbuild/linux-loong64@0.18.20': + optional: true + + '@esbuild/linux-loong64@0.24.2': + optional: true + '@esbuild/linux-loong64@0.25.12': optional: true + '@esbuild/linux-mips64el@0.18.20': + optional: true + + '@esbuild/linux-mips64el@0.24.2': + optional: true + '@esbuild/linux-mips64el@0.25.12': optional: true + '@esbuild/linux-ppc64@0.18.20': + optional: true + + '@esbuild/linux-ppc64@0.24.2': + optional: true + '@esbuild/linux-ppc64@0.25.12': optional: true + '@esbuild/linux-riscv64@0.18.20': + optional: true + + '@esbuild/linux-riscv64@0.24.2': + optional: true + '@esbuild/linux-riscv64@0.25.12': optional: true + '@esbuild/linux-s390x@0.18.20': + optional: true + + '@esbuild/linux-s390x@0.24.2': + optional: true + '@esbuild/linux-s390x@0.25.12': optional: true + '@esbuild/linux-x64@0.18.20': + optional: true + + '@esbuild/linux-x64@0.24.2': + optional: true + '@esbuild/linux-x64@0.25.12': optional: true + '@esbuild/netbsd-arm64@0.24.2': + optional: true + '@esbuild/netbsd-arm64@0.25.12': optional: true + '@esbuild/netbsd-x64@0.18.20': + optional: true + + '@esbuild/netbsd-x64@0.24.2': + optional: true + '@esbuild/netbsd-x64@0.25.12': optional: true + '@esbuild/openbsd-arm64@0.24.2': + optional: true + '@esbuild/openbsd-arm64@0.25.12': optional: true + '@esbuild/openbsd-x64@0.18.20': + optional: true + + '@esbuild/openbsd-x64@0.24.2': + optional: true + '@esbuild/openbsd-x64@0.25.12': optional: true '@esbuild/openharmony-arm64@0.25.12': optional: true + '@esbuild/sunos-x64@0.18.20': + optional: true + + '@esbuild/sunos-x64@0.24.2': + optional: true + '@esbuild/sunos-x64@0.25.12': optional: true + '@esbuild/win32-arm64@0.18.20': + optional: true + + '@esbuild/win32-arm64@0.24.2': + optional: true + '@esbuild/win32-arm64@0.25.12': optional: true + '@esbuild/win32-ia32@0.18.20': + optional: true + + '@esbuild/win32-ia32@0.24.2': + optional: true + '@esbuild/win32-ia32@0.25.12': optional: true + '@esbuild/win32-x64@0.18.20': + optional: true + + '@esbuild/win32-x64@0.24.2': + optional: true + '@esbuild/win32-x64@0.25.12': optional: true @@ -25430,7 +29005,7 @@ snapshots: dependencies: '@eslint/object-schema': 2.1.7 debug: 4.4.3(supports-color@8.1.1) - minimatch: 3.1.5 + minimatch: 3.1.4 transitivePeerDependencies: - supports-color @@ -25438,13 +29013,23 @@ snapshots: dependencies: '@eslint/core': 0.17.0 - '@eslint/core@0.15.2': + '@eslint/core@0.17.0': dependencies: '@types/json-schema': 7.0.15 - '@eslint/core@0.17.0': + '@eslint/eslintrc@3.3.1': dependencies: - '@types/json-schema': 7.0.15 + ajv: 6.14.0 + debug: 4.4.3(supports-color@8.1.1) + espree: 10.4.0 + globals: 14.0.0 + ignore: 5.3.2 + import-fresh: 3.3.1 + js-yaml: 4.1.1 + minimatch: 3.1.4 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color '@eslint/eslintrc@3.3.5': dependencies: @@ -25455,7 +29040,7 @@ snapshots: ignore: 5.3.2 import-fresh: 3.3.1 js-yaml: 4.1.1 - minimatch: 3.1.5 + minimatch: 3.1.4 strip-json-comments: 3.1.1 transitivePeerDependencies: - supports-color @@ -25466,9 +29051,9 @@ snapshots: '@eslint/object-schema@2.1.7': {} - '@eslint/plugin-kit@0.3.5': + '@eslint/plugin-kit@0.4.1': dependencies: - '@eslint/core': 0.15.2 + '@eslint/core': 0.17.0 levn: 0.4.1 '@fal-works/esbuild-plugin-global-externals@2.1.2': {} @@ -25510,10 +29095,10 @@ snapshots: '@floating-ui/utils@0.2.11': {} - '@formatjs/ecma402-abstract@2.3.6': + '@formatjs/ecma402-abstract@2.3.4': dependencies: '@formatjs/fast-memoize': 2.2.7 - '@formatjs/intl-localematcher': 0.6.2 + '@formatjs/intl-localematcher': 0.6.1 decimal.js: 10.6.0 tslib: 2.8.1 @@ -25521,37 +29106,37 @@ snapshots: dependencies: tslib: 2.8.1 - '@formatjs/icu-messageformat-parser@2.11.4': + '@formatjs/icu-messageformat-parser@2.11.2': dependencies: - '@formatjs/ecma402-abstract': 2.3.6 - '@formatjs/icu-skeleton-parser': 1.8.16 + '@formatjs/ecma402-abstract': 2.3.4 + '@formatjs/icu-skeleton-parser': 1.8.14 tslib: 2.8.1 - '@formatjs/icu-skeleton-parser@1.8.16': + '@formatjs/icu-skeleton-parser@1.8.14': dependencies: - '@formatjs/ecma402-abstract': 2.3.6 + '@formatjs/ecma402-abstract': 2.3.4 tslib: 2.8.1 - '@formatjs/intl-localematcher@0.6.2': + '@formatjs/intl-localematcher@0.6.1': dependencies: tslib: 2.8.1 - '@formatjs/intl@3.1.8(typescript@4.9.5)': + '@formatjs/intl@3.1.6(typescript@4.9.4)': dependencies: - '@formatjs/ecma402-abstract': 2.3.6 + '@formatjs/ecma402-abstract': 2.3.4 '@formatjs/fast-memoize': 2.2.7 - '@formatjs/icu-messageformat-parser': 2.11.4 - intl-messageformat: 10.7.18 + '@formatjs/icu-messageformat-parser': 2.11.2 + intl-messageformat: 10.7.16 tslib: 2.8.1 optionalDependencies: - typescript: 4.9.5 + typescript: 4.9.4 - '@formatjs/intl@3.1.8(typescript@5.8.3)': + '@formatjs/intl@3.1.6(typescript@5.8.3)': dependencies: - '@formatjs/ecma402-abstract': 2.3.6 + '@formatjs/ecma402-abstract': 2.3.4 '@formatjs/fast-memoize': 2.2.7 - '@formatjs/icu-messageformat-parser': 2.11.4 - intl-messageformat: 10.7.18 + '@formatjs/icu-messageformat-parser': 2.11.2 + intl-messageformat: 10.7.16 tslib: 2.8.1 optionalDependencies: typescript: 5.8.3 @@ -25562,10 +29147,10 @@ snapshots: '@github/markdown-toolbar-element@2.2.3': {} - '@graphiql/react@0.26.2(@codemirror/language@6.11.3)(@types/node@22.15.35)(@types/react-dom@18.2.0)(@types/react@18.2.0)(graphql@16.13.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@graphiql/react@0.26.2(@codemirror/language@6.11.3)(@types/node@22.15.24)(@types/react-dom@18.2.0)(@types/react@18.2.0)(graphql@16.11.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@graphiql/toolkit': 0.11.3(@types/node@22.15.35)(graphql@16.13.1) - '@headlessui/react': 1.7.19(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@graphiql/toolkit': 0.11.3(@types/node@22.15.24)(graphql@16.11.0) + '@headlessui/react': 1.7.18(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@radix-ui/react-dialog': 1.1.15(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@radix-ui/react-dropdown-menu': 2.1.16(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@radix-ui/react-tooltip': 1.2.8(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -25573,12 +29158,12 @@ snapshots: '@types/codemirror': 5.60.17 clsx: 1.2.1 codemirror: 5.65.21 - codemirror-graphql: 2.2.4(@codemirror/language@6.11.3)(codemirror@5.65.21)(graphql@16.13.1) + codemirror-graphql: 2.2.4(@codemirror/language@6.11.3)(codemirror@5.65.21)(graphql@16.11.0) copy-to-clipboard: 3.3.3 framer-motion: 6.5.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0) get-value: 3.0.1 - graphql: 16.13.1 - graphql-language-service: 5.5.0(graphql@16.13.1) + graphql: 16.11.0 + graphql-language-service: 5.5.0(graphql@16.11.0) markdown-it: 14.1.1 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -25590,35 +29175,56 @@ snapshots: - '@types/react-dom' - graphql-ws - '@graphiql/toolkit@0.11.3(@types/node@22.15.35)(graphql@16.13.1)': + '@graphiql/toolkit@0.11.3(@types/node@22.15.24)(graphql@16.11.0)': dependencies: '@n1ru4l/push-pull-async-iterable-iterator': 3.2.0 - graphql: 16.13.1 - meros: 1.3.2(@types/node@22.15.35) + graphql: 16.11.0 + meros: 1.3.2(@types/node@22.15.24) transitivePeerDependencies: - '@types/node' + '@grpc/grpc-js@1.14.3': + dependencies: + '@grpc/proto-loader': 0.8.0 + '@js-sdsl/ordered-map': 4.4.2 + + '@grpc/proto-loader@0.8.0': + dependencies: + lodash.camelcase: 4.3.0 + long: 5.3.2 + protobufjs: 7.5.4 + yargs: 17.7.2 + '@hapi/hoek@9.3.0': {} '@hapi/topo@5.1.0': dependencies: '@hapi/hoek': 9.3.0 - '@headlessui/react@1.7.19(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@headlessui/react@1.7.18(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@tanstack/react-virtual': 3.13.21(react-dom@18.2.0(react@18.2.0))(react@18.2.0) client-only: 0.0.1 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - '@headlessui/react@1.7.19(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@headlessui/react@1.7.18(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: '@tanstack/react-virtual': 3.13.21(react-dom@19.1.0(react@19.1.0))(react@19.1.0) client-only: 0.0.1 react: 19.1.0 react-dom: 19.1.0(react@19.1.0) - '@headlessui/react@2.2.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@headlessui/react@2.1.2(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@floating-ui/react': 0.26.28(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@react-aria/focus': 3.21.5(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@react-aria/interactions': 3.27.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tanstack/react-virtual': 3.13.21(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + + '@headlessui/react@2.2.4(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@floating-ui/react': 0.26.28(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@react-aria/focus': 3.21.5(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -25628,11 +29234,11 @@ snapshots: react-dom: 18.2.0(react@18.2.0) use-sync-external-store: 1.6.0(react@18.2.0) - '@hono/node-server@1.19.11(hono@4.12.7)': + '@hono/node-server@1.19.10(hono@4.12.7)': dependencies: hono: 4.12.7 - '@hookform/resolvers@2.9.11(react-hook-form@7.56.4(react@18.2.0))': + '@hookform/resolvers@2.8.0(react-hook-form@7.56.4(react@18.2.0))': dependencies: react-hook-form: 7.56.4(react@18.2.0) @@ -25645,11 +29251,6 @@ snapshots: '@standard-schema/utils': 0.3.0 react-hook-form: 7.56.4(react@18.2.0) - '@hookform/resolvers@5.2.2(react-hook-form@7.56.4(react@18.2.0))': - dependencies: - '@standard-schema/utils': 0.3.0 - react-hook-form: 7.56.4(react@18.2.0) - '@hookform/resolvers@5.2.2(react-hook-form@7.63.0(react@18.2.0))': dependencies: '@standard-schema/utils': 0.3.0 @@ -25700,7 +29301,7 @@ snapshots: '@jest/console@29.7.0': dependencies: '@jest/types': 29.6.3 - '@types/node': 22.15.35 + '@types/node': 22.15.24 chalk: 4.1.2 jest-message-util: 29.7.0 jest-util: 29.7.0 @@ -25708,8 +29309,8 @@ snapshots: '@jest/console@30.3.0': dependencies: - '@jest/types': 30.3.0 - '@types/node': 22.15.35 + '@jest/types': 30.0.0 + '@types/node': 22.15.24 chalk: 4.1.2 jest-message-util: 30.3.0 jest-util: 30.3.0 @@ -25751,21 +29352,21 @@ snapshots: - supports-color - utf-8-validate - '@jest/core@29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.35)(typescript@5.8.3))': + '@jest/core@29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.24)(typescript@5.8.3))': dependencies: '@jest/console': 29.7.0 '@jest/reporters': 29.7.0 '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.15.35 + '@types/node': 22.15.24 ansi-escapes: 4.3.2 chalk: 4.1.2 ci-info: 3.9.0 exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.35)(typescript@5.8.3)) + jest-config: 29.7.0(@types/node@22.15.24)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.24)(typescript@5.8.3)) jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -25786,34 +29387,35 @@ snapshots: - supports-color - ts-node - '@jest/core@30.3.0(babel-plugin-macros@3.1.0)(esbuild-register@3.6.0(esbuild@0.25.12))(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.35)(typescript@5.8.3))': + '@jest/core@30.0.0(babel-plugin-macros@3.1.0)(esbuild-register@3.6.0(esbuild@0.25.12))(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.21)(typescript@5.8.3))': dependencies: - '@jest/console': 30.3.0 - '@jest/pattern': 30.0.1 - '@jest/reporters': 30.3.0 - '@jest/test-result': 30.3.0 - '@jest/transform': 30.3.0 - '@jest/types': 30.3.0 - '@types/node': 22.15.35 + '@jest/console': 30.0.0 + '@jest/pattern': 30.0.0 + '@jest/reporters': 30.0.0 + '@jest/test-result': 30.0.0 + '@jest/transform': 30.0.0 + '@jest/types': 30.0.0 + '@types/node': 22.15.24 ansi-escapes: 4.3.2 chalk: 4.1.2 ci-info: 4.4.0 exit-x: 0.2.2 graceful-fs: 4.2.11 - jest-changed-files: 30.3.0 - jest-config: 30.3.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(esbuild-register@3.6.0(esbuild@0.25.12))(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.35)(typescript@5.8.3)) - jest-haste-map: 30.3.0 - jest-message-util: 30.3.0 - jest-regex-util: 30.0.1 - jest-resolve: 30.3.0 - jest-resolve-dependencies: 30.3.0 - jest-runner: 30.3.0 - jest-runtime: 30.3.0 - jest-snapshot: 30.3.0 - jest-util: 30.3.0 - jest-validate: 30.3.0 - jest-watcher: 30.3.0 - pretty-format: 30.3.0 + jest-changed-files: 30.0.0 + jest-config: 30.0.0(@types/node@22.15.24)(babel-plugin-macros@3.1.0)(esbuild-register@3.6.0(esbuild@0.25.12))(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.21)(typescript@5.8.3)) + jest-haste-map: 30.0.0 + jest-message-util: 30.0.0 + jest-regex-util: 30.0.0 + jest-resolve: 30.0.0 + jest-resolve-dependencies: 30.0.0 + jest-runner: 30.0.0 + jest-runtime: 30.0.0 + jest-snapshot: 30.0.0 + jest-util: 30.0.0 + jest-validate: 30.0.0 + jest-watcher: 30.0.0 + micromatch: 4.0.8 + pretty-format: 30.0.0 slash: 3.0.0 transitivePeerDependencies: - babel-plugin-macros @@ -25833,15 +29435,15 @@ snapshots: dependencies: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.15.35 + '@types/node': 22.15.24 jest-mock: 29.7.0 '@jest/environment@30.3.0': dependencies: - '@jest/fake-timers': 30.3.0 - '@jest/types': 30.3.0 - '@types/node': 22.15.35 - jest-mock: 30.3.0 + '@jest/fake-timers': 30.0.0 + '@jest/types': 30.0.0 + '@types/node': 22.15.24 + jest-mock: 30.0.0 '@jest/expect-utils@29.7.0': dependencies: @@ -25877,19 +29479,21 @@ snapshots: dependencies: '@jest/types': 29.6.3 '@sinonjs/fake-timers': 10.3.0 - '@types/node': 22.15.35 + '@types/node': 22.15.24 jest-message-util: 29.7.0 jest-mock: 29.7.0 jest-util: 29.7.0 '@jest/fake-timers@30.3.0': dependencies: - '@jest/types': 30.3.0 - '@sinonjs/fake-timers': 15.1.1 - '@types/node': 22.15.35 - jest-message-util: 30.3.0 - jest-mock: 30.3.0 - jest-util: 30.3.0 + '@jest/types': 30.0.0 + '@sinonjs/fake-timers': 13.0.5 + '@types/node': 22.15.24 + jest-message-util: 30.0.0 + jest-mock: 30.0.0 + jest-util: 30.0.0 + + '@jest/get-type@30.0.0': {} '@jest/get-type@30.1.0': {} @@ -25917,9 +29521,14 @@ snapshots: transitivePeerDependencies: - supports-color + '@jest/pattern@30.0.0': + dependencies: + '@types/node': 22.15.24 + jest-regex-util: 30.0.0 + '@jest/pattern@30.0.1': dependencies: - '@types/node': 22.15.35 + '@types/node': 22.15.24 jest-regex-util: 30.0.1 '@jest/reporters@25.5.1': @@ -25961,7 +29570,7 @@ snapshots: '@jest/transform': 29.7.0 '@jest/types': 29.6.3 '@jridgewell/trace-mapping': 0.3.31 - '@types/node': 22.15.35 + '@types/node': 22.15.24 chalk: 4.1.2 collect-v8-coverage: 1.0.3 exit: 0.1.2 @@ -25990,7 +29599,7 @@ snapshots: '@jest/transform': 30.3.0 '@jest/types': 30.3.0 '@jridgewell/trace-mapping': 0.3.31 - '@types/node': 22.15.35 + '@types/node': 22.15.24 chalk: 4.1.2 collect-v8-coverage: 1.0.3 exit-x: 0.2.2 @@ -26093,7 +29702,7 @@ snapshots: '@jest/transform@25.5.1': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 '@jest/types': 25.5.0 babel-plugin-istanbul: 6.1.1 chalk: 3.0.0 @@ -26114,7 +29723,7 @@ snapshots: '@jest/transform@26.6.2': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 '@jest/types': 26.6.2 babel-plugin-istanbul: 6.1.1 chalk: 4.1.2 @@ -26134,7 +29743,7 @@ snapshots: '@jest/transform@29.7.0': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 '@jest/types': 29.6.3 '@jridgewell/trace-mapping': 0.3.31 babel-plugin-istanbul: 6.1.1 @@ -26154,17 +29763,18 @@ snapshots: '@jest/transform@30.3.0': dependencies: - '@babel/core': 7.27.7 - '@jest/types': 30.3.0 + '@babel/core': 7.29.0 + '@jest/types': 30.0.0 '@jridgewell/trace-mapping': 0.3.31 babel-plugin-istanbul: 7.0.1 chalk: 4.1.2 convert-source-map: 2.0.0 fast-json-stable-stringify: 2.1.0 graceful-fs: 4.2.11 - jest-haste-map: 30.3.0 - jest-regex-util: 30.0.1 - jest-util: 30.3.0 + jest-haste-map: 30.0.0 + jest-regex-util: 30.0.0 + jest-util: 30.0.0 + micromatch: 4.0.8 pirates: 4.0.7 slash: 3.0.0 write-file-atomic: 5.0.1 @@ -26182,7 +29792,7 @@ snapshots: dependencies: '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 22.15.35 + '@types/node': 22.15.24 '@types/yargs': 15.0.20 chalk: 4.1.2 @@ -26191,26 +29801,36 @@ snapshots: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 22.15.35 + '@types/node': 22.15.24 '@types/yargs': 17.0.35 chalk: 4.1.2 - '@jest/types@30.3.0': + '@jest/types@30.0.0': + dependencies: + '@jest/pattern': 30.0.0 + '@jest/schemas': 30.0.0 + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 + '@types/node': 22.15.24 + '@types/yargs': 17.0.35 + chalk: 4.1.2 + + '@jest/types@30.2.0': dependencies: '@jest/pattern': 30.0.1 '@jest/schemas': 30.0.5 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 22.15.35 + '@types/node': 22.15.24 '@types/yargs': 17.0.35 chalk: 4.1.2 - '@joshwooding/vite-plugin-react-docgen-typescript@0.5.0(typescript@5.8.3)(vite@6.4.1(@types/node@22.15.35)(jiti@2.6.1)(sass@1.98.0)(terser@5.46.0)(yaml@2.8.2))': + '@joshwooding/vite-plugin-react-docgen-typescript@0.5.0(typescript@5.8.3)(vite@6.0.7(@types/node@22.15.24)(jiti@2.6.1)(sass@1.89.0)(terser@5.46.0)(yaml@2.8.0))': dependencies: glob: 10.5.0 magic-string: 0.27.0 react-docgen-typescript: 2.4.0(typescript@5.8.3) - vite: 6.4.1(@types/node@22.15.35)(jiti@2.6.1)(sass@1.98.0)(terser@5.46.0)(yaml@2.8.2) + vite: 6.0.7(@types/node@22.15.24)(jiti@2.6.1)(sass@1.89.0)(terser@5.46.0)(yaml@2.8.0) optionalDependencies: typescript: 5.8.3 @@ -26219,6 +29839,11 @@ snapshots: '@jridgewell/sourcemap-codec': 1.5.5 '@jridgewell/trace-mapping': 0.3.31 + '@jridgewell/remapping@2.3.5': + dependencies: + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + '@jridgewell/resolve-uri@3.1.2': {} '@jridgewell/source-map@0.3.11': @@ -26238,6 +29863,8 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.5 + '@js-sdsl/ordered-map@4.4.2': {} + '@jsdevtools/ono@7.1.3': {} '@jsonjoy.com/base64@1.1.2(tslib@2.8.1)': @@ -26377,6 +30004,18 @@ snapshots: '@keyv/serialize@1.1.1': {} + '@langfuse/core@4.6.1(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + + '@langfuse/otel@4.5.1(@opentelemetry/api@1.9.0)(@opentelemetry/core@2.4.0(@opentelemetry/api@1.9.0))(@opentelemetry/exporter-trace-otlp-http@0.210.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.4.0(@opentelemetry/api@1.9.0))': + dependencies: + '@langfuse/core': 4.6.1(@opentelemetry/api@1.9.0) + '@opentelemetry/api': 1.9.0 + '@opentelemetry/core': 2.4.0(@opentelemetry/api@1.9.0) + '@opentelemetry/exporter-trace-otlp-http': 0.210.0(@opentelemetry/api@1.9.0) + '@opentelemetry/sdk-trace-base': 2.4.0(@opentelemetry/api@1.9.0) + '@leichtgewicht/ip-codec@2.0.5': {} '@lexical/clipboard@0.17.1': @@ -26670,8 +30309,8 @@ snapshots: dependencies: '@codemirror/lang-markdown': 6.5.0 '@codemirror/language-data': 6.5.2 - '@codemirror/merge': 6.12.1 - '@codemirror/state': 6.5.4 + '@codemirror/merge': 6.12.0 + '@codemirror/state': 6.5.2 '@codemirror/view': 6.38.8 '@codesandbox/sandpack-react': 2.20.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@lexical/clipboard': 0.17.1 @@ -26693,7 +30332,7 @@ snapshots: '@radix-ui/react-toolbar': 1.1.11(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@radix-ui/react-tooltip': 1.2.8(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) classnames: 2.5.1 - cm6-theme-basic-light: 0.2.0(@codemirror/language@6.11.3)(@codemirror/state@6.5.4)(@codemirror/view@6.38.8)(@lezer/highlight@1.2.3) + cm6-theme-basic-light: 0.2.0(@codemirror/language@6.11.3)(@codemirror/state@6.5.2)(@codemirror/view@6.38.8)(@lezer/highlight@1.2.3) codemirror: 6.0.2 downshift: 7.6.2(react@18.2.0) js-yaml: 4.1.1 @@ -26720,7 +30359,7 @@ snapshots: micromark-util-symbol: 2.0.1 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - react-hook-form: 7.56.4(react@18.2.0) + react-hook-form: 7.63.0(react@18.2.0) unidiff: 1.0.4 transitivePeerDependencies: - '@codemirror/language' @@ -26809,6 +30448,18 @@ snapshots: tabbable: 5.3.3 tslib: 1.14.1 + '@microsoft/fast-react-wrapper@0.1.48(react@18.2.0)': + dependencies: + '@microsoft/fast-element': 1.14.0 + '@microsoft/fast-foundation': 2.50.0 + react: 18.2.0 + + '@microsoft/fast-react-wrapper@0.1.48(react@19.1.0)': + dependencies: + '@microsoft/fast-element': 1.14.0 + '@microsoft/fast-foundation': 2.50.0 + react: 19.1.0 + '@microsoft/fast-react-wrapper@0.3.25(react@18.2.0)': dependencies: '@microsoft/fast-element': 1.14.0 @@ -26882,7 +30533,7 @@ snapshots: - supports-color - utf-8-validate - '@modelcontextprotocol/inspector@0.17.5(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.18)(@types/react-dom@18.2.0)(@types/react@18.2.0)(typescript@5.8.3)': + '@modelcontextprotocol/inspector@0.17.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.18)(@types/react-dom@18.2.0)(@types/react@18.2.0)(typescript@5.8.3)': dependencies: '@modelcontextprotocol/inspector-cli': 0.17.5 '@modelcontextprotocol/inspector-client': 0.17.5(@types/react-dom@18.2.0)(@types/react@18.2.0) @@ -26909,7 +30560,7 @@ snapshots: '@modelcontextprotocol/sdk@1.27.1': dependencies: - '@hono/node-server': 1.19.11(hono@4.12.7) + '@hono/node-server': 1.19.10(hono@4.12.7) ajv: 8.17.1 ajv-formats: 3.0.1(ajv@8.17.1) content-type: 1.0.5 @@ -26918,14 +30569,14 @@ snapshots: eventsource: 3.0.7 eventsource-parser: 3.0.6 express: 5.2.1 - express-rate-limit: 8.3.1(express@5.2.1) - hono: 4.12.7 + express-rate-limit: 8.2.2(express@5.2.1) + hono: 4.12.4 jose: 6.2.1 json-schema-typed: 8.0.2 pkce-challenge: 5.0.1 raw-body: 3.0.2 - zod: 3.25.76 - zod-to-json-schema: 3.25.1(zod@3.25.76) + zod: 4.1.11 + zod-to-json-schema: 3.25.1(zod@4.1.11) transitivePeerDependencies: - supports-color @@ -27000,11 +30651,7 @@ snapshots: dependencies: gunzip-maybe: 1.4.2 pump: 3.0.4 - tar-fs: 3.1.1 - transitivePeerDependencies: - - bare-abort-controller - - bare-buffer - - react-native-b4a + tar-fs: 2.1.4 '@nevware21/ts-async@0.5.5': dependencies: @@ -27067,8 +30714,241 @@ snapshots: '@open-draft/deferred-promise@2.2.0': {} + '@opentelemetry/api-logs@0.210.0': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/api@1.9.0': {} + '@opentelemetry/configuration@0.210.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/core': 2.4.0(@opentelemetry/api@1.9.0) + yaml: 2.8.0 + + '@opentelemetry/context-async-hooks@2.4.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + + '@opentelemetry/core@2.4.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/semantic-conventions': 1.40.0 + + '@opentelemetry/exporter-logs-otlp-grpc@0.210.0(@opentelemetry/api@1.9.0)': + dependencies: + '@grpc/grpc-js': 1.14.3 + '@opentelemetry/api': 1.9.0 + '@opentelemetry/core': 2.4.0(@opentelemetry/api@1.9.0) + '@opentelemetry/otlp-exporter-base': 0.210.0(@opentelemetry/api@1.9.0) + '@opentelemetry/otlp-grpc-exporter-base': 0.210.0(@opentelemetry/api@1.9.0) + '@opentelemetry/otlp-transformer': 0.210.0(@opentelemetry/api@1.9.0) + '@opentelemetry/sdk-logs': 0.210.0(@opentelemetry/api@1.9.0) + + '@opentelemetry/exporter-logs-otlp-http@0.210.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/api-logs': 0.210.0 + '@opentelemetry/core': 2.4.0(@opentelemetry/api@1.9.0) + '@opentelemetry/otlp-exporter-base': 0.210.0(@opentelemetry/api@1.9.0) + '@opentelemetry/otlp-transformer': 0.210.0(@opentelemetry/api@1.9.0) + '@opentelemetry/sdk-logs': 0.210.0(@opentelemetry/api@1.9.0) + + '@opentelemetry/exporter-logs-otlp-proto@0.210.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/api-logs': 0.210.0 + '@opentelemetry/core': 2.4.0(@opentelemetry/api@1.9.0) + '@opentelemetry/otlp-exporter-base': 0.210.0(@opentelemetry/api@1.9.0) + '@opentelemetry/otlp-transformer': 0.210.0(@opentelemetry/api@1.9.0) + '@opentelemetry/resources': 2.4.0(@opentelemetry/api@1.9.0) + '@opentelemetry/sdk-logs': 0.210.0(@opentelemetry/api@1.9.0) + '@opentelemetry/sdk-trace-base': 2.4.0(@opentelemetry/api@1.9.0) + + '@opentelemetry/exporter-metrics-otlp-grpc@0.210.0(@opentelemetry/api@1.9.0)': + dependencies: + '@grpc/grpc-js': 1.14.3 + '@opentelemetry/api': 1.9.0 + '@opentelemetry/core': 2.4.0(@opentelemetry/api@1.9.0) + '@opentelemetry/exporter-metrics-otlp-http': 0.210.0(@opentelemetry/api@1.9.0) + '@opentelemetry/otlp-exporter-base': 0.210.0(@opentelemetry/api@1.9.0) + '@opentelemetry/otlp-grpc-exporter-base': 0.210.0(@opentelemetry/api@1.9.0) + '@opentelemetry/otlp-transformer': 0.210.0(@opentelemetry/api@1.9.0) + '@opentelemetry/resources': 2.4.0(@opentelemetry/api@1.9.0) + '@opentelemetry/sdk-metrics': 2.4.0(@opentelemetry/api@1.9.0) + + '@opentelemetry/exporter-metrics-otlp-http@0.210.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/core': 2.4.0(@opentelemetry/api@1.9.0) + '@opentelemetry/otlp-exporter-base': 0.210.0(@opentelemetry/api@1.9.0) + '@opentelemetry/otlp-transformer': 0.210.0(@opentelemetry/api@1.9.0) + '@opentelemetry/resources': 2.4.0(@opentelemetry/api@1.9.0) + '@opentelemetry/sdk-metrics': 2.4.0(@opentelemetry/api@1.9.0) + + '@opentelemetry/exporter-metrics-otlp-proto@0.210.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/core': 2.4.0(@opentelemetry/api@1.9.0) + '@opentelemetry/exporter-metrics-otlp-http': 0.210.0(@opentelemetry/api@1.9.0) + '@opentelemetry/otlp-exporter-base': 0.210.0(@opentelemetry/api@1.9.0) + '@opentelemetry/otlp-transformer': 0.210.0(@opentelemetry/api@1.9.0) + '@opentelemetry/resources': 2.4.0(@opentelemetry/api@1.9.0) + '@opentelemetry/sdk-metrics': 2.4.0(@opentelemetry/api@1.9.0) + + '@opentelemetry/exporter-prometheus@0.210.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/core': 2.4.0(@opentelemetry/api@1.9.0) + '@opentelemetry/resources': 2.4.0(@opentelemetry/api@1.9.0) + '@opentelemetry/sdk-metrics': 2.4.0(@opentelemetry/api@1.9.0) + + '@opentelemetry/exporter-trace-otlp-grpc@0.210.0(@opentelemetry/api@1.9.0)': + dependencies: + '@grpc/grpc-js': 1.14.3 + '@opentelemetry/api': 1.9.0 + '@opentelemetry/core': 2.4.0(@opentelemetry/api@1.9.0) + '@opentelemetry/otlp-exporter-base': 0.210.0(@opentelemetry/api@1.9.0) + '@opentelemetry/otlp-grpc-exporter-base': 0.210.0(@opentelemetry/api@1.9.0) + '@opentelemetry/otlp-transformer': 0.210.0(@opentelemetry/api@1.9.0) + '@opentelemetry/resources': 2.4.0(@opentelemetry/api@1.9.0) + '@opentelemetry/sdk-trace-base': 2.4.0(@opentelemetry/api@1.9.0) + + '@opentelemetry/exporter-trace-otlp-http@0.210.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/core': 2.4.0(@opentelemetry/api@1.9.0) + '@opentelemetry/otlp-exporter-base': 0.210.0(@opentelemetry/api@1.9.0) + '@opentelemetry/otlp-transformer': 0.210.0(@opentelemetry/api@1.9.0) + '@opentelemetry/resources': 2.4.0(@opentelemetry/api@1.9.0) + '@opentelemetry/sdk-trace-base': 2.4.0(@opentelemetry/api@1.9.0) + + '@opentelemetry/exporter-trace-otlp-proto@0.210.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/core': 2.4.0(@opentelemetry/api@1.9.0) + '@opentelemetry/otlp-exporter-base': 0.210.0(@opentelemetry/api@1.9.0) + '@opentelemetry/otlp-transformer': 0.210.0(@opentelemetry/api@1.9.0) + '@opentelemetry/resources': 2.4.0(@opentelemetry/api@1.9.0) + '@opentelemetry/sdk-trace-base': 2.4.0(@opentelemetry/api@1.9.0) + + '@opentelemetry/exporter-zipkin@2.4.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/core': 2.4.0(@opentelemetry/api@1.9.0) + '@opentelemetry/resources': 2.4.0(@opentelemetry/api@1.9.0) + '@opentelemetry/sdk-trace-base': 2.4.0(@opentelemetry/api@1.9.0) + '@opentelemetry/semantic-conventions': 1.40.0 + + '@opentelemetry/instrumentation@0.210.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/api-logs': 0.210.0 + import-in-the-middle: 2.0.6 + require-in-the-middle: 8.0.1 + transitivePeerDependencies: + - supports-color + + '@opentelemetry/otlp-exporter-base@0.210.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/core': 2.4.0(@opentelemetry/api@1.9.0) + '@opentelemetry/otlp-transformer': 0.210.0(@opentelemetry/api@1.9.0) + + '@opentelemetry/otlp-grpc-exporter-base@0.210.0(@opentelemetry/api@1.9.0)': + dependencies: + '@grpc/grpc-js': 1.14.3 + '@opentelemetry/api': 1.9.0 + '@opentelemetry/core': 2.4.0(@opentelemetry/api@1.9.0) + '@opentelemetry/otlp-exporter-base': 0.210.0(@opentelemetry/api@1.9.0) + '@opentelemetry/otlp-transformer': 0.210.0(@opentelemetry/api@1.9.0) + + '@opentelemetry/otlp-transformer@0.210.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/api-logs': 0.210.0 + '@opentelemetry/core': 2.4.0(@opentelemetry/api@1.9.0) + '@opentelemetry/resources': 2.4.0(@opentelemetry/api@1.9.0) + '@opentelemetry/sdk-logs': 0.210.0(@opentelemetry/api@1.9.0) + '@opentelemetry/sdk-metrics': 2.4.0(@opentelemetry/api@1.9.0) + '@opentelemetry/sdk-trace-base': 2.4.0(@opentelemetry/api@1.9.0) + protobufjs: 8.0.0 + + '@opentelemetry/propagator-b3@2.4.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/core': 2.4.0(@opentelemetry/api@1.9.0) + + '@opentelemetry/propagator-jaeger@2.4.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/core': 2.4.0(@opentelemetry/api@1.9.0) + + '@opentelemetry/resources@2.4.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/core': 2.4.0(@opentelemetry/api@1.9.0) + '@opentelemetry/semantic-conventions': 1.40.0 + + '@opentelemetry/sdk-logs@0.210.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/api-logs': 0.210.0 + '@opentelemetry/core': 2.4.0(@opentelemetry/api@1.9.0) + '@opentelemetry/resources': 2.4.0(@opentelemetry/api@1.9.0) + + '@opentelemetry/sdk-metrics@2.4.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/core': 2.4.0(@opentelemetry/api@1.9.0) + '@opentelemetry/resources': 2.4.0(@opentelemetry/api@1.9.0) + + '@opentelemetry/sdk-node@0.210.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/api-logs': 0.210.0 + '@opentelemetry/configuration': 0.210.0(@opentelemetry/api@1.9.0) + '@opentelemetry/context-async-hooks': 2.4.0(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 2.4.0(@opentelemetry/api@1.9.0) + '@opentelemetry/exporter-logs-otlp-grpc': 0.210.0(@opentelemetry/api@1.9.0) + '@opentelemetry/exporter-logs-otlp-http': 0.210.0(@opentelemetry/api@1.9.0) + '@opentelemetry/exporter-logs-otlp-proto': 0.210.0(@opentelemetry/api@1.9.0) + '@opentelemetry/exporter-metrics-otlp-grpc': 0.210.0(@opentelemetry/api@1.9.0) + '@opentelemetry/exporter-metrics-otlp-http': 0.210.0(@opentelemetry/api@1.9.0) + '@opentelemetry/exporter-metrics-otlp-proto': 0.210.0(@opentelemetry/api@1.9.0) + '@opentelemetry/exporter-prometheus': 0.210.0(@opentelemetry/api@1.9.0) + '@opentelemetry/exporter-trace-otlp-grpc': 0.210.0(@opentelemetry/api@1.9.0) + '@opentelemetry/exporter-trace-otlp-http': 0.210.0(@opentelemetry/api@1.9.0) + '@opentelemetry/exporter-trace-otlp-proto': 0.210.0(@opentelemetry/api@1.9.0) + '@opentelemetry/exporter-zipkin': 2.4.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) + '@opentelemetry/propagator-b3': 2.4.0(@opentelemetry/api@1.9.0) + '@opentelemetry/propagator-jaeger': 2.4.0(@opentelemetry/api@1.9.0) + '@opentelemetry/resources': 2.4.0(@opentelemetry/api@1.9.0) + '@opentelemetry/sdk-logs': 0.210.0(@opentelemetry/api@1.9.0) + '@opentelemetry/sdk-metrics': 2.4.0(@opentelemetry/api@1.9.0) + '@opentelemetry/sdk-trace-base': 2.4.0(@opentelemetry/api@1.9.0) + '@opentelemetry/sdk-trace-node': 2.4.0(@opentelemetry/api@1.9.0) + '@opentelemetry/semantic-conventions': 1.40.0 + transitivePeerDependencies: + - supports-color + + '@opentelemetry/sdk-trace-base@2.4.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/core': 2.4.0(@opentelemetry/api@1.9.0) + '@opentelemetry/resources': 2.4.0(@opentelemetry/api@1.9.0) + '@opentelemetry/semantic-conventions': 1.40.0 + + '@opentelemetry/sdk-trace-node@2.4.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/context-async-hooks': 2.4.0(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 2.4.0(@opentelemetry/api@1.9.0) + '@opentelemetry/sdk-trace-base': 2.4.0(@opentelemetry/api@1.9.0) + + '@opentelemetry/semantic-conventions@1.40.0': {} + '@parcel/watcher-android-arm64@2.5.6': optional: true @@ -27130,6 +31010,14 @@ snapshots: '@parcel/watcher-win32-x64': 2.5.6 optional: true + '@pdf-lib/standard-fonts@1.0.0': + dependencies: + pako: 1.0.11 + + '@pdf-lib/upng@1.0.1': + dependencies: + pako: 1.0.11 + '@peculiar/asn1-cms@2.6.1': dependencies: '@peculiar/asn1-schema': 2.6.0 @@ -27229,7 +31117,21 @@ snapshots: dependencies: playwright: 1.55.1 - '@pmmmwh/react-refresh-webpack-plugin@0.5.17(@types/webpack@5.28.5(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1))(react-refresh@0.11.0)(type-fest@4.41.0)(webpack-dev-server@5.2.3)(webpack-hot-middleware@2.26.1)(webpack@5.105.4)': + '@pmmmwh/react-refresh-webpack-plugin@0.4.3(@types/webpack@4.41.40)(react-refresh@0.8.3)(webpack-hot-middleware@2.26.1)(webpack@4.47.0)': + dependencies: + ansi-html: 0.0.7 + error-stack-parser: 2.1.4 + html-entities: 1.4.0 + native-url: 0.2.6 + react-refresh: 0.8.3 + schema-utils: 2.7.1 + source-map: 0.7.6 + webpack: 4.47.0 + optionalDependencies: + '@types/webpack': 4.41.40 + webpack-hot-middleware: 2.26.1 + + '@pmmmwh/react-refresh-webpack-plugin@0.5.17(@types/webpack@5.28.5(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1))(react-refresh@0.11.0)(type-fest@4.41.0)(webpack-dev-server@5.2.3)(webpack-hot-middleware@2.26.1)(webpack@5.104.1)': dependencies: ansi-html: 0.0.9 core-js-pure: 3.48.0 @@ -27239,14 +31141,14 @@ snapshots: react-refresh: 0.11.0 schema-utils: 4.3.3 source-map: 0.7.6 - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) + webpack: 5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) optionalDependencies: '@types/webpack': 5.28.5(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) type-fest: 4.41.0 - webpack-dev-server: 5.2.3(webpack-cli@6.0.1)(webpack@5.105.4) + webpack-dev-server: 5.2.3(webpack-cli@6.0.1)(webpack@5.104.1) webpack-hot-middleware: 2.26.1 - '@pmmmwh/react-refresh-webpack-plugin@0.5.17(@types/webpack@5.28.5(@swc/core@1.15.18(@swc/helpers@0.5.19)))(react-refresh@0.11.0)(type-fest@4.41.0)(webpack-dev-server@5.2.3(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))))(webpack-hot-middleware@2.26.1)(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19)))': + '@pmmmwh/react-refresh-webpack-plugin@0.5.17(@types/webpack@5.28.5(@swc/core@1.15.18(@swc/helpers@0.5.19)))(react-refresh@0.11.0)(type-fest@4.41.0)(webpack-dev-server@5.2.3(webpack@5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))))(webpack-hot-middleware@2.26.1)(webpack@5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19)))': dependencies: ansi-html: 0.0.9 core-js-pure: 3.48.0 @@ -27256,14 +31158,14 @@ snapshots: react-refresh: 0.11.0 schema-utils: 4.3.3 source-map: 0.7.6 - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19)) + webpack: 5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19)) optionalDependencies: '@types/webpack': 5.28.5(@swc/core@1.15.18(@swc/helpers@0.5.19)) type-fest: 4.41.0 - webpack-dev-server: 5.2.3(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))) + webpack-dev-server: 5.2.3(webpack@5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))) webpack-hot-middleware: 2.26.1 - '@pmmmwh/react-refresh-webpack-plugin@0.5.17(@types/webpack@5.28.5(webpack-cli@4.10.0))(react-refresh@0.11.0)(type-fest@4.41.0)(webpack-dev-server@5.2.3)(webpack-hot-middleware@2.26.1)(webpack@5.105.4)': + '@pmmmwh/react-refresh-webpack-plugin@0.5.17(@types/webpack@5.28.5(webpack-cli@4.10.0))(react-refresh@0.11.0)(type-fest@4.41.0)(webpack-dev-server@5.2.3)(webpack-hot-middleware@2.26.1)(webpack@5.104.1)': dependencies: ansi-html: 0.0.9 core-js-pure: 3.48.0 @@ -27273,14 +31175,14 @@ snapshots: react-refresh: 0.11.0 schema-utils: 4.3.3 source-map: 0.7.6 - webpack: 5.105.4(webpack-cli@4.10.0) + webpack: 5.104.1(webpack-cli@4.10.0) optionalDependencies: '@types/webpack': 5.28.5(webpack-cli@4.10.0) type-fest: 4.41.0 - webpack-dev-server: 5.2.3(webpack-cli@4.10.0)(webpack@5.105.4) + webpack-dev-server: 5.2.3(webpack-cli@4.10.0)(webpack@5.104.1) webpack-hot-middleware: 2.26.1 - '@pmmmwh/react-refresh-webpack-plugin@0.5.17(@types/webpack@5.28.5(webpack-cli@5.1.4))(react-refresh@0.11.0)(type-fest@4.41.0)(webpack-dev-server@5.2.3)(webpack-hot-middleware@2.26.1)(webpack@5.105.4)': + '@pmmmwh/react-refresh-webpack-plugin@0.5.17(@types/webpack@5.28.5(webpack-cli@5.1.4))(react-refresh@0.11.0)(type-fest@4.41.0)(webpack-dev-server@5.2.3)(webpack-hot-middleware@2.26.1)(webpack@5.104.1)': dependencies: ansi-html: 0.0.9 core-js-pure: 3.48.0 @@ -27290,14 +31192,14 @@ snapshots: react-refresh: 0.11.0 schema-utils: 4.3.3 source-map: 0.7.6 - webpack: 5.105.4(webpack-cli@5.1.4) + webpack: 5.104.1(webpack-cli@5.1.4) optionalDependencies: '@types/webpack': 5.28.5(webpack-cli@5.1.4) type-fest: 4.41.0 - webpack-dev-server: 5.2.3(webpack-cli@5.1.4)(webpack@5.105.4) + webpack-dev-server: 5.2.3(webpack-cli@5.1.4)(webpack@5.104.1) webpack-hot-middleware: 2.26.1 - '@pmmmwh/react-refresh-webpack-plugin@0.5.17(@types/webpack@5.28.5)(react-refresh@0.11.0)(type-fest@4.41.0)(webpack-dev-server@5.2.3(webpack@5.105.4))(webpack-hot-middleware@2.26.1)(webpack@5.105.4)': + '@pmmmwh/react-refresh-webpack-plugin@0.5.17(@types/webpack@5.28.5)(react-refresh@0.11.0)(type-fest@4.41.0)(webpack-dev-server@5.2.3(webpack@5.104.1))(webpack-hot-middleware@2.26.1)(webpack@5.104.1)': dependencies: ansi-html: 0.0.9 core-js-pure: 3.48.0 @@ -27307,14 +31209,14 @@ snapshots: react-refresh: 0.11.0 schema-utils: 4.3.3 source-map: 0.7.6 - webpack: 5.105.4(webpack-cli@5.1.4) + webpack: 5.104.1(webpack-cli@5.1.4) optionalDependencies: - '@types/webpack': 5.28.5 + '@types/webpack': 5.28.5(webpack-cli@5.1.4) type-fest: 4.41.0 - webpack-dev-server: 5.2.3(webpack@5.105.4) + webpack-dev-server: 5.2.3(webpack-cli@5.1.4)(webpack@5.104.1) webpack-hot-middleware: 2.26.1 - '@pmmmwh/react-refresh-webpack-plugin@0.6.2(@types/webpack@5.28.5(webpack-cli@5.1.4))(react-refresh@0.11.0)(type-fest@4.41.0)(webpack-dev-server@5.2.3)(webpack-hot-middleware@2.26.1)(webpack@5.105.4)': + '@pmmmwh/react-refresh-webpack-plugin@0.6.0(@types/webpack@5.28.5(webpack-cli@5.1.4))(react-refresh@0.11.0)(type-fest@4.41.0)(webpack-dev-server@5.2.3)(webpack-hot-middleware@2.26.1)(webpack@5.104.1)': dependencies: anser: 2.3.5 core-js-pure: 3.48.0 @@ -27323,13 +31225,15 @@ snapshots: react-refresh: 0.11.0 schema-utils: 4.3.3 source-map: 0.7.6 - webpack: 5.105.4(webpack-cli@5.1.4) + webpack: 5.104.1(webpack-cli@5.1.4) optionalDependencies: '@types/webpack': 5.28.5(webpack-cli@5.1.4) type-fest: 4.41.0 - webpack-dev-server: 5.2.3(webpack-cli@5.1.4)(webpack@5.105.4) + webpack-dev-server: 5.2.3(webpack-cli@5.1.4)(webpack@5.104.1) webpack-hot-middleware: 2.26.1 + '@popperjs/core@2.11.8': {} + '@projectstorm/geometry@6.7.4': {} '@projectstorm/geometry@7.0.3': @@ -27351,7 +31255,7 @@ snapshots: '@projectstorm/react-canvas-core@7.0.3(@types/react@18.2.0)': dependencies: '@emotion/react': 11.14.0(@types/react@18.2.0)(react@18.2.0) - '@emotion/styled': 11.14.1(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0) + '@emotion/styled': 11.14.0(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0) '@projectstorm/geometry': 7.0.3 lodash: 4.17.23 react: 18.2.0 @@ -27377,7 +31281,7 @@ snapshots: '@projectstorm/react-diagrams-core@7.0.3(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)': dependencies: - '@emotion/styled': 11.14.1(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0) + '@emotion/styled': 11.14.0(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0) '@projectstorm/geometry': 7.0.3 '@projectstorm/react-canvas-core': 7.0.3(@types/react@18.2.0) lodash: 4.17.23 @@ -27390,7 +31294,7 @@ snapshots: '@projectstorm/react-diagrams-core@7.0.3(@emotion/react@11.14.0(@types/react@18.2.0)(react@19.1.0))(@types/react@18.2.0)': dependencies: - '@emotion/styled': 11.14.1(@emotion/react@11.14.0(@types/react@18.2.0)(react@19.1.0))(@types/react@18.2.0)(react@18.2.0) + '@emotion/styled': 11.14.0(@emotion/react@11.14.0(@types/react@18.2.0)(react@19.1.0))(@types/react@18.2.0)(react@18.2.0) '@projectstorm/geometry': 7.0.3 '@projectstorm/react-canvas-core': 7.0.3(@types/react@18.2.0) lodash: 4.17.23 @@ -27401,30 +31305,40 @@ snapshots: - '@types/react' - supports-color - '@projectstorm/react-diagrams-defaults@6.7.4(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0))(lodash@4.17.23)(react@18.2.0)(resize-observer-polyfill@1.5.1)': + '@projectstorm/react-diagrams-defaults@6.7.4(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0))(lodash@4.17.23)(react@18.2.0)(resize-observer-polyfill@1.5.1)': dependencies: '@emotion/react': 11.14.0(@types/react@18.2.0)(react@18.2.0) - '@emotion/styled': 11.14.1(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0) + '@emotion/styled': 11.14.0(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0) '@projectstorm/react-diagrams-core': 6.7.4(lodash@4.17.23)(react@18.2.0)(resize-observer-polyfill@1.5.1) lodash: 4.17.23 react: 18.2.0 transitivePeerDependencies: - resize-observer-polyfill - '@projectstorm/react-diagrams-defaults@6.7.4(@emotion/react@11.14.0(@types/react@18.2.0)(react@19.1.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@18.2.0)(react@19.1.0))(@types/react@18.2.0)(react@19.1.0))(lodash@4.17.23)(react@19.1.0)(resize-observer-polyfill@1.5.1)': + '@projectstorm/react-diagrams-defaults@6.7.4(@emotion/react@11.14.0(@types/react@18.2.0)(react@19.1.0))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@18.2.0)(react@19.1.0))(@types/react@18.2.0)(react@19.1.0))(lodash@4.17.23)(react@19.1.0)(resize-observer-polyfill@1.5.1)': dependencies: '@emotion/react': 11.14.0(@types/react@18.2.0)(react@19.1.0) - '@emotion/styled': 11.14.1(@emotion/react@11.14.0(@types/react@18.2.0)(react@19.1.0))(@types/react@18.2.0)(react@19.1.0) + '@emotion/styled': 11.14.0(@emotion/react@11.14.0(@types/react@18.2.0)(react@19.1.0))(@types/react@18.2.0)(react@19.1.0) '@projectstorm/react-diagrams-core': 6.7.4(lodash@4.17.23)(react@19.1.0)(resize-observer-polyfill@1.5.1) lodash: 4.17.23 react: 19.1.0 transitivePeerDependencies: - resize-observer-polyfill + '@projectstorm/react-diagrams-defaults@6.7.4(@emotion/react@11.9.3(@babel/core@7.29.0)(@types/react@18.2.0)(react@18.2.0))(@emotion/styled@11.10.5(@babel/core@7.29.0)(@emotion/react@11.9.3(@babel/core@7.29.0)(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0))(lodash@4.17.23)(react@18.2.0)(resize-observer-polyfill@1.5.1)': + dependencies: + '@emotion/react': 11.9.3(@babel/core@7.29.0)(@types/react@18.2.0)(react@18.2.0) + '@emotion/styled': 11.10.5(@babel/core@7.29.0)(@emotion/react@11.9.3(@babel/core@7.29.0)(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0) + '@projectstorm/react-diagrams-core': 6.7.4(lodash@4.17.23)(react@18.2.0)(resize-observer-polyfill@1.5.1) + lodash: 4.17.23 + react: 18.2.0 + transitivePeerDependencies: + - resize-observer-polyfill + '@projectstorm/react-diagrams-defaults@7.1.3(@types/react@18.2.0)': dependencies: '@emotion/react': 11.14.0(@types/react@18.2.0)(react@18.2.0) - '@emotion/styled': 11.14.1(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0) + '@emotion/styled': 11.14.0(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0) '@projectstorm/geometry': 7.0.3 '@projectstorm/react-canvas-core': 7.0.3(@types/react@18.2.0) '@projectstorm/react-diagrams-core': 7.0.3(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0) @@ -27434,11 +31348,11 @@ snapshots: - '@types/react' - supports-color - '@projectstorm/react-diagrams-routing@6.7.4(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0))(dagre@0.8.5)(lodash@4.17.23)(pathfinding@0.4.18)(paths-js@0.4.11)(react@18.2.0)(resize-observer-polyfill@1.5.1)': + '@projectstorm/react-diagrams-routing@6.7.4(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0))(dagre@0.8.5)(lodash@4.17.23)(pathfinding@0.4.18)(paths-js@0.4.11)(react@18.2.0)(resize-observer-polyfill@1.5.1)': dependencies: '@projectstorm/geometry': 6.7.4 '@projectstorm/react-diagrams-core': 6.7.4(lodash@4.17.23)(react@18.2.0)(resize-observer-polyfill@1.5.1) - '@projectstorm/react-diagrams-defaults': 6.7.4(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0))(lodash@4.17.23)(react@18.2.0)(resize-observer-polyfill@1.5.1) + '@projectstorm/react-diagrams-defaults': 6.7.4(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0))(lodash@4.17.23)(react@18.2.0)(resize-observer-polyfill@1.5.1) dagre: 0.8.5 lodash: 4.17.23 pathfinding: 0.4.18 @@ -27449,11 +31363,11 @@ snapshots: - '@emotion/styled' - resize-observer-polyfill - '@projectstorm/react-diagrams-routing@6.7.4(@emotion/react@11.14.0(@types/react@18.2.0)(react@19.1.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@18.2.0)(react@19.1.0))(@types/react@18.2.0)(react@19.1.0))(dagre@0.8.5)(lodash@4.17.23)(pathfinding@0.4.18)(paths-js@0.4.11)(react@19.1.0)(resize-observer-polyfill@1.5.1)': + '@projectstorm/react-diagrams-routing@6.7.4(@emotion/react@11.14.0(@types/react@18.2.0)(react@19.1.0))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@18.2.0)(react@19.1.0))(@types/react@18.2.0)(react@19.1.0))(dagre@0.8.5)(lodash@4.17.23)(pathfinding@0.4.18)(paths-js@0.4.11)(react@19.1.0)(resize-observer-polyfill@1.5.1)': dependencies: '@projectstorm/geometry': 6.7.4 '@projectstorm/react-diagrams-core': 6.7.4(lodash@4.17.23)(react@19.1.0)(resize-observer-polyfill@1.5.1) - '@projectstorm/react-diagrams-defaults': 6.7.4(@emotion/react@11.14.0(@types/react@18.2.0)(react@19.1.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@18.2.0)(react@19.1.0))(@types/react@18.2.0)(react@19.1.0))(lodash@4.17.23)(react@19.1.0)(resize-observer-polyfill@1.5.1) + '@projectstorm/react-diagrams-defaults': 6.7.4(@emotion/react@11.14.0(@types/react@18.2.0)(react@19.1.0))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@18.2.0)(react@19.1.0))(@types/react@18.2.0)(react@19.1.0))(lodash@4.17.23)(react@19.1.0)(resize-observer-polyfill@1.5.1) dagre: 0.8.5 lodash: 4.17.23 pathfinding: 0.4.18 @@ -27464,6 +31378,21 @@ snapshots: - '@emotion/styled' - resize-observer-polyfill + '@projectstorm/react-diagrams-routing@6.7.4(@emotion/react@11.9.3(@babel/core@7.29.0)(@types/react@18.2.0)(react@18.2.0))(@emotion/styled@11.10.5(@babel/core@7.29.0)(@emotion/react@11.9.3(@babel/core@7.29.0)(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0))(dagre@0.8.5)(lodash@4.17.23)(pathfinding@0.4.18)(paths-js@0.4.11)(react@18.2.0)(resize-observer-polyfill@1.5.1)': + dependencies: + '@projectstorm/geometry': 6.7.4 + '@projectstorm/react-diagrams-core': 6.7.4(lodash@4.17.23)(react@18.2.0)(resize-observer-polyfill@1.5.1) + '@projectstorm/react-diagrams-defaults': 6.7.4(@emotion/react@11.9.3(@babel/core@7.29.0)(@types/react@18.2.0)(react@18.2.0))(@emotion/styled@11.10.5(@babel/core@7.29.0)(@emotion/react@11.9.3(@babel/core@7.29.0)(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0))(lodash@4.17.23)(react@18.2.0)(resize-observer-polyfill@1.5.1) + dagre: 0.8.5 + lodash: 4.17.23 + pathfinding: 0.4.18 + paths-js: 0.4.11 + react: 18.2.0 + transitivePeerDependencies: + - '@emotion/react' + - '@emotion/styled' + - resize-observer-polyfill + '@projectstorm/react-diagrams-routing@7.1.3(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)': dependencies: '@projectstorm/geometry': 7.0.3 @@ -27480,11 +31409,11 @@ snapshots: - '@types/react' - supports-color - '@projectstorm/react-diagrams@6.7.4(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0))(dagre@0.8.5)(lodash@4.17.23)(pathfinding@0.4.18)(paths-js@0.4.11)(react@18.2.0)(resize-observer-polyfill@1.5.1)': + '@projectstorm/react-diagrams@6.7.4(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0))(dagre@0.8.5)(lodash@4.17.23)(pathfinding@0.4.18)(paths-js@0.4.11)(react@18.2.0)(resize-observer-polyfill@1.5.1)': dependencies: '@projectstorm/react-diagrams-core': 6.7.4(lodash@4.17.23)(react@18.2.0)(resize-observer-polyfill@1.5.1) - '@projectstorm/react-diagrams-defaults': 6.7.4(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0))(lodash@4.17.23)(react@18.2.0)(resize-observer-polyfill@1.5.1) - '@projectstorm/react-diagrams-routing': 6.7.4(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0))(dagre@0.8.5)(lodash@4.17.23)(pathfinding@0.4.18)(paths-js@0.4.11)(react@18.2.0)(resize-observer-polyfill@1.5.1) + '@projectstorm/react-diagrams-defaults': 6.7.4(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0))(lodash@4.17.23)(react@18.2.0)(resize-observer-polyfill@1.5.1) + '@projectstorm/react-diagrams-routing': 6.7.4(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0))(dagre@0.8.5)(lodash@4.17.23)(pathfinding@0.4.18)(paths-js@0.4.11)(react@18.2.0)(resize-observer-polyfill@1.5.1) transitivePeerDependencies: - '@emotion/react' - '@emotion/styled' @@ -27495,11 +31424,26 @@ snapshots: - react - resize-observer-polyfill - '@projectstorm/react-diagrams@6.7.4(@emotion/react@11.14.0(@types/react@18.2.0)(react@19.1.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@18.2.0)(react@19.1.0))(@types/react@18.2.0)(react@19.1.0))(dagre@0.8.5)(lodash@4.17.23)(pathfinding@0.4.18)(paths-js@0.4.11)(react@19.1.0)(resize-observer-polyfill@1.5.1)': + '@projectstorm/react-diagrams@6.7.4(@emotion/react@11.14.0(@types/react@18.2.0)(react@19.1.0))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@18.2.0)(react@19.1.0))(@types/react@18.2.0)(react@19.1.0))(dagre@0.8.5)(lodash@4.17.23)(pathfinding@0.4.18)(paths-js@0.4.11)(react@19.1.0)(resize-observer-polyfill@1.5.1)': dependencies: '@projectstorm/react-diagrams-core': 6.7.4(lodash@4.17.23)(react@19.1.0)(resize-observer-polyfill@1.5.1) - '@projectstorm/react-diagrams-defaults': 6.7.4(@emotion/react@11.14.0(@types/react@18.2.0)(react@19.1.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@18.2.0)(react@19.1.0))(@types/react@18.2.0)(react@19.1.0))(lodash@4.17.23)(react@19.1.0)(resize-observer-polyfill@1.5.1) - '@projectstorm/react-diagrams-routing': 6.7.4(@emotion/react@11.14.0(@types/react@18.2.0)(react@19.1.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@18.2.0)(react@19.1.0))(@types/react@18.2.0)(react@19.1.0))(dagre@0.8.5)(lodash@4.17.23)(pathfinding@0.4.18)(paths-js@0.4.11)(react@19.1.0)(resize-observer-polyfill@1.5.1) + '@projectstorm/react-diagrams-defaults': 6.7.4(@emotion/react@11.14.0(@types/react@18.2.0)(react@19.1.0))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@18.2.0)(react@19.1.0))(@types/react@18.2.0)(react@19.1.0))(lodash@4.17.23)(react@19.1.0)(resize-observer-polyfill@1.5.1) + '@projectstorm/react-diagrams-routing': 6.7.4(@emotion/react@11.14.0(@types/react@18.2.0)(react@19.1.0))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@18.2.0)(react@19.1.0))(@types/react@18.2.0)(react@19.1.0))(dagre@0.8.5)(lodash@4.17.23)(pathfinding@0.4.18)(paths-js@0.4.11)(react@19.1.0)(resize-observer-polyfill@1.5.1) + transitivePeerDependencies: + - '@emotion/react' + - '@emotion/styled' + - dagre + - lodash + - pathfinding + - paths-js + - react + - resize-observer-polyfill + + '@projectstorm/react-diagrams@6.7.4(@emotion/react@11.9.3(@babel/core@7.29.0)(@types/react@18.2.0)(react@18.2.0))(@emotion/styled@11.10.5(@babel/core@7.29.0)(@emotion/react@11.9.3(@babel/core@7.29.0)(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0))(dagre@0.8.5)(lodash@4.17.23)(pathfinding@0.4.18)(paths-js@0.4.11)(react@18.2.0)(resize-observer-polyfill@1.5.1)': + dependencies: + '@projectstorm/react-diagrams-core': 6.7.4(lodash@4.17.23)(react@18.2.0)(resize-observer-polyfill@1.5.1) + '@projectstorm/react-diagrams-defaults': 6.7.4(@emotion/react@11.9.3(@babel/core@7.29.0)(@types/react@18.2.0)(react@18.2.0))(@emotion/styled@11.10.5(@babel/core@7.29.0)(@emotion/react@11.9.3(@babel/core@7.29.0)(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0))(lodash@4.17.23)(react@18.2.0)(resize-observer-polyfill@1.5.1) + '@projectstorm/react-diagrams-routing': 6.7.4(@emotion/react@11.9.3(@babel/core@7.29.0)(@types/react@18.2.0)(react@18.2.0))(@emotion/styled@11.10.5(@babel/core@7.29.0)(@emotion/react@11.9.3(@babel/core@7.29.0)(@types/react@18.2.0)(react@18.2.0))(@types/react@18.2.0)(react@18.2.0))(dagre@0.8.5)(lodash@4.17.23)(pathfinding@0.4.18)(paths-js@0.4.11)(react@18.2.0)(resize-observer-polyfill@1.5.1) transitivePeerDependencies: - '@emotion/react' - '@emotion/styled' @@ -28985,6 +32929,15 @@ snapshots: '@radix-ui/rect@1.1.1': {} + '@reach/router@1.3.4(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + create-react-context: 0.3.0(prop-types@15.8.1)(react@18.2.0) + invariant: 2.2.4 + prop-types: 15.8.1 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + react-lifecycles-compat: 3.0.4 + '@react-aria/focus@3.21.5(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@react-aria/interactions': 3.27.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -29065,9 +33018,9 @@ snapshots: type-fest: 4.41.0 typescript: 5.8.3 - '@rollup/plugin-babel@5.3.1(@babel/core@7.27.7)(@types/babel__core@7.20.5)(rollup@1.32.1)': + '@rollup/plugin-babel@5.3.1(@babel/core@7.27.1)(@types/babel__core@7.20.5)(rollup@1.32.1)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 '@babel/helper-module-imports': 7.28.6 '@rollup/pluginutils': 3.1.0(rollup@1.32.1) rollup: 1.32.1 @@ -29087,9 +33040,9 @@ snapshots: resolve: 1.22.11 rollup: 1.32.1 - '@rollup/plugin-commonjs@28.0.9(rollup@4.59.0)': + '@rollup/plugin-commonjs@28.0.3(rollup@4.41.0)': dependencies: - '@rollup/pluginutils': 5.3.0(rollup@4.59.0) + '@rollup/pluginutils': 5.3.0(rollup@4.41.0) commondir: 1.0.1 estree-walker: 2.0.2 fdir: 6.5.0(picomatch@4.0.3) @@ -29097,28 +33050,28 @@ snapshots: magic-string: 0.30.21 picomatch: 4.0.3 optionalDependencies: - rollup: 4.59.0 + rollup: 4.41.0 '@rollup/plugin-json@4.1.0(rollup@1.32.1)': dependencies: '@rollup/pluginutils': 3.1.0(rollup@1.32.1) rollup: 1.32.1 - '@rollup/plugin-json@6.1.0(rollup@4.59.0)': + '@rollup/plugin-json@6.1.0(rollup@4.41.0)': dependencies: - '@rollup/pluginutils': 5.3.0(rollup@4.59.0) + '@rollup/pluginutils': 5.3.0(rollup@4.41.0) optionalDependencies: - rollup: 4.59.0 + rollup: 4.41.0 - '@rollup/plugin-node-resolve@16.0.3(rollup@4.59.0)': + '@rollup/plugin-node-resolve@16.0.1(rollup@4.41.0)': dependencies: - '@rollup/pluginutils': 5.3.0(rollup@4.59.0) + '@rollup/pluginutils': 5.3.0(rollup@4.41.0) '@types/resolve': 1.20.2 deepmerge: 4.3.1 is-module: 1.0.0 resolve: 1.22.11 optionalDependencies: - rollup: 4.59.0 + rollup: 4.41.0 '@rollup/plugin-node-resolve@9.0.0(rollup@1.32.1)': dependencies: @@ -29148,87 +33101,72 @@ snapshots: estree-walker: 2.0.2 picomatch: 2.3.1 - '@rollup/pluginutils@5.3.0(rollup@4.59.0)': + '@rollup/pluginutils@5.3.0(rollup@4.41.0)': dependencies: '@types/estree': 1.0.8 estree-walker: 2.0.2 picomatch: 4.0.3 optionalDependencies: - rollup: 4.59.0 - - '@rollup/rollup-android-arm-eabi@4.59.0': - optional: true - - '@rollup/rollup-android-arm64@4.59.0': - optional: true + rollup: 4.41.0 - '@rollup/rollup-darwin-arm64@4.59.0': + '@rollup/rollup-android-arm-eabi@4.41.0': optional: true - '@rollup/rollup-darwin-x64@4.59.0': + '@rollup/rollup-android-arm64@4.41.0': optional: true - '@rollup/rollup-freebsd-arm64@4.59.0': + '@rollup/rollup-darwin-arm64@4.41.0': optional: true - '@rollup/rollup-freebsd-x64@4.59.0': + '@rollup/rollup-darwin-x64@4.41.0': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.59.0': + '@rollup/rollup-freebsd-arm64@4.41.0': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.59.0': + '@rollup/rollup-freebsd-x64@4.41.0': optional: true - '@rollup/rollup-linux-arm64-gnu@4.59.0': + '@rollup/rollup-linux-arm-gnueabihf@4.41.0': optional: true - '@rollup/rollup-linux-arm64-musl@4.59.0': + '@rollup/rollup-linux-arm-musleabihf@4.41.0': optional: true - '@rollup/rollup-linux-loong64-gnu@4.59.0': + '@rollup/rollup-linux-arm64-gnu@4.41.0': optional: true - '@rollup/rollup-linux-loong64-musl@4.59.0': + '@rollup/rollup-linux-arm64-musl@4.41.0': optional: true - '@rollup/rollup-linux-ppc64-gnu@4.59.0': + '@rollup/rollup-linux-loongarch64-gnu@4.41.0': optional: true - '@rollup/rollup-linux-ppc64-musl@4.59.0': + '@rollup/rollup-linux-powerpc64le-gnu@4.41.0': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.59.0': + '@rollup/rollup-linux-riscv64-gnu@4.41.0': optional: true - '@rollup/rollup-linux-riscv64-musl@4.59.0': + '@rollup/rollup-linux-riscv64-musl@4.41.0': optional: true - '@rollup/rollup-linux-s390x-gnu@4.59.0': + '@rollup/rollup-linux-s390x-gnu@4.41.0': optional: true - '@rollup/rollup-linux-x64-gnu@4.59.0': + '@rollup/rollup-linux-x64-gnu@4.41.0': optional: true - '@rollup/rollup-linux-x64-musl@4.59.0': + '@rollup/rollup-linux-x64-musl@4.41.0': optional: true - '@rollup/rollup-openbsd-x64@4.59.0': + '@rollup/rollup-win32-arm64-msvc@4.41.0': optional: true - '@rollup/rollup-openharmony-arm64@4.59.0': + '@rollup/rollup-win32-ia32-msvc@4.41.0': optional: true - '@rollup/rollup-win32-arm64-msvc@4.59.0': - optional: true - - '@rollup/rollup-win32-ia32-msvc@4.59.0': - optional: true - - '@rollup/rollup-win32-x64-gnu@4.59.0': - optional: true - - '@rollup/rollup-win32-x64-msvc@4.59.0': + '@rollup/rollup-win32-x64-msvc@4.41.0': optional: true '@rtsao/scc@1.1.0': {} @@ -29315,7 +33253,7 @@ snapshots: dependencies: https-proxy-agent: 5.0.1 mkdirp: 0.5.6 - node-fetch: 2.6.13(encoding@0.1.13) + node-fetch: 2.6.7(encoding@0.1.13) progress: 2.0.3 proxy-from-env: 1.1.0 which: 2.0.2 @@ -29323,7 +33261,7 @@ snapshots: - encoding - supports-color - '@sentry/webpack-plugin@1.21.0(encoding@0.1.13)': + '@sentry/webpack-plugin@1.20.1(encoding@0.1.13)': dependencies: '@sentry/cli': 1.77.3(encoding@0.1.13) webpack-sources: 3.3.4 @@ -29711,7 +33649,7 @@ snapshots: '@smithy/util-buffer-from': 4.2.2 tslib: 2.8.1 - '@smithy/util-waiter@4.2.12': + '@smithy/util-waiter@4.2.11': dependencies: '@smithy/abort-controller': 4.2.11 '@smithy/types': 4.13.0 @@ -29757,16 +33695,41 @@ snapshots: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - '@storybook/addon-actions@7.4.6(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@storybook/addon-actions@6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@storybook/client-logger': 7.4.6 - '@storybook/components': 7.4.6(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/core-events': 7.4.6 + '@storybook/addons': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/api': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/client-logger': 6.5.9 + '@storybook/components': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/core-events': 6.5.9 + '@storybook/csf': 0.0.2--canary.4566f4d.1 + '@storybook/theming': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + core-js: 3.48.0 + fast-deep-equal: 3.1.3 + global: 4.4.0 + lodash: 4.17.23 + polished: 4.3.1 + prop-types: 15.8.1 + react-inspector: 5.1.1(react@18.2.0) + regenerator-runtime: 0.13.11 + telejson: 6.0.8 + ts-dedent: 2.2.0 + util-deprecate: 1.0.2 + uuid-browser: 3.1.0 + optionalDependencies: + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + + '@storybook/addon-actions@7.4.0(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@storybook/client-logger': 7.4.0 + '@storybook/components': 7.4.0(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/core-events': 7.4.0 '@storybook/global': 5.0.0 - '@storybook/manager-api': 7.4.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/preview-api': 7.4.6 - '@storybook/theming': 7.4.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/types': 7.4.6 + '@storybook/manager-api': 7.4.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/preview-api': 7.4.0 + '@storybook/theming': 7.4.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/types': 7.4.0 dequal: 2.0.3 lodash: 4.17.23 polished: 4.3.1 @@ -29782,16 +33745,16 @@ snapshots: - '@types/react' - '@types/react-dom' - '@storybook/addon-actions@7.4.6(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@storybook/addon-actions@7.4.0(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@storybook/client-logger': 7.4.6 - '@storybook/components': 7.4.6(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@storybook/core-events': 7.4.6 + '@storybook/client-logger': 7.4.0 + '@storybook/components': 7.4.0(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/core-events': 7.4.0 '@storybook/global': 5.0.0 - '@storybook/manager-api': 7.4.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@storybook/preview-api': 7.4.6 - '@storybook/theming': 7.4.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@storybook/types': 7.4.6 + '@storybook/manager-api': 7.4.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/preview-api': 7.4.0 + '@storybook/theming': 7.4.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/types': 7.4.0 dequal: 2.0.3 lodash: 4.17.23 polished: 4.3.1 @@ -29807,22 +33770,13 @@ snapshots: - '@types/react' - '@types/react-dom' - '@storybook/addon-actions@8.6.14(storybook@8.6.18(prettier@3.5.3))': - dependencies: - '@storybook/global': 5.0.0 - '@types/uuid': 9.0.8 - dequal: 2.0.3 - polished: 4.3.1 - storybook: 8.6.18(prettier@3.5.3) - uuid: 9.0.1 - - '@storybook/addon-actions@8.6.18(storybook@8.6.18(prettier@3.5.3))': + '@storybook/addon-actions@8.6.14(storybook@8.6.14(prettier@3.5.3))': dependencies: '@storybook/global': 5.0.0 '@types/uuid': 9.0.8 dequal: 2.0.3 polished: 4.3.1 - storybook: 8.6.18(prettier@3.5.3) + storybook: 8.6.14(prettier@3.5.3) uuid: 9.0.1 '@storybook/addon-backgrounds@6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': @@ -29844,16 +33798,35 @@ snapshots: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - '@storybook/addon-backgrounds@7.4.6(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@storybook/addon-backgrounds@6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@storybook/client-logger': 7.4.6 - '@storybook/components': 7.4.6(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/core-events': 7.4.6 + '@storybook/addons': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/api': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/client-logger': 6.5.9 + '@storybook/components': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/core-events': 6.5.9 + '@storybook/csf': 0.0.2--canary.4566f4d.1 + '@storybook/theming': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + core-js: 3.48.0 + global: 4.4.0 + memoizerific: 1.11.3 + regenerator-runtime: 0.13.11 + ts-dedent: 2.2.0 + util-deprecate: 1.0.2 + optionalDependencies: + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + + '@storybook/addon-backgrounds@7.4.0(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@storybook/client-logger': 7.4.0 + '@storybook/components': 7.4.0(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/core-events': 7.4.0 '@storybook/global': 5.0.0 - '@storybook/manager-api': 7.4.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/preview-api': 7.4.6 - '@storybook/theming': 7.4.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/types': 7.4.6 + '@storybook/manager-api': 7.4.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/preview-api': 7.4.0 + '@storybook/theming': 7.4.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/types': 7.4.0 memoizerific: 1.11.3 ts-dedent: 2.2.0 optionalDependencies: @@ -29863,16 +33836,16 @@ snapshots: - '@types/react' - '@types/react-dom' - '@storybook/addon-backgrounds@7.4.6(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@storybook/addon-backgrounds@7.4.0(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@storybook/client-logger': 7.4.6 - '@storybook/components': 7.4.6(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@storybook/core-events': 7.4.6 + '@storybook/client-logger': 7.4.0 + '@storybook/components': 7.4.0(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/core-events': 7.4.0 '@storybook/global': 5.0.0 - '@storybook/manager-api': 7.4.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@storybook/preview-api': 7.4.6 - '@storybook/theming': 7.4.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@storybook/types': 7.4.6 + '@storybook/manager-api': 7.4.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/preview-api': 7.4.0 + '@storybook/theming': 7.4.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/types': 7.4.0 memoizerific: 1.11.3 ts-dedent: 2.2.0 optionalDependencies: @@ -29882,20 +33855,20 @@ snapshots: - '@types/react' - '@types/react-dom' - '@storybook/addon-backgrounds@8.6.14(storybook@8.6.18(prettier@3.5.3))': + '@storybook/addon-backgrounds@8.6.14(storybook@8.6.14(prettier@3.5.3))': dependencies: '@storybook/global': 5.0.0 memoizerific: 1.11.3 - storybook: 8.6.18(prettier@3.5.3) + storybook: 8.6.14(prettier@3.5.3) ts-dedent: 2.2.0 - '@storybook/addon-controls@6.5.16(@swc/core@1.15.18(@swc/helpers@0.5.19))(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)': + '@storybook/addon-controls@6.5.16(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)': dependencies: '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/api': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/client-logger': 6.5.16 '@storybook/components': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/core-common': 6.5.16(@swc/core@1.15.18(@swc/helpers@0.5.19))(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) + '@storybook/core-common': 6.5.16(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/node-logger': 6.5.16 '@storybook/store': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -29907,26 +33880,24 @@ snapshots: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) transitivePeerDependencies: - - '@swc/core' - - esbuild - eslint - supports-color - typescript - - uglify-js - vue-template-compiler - webpack-cli + - webpack-command - '@storybook/addon-controls@6.5.16(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)': + '@storybook/addon-controls@6.5.9(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)': dependencies: - '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/api': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/client-logger': 6.5.16 - '@storybook/components': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/core-common': 6.5.16(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) + '@storybook/addons': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/api': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/client-logger': 6.5.9 + '@storybook/components': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/core-common': 6.5.9(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) '@storybook/csf': 0.0.2--canary.4566f4d.1 - '@storybook/node-logger': 6.5.16 - '@storybook/store': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/theming': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/node-logger': 6.5.9 + '@storybook/store': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/theming': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) core-js: 3.48.0 lodash: 4.17.23 ts-dedent: 2.2.0 @@ -29934,27 +33905,25 @@ snapshots: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) transitivePeerDependencies: - - '@swc/core' - - esbuild - eslint - supports-color - typescript - - uglify-js - vue-template-compiler - webpack-cli - - '@storybook/addon-controls@7.4.6(@types/react-dom@18.2.0)(@types/react@18.2.0)(encoding@0.1.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': - dependencies: - '@storybook/blocks': 7.4.6(@types/react-dom@18.2.0)(@types/react@18.2.0)(encoding@0.1.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/client-logger': 7.4.6 - '@storybook/components': 7.4.6(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/core-common': 7.4.6(encoding@0.1.13) - '@storybook/core-events': 7.4.6 - '@storybook/manager-api': 7.4.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/node-logger': 7.4.6 - '@storybook/preview-api': 7.4.6 - '@storybook/theming': 7.4.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/types': 7.4.6 + - webpack-command + + '@storybook/addon-controls@7.4.0(@types/react-dom@18.2.0)(@types/react@18.2.0)(encoding@0.1.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@storybook/blocks': 7.4.0(@types/react-dom@18.2.0)(@types/react@18.2.0)(encoding@0.1.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/client-logger': 7.4.0 + '@storybook/components': 7.4.0(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/core-common': 7.4.0(encoding@0.1.13) + '@storybook/core-events': 7.4.0 + '@storybook/manager-api': 7.4.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/node-logger': 7.4.0 + '@storybook/preview-api': 7.4.0 + '@storybook/theming': 7.4.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/types': 7.4.0 lodash: 4.17.23 ts-dedent: 2.2.0 optionalDependencies: @@ -29966,18 +33935,18 @@ snapshots: - encoding - supports-color - '@storybook/addon-controls@7.4.6(@types/react-dom@18.2.0)(@types/react@18.2.0)(encoding@0.1.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@storybook/addon-controls@7.4.0(@types/react-dom@18.2.0)(@types/react@18.2.0)(encoding@0.1.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@storybook/blocks': 7.4.6(@types/react-dom@18.2.0)(@types/react@18.2.0)(encoding@0.1.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@storybook/client-logger': 7.4.6 - '@storybook/components': 7.4.6(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@storybook/core-common': 7.4.6(encoding@0.1.13) - '@storybook/core-events': 7.4.6 - '@storybook/manager-api': 7.4.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@storybook/node-logger': 7.4.6 - '@storybook/preview-api': 7.4.6 - '@storybook/theming': 7.4.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@storybook/types': 7.4.6 + '@storybook/blocks': 7.4.0(@types/react-dom@18.2.0)(@types/react@18.2.0)(encoding@0.1.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/client-logger': 7.4.0 + '@storybook/components': 7.4.0(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/core-common': 7.4.0(encoding@0.1.13) + '@storybook/core-events': 7.4.0 + '@storybook/manager-api': 7.4.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/node-logger': 7.4.0 + '@storybook/preview-api': 7.4.0 + '@storybook/theming': 7.4.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/types': 7.4.0 lodash: 4.17.23 ts-dedent: 2.2.0 optionalDependencies: @@ -29989,34 +33958,34 @@ snapshots: - encoding - supports-color - '@storybook/addon-controls@8.6.14(storybook@8.6.18(prettier@3.5.3))': + '@storybook/addon-controls@8.6.14(storybook@8.6.14(prettier@3.5.3))': dependencies: '@storybook/global': 5.0.0 dequal: 2.0.3 - storybook: 8.6.18(prettier@3.5.3) + storybook: 8.6.14(prettier@3.5.3) ts-dedent: 2.2.0 - '@storybook/addon-docs@6.5.16(@babel/core@7.27.7)(@swc/core@1.15.18(@swc/helpers@0.5.19))(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)(webpack@5.105.4)': + '@storybook/addon-docs@6.5.16(@babel/core@7.27.1)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)(webpack@5.104.1)': dependencies: - '@babel/plugin-transform-react-jsx': 7.28.6(@babel/core@7.27.7) - '@babel/preset-env': 7.27.2(@babel/core@7.27.7) + '@babel/plugin-transform-react-jsx': 7.28.6(@babel/core@7.27.1) + '@babel/preset-env': 7.27.2(@babel/core@7.27.1) '@jest/transform': 26.6.2 '@mdx-js/react': 1.6.22(react@18.2.0) '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/api': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/components': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/core-common': 6.5.16(@swc/core@1.15.18(@swc/helpers@0.5.19))(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) + '@storybook/core-common': 6.5.16(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) '@storybook/core-events': 6.5.16 '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/docs-tools': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/mdx1-csf': 0.0.1(@babel/core@7.27.7) + '@storybook/mdx1-csf': 0.0.1(@babel/core@7.27.1) '@storybook/node-logger': 6.5.16 '@storybook/postinstall': 6.5.16 '@storybook/preview-web': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/source-loader': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/store': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/theming': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - babel-loader: 8.4.1(@babel/core@7.27.7)(webpack@5.105.4) + babel-loader: 8.4.1(@babel/core@7.27.1)(webpack@5.104.1) core-js: 3.48.0 fast-deep-equal: 3.1.3 global: 4.4.0 @@ -30031,37 +34000,35 @@ snapshots: react-dom: 18.2.0(react@18.2.0) transitivePeerDependencies: - '@babel/core' - - '@swc/core' - - esbuild - eslint - supports-color - typescript - - uglify-js - vue-template-compiler - webpack - webpack-cli + - webpack-command - '@storybook/addon-docs@6.5.16(@babel/core@7.27.7)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)(webpack@5.105.4)': + '@storybook/addon-docs@6.5.9(@babel/core@7.27.1)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)(webpack@5.104.1)': dependencies: - '@babel/plugin-transform-react-jsx': 7.28.6(@babel/core@7.27.7) - '@babel/preset-env': 7.27.2(@babel/core@7.27.7) + '@babel/plugin-transform-react-jsx': 7.28.6(@babel/core@7.27.1) + '@babel/preset-env': 7.27.2(@babel/core@7.27.1) '@jest/transform': 26.6.2 '@mdx-js/react': 1.6.22(react@18.2.0) - '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/api': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/components': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/core-common': 6.5.16(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) - '@storybook/core-events': 6.5.16 + '@storybook/addons': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/api': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/components': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/core-common': 6.5.9(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) + '@storybook/core-events': 6.5.9 '@storybook/csf': 0.0.2--canary.4566f4d.1 - '@storybook/docs-tools': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/mdx1-csf': 0.0.1(@babel/core@7.27.7) - '@storybook/node-logger': 6.5.16 - '@storybook/postinstall': 6.5.16 - '@storybook/preview-web': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/source-loader': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/store': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/theming': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - babel-loader: 8.4.1(@babel/core@7.27.7)(webpack@5.105.4) + '@storybook/docs-tools': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/mdx1-csf': 0.0.1(@babel/core@7.27.1) + '@storybook/node-logger': 6.5.9 + '@storybook/postinstall': 6.5.9 + '@storybook/preview-web': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/source-loader': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/store': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/theming': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + babel-loader: 8.4.1(@babel/core@7.27.1)(webpack@5.104.1) core-js: 3.48.0 fast-deep-equal: 3.1.3 global: 4.4.0 @@ -30076,34 +34043,32 @@ snapshots: react-dom: 18.2.0(react@18.2.0) transitivePeerDependencies: - '@babel/core' - - '@swc/core' - - esbuild - eslint - supports-color - typescript - - uglify-js - vue-template-compiler - webpack - webpack-cli + - webpack-command - '@storybook/addon-docs@7.4.6(@types/react-dom@18.2.0)(@types/react@18.2.0)(encoding@0.1.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@storybook/addon-docs@7.4.0(@types/react-dom@18.2.0)(@types/react@18.2.0)(encoding@0.1.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@jest/transform': 29.7.0 '@mdx-js/react': 2.3.0(react@18.2.0) - '@storybook/blocks': 7.4.6(@types/react-dom@18.2.0)(@types/react@18.2.0)(encoding@0.1.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/client-logger': 7.4.6 - '@storybook/components': 7.4.6(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/csf-plugin': 7.4.6 - '@storybook/csf-tools': 7.4.6 + '@storybook/blocks': 7.4.0(@types/react-dom@18.2.0)(@types/react@18.2.0)(encoding@0.1.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/client-logger': 7.4.0 + '@storybook/components': 7.4.0(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/csf-plugin': 7.4.0 + '@storybook/csf-tools': 7.4.0 '@storybook/global': 5.0.0 '@storybook/mdx2-csf': 1.1.0 - '@storybook/node-logger': 7.4.6 - '@storybook/postinstall': 7.4.6 - '@storybook/preview-api': 7.4.6 - '@storybook/react-dom-shim': 7.4.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/theming': 7.4.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/types': 7.4.6 - fs-extra: 11.3.4 + '@storybook/node-logger': 7.4.0 + '@storybook/postinstall': 7.4.0 + '@storybook/preview-api': 7.4.0 + '@storybook/react-dom-shim': 7.4.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/theming': 7.4.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/types': 7.4.0 + fs-extra: 11.3.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) remark-external-links: 8.0.0 @@ -30115,24 +34080,24 @@ snapshots: - encoding - supports-color - '@storybook/addon-docs@7.4.6(@types/react-dom@18.2.0)(@types/react@18.2.0)(encoding@0.1.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@storybook/addon-docs@7.4.0(@types/react-dom@18.2.0)(@types/react@18.2.0)(encoding@0.1.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: '@jest/transform': 29.7.0 '@mdx-js/react': 2.3.0(react@19.1.0) - '@storybook/blocks': 7.4.6(@types/react-dom@18.2.0)(@types/react@18.2.0)(encoding@0.1.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@storybook/client-logger': 7.4.6 - '@storybook/components': 7.4.6(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@storybook/csf-plugin': 7.4.6 - '@storybook/csf-tools': 7.4.6 + '@storybook/blocks': 7.4.0(@types/react-dom@18.2.0)(@types/react@18.2.0)(encoding@0.1.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/client-logger': 7.4.0 + '@storybook/components': 7.4.0(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/csf-plugin': 7.4.0 + '@storybook/csf-tools': 7.4.0 '@storybook/global': 5.0.0 '@storybook/mdx2-csf': 1.1.0 - '@storybook/node-logger': 7.4.6 - '@storybook/postinstall': 7.4.6 - '@storybook/preview-api': 7.4.6 - '@storybook/react-dom-shim': 7.4.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@storybook/theming': 7.4.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@storybook/types': 7.4.6 - fs-extra: 11.3.4 + '@storybook/node-logger': 7.4.0 + '@storybook/postinstall': 7.4.0 + '@storybook/preview-api': 7.4.0 + '@storybook/react-dom-shim': 7.4.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/theming': 7.4.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/types': 7.4.0 + fs-extra: 11.3.0 react: 19.1.0 react-dom: 19.1.0(react@19.1.0) remark-external-links: 8.0.0 @@ -30144,46 +34109,33 @@ snapshots: - encoding - supports-color - '@storybook/addon-docs@8.6.14(@types/react@18.2.0)(storybook@8.6.18(prettier@3.5.3))': - dependencies: - '@mdx-js/react': 3.1.1(@types/react@18.2.0)(react@19.1.0) - '@storybook/blocks': 8.6.14(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@8.6.18(prettier@3.5.3)) - '@storybook/csf-plugin': 8.6.14(storybook@8.6.18(prettier@3.5.3)) - '@storybook/react-dom-shim': 8.6.14(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@8.6.18(prettier@3.5.3)) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) - storybook: 8.6.18(prettier@3.5.3) - ts-dedent: 2.2.0 - transitivePeerDependencies: - - '@types/react' - - '@storybook/addon-docs@8.6.18(@types/react@18.2.0)(storybook@8.6.18(prettier@3.5.3))': + '@storybook/addon-docs@8.6.14(@types/react@18.2.0)(storybook@8.6.14(prettier@3.5.3))': dependencies: '@mdx-js/react': 3.1.1(@types/react@18.2.0)(react@19.1.0) - '@storybook/blocks': 8.6.18(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@8.6.18(prettier@3.5.3)) - '@storybook/csf-plugin': 8.6.18(storybook@8.6.18(prettier@3.5.3)) - '@storybook/react-dom-shim': 8.6.18(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@8.6.18(prettier@3.5.3)) + '@storybook/blocks': 8.6.14(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@8.6.14(prettier@3.5.3)) + '@storybook/csf-plugin': 8.6.14(storybook@8.6.14(prettier@3.5.3)) + '@storybook/react-dom-shim': 8.6.14(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@8.6.14(prettier@3.5.3)) react: 19.1.0 react-dom: 19.1.0(react@19.1.0) - storybook: 8.6.18(prettier@3.5.3) + storybook: 8.6.14(prettier@3.5.3) ts-dedent: 2.2.0 transitivePeerDependencies: - '@types/react' - '@storybook/addon-essentials@6.5.16(@babel/core@7.27.7)(@storybook/builder-webpack5@6.5.16(@swc/core@1.15.18(@swc/helpers@0.5.19))(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(@swc/core@1.15.18(@swc/helpers@0.5.19))(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)(webpack@5.105.4)': + '@storybook/addon-essentials@6.5.16(@babel/core@7.27.1)(@storybook/builder-webpack5@6.5.16(@swc/core@1.15.18(@swc/helpers@0.5.19))(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)(webpack@5.104.1)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 '@storybook/addon-actions': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/addon-backgrounds': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/addon-controls': 6.5.16(@swc/core@1.15.18(@swc/helpers@0.5.19))(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) - '@storybook/addon-docs': 6.5.16(@babel/core@7.27.7)(@swc/core@1.15.18(@swc/helpers@0.5.19))(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)(webpack@5.105.4) + '@storybook/addon-controls': 6.5.16(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) + '@storybook/addon-docs': 6.5.16(@babel/core@7.27.1)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)(webpack@5.104.1) '@storybook/addon-measure': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/addon-outline': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/addon-toolbars': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/addon-viewport': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/api': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/core-common': 6.5.16(@swc/core@1.15.18(@swc/helpers@0.5.19))(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) + '@storybook/core-common': 6.5.16(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) '@storybook/node-logger': 6.5.16 core-js: 3.48.0 regenerator-runtime: 0.13.11 @@ -30192,67 +34144,63 @@ snapshots: '@storybook/builder-webpack5': 6.5.16(@swc/core@1.15.18(@swc/helpers@0.5.19))(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) + webpack: 5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) transitivePeerDependencies: - '@storybook/mdx2-csf' - - '@swc/core' - - esbuild - eslint - supports-color - typescript - - uglify-js - vue-template-compiler - webpack-cli - - '@storybook/addon-essentials@6.5.16(@babel/core@7.27.7)(@storybook/builder-webpack5@6.5.16(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0))(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)(webpack@5.105.4)': - dependencies: - '@babel/core': 7.27.7 - '@storybook/addon-actions': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/addon-backgrounds': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/addon-controls': 6.5.16(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) - '@storybook/addon-docs': 6.5.16(@babel/core@7.27.7)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)(webpack@5.105.4) - '@storybook/addon-measure': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/addon-outline': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/addon-toolbars': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/addon-viewport': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/api': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/core-common': 6.5.16(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) - '@storybook/node-logger': 6.5.16 + - webpack-command + + '@storybook/addon-essentials@6.5.9(@babel/core@7.27.1)(@storybook/builder-webpack5@6.5.9(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0))(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)(webpack@5.104.1)': + dependencies: + '@babel/core': 7.27.1 + '@storybook/addon-actions': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/addon-backgrounds': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/addon-controls': 6.5.9(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) + '@storybook/addon-docs': 6.5.9(@babel/core@7.27.1)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)(webpack@5.104.1) + '@storybook/addon-measure': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/addon-outline': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/addon-toolbars': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/addon-viewport': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/addons': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/api': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/core-common': 6.5.9(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) + '@storybook/node-logger': 6.5.9 core-js: 3.48.0 regenerator-runtime: 0.13.11 ts-dedent: 2.2.0 optionalDependencies: - '@storybook/builder-webpack5': 6.5.16(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) + '@storybook/builder-webpack5': 6.5.9(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - webpack: 5.105.4(webpack-cli@4.10.0) + webpack: 5.104.1(webpack-cli@4.10.0) transitivePeerDependencies: - '@storybook/mdx2-csf' - - '@swc/core' - - esbuild - eslint - supports-color - typescript - - uglify-js - vue-template-compiler - webpack-cli - - '@storybook/addon-essentials@7.4.6(@types/react-dom@18.2.0)(@types/react@18.2.0)(encoding@0.1.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': - dependencies: - '@storybook/addon-actions': 7.4.6(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/addon-backgrounds': 7.4.6(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/addon-controls': 7.4.6(@types/react-dom@18.2.0)(@types/react@18.2.0)(encoding@0.1.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/addon-docs': 7.4.6(@types/react-dom@18.2.0)(@types/react@18.2.0)(encoding@0.1.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/addon-highlight': 7.4.6 - '@storybook/addon-measure': 7.4.6(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/addon-outline': 7.4.6(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/addon-toolbars': 7.4.6(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/addon-viewport': 7.4.6(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/core-common': 7.4.6(encoding@0.1.13) - '@storybook/manager-api': 7.4.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/node-logger': 7.4.6 - '@storybook/preview-api': 7.4.6 + - webpack-command + + '@storybook/addon-essentials@7.4.0(@types/react-dom@18.2.0)(@types/react@18.2.0)(encoding@0.1.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@storybook/addon-actions': 7.4.0(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/addon-backgrounds': 7.4.0(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/addon-controls': 7.4.0(@types/react-dom@18.2.0)(@types/react@18.2.0)(encoding@0.1.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/addon-docs': 7.4.0(@types/react-dom@18.2.0)(@types/react@18.2.0)(encoding@0.1.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/addon-highlight': 7.4.0 + '@storybook/addon-measure': 7.4.0(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/addon-outline': 7.4.0(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/addon-toolbars': 7.4.0(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/addon-viewport': 7.4.0(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/core-common': 7.4.0(encoding@0.1.13) + '@storybook/manager-api': 7.4.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/node-logger': 7.4.0 + '@storybook/preview-api': 7.4.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) ts-dedent: 2.2.0 @@ -30262,21 +34210,21 @@ snapshots: - encoding - supports-color - '@storybook/addon-essentials@7.4.6(@types/react-dom@18.2.0)(@types/react@18.2.0)(encoding@0.1.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': - dependencies: - '@storybook/addon-actions': 7.4.6(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@storybook/addon-backgrounds': 7.4.6(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@storybook/addon-controls': 7.4.6(@types/react-dom@18.2.0)(@types/react@18.2.0)(encoding@0.1.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@storybook/addon-docs': 7.4.6(@types/react-dom@18.2.0)(@types/react@18.2.0)(encoding@0.1.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@storybook/addon-highlight': 7.4.6 - '@storybook/addon-measure': 7.4.6(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@storybook/addon-outline': 7.4.6(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@storybook/addon-toolbars': 7.4.6(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@storybook/addon-viewport': 7.4.6(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@storybook/core-common': 7.4.6(encoding@0.1.13) - '@storybook/manager-api': 7.4.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@storybook/node-logger': 7.4.6 - '@storybook/preview-api': 7.4.6 + '@storybook/addon-essentials@7.4.0(@types/react-dom@18.2.0)(@types/react@18.2.0)(encoding@0.1.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@storybook/addon-actions': 7.4.0(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/addon-backgrounds': 7.4.0(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/addon-controls': 7.4.0(@types/react-dom@18.2.0)(@types/react@18.2.0)(encoding@0.1.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/addon-docs': 7.4.0(@types/react-dom@18.2.0)(@types/react@18.2.0)(encoding@0.1.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/addon-highlight': 7.4.0 + '@storybook/addon-measure': 7.4.0(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/addon-outline': 7.4.0(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/addon-toolbars': 7.4.0(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/addon-viewport': 7.4.0(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/core-common': 7.4.0(encoding@0.1.13) + '@storybook/manager-api': 7.4.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/node-logger': 7.4.0 + '@storybook/preview-api': 7.4.0 react: 19.1.0 react-dom: 19.1.0(react@19.1.0) ts-dedent: 2.2.0 @@ -30286,40 +34234,40 @@ snapshots: - encoding - supports-color - '@storybook/addon-essentials@8.6.14(@types/react@18.2.0)(storybook@8.6.18(prettier@3.5.3))': + '@storybook/addon-essentials@8.6.14(@types/react@18.2.0)(storybook@8.6.14(prettier@3.5.3))': dependencies: - '@storybook/addon-actions': 8.6.14(storybook@8.6.18(prettier@3.5.3)) - '@storybook/addon-backgrounds': 8.6.14(storybook@8.6.18(prettier@3.5.3)) - '@storybook/addon-controls': 8.6.14(storybook@8.6.18(prettier@3.5.3)) - '@storybook/addon-docs': 8.6.14(@types/react@18.2.0)(storybook@8.6.18(prettier@3.5.3)) - '@storybook/addon-highlight': 8.6.14(storybook@8.6.18(prettier@3.5.3)) - '@storybook/addon-measure': 8.6.14(storybook@8.6.18(prettier@3.5.3)) - '@storybook/addon-outline': 8.6.14(storybook@8.6.18(prettier@3.5.3)) - '@storybook/addon-toolbars': 8.6.14(storybook@8.6.18(prettier@3.5.3)) - '@storybook/addon-viewport': 8.6.14(storybook@8.6.18(prettier@3.5.3)) - storybook: 8.6.18(prettier@3.5.3) + '@storybook/addon-actions': 8.6.14(storybook@8.6.14(prettier@3.5.3)) + '@storybook/addon-backgrounds': 8.6.14(storybook@8.6.14(prettier@3.5.3)) + '@storybook/addon-controls': 8.6.14(storybook@8.6.14(prettier@3.5.3)) + '@storybook/addon-docs': 8.6.14(@types/react@18.2.0)(storybook@8.6.14(prettier@3.5.3)) + '@storybook/addon-highlight': 8.6.14(storybook@8.6.14(prettier@3.5.3)) + '@storybook/addon-measure': 8.6.14(storybook@8.6.14(prettier@3.5.3)) + '@storybook/addon-outline': 8.6.14(storybook@8.6.14(prettier@3.5.3)) + '@storybook/addon-toolbars': 8.6.14(storybook@8.6.14(prettier@3.5.3)) + '@storybook/addon-viewport': 8.6.14(storybook@8.6.14(prettier@3.5.3)) + storybook: 8.6.14(prettier@3.5.3) ts-dedent: 2.2.0 transitivePeerDependencies: - '@types/react' - '@storybook/addon-highlight@7.4.6': + '@storybook/addon-highlight@7.4.0': dependencies: - '@storybook/core-events': 7.4.6 + '@storybook/core-events': 7.4.0 '@storybook/global': 5.0.0 - '@storybook/preview-api': 7.4.6 + '@storybook/preview-api': 7.4.0 - '@storybook/addon-highlight@8.6.14(storybook@8.6.18(prettier@3.5.3))': + '@storybook/addon-highlight@8.6.14(storybook@8.6.14(prettier@3.5.3))': dependencies: '@storybook/global': 5.0.0 - storybook: 8.6.18(prettier@3.5.3) + storybook: 8.6.14(prettier@3.5.3) - '@storybook/addon-interactions@8.6.14(storybook@8.6.18(prettier@3.5.3))': + '@storybook/addon-interactions@8.6.14(storybook@8.6.14(prettier@3.5.3))': dependencies: '@storybook/global': 5.0.0 - '@storybook/instrumenter': 8.6.14(storybook@8.6.18(prettier@3.5.3)) - '@storybook/test': 8.6.14(storybook@8.6.18(prettier@3.5.3)) + '@storybook/instrumenter': 8.6.14(storybook@8.6.14(prettier@3.5.3)) + '@storybook/test': 8.6.14(storybook@8.6.14(prettier@3.5.3)) polished: 4.3.1 - storybook: 8.6.18(prettier@3.5.3) + storybook: 8.6.14(prettier@3.5.3) ts-dedent: 2.2.0 '@storybook/addon-links@6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': @@ -30340,26 +34288,44 @@ snapshots: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - '@storybook/addon-links@7.4.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@storybook/addon-links@6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@storybook/client-logger': 7.4.6 - '@storybook/core-events': 7.4.6 + '@storybook/addons': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/client-logger': 6.5.9 + '@storybook/core-events': 6.5.9 + '@storybook/csf': 0.0.2--canary.4566f4d.1 + '@storybook/router': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@types/qs': 6.15.0 + core-js: 3.48.0 + global: 4.4.0 + prop-types: 15.8.1 + qs: 6.14.2 + regenerator-runtime: 0.13.11 + ts-dedent: 2.2.0 + optionalDependencies: + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + + '@storybook/addon-links@7.4.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@storybook/client-logger': 7.4.0 + '@storybook/core-events': 7.4.0 '@storybook/csf': 0.1.13 '@storybook/global': 5.0.0 - '@storybook/manager-api': 7.4.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@storybook/preview-api': 7.4.6 - '@storybook/router': 7.4.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@storybook/types': 7.4.6 + '@storybook/manager-api': 7.4.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/preview-api': 7.4.0 + '@storybook/router': 7.4.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/types': 7.4.0 prop-types: 15.8.1 ts-dedent: 2.2.0 optionalDependencies: react: 19.1.0 react-dom: 19.1.0(react@19.1.0) - '@storybook/addon-links@8.6.18(react@18.2.0)(storybook@8.6.18(prettier@3.5.3))': + '@storybook/addon-links@8.6.14(react@18.2.0)(storybook@8.6.14(prettier@3.5.3))': dependencies: '@storybook/global': 5.0.0 - storybook: 8.6.18(prettier@3.5.3) + storybook: 8.6.14(prettier@3.5.3) ts-dedent: 2.2.0 optionalDependencies: react: 18.2.0 @@ -30378,15 +34344,29 @@ snapshots: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - '@storybook/addon-measure@7.4.6(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@storybook/addon-measure@6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@storybook/client-logger': 7.4.6 - '@storybook/components': 7.4.6(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/core-events': 7.4.6 + '@storybook/addons': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/api': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/client-logger': 6.5.9 + '@storybook/components': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/core-events': 6.5.9 + '@storybook/csf': 0.0.2--canary.4566f4d.1 + core-js: 3.48.0 + global: 4.4.0 + optionalDependencies: + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + + '@storybook/addon-measure@7.4.0(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@storybook/client-logger': 7.4.0 + '@storybook/components': 7.4.0(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/core-events': 7.4.0 '@storybook/global': 5.0.0 - '@storybook/manager-api': 7.4.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/preview-api': 7.4.6 - '@storybook/types': 7.4.6 + '@storybook/manager-api': 7.4.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/preview-api': 7.4.0 + '@storybook/types': 7.4.0 tiny-invariant: 1.3.3 optionalDependencies: react: 18.2.0 @@ -30395,15 +34375,15 @@ snapshots: - '@types/react' - '@types/react-dom' - '@storybook/addon-measure@7.4.6(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@storybook/addon-measure@7.4.0(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@storybook/client-logger': 7.4.6 - '@storybook/components': 7.4.6(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@storybook/core-events': 7.4.6 + '@storybook/client-logger': 7.4.0 + '@storybook/components': 7.4.0(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/core-events': 7.4.0 '@storybook/global': 5.0.0 - '@storybook/manager-api': 7.4.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@storybook/preview-api': 7.4.6 - '@storybook/types': 7.4.6 + '@storybook/manager-api': 7.4.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/preview-api': 7.4.0 + '@storybook/types': 7.4.0 tiny-invariant: 1.3.3 optionalDependencies: react: 19.1.0 @@ -30412,15 +34392,15 @@ snapshots: - '@types/react' - '@types/react-dom' - '@storybook/addon-measure@8.6.14(storybook@8.6.18(prettier@3.5.3))': + '@storybook/addon-measure@8.6.14(storybook@8.6.14(prettier@3.5.3))': dependencies: '@storybook/global': 5.0.0 - storybook: 8.6.18(prettier@3.5.3) + storybook: 8.6.14(prettier@3.5.3) tiny-invariant: 1.3.3 - '@storybook/addon-onboarding@8.6.18(storybook@8.6.18(prettier@3.5.3))': + '@storybook/addon-onboarding@8.6.14(storybook@8.6.14(prettier@3.5.3))': dependencies: - storybook: 8.6.18(prettier@3.5.3) + storybook: 8.6.14(prettier@3.5.3) '@storybook/addon-outline@6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: @@ -30438,15 +34418,31 @@ snapshots: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - '@storybook/addon-outline@7.4.6(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@storybook/addon-outline@6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@storybook/client-logger': 7.4.6 - '@storybook/components': 7.4.6(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/core-events': 7.4.6 + '@storybook/addons': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/api': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/client-logger': 6.5.9 + '@storybook/components': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/core-events': 6.5.9 + '@storybook/csf': 0.0.2--canary.4566f4d.1 + core-js: 3.48.0 + global: 4.4.0 + regenerator-runtime: 0.13.11 + ts-dedent: 2.2.0 + optionalDependencies: + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + + '@storybook/addon-outline@7.4.0(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@storybook/client-logger': 7.4.0 + '@storybook/components': 7.4.0(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/core-events': 7.4.0 '@storybook/global': 5.0.0 - '@storybook/manager-api': 7.4.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/preview-api': 7.4.6 - '@storybook/types': 7.4.6 + '@storybook/manager-api': 7.4.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/preview-api': 7.4.0 + '@storybook/types': 7.4.0 ts-dedent: 2.2.0 optionalDependencies: react: 18.2.0 @@ -30455,15 +34451,15 @@ snapshots: - '@types/react' - '@types/react-dom' - '@storybook/addon-outline@7.4.6(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@storybook/addon-outline@7.4.0(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@storybook/client-logger': 7.4.6 - '@storybook/components': 7.4.6(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@storybook/core-events': 7.4.6 + '@storybook/client-logger': 7.4.0 + '@storybook/components': 7.4.0(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/core-events': 7.4.0 '@storybook/global': 5.0.0 - '@storybook/manager-api': 7.4.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@storybook/preview-api': 7.4.6 - '@storybook/types': 7.4.6 + '@storybook/manager-api': 7.4.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/preview-api': 7.4.0 + '@storybook/types': 7.4.0 ts-dedent: 2.2.0 optionalDependencies: react: 19.1.0 @@ -30472,10 +34468,10 @@ snapshots: - '@types/react' - '@types/react-dom' - '@storybook/addon-outline@8.6.14(storybook@8.6.18(prettier@3.5.3))': + '@storybook/addon-outline@8.6.14(storybook@8.6.14(prettier@3.5.3))': dependencies: '@storybook/global': 5.0.0 - storybook: 8.6.18(prettier@3.5.3) + storybook: 8.6.14(prettier@3.5.3) ts-dedent: 2.2.0 '@storybook/addon-toolbars@6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': @@ -30491,13 +34487,26 @@ snapshots: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - '@storybook/addon-toolbars@7.4.6(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@storybook/addon-toolbars@6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@storybook/client-logger': 7.4.6 - '@storybook/components': 7.4.6(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/manager-api': 7.4.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/preview-api': 7.4.6 - '@storybook/theming': 7.4.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/addons': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/api': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/client-logger': 6.5.9 + '@storybook/components': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/theming': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + core-js: 3.48.0 + regenerator-runtime: 0.13.11 + optionalDependencies: + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + + '@storybook/addon-toolbars@7.4.0(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@storybook/client-logger': 7.4.0 + '@storybook/components': 7.4.0(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/manager-api': 7.4.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/preview-api': 7.4.0 + '@storybook/theming': 7.4.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) optionalDependencies: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -30505,13 +34514,13 @@ snapshots: - '@types/react' - '@types/react-dom' - '@storybook/addon-toolbars@7.4.6(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@storybook/addon-toolbars@7.4.0(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@storybook/client-logger': 7.4.6 - '@storybook/components': 7.4.6(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@storybook/manager-api': 7.4.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@storybook/preview-api': 7.4.6 - '@storybook/theming': 7.4.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/client-logger': 7.4.0 + '@storybook/components': 7.4.0(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/manager-api': 7.4.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/preview-api': 7.4.0 + '@storybook/theming': 7.4.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) optionalDependencies: react: 19.1.0 react-dom: 19.1.0(react@19.1.0) @@ -30519,9 +34528,9 @@ snapshots: - '@types/react' - '@types/react-dom' - '@storybook/addon-toolbars@8.6.14(storybook@8.6.18(prettier@3.5.3))': + '@storybook/addon-toolbars@8.6.14(storybook@8.6.14(prettier@3.5.3))': dependencies: - storybook: 8.6.18(prettier@3.5.3) + storybook: 8.6.14(prettier@3.5.3) '@storybook/addon-viewport@6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: @@ -30540,15 +34549,32 @@ snapshots: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - '@storybook/addon-viewport@7.4.6(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@storybook/addon-viewport@6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@storybook/client-logger': 7.4.6 - '@storybook/components': 7.4.6(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/core-events': 7.4.6 + '@storybook/addons': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/api': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/client-logger': 6.5.9 + '@storybook/components': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/core-events': 6.5.9 + '@storybook/theming': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + core-js: 3.48.0 + global: 4.4.0 + memoizerific: 1.11.3 + prop-types: 15.8.1 + regenerator-runtime: 0.13.11 + optionalDependencies: + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + + '@storybook/addon-viewport@7.4.0(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@storybook/client-logger': 7.4.0 + '@storybook/components': 7.4.0(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/core-events': 7.4.0 '@storybook/global': 5.0.0 - '@storybook/manager-api': 7.4.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/preview-api': 7.4.6 - '@storybook/theming': 7.4.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/manager-api': 7.4.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/preview-api': 7.4.0 + '@storybook/theming': 7.4.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) memoizerific: 1.11.3 prop-types: 15.8.1 optionalDependencies: @@ -30558,15 +34584,15 @@ snapshots: - '@types/react' - '@types/react-dom' - '@storybook/addon-viewport@7.4.6(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@storybook/addon-viewport@7.4.0(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@storybook/client-logger': 7.4.6 - '@storybook/components': 7.4.6(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@storybook/core-events': 7.4.6 + '@storybook/client-logger': 7.4.0 + '@storybook/components': 7.4.0(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/core-events': 7.4.0 '@storybook/global': 5.0.0 - '@storybook/manager-api': 7.4.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@storybook/preview-api': 7.4.6 - '@storybook/theming': 7.4.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/manager-api': 7.4.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/preview-api': 7.4.0 + '@storybook/theming': 7.4.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) memoizerific: 1.11.3 prop-types: 15.8.1 optionalDependencies: @@ -30576,44 +34602,44 @@ snapshots: - '@types/react' - '@types/react-dom' - '@storybook/addon-viewport@8.6.14(storybook@8.6.18(prettier@3.5.3))': + '@storybook/addon-viewport@8.6.14(storybook@8.6.14(prettier@3.5.3))': dependencies: memoizerific: 1.11.3 - storybook: 8.6.18(prettier@3.5.3) + storybook: 8.6.14(prettier@3.5.3) - '@storybook/addons@6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@storybook/addons@6.3.7(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@storybook/api': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/channels': 6.5.16 - '@storybook/client-logger': 6.5.16 - '@storybook/core-events': 6.5.16 - '@storybook/csf': 0.0.2--canary.4566f4d.1 - '@storybook/router': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/theming': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@types/webpack-env': 1.18.8 + '@storybook/api': 6.3.7(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/channels': 6.3.7 + '@storybook/client-logger': 6.3.7 + '@storybook/core-events': 6.3.7 + '@storybook/router': 6.3.7(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/theming': 6.3.7(react-dom@18.2.0(react@18.2.0))(react@18.2.0) core-js: 3.48.0 global: 4.4.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) regenerator-runtime: 0.13.11 + transitivePeerDependencies: + - supports-color - '@storybook/addons@6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@storybook/addons@6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@storybook/api': 6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/api': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/channels': 6.5.16 '@storybook/client-logger': 6.5.16 '@storybook/core-events': 6.5.16 '@storybook/csf': 0.0.2--canary.4566f4d.1 - '@storybook/router': 6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@storybook/theming': 6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/router': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/theming': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@types/webpack-env': 1.18.8 core-js: 3.48.0 global: 4.4.0 - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) regenerator-runtime: 0.13.11 - '@storybook/addons@7.4.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@storybook/addons@6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@storybook/manager-api': 7.4.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/preview-api': 7.4.6 @@ -30629,6 +34655,49 @@ snapshots: react: 19.1.0 react-dom: 19.1.0(react@19.1.0) + '@storybook/addons@6.5.9(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@storybook/api': 6.5.9(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/channels': 6.5.9 + '@storybook/client-logger': 6.5.9 + '@storybook/core-events': 6.5.9 + '@storybook/csf': 0.0.2--canary.4566f4d.1 + '@storybook/router': 6.5.9(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/theming': 6.5.9(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@types/webpack-env': 1.18.8 + core-js: 3.48.0 + global: 4.4.0 + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + regenerator-runtime: 0.13.11 + + '@storybook/api@6.3.7(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@reach/router': 1.3.4(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/channels': 6.3.7 + '@storybook/client-logger': 6.3.7 + '@storybook/core-events': 6.3.7 + '@storybook/csf': 0.0.1 + '@storybook/router': 6.3.7(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/semver': 7.3.2 + '@storybook/theming': 6.3.7(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@types/reach__router': 1.3.15 + core-js: 3.48.0 + fast-deep-equal: 3.1.3 + global: 4.4.0 + lodash: 4.17.23 + memoizerific: 1.11.3 + qs: 6.14.2 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + regenerator-runtime: 0.13.11 + store2: 2.14.4 + telejson: 5.3.3 + ts-dedent: 2.2.0 + util-deprecate: 1.0.2 + transitivePeerDependencies: + - supports-color + '@storybook/api@6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@storybook/channels': 6.5.16 @@ -30651,15 +34720,37 @@ snapshots: ts-dedent: 2.2.0 util-deprecate: 1.0.2 - '@storybook/api@6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@storybook/api@6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@storybook/channels': 6.5.16 - '@storybook/client-logger': 6.5.16 - '@storybook/core-events': 6.5.16 + '@storybook/channels': 6.5.9 + '@storybook/client-logger': 6.5.9 + '@storybook/core-events': 6.5.9 + '@storybook/csf': 0.0.2--canary.4566f4d.1 + '@storybook/router': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/semver': 7.3.2 + '@storybook/theming': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + core-js: 3.48.0 + fast-deep-equal: 3.1.3 + global: 4.4.0 + lodash: 4.17.23 + memoizerific: 1.11.3 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + regenerator-runtime: 0.13.11 + store2: 2.14.4 + telejson: 6.0.8 + ts-dedent: 2.2.0 + util-deprecate: 1.0.2 + + '@storybook/api@6.5.9(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@storybook/channels': 6.5.9 + '@storybook/client-logger': 6.5.9 + '@storybook/core-events': 6.5.9 '@storybook/csf': 0.0.2--canary.4566f4d.1 - '@storybook/router': 6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/router': 6.5.9(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@storybook/semver': 7.3.2 - '@storybook/theming': 6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/theming': 6.5.9(react-dom@19.1.0(react@19.1.0))(react@19.1.0) core-js: 3.48.0 fast-deep-equal: 3.1.3 global: 4.4.0 @@ -30673,19 +34764,19 @@ snapshots: ts-dedent: 2.2.0 util-deprecate: 1.0.2 - '@storybook/blocks@7.4.6(@types/react-dom@18.2.0)(@types/react@18.2.0)(encoding@0.1.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@storybook/blocks@7.4.0(@types/react-dom@18.2.0)(@types/react@18.2.0)(encoding@0.1.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@storybook/channels': 7.4.6 - '@storybook/client-logger': 7.4.6 - '@storybook/components': 7.4.6(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/core-events': 7.4.6 + '@storybook/channels': 7.4.0 + '@storybook/client-logger': 7.4.0 + '@storybook/components': 7.4.0(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/core-events': 7.4.0 '@storybook/csf': 0.1.13 - '@storybook/docs-tools': 7.4.6(encoding@0.1.13) + '@storybook/docs-tools': 7.4.0(encoding@0.1.13) '@storybook/global': 5.0.0 - '@storybook/manager-api': 7.4.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/preview-api': 7.4.6 - '@storybook/theming': 7.4.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/types': 7.4.6 + '@storybook/manager-api': 7.4.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/preview-api': 7.4.0 + '@storybook/theming': 7.4.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/types': 7.4.0 '@types/lodash': 4.17.17 color-convert: 2.0.1 dequal: 2.0.3 @@ -30706,19 +34797,19 @@ snapshots: - encoding - supports-color - '@storybook/blocks@7.4.6(@types/react-dom@18.2.0)(@types/react@18.2.0)(encoding@0.1.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@storybook/blocks@7.4.0(@types/react-dom@18.2.0)(@types/react@18.2.0)(encoding@0.1.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@storybook/channels': 7.4.6 - '@storybook/client-logger': 7.4.6 - '@storybook/components': 7.4.6(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@storybook/core-events': 7.4.6 + '@storybook/channels': 7.4.0 + '@storybook/client-logger': 7.4.0 + '@storybook/components': 7.4.0(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/core-events': 7.4.0 '@storybook/csf': 0.1.13 - '@storybook/docs-tools': 7.4.6(encoding@0.1.13) + '@storybook/docs-tools': 7.4.0(encoding@0.1.13) '@storybook/global': 5.0.0 - '@storybook/manager-api': 7.4.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@storybook/preview-api': 7.4.6 - '@storybook/theming': 7.4.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@storybook/types': 7.4.6 + '@storybook/manager-api': 7.4.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/preview-api': 7.4.0 + '@storybook/theming': 7.4.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/types': 7.4.0 '@types/lodash': 4.17.17 color-convert: 2.0.1 dequal: 2.0.3 @@ -30739,128 +34830,141 @@ snapshots: - encoding - supports-color - '@storybook/blocks@8.6.14(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.18(prettier@3.5.3))': + '@storybook/blocks@8.6.14(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.14(prettier@3.5.3))': dependencies: '@storybook/icons': 1.6.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - storybook: 8.6.18(prettier@3.5.3) + storybook: 8.6.14(prettier@3.5.3) ts-dedent: 2.2.0 optionalDependencies: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - '@storybook/blocks@8.6.14(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@8.6.18(prettier@3.5.3))': - dependencies: - '@storybook/icons': 1.6.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - storybook: 8.6.18(prettier@3.5.3) - ts-dedent: 2.2.0 - optionalDependencies: - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) - - '@storybook/blocks@8.6.18(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@8.6.18(prettier@3.5.3))': + '@storybook/blocks@8.6.14(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@8.6.14(prettier@3.5.3))': dependencies: '@storybook/icons': 1.6.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - storybook: 8.6.18(prettier@3.5.3) + storybook: 8.6.14(prettier@3.5.3) ts-dedent: 2.2.0 optionalDependencies: react: 19.1.0 react-dom: 19.1.0(react@19.1.0) - '@storybook/builder-manager@7.6.24(encoding@0.1.13)': + '@storybook/builder-manager@7.6.10(encoding@0.1.13)': dependencies: '@fal-works/esbuild-plugin-global-externals': 2.1.2 - '@storybook/core-common': 7.6.24(encoding@0.1.13) - '@storybook/manager': 7.6.24 - '@storybook/node-logger': 7.6.24 + '@storybook/core-common': 7.6.10(encoding@0.1.13) + '@storybook/manager': 7.6.10 + '@storybook/node-logger': 7.6.10 '@types/ejs': 3.1.5 '@types/find-cache-dir': 3.2.1 - '@yarnpkg/esbuild-plugin-pnp': 3.0.0-rc.15(esbuild@0.25.12) + '@yarnpkg/esbuild-plugin-pnp': 3.0.0-rc.15(esbuild@0.18.20) browser-assert: 1.2.1 ejs: 3.1.10 - esbuild: 0.25.12 + esbuild: 0.18.20 esbuild-plugin-alias: 0.2.1 express: 4.22.1 find-cache-dir: 3.3.2 - fs-extra: 11.3.4 + fs-extra: 11.3.0 process: 0.11.10 util: 0.12.5 transitivePeerDependencies: - encoding - supports-color - '@storybook/builder-vite@8.6.18(storybook@8.6.18(prettier@3.5.3))(vite@6.4.1(@types/node@22.15.35)(jiti@2.6.1)(sass@1.98.0)(terser@5.46.0)(yaml@2.8.2))': + '@storybook/builder-vite@8.6.14(storybook@8.6.14(prettier@3.5.3))(vite@6.0.7(@types/node@22.15.24)(jiti@2.6.1)(sass@1.89.0)(terser@5.46.0)(yaml@2.8.0))': dependencies: - '@storybook/csf-plugin': 8.6.18(storybook@8.6.18(prettier@3.5.3)) + '@storybook/csf-plugin': 8.6.14(storybook@8.6.14(prettier@3.5.3)) browser-assert: 1.2.1 - storybook: 8.6.18(prettier@3.5.3) + storybook: 8.6.14(prettier@3.5.3) ts-dedent: 2.2.0 - vite: 6.4.1(@types/node@22.15.35)(jiti@2.6.1)(sass@1.98.0)(terser@5.46.0)(yaml@2.8.2) - - '@storybook/builder-webpack4@6.5.16(@swc/core@1.15.18(@swc/helpers@0.5.19))(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)': - dependencies: - '@babel/core': 7.27.7 - '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/api': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/channel-postmessage': 6.5.16 - '@storybook/channels': 6.5.16 - '@storybook/client-api': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/client-logger': 6.5.16 - '@storybook/components': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/core-common': 6.5.16(@swc/core@1.15.18(@swc/helpers@0.5.19))(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) - '@storybook/core-events': 6.5.16 - '@storybook/node-logger': 6.5.16 - '@storybook/preview-web': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/router': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + vite: 6.0.7(@types/node@22.15.24)(jiti@2.6.1)(sass@1.89.0)(terser@5.46.0)(yaml@2.8.0) + + '@storybook/builder-webpack4@6.3.7(@types/react@18.2.0)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)': + dependencies: + '@babel/core': 7.27.1 + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.27.1) + '@babel/plugin-proposal-decorators': 7.29.0(@babel/core@7.27.1) + '@babel/plugin-proposal-export-default-from': 7.27.1(@babel/core@7.27.1) + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.27.1) + '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.27.1) + '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.27.1) + '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.27.1) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.27.1) + '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.27.1) + '@babel/plugin-transform-block-scoping': 7.28.6(@babel/core@7.27.1) + '@babel/plugin-transform-classes': 7.28.6(@babel/core@7.27.1) + '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.27.1) + '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.27.1) + '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.27.1) + '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.27.1) + '@babel/plugin-transform-spread': 7.28.6(@babel/core@7.27.1) + '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.27.1) + '@babel/preset-env': 7.27.2(@babel/core@7.27.1) + '@babel/preset-react': 7.27.1(@babel/core@7.27.1) + '@babel/preset-typescript': 7.27.1(@babel/core@7.27.1) + '@storybook/addons': 6.3.7(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/api': 6.3.7(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/channel-postmessage': 6.3.7 + '@storybook/channels': 6.3.7 + '@storybook/client-api': 6.3.7(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/client-logger': 6.3.7 + '@storybook/components': 6.3.7(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/core-common': 6.3.7(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) + '@storybook/core-events': 6.3.7 + '@storybook/node-logger': 6.3.7 + '@storybook/router': 6.3.7(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/semver': 7.3.2 - '@storybook/store': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/theming': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/ui': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@types/node': 16.18.126 + '@storybook/theming': 6.3.7(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/ui': 6.3.7(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@types/node': 14.18.63 '@types/webpack': 4.41.40 autoprefixer: 9.8.8 - babel-loader: 8.4.1(@babel/core@7.27.7)(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))) + babel-loader: 8.4.1(@babel/core@7.27.1)(webpack@4.47.0) + babel-plugin-macros: 2.8.0 + babel-plugin-polyfill-corejs3: 0.1.7(@babel/core@7.27.1) case-sensitive-paths-webpack-plugin: 2.4.0 core-js: 3.48.0 - css-loader: 3.6.0(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))) - file-loader: 6.2.0(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))) + css-loader: 3.6.0(webpack@4.47.0) + dotenv-webpack: 1.8.0(webpack@4.47.0) + file-loader: 6.2.0(webpack@4.47.0) find-up: 5.0.0 fork-ts-checker-webpack-plugin: 4.1.6 + fs-extra: 9.1.0 glob: 7.2.3 glob-promise: 3.4.0(glob@7.2.3) global: 4.4.0 - html-webpack-plugin: 4.5.2(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))) + html-webpack-plugin: 4.5.2(webpack@4.47.0) pnp-webpack-plugin: 1.6.4(typescript@5.8.3) postcss: 7.0.39 postcss-flexbugs-fixes: 4.2.1 - postcss-loader: 4.3.0(postcss@7.0.39)(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))) - raw-loader: 4.0.2(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))) + postcss-loader: 4.3.0(postcss@7.0.39)(webpack@4.47.0) + raw-loader: 4.0.2(webpack@4.47.0) react: 18.2.0 + react-dev-utils: 11.0.4 react-dom: 18.2.0(react@18.2.0) stable: 0.1.8 - style-loader: 1.3.0(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))) - terser-webpack-plugin: 4.2.3(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))) + style-loader: 1.3.0(webpack@4.47.0) + terser-webpack-plugin: 4.2.3(webpack@4.47.0) ts-dedent: 2.2.0 - url-loader: 4.1.1(file-loader@6.2.0(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))))(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))) + url-loader: 4.1.1(file-loader@6.2.0(webpack@4.47.0))(webpack@4.47.0) util-deprecate: 1.0.2 - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19)) - webpack-dev-middleware: 3.7.3(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))) - webpack-filter-warnings-plugin: 1.2.1(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))) + webpack: 4.47.0 + webpack-dev-middleware: 3.7.3(webpack@4.47.0) + webpack-filter-warnings-plugin: 1.2.1(webpack@4.47.0) webpack-hot-middleware: 2.26.1 webpack-virtual-modules: 0.2.2 optionalDependencies: typescript: 5.8.3 transitivePeerDependencies: - - '@swc/core' - - esbuild + - '@types/react' - eslint - supports-color - - uglify-js - vue-template-compiler - webpack-cli + - webpack-command - '@storybook/builder-webpack4@6.5.16(@swc/core@1.15.18(@swc/helpers@0.5.19))(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)': + '@storybook/builder-webpack4@6.5.16(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/api': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/channel-postmessage': 6.5.16 @@ -30868,7 +34972,7 @@ snapshots: '@storybook/client-api': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/client-logger': 6.5.16 '@storybook/components': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/core-common': 6.5.16(@swc/core@1.15.18(@swc/helpers@0.5.19))(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) + '@storybook/core-common': 6.5.16(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) '@storybook/core-events': 6.5.16 '@storybook/node-logger': 6.5.16 '@storybook/preview-web': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -30880,49 +34984,47 @@ snapshots: '@types/node': 16.18.126 '@types/webpack': 4.41.40 autoprefixer: 9.8.8 - babel-loader: 8.4.1(@babel/core@7.27.7)(webpack@5.105.4) + babel-loader: 8.4.1(@babel/core@7.27.1)(webpack@4.47.0) case-sensitive-paths-webpack-plugin: 2.4.0 core-js: 3.48.0 - css-loader: 3.6.0(webpack@5.105.4) - file-loader: 6.2.0(webpack@5.105.4) + css-loader: 3.6.0(webpack@4.47.0) + file-loader: 6.2.0(webpack@4.47.0) find-up: 5.0.0 fork-ts-checker-webpack-plugin: 4.1.6 glob: 7.2.3 glob-promise: 3.4.0(glob@7.2.3) global: 4.4.0 - html-webpack-plugin: 4.5.2(webpack@5.105.4) + html-webpack-plugin: 4.5.2(webpack@4.47.0) pnp-webpack-plugin: 1.6.4(typescript@5.8.3) postcss: 7.0.39 postcss-flexbugs-fixes: 4.2.1 - postcss-loader: 4.3.0(postcss@7.0.39)(webpack@5.105.4) - raw-loader: 4.0.2(webpack@5.105.4) + postcss-loader: 4.3.0(postcss@7.0.39)(webpack@4.47.0) + raw-loader: 4.0.2(webpack@4.47.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) stable: 0.1.8 - style-loader: 1.3.0(webpack@5.105.4) - terser-webpack-plugin: 4.2.3(webpack@5.105.4) + style-loader: 1.3.0(webpack@4.47.0) + terser-webpack-plugin: 4.2.3(webpack@4.47.0) ts-dedent: 2.2.0 - url-loader: 4.1.1(file-loader@6.2.0(webpack@5.105.4))(webpack@5.105.4) + url-loader: 4.1.1(file-loader@6.2.0(webpack@4.47.0))(webpack@4.47.0) util-deprecate: 1.0.2 - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) - webpack-dev-middleware: 3.7.3(webpack@5.105.4) - webpack-filter-warnings-plugin: 1.2.1(webpack@5.105.4) + webpack: 4.47.0 + webpack-dev-middleware: 3.7.3(webpack@4.47.0) + webpack-filter-warnings-plugin: 1.2.1(webpack@4.47.0) webpack-hot-middleware: 2.26.1 webpack-virtual-modules: 0.2.2 optionalDependencies: typescript: 5.8.3 transitivePeerDependencies: - - '@swc/core' - - esbuild - eslint - supports-color - - uglify-js - vue-template-compiler - webpack-cli + - webpack-command - '@storybook/builder-webpack4@6.5.16(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)': + '@storybook/builder-webpack4@6.5.16(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/api': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/channel-postmessage': 6.5.16 @@ -30930,7 +35032,7 @@ snapshots: '@storybook/client-api': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/client-logger': 6.5.16 '@storybook/components': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/core-common': 6.5.16(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) + '@storybook/core-common': 6.5.16(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) '@storybook/core-events': 6.5.16 '@storybook/node-logger': 6.5.16 '@storybook/preview-web': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -30942,173 +35044,167 @@ snapshots: '@types/node': 16.18.126 '@types/webpack': 4.41.40 autoprefixer: 9.8.8 - babel-loader: 8.4.1(@babel/core@7.27.7)(webpack@5.105.4) + babel-loader: 8.4.1(@babel/core@7.27.1)(webpack@4.47.0(webpack-cli@6.0.1)) case-sensitive-paths-webpack-plugin: 2.4.0 core-js: 3.48.0 - css-loader: 3.6.0(webpack@5.105.4) - file-loader: 6.2.0(webpack@5.105.4) + css-loader: 3.6.0(webpack@4.47.0(webpack-cli@6.0.1)) + file-loader: 6.2.0(webpack@4.47.0(webpack-cli@6.0.1)) find-up: 5.0.0 fork-ts-checker-webpack-plugin: 4.1.6 glob: 7.2.3 glob-promise: 3.4.0(glob@7.2.3) global: 4.4.0 - html-webpack-plugin: 4.5.2(webpack@5.105.4) + html-webpack-plugin: 4.5.2(webpack@4.47.0(webpack-cli@6.0.1)) pnp-webpack-plugin: 1.6.4(typescript@5.8.3) postcss: 7.0.39 postcss-flexbugs-fixes: 4.2.1 - postcss-loader: 4.3.0(postcss@7.0.39)(webpack@5.105.4) - raw-loader: 4.0.2(webpack@5.105.4) + postcss-loader: 4.3.0(postcss@7.0.39)(webpack@4.47.0(webpack-cli@6.0.1)) + raw-loader: 4.0.2(webpack@4.47.0(webpack-cli@6.0.1)) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) stable: 0.1.8 - style-loader: 1.3.0(webpack@5.105.4) - terser-webpack-plugin: 4.2.3(webpack@5.105.4) + style-loader: 1.3.0(webpack@4.47.0(webpack-cli@6.0.1)) + terser-webpack-plugin: 4.2.3(webpack@4.47.0(webpack-cli@6.0.1)) ts-dedent: 2.2.0 - url-loader: 4.1.1(file-loader@6.2.0(webpack@5.105.4))(webpack@5.105.4) + url-loader: 4.1.1(file-loader@6.2.0(webpack@5.104.1))(webpack@4.47.0(webpack-cli@6.0.1)) util-deprecate: 1.0.2 - webpack: 5.105.4(webpack-cli@5.1.4) - webpack-dev-middleware: 3.7.3(webpack@5.105.4) - webpack-filter-warnings-plugin: 1.2.1(webpack@5.105.4) + webpack: 4.47.0(webpack-cli@6.0.1) + webpack-dev-middleware: 3.7.3(webpack@4.47.0(webpack-cli@6.0.1)) + webpack-filter-warnings-plugin: 1.2.1(webpack@4.47.0(webpack-cli@6.0.1)) webpack-hot-middleware: 2.26.1 webpack-virtual-modules: 0.2.2 optionalDependencies: typescript: 5.8.3 transitivePeerDependencies: - - '@swc/core' - - esbuild - eslint - supports-color - - uglify-js - vue-template-compiler - webpack-cli - - '@storybook/builder-webpack4@6.5.16(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)': - dependencies: - '@babel/core': 7.27.7 - '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/api': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/channel-postmessage': 6.5.16 - '@storybook/channels': 6.5.16 - '@storybook/client-api': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/client-logger': 6.5.16 - '@storybook/components': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/core-common': 6.5.16(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) - '@storybook/core-events': 6.5.16 - '@storybook/node-logger': 6.5.16 - '@storybook/preview-web': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/router': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + - webpack-command + + '@storybook/builder-webpack4@6.5.9(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)': + dependencies: + '@babel/core': 7.27.1 + '@storybook/addons': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/api': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/channel-postmessage': 6.5.9 + '@storybook/channels': 6.5.9 + '@storybook/client-api': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/client-logger': 6.5.9 + '@storybook/components': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/core-common': 6.5.9(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) + '@storybook/core-events': 6.5.9 + '@storybook/node-logger': 6.5.9 + '@storybook/preview-web': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/router': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/semver': 7.3.2 - '@storybook/store': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/theming': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/ui': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/store': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/theming': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/ui': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@types/node': 16.18.126 '@types/webpack': 4.41.40 autoprefixer: 9.8.8 - babel-loader: 8.4.1(@babel/core@7.27.7)(webpack@5.105.4) + babel-loader: 8.4.1(@babel/core@7.27.1)(webpack@4.47.0(webpack-cli@4.10.0)) case-sensitive-paths-webpack-plugin: 2.4.0 core-js: 3.48.0 - css-loader: 3.6.0(webpack@5.105.4) - file-loader: 6.2.0(webpack@5.105.4) + css-loader: 3.6.0(webpack@4.47.0(webpack-cli@4.10.0)) + file-loader: 6.2.0(webpack@4.47.0(webpack-cli@4.10.0)) find-up: 5.0.0 fork-ts-checker-webpack-plugin: 4.1.6 glob: 7.2.3 glob-promise: 3.4.0(glob@7.2.3) global: 4.4.0 - html-webpack-plugin: 4.5.2(webpack@5.105.4) + html-webpack-plugin: 4.5.2(webpack@4.47.0(webpack-cli@4.10.0)) pnp-webpack-plugin: 1.6.4(typescript@5.8.3) postcss: 7.0.39 postcss-flexbugs-fixes: 4.2.1 - postcss-loader: 4.3.0(postcss@7.0.39)(webpack@5.105.4) - raw-loader: 4.0.2(webpack@5.105.4) + postcss-loader: 4.3.0(postcss@7.0.39)(webpack@4.47.0(webpack-cli@4.10.0)) + raw-loader: 4.0.2(webpack@4.47.0(webpack-cli@4.10.0)) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) stable: 0.1.8 - style-loader: 1.3.0(webpack@5.105.4) - terser-webpack-plugin: 4.2.3(webpack@5.105.4) + style-loader: 1.3.0(webpack@4.47.0(webpack-cli@4.10.0)) + terser-webpack-plugin: 4.2.3(webpack@4.47.0(webpack-cli@4.10.0)) ts-dedent: 2.2.0 - url-loader: 4.1.1(file-loader@6.2.0(webpack@5.105.4))(webpack@5.105.4) + url-loader: 4.1.1(file-loader@6.2.0(webpack@4.47.0(webpack-cli@4.10.0)))(webpack@4.47.0(webpack-cli@4.10.0)) util-deprecate: 1.0.2 - webpack: 5.105.4(webpack-cli@4.10.0) - webpack-dev-middleware: 3.7.3(webpack@5.105.4) - webpack-filter-warnings-plugin: 1.2.1(webpack@5.105.4) + webpack: 4.47.0(webpack-cli@4.10.0) + webpack-dev-middleware: 3.7.3(webpack@4.47.0(webpack-cli@4.10.0)) + webpack-filter-warnings-plugin: 1.2.1(webpack@4.47.0(webpack-cli@4.10.0)) webpack-hot-middleware: 2.26.1 webpack-virtual-modules: 0.2.2 optionalDependencies: typescript: 5.8.3 transitivePeerDependencies: - - '@swc/core' - - esbuild - eslint - supports-color - - uglify-js - vue-template-compiler - webpack-cli - - '@storybook/builder-webpack4@6.5.16(eslint@9.39.4(jiti@2.6.1))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.5)': - dependencies: - '@babel/core': 7.27.7 - '@storybook/addons': 6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@storybook/api': 6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@storybook/channel-postmessage': 6.5.16 - '@storybook/channels': 6.5.16 - '@storybook/client-api': 6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@storybook/client-logger': 6.5.16 - '@storybook/components': 6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@storybook/core-common': 6.5.16(eslint@9.39.4(jiti@2.6.1))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.5) - '@storybook/core-events': 6.5.16 - '@storybook/node-logger': 6.5.16 - '@storybook/preview-web': 6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@storybook/router': 6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + - webpack-command + + '@storybook/builder-webpack4@6.5.9(eslint@9.39.4(jiti@2.6.1))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.4)': + dependencies: + '@babel/core': 7.27.1 + '@storybook/addons': 6.5.9(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/api': 6.5.9(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/channel-postmessage': 6.5.9 + '@storybook/channels': 6.5.9 + '@storybook/client-api': 6.5.9(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/client-logger': 6.5.9 + '@storybook/components': 6.5.9(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/core-common': 6.5.9(eslint@9.39.4(jiti@2.6.1))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.4) + '@storybook/core-events': 6.5.9 + '@storybook/node-logger': 6.5.9 + '@storybook/preview-web': 6.5.9(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/router': 6.5.9(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@storybook/semver': 7.3.2 - '@storybook/store': 6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@storybook/theming': 6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@storybook/ui': 6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/store': 6.5.9(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/theming': 6.5.9(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/ui': 6.5.9(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@types/node': 16.18.126 '@types/webpack': 4.41.40 autoprefixer: 9.8.8 - babel-loader: 8.4.1(@babel/core@7.27.7)(webpack@5.105.4) + babel-loader: 8.4.1(@babel/core@7.27.1)(webpack@4.47.0) case-sensitive-paths-webpack-plugin: 2.4.0 core-js: 3.48.0 - css-loader: 3.6.0(webpack@5.105.4) - file-loader: 6.2.0(webpack@5.105.4) + css-loader: 3.6.0(webpack@4.47.0) + file-loader: 6.2.0(webpack@4.47.0) find-up: 5.0.0 fork-ts-checker-webpack-plugin: 4.1.6 glob: 7.2.3 glob-promise: 3.4.0(glob@7.2.3) global: 4.4.0 - html-webpack-plugin: 4.5.2(webpack@5.105.4) - pnp-webpack-plugin: 1.6.4(typescript@4.9.5) + html-webpack-plugin: 4.5.2(webpack@4.47.0) + pnp-webpack-plugin: 1.6.4(typescript@4.9.4) postcss: 7.0.39 postcss-flexbugs-fixes: 4.2.1 - postcss-loader: 4.3.0(postcss@7.0.39)(webpack@5.105.4) - raw-loader: 4.0.2(webpack@5.105.4) + postcss-loader: 4.3.0(postcss@7.0.39)(webpack@4.47.0) + raw-loader: 4.0.2(webpack@4.47.0) react: 19.1.0 react-dom: 19.1.0(react@19.1.0) stable: 0.1.8 - style-loader: 1.3.0(webpack@5.105.4) - terser-webpack-plugin: 4.2.3(webpack@5.105.4) + style-loader: 1.3.0(webpack@4.47.0) + terser-webpack-plugin: 4.2.3(webpack@4.47.0) ts-dedent: 2.2.0 - url-loader: 4.1.1(file-loader@6.2.0(webpack@5.105.4))(webpack@5.105.4) + url-loader: 4.1.1(file-loader@6.2.0(webpack@4.47.0))(webpack@4.47.0) util-deprecate: 1.0.2 - webpack: 5.105.4(webpack-cli@5.1.4) - webpack-dev-middleware: 3.7.3(webpack@5.105.4) - webpack-filter-warnings-plugin: 1.2.1(webpack@5.105.4) + webpack: 4.47.0 + webpack-dev-middleware: 3.7.3(webpack@4.47.0) + webpack-filter-warnings-plugin: 1.2.1(webpack@4.47.0) webpack-hot-middleware: 2.26.1 webpack-virtual-modules: 0.2.2 optionalDependencies: - typescript: 4.9.5 + typescript: 4.9.4 transitivePeerDependencies: - - '@swc/core' - - esbuild - eslint - supports-color - - uglify-js - vue-template-compiler - webpack-cli + - webpack-command '@storybook/builder-webpack5@6.5.16(@swc/core@1.15.18(@swc/helpers@0.5.19))(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/api': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/channel-postmessage': 6.5.16 @@ -31116,7 +35212,7 @@ snapshots: '@storybook/client-api': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/client-logger': 6.5.16 '@storybook/components': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/core-common': 6.5.16(@swc/core@1.15.18(@swc/helpers@0.5.19))(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) + '@storybook/core-common': 6.5.16(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) '@storybook/core-events': 6.5.16 '@storybook/node-logger': 6.5.16 '@storybook/preview-web': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -31125,27 +35221,27 @@ snapshots: '@storybook/store': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/theming': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@types/node': 16.18.126 - babel-loader: 8.4.1(@babel/core@7.27.7)(webpack@5.105.4) + babel-loader: 8.4.1(@babel/core@7.27.1)(webpack@5.104.1) babel-plugin-named-exports-order: 0.0.2 browser-assert: 1.2.1 case-sensitive-paths-webpack-plugin: 2.4.0 core-js: 3.48.0 - css-loader: 5.2.7(webpack@5.105.4) - fork-ts-checker-webpack-plugin: 6.5.3(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3)(webpack@5.105.4) + css-loader: 5.2.7(webpack@5.104.1) + fork-ts-checker-webpack-plugin: 6.5.3(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3)(webpack@5.104.1) glob: 7.2.3 glob-promise: 3.4.0(glob@7.2.3) - html-webpack-plugin: 5.6.6(webpack@5.105.4) + html-webpack-plugin: 5.6.6(webpack@5.104.1) path-browserify: 1.0.1 process: 0.11.10 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) stable: 0.1.8 - style-loader: 2.0.0(webpack@5.105.4) - terser-webpack-plugin: 5.4.0(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack@5.105.4) + style-loader: 2.0.0(webpack@5.104.1) + terser-webpack-plugin: 5.3.14(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack@5.104.1) ts-dedent: 2.2.0 util-deprecate: 1.0.2 - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) - webpack-dev-middleware: 4.3.0(webpack@5.105.4) + webpack: 5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) + webpack-dev-middleware: 4.3.0(webpack@5.104.1) webpack-hot-middleware: 2.26.1 webpack-virtual-modules: 0.4.6 optionalDependencies: @@ -31159,47 +35255,48 @@ snapshots: - uglify-js - vue-template-compiler - webpack-cli - - '@storybook/builder-webpack5@6.5.16(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)': - dependencies: - '@babel/core': 7.27.7 - '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/api': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/channel-postmessage': 6.5.16 - '@storybook/channels': 6.5.16 - '@storybook/client-api': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/client-logger': 6.5.16 - '@storybook/components': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/core-common': 6.5.16(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) - '@storybook/core-events': 6.5.16 - '@storybook/node-logger': 6.5.16 - '@storybook/preview-web': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/router': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + - webpack-command + + '@storybook/builder-webpack5@6.5.9(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)': + dependencies: + '@babel/core': 7.27.1 + '@storybook/addons': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/api': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/channel-postmessage': 6.5.9 + '@storybook/channels': 6.5.9 + '@storybook/client-api': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/client-logger': 6.5.9 + '@storybook/components': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/core-common': 6.5.9(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) + '@storybook/core-events': 6.5.9 + '@storybook/node-logger': 6.5.9 + '@storybook/preview-web': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/router': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/semver': 7.3.2 - '@storybook/store': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/theming': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/store': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/theming': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@types/node': 16.18.126 - babel-loader: 8.4.1(@babel/core@7.27.7)(webpack@5.105.4) + babel-loader: 8.4.1(@babel/core@7.27.1)(webpack@5.104.1) babel-plugin-named-exports-order: 0.0.2 browser-assert: 1.2.1 case-sensitive-paths-webpack-plugin: 2.4.0 core-js: 3.48.0 - css-loader: 5.2.7(webpack@5.105.4) - fork-ts-checker-webpack-plugin: 6.5.3(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3)(webpack@5.105.4) + css-loader: 5.2.7(webpack@5.104.1) + fork-ts-checker-webpack-plugin: 6.5.3(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3)(webpack@5.104.1) glob: 7.2.3 glob-promise: 3.4.0(glob@7.2.3) - html-webpack-plugin: 5.6.6(webpack@5.105.4) + html-webpack-plugin: 5.6.6(webpack@5.104.1) path-browserify: 1.0.1 process: 0.11.10 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) stable: 0.1.8 - style-loader: 2.0.0(webpack@5.105.4) - terser-webpack-plugin: 5.4.0(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack@5.105.4) + style-loader: 2.0.0(webpack@5.104.1) + terser-webpack-plugin: 5.3.14(webpack@5.104.1) ts-dedent: 2.2.0 util-deprecate: 1.0.2 - webpack: 5.105.4(webpack-cli@4.10.0) - webpack-dev-middleware: 4.3.0(webpack@5.105.4) + webpack: 5.104.1(webpack-cli@4.10.0) + webpack-dev-middleware: 4.3.0(webpack@5.104.1) webpack-hot-middleware: 2.26.1 webpack-virtual-modules: 0.4.6 optionalDependencies: @@ -31213,53 +35310,46 @@ snapshots: - uglify-js - vue-template-compiler - webpack-cli + - webpack-command '@storybook/builder-webpack5@7.4.6(@swc/helpers@0.5.19)(@types/react-dom@18.2.0)(@types/react@18.2.0)(encoding@0.1.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@5.1.4)': dependencies: - '@babel/core': 7.27.7 - '@storybook/addons': 7.4.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/channels': 7.4.6 - '@storybook/client-api': 7.4.6 - '@storybook/client-logger': 7.4.6 - '@storybook/components': 7.4.6(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/core-common': 7.4.6(encoding@0.1.13) - '@storybook/core-events': 7.4.6 - '@storybook/core-webpack': 7.4.6(encoding@0.1.13) - '@storybook/global': 5.0.0 - '@storybook/manager-api': 7.4.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/node-logger': 7.4.6 - '@storybook/preview': 7.4.6 - '@storybook/preview-api': 7.4.6 - '@storybook/router': 7.4.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/store': 7.4.6 - '@storybook/theming': 7.4.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@babel/core': 7.27.1 + '@storybook/channels': 7.4.0 + '@storybook/client-logger': 7.4.0 + '@storybook/core-common': 7.4.0(encoding@0.1.13) + '@storybook/core-events': 7.4.0 + '@storybook/core-webpack': 7.4.0(encoding@0.1.13) + '@storybook/node-logger': 7.4.0 + '@storybook/preview': 7.4.0 + '@storybook/preview-api': 7.4.0 '@swc/core': 1.15.18(@swc/helpers@0.5.19) '@types/node': 16.18.126 '@types/semver': 7.7.1 - babel-loader: 9.2.1(@babel/core@7.27.7)(webpack@5.105.4) + babel-loader: 9.2.1(@babel/core@7.27.1)(webpack@5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))) babel-plugin-named-exports-order: 0.0.2 browser-assert: 1.2.1 case-sensitive-paths-webpack-plugin: 2.4.0 constants-browserify: 1.0.0 - css-loader: 6.11.0(webpack@5.105.4) + css-loader: 6.11.0(webpack@5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))) express: 4.22.1 - fork-ts-checker-webpack-plugin: 8.0.0(typescript@5.8.3)(webpack@5.105.4) - fs-extra: 11.3.4 - html-webpack-plugin: 5.6.6(webpack@5.105.4) + fork-ts-checker-webpack-plugin: 8.0.0(typescript@5.8.3)(webpack@5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))) + fs-extra: 11.3.0 + html-webpack-plugin: 5.6.6(webpack@5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))) path-browserify: 1.0.1 process: 0.11.10 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) semver: 7.7.4 - style-loader: 3.3.4(webpack@5.105.4) - swc-loader: 0.2.7(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack@5.105.4) - terser-webpack-plugin: 5.4.0(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack@5.105.4) + style-loader: 3.3.4(webpack@5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))) + swc-loader: 0.2.7(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack@5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))) + terser-webpack-plugin: 5.3.14(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack@5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))) ts-dedent: 2.2.0 url: 0.11.4 util: 0.12.5 util-deprecate: 1.0.2 - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@5.1.4) - webpack-dev-middleware: 6.1.3(webpack@5.105.4) + webpack: 5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19)) + webpack-dev-middleware: 6.1.3(webpack@5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))) webpack-hot-middleware: 2.26.1 webpack-virtual-modules: 0.5.0 optionalDependencies: @@ -31277,50 +35367,42 @@ snapshots: '@storybook/builder-webpack5@7.4.6(@swc/helpers@0.5.19)(@types/react-dom@18.2.0)(@types/react@18.2.0)(encoding@0.1.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3)': dependencies: - '@babel/core': 7.27.7 - '@storybook/addons': 7.4.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@storybook/channels': 7.4.6 - '@storybook/client-api': 7.4.6 - '@storybook/client-logger': 7.4.6 - '@storybook/components': 7.4.6(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@storybook/core-common': 7.4.6(encoding@0.1.13) - '@storybook/core-events': 7.4.6 - '@storybook/core-webpack': 7.4.6(encoding@0.1.13) - '@storybook/global': 5.0.0 - '@storybook/manager-api': 7.4.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@storybook/node-logger': 7.4.6 - '@storybook/preview': 7.4.6 - '@storybook/preview-api': 7.4.6 - '@storybook/router': 7.4.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@storybook/store': 7.4.6 - '@storybook/theming': 7.4.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@babel/core': 7.27.1 + '@storybook/channels': 7.4.0 + '@storybook/client-logger': 7.4.0 + '@storybook/core-common': 7.4.0(encoding@0.1.13) + '@storybook/core-events': 7.4.0 + '@storybook/core-webpack': 7.4.0(encoding@0.1.13) + '@storybook/node-logger': 7.4.0 + '@storybook/preview': 7.4.0 + '@storybook/preview-api': 7.4.0 '@swc/core': 1.15.18(@swc/helpers@0.5.19) '@types/node': 16.18.126 '@types/semver': 7.7.1 - babel-loader: 9.2.1(@babel/core@7.27.7)(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))) + babel-loader: 9.2.1(@babel/core@7.27.1)(webpack@5.104.1) babel-plugin-named-exports-order: 0.0.2 browser-assert: 1.2.1 case-sensitive-paths-webpack-plugin: 2.4.0 constants-browserify: 1.0.0 - css-loader: 6.11.0(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))) + css-loader: 6.11.0(webpack@5.104.1) express: 4.22.1 - fork-ts-checker-webpack-plugin: 8.0.0(typescript@5.8.3)(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))) - fs-extra: 11.3.4 - html-webpack-plugin: 5.6.6(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))) + fork-ts-checker-webpack-plugin: 8.0.0(typescript@5.8.3)(webpack@5.104.1) + fs-extra: 11.3.0 + html-webpack-plugin: 5.6.6(webpack@5.104.1) path-browserify: 1.0.1 process: 0.11.10 react: 19.1.0 react-dom: 19.1.0(react@19.1.0) semver: 7.7.4 - style-loader: 3.3.4(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))) - swc-loader: 0.2.7(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))) - terser-webpack-plugin: 5.4.0(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))) + style-loader: 3.3.4(webpack@5.104.1) + swc-loader: 0.2.7(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack@5.104.1) + terser-webpack-plugin: 5.3.14(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack@5.104.1) ts-dedent: 2.2.0 url: 0.11.4 util: 0.12.5 util-deprecate: 1.0.2 - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19)) - webpack-dev-middleware: 6.1.3(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))) + webpack: 5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@5.1.4) + webpack-dev-middleware: 6.1.3(webpack@5.104.1) webpack-hot-middleware: 2.26.1 webpack-virtual-modules: 0.5.0 optionalDependencies: @@ -31336,31 +35418,31 @@ snapshots: - uglify-js - webpack-cli - '@storybook/builder-webpack5@8.6.18(@swc/core@1.15.18(@swc/helpers@0.5.19))(esbuild@0.25.12)(storybook@8.6.18(prettier@3.5.3))(typescript@5.8.3)': + '@storybook/builder-webpack5@8.6.14(@swc/core@1.15.18(@swc/helpers@0.5.19))(esbuild@0.25.12)(storybook@8.6.14(prettier@3.5.3))(typescript@5.8.3)': dependencies: - '@storybook/core-webpack': 8.6.18(storybook@8.6.18(prettier@3.5.3)) + '@storybook/core-webpack': 8.6.14(storybook@8.6.14(prettier@3.5.3)) '@types/semver': 7.7.1 browser-assert: 1.2.1 case-sensitive-paths-webpack-plugin: 2.4.0 cjs-module-lexer: 1.4.3 constants-browserify: 1.0.0 - css-loader: 6.11.0(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))(esbuild@0.25.12)) + css-loader: 6.11.0(webpack@5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))(esbuild@0.25.12)) es-module-lexer: 1.7.0 - fork-ts-checker-webpack-plugin: 8.0.0(typescript@5.8.3)(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))(esbuild@0.25.12)) - html-webpack-plugin: 5.6.6(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))(esbuild@0.25.12)) + fork-ts-checker-webpack-plugin: 8.0.0(typescript@5.8.3)(webpack@5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))(esbuild@0.25.12)) + html-webpack-plugin: 5.6.6(webpack@5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))(esbuild@0.25.12)) magic-string: 0.30.21 path-browserify: 1.0.1 process: 0.11.10 semver: 7.7.4 - storybook: 8.6.18(prettier@3.5.3) - style-loader: 3.3.4(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))(esbuild@0.25.12)) - terser-webpack-plugin: 5.4.0(@swc/core@1.15.18(@swc/helpers@0.5.19))(esbuild@0.25.12)(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))(esbuild@0.25.12)) + storybook: 8.6.14(prettier@3.5.3) + style-loader: 3.3.4(webpack@5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))(esbuild@0.25.12)) + terser-webpack-plugin: 5.3.14(@swc/core@1.15.18(@swc/helpers@0.5.19))(esbuild@0.25.12)(webpack@5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))(esbuild@0.25.12)) ts-dedent: 2.2.0 url: 0.11.4 util: 0.12.5 util-deprecate: 1.0.2 - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))(esbuild@0.25.12) - webpack-dev-middleware: 6.1.3(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))(esbuild@0.25.12)) + webpack: 5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))(esbuild@0.25.12) + webpack-dev-middleware: 6.1.3(webpack@5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))(esbuild@0.25.12)) webpack-hot-middleware: 2.26.1 webpack-virtual-modules: 0.6.2 optionalDependencies: @@ -31372,31 +35454,31 @@ snapshots: - uglify-js - webpack-cli - '@storybook/builder-webpack5@8.6.18(storybook@8.6.18(prettier@3.5.3))(typescript@5.8.3)(webpack-cli@5.1.4)': + '@storybook/builder-webpack5@8.6.14(storybook@8.6.14(prettier@3.5.3))(typescript@5.8.3)(webpack-cli@5.1.4)': dependencies: - '@storybook/core-webpack': 8.6.18(storybook@8.6.18(prettier@3.5.3)) + '@storybook/core-webpack': 8.6.14(storybook@8.6.14(prettier@3.5.3)) '@types/semver': 7.7.1 browser-assert: 1.2.1 case-sensitive-paths-webpack-plugin: 2.4.0 cjs-module-lexer: 1.4.3 constants-browserify: 1.0.0 - css-loader: 6.11.0(webpack@5.105.4) + css-loader: 6.11.0(webpack@5.104.1) es-module-lexer: 1.7.0 - fork-ts-checker-webpack-plugin: 8.0.0(typescript@5.8.3)(webpack@5.105.4) - html-webpack-plugin: 5.6.6(webpack@5.105.4) + fork-ts-checker-webpack-plugin: 8.0.0(typescript@5.8.3)(webpack@5.104.1) + html-webpack-plugin: 5.6.6(webpack@5.104.1) magic-string: 0.30.21 path-browserify: 1.0.1 process: 0.11.10 semver: 7.7.4 - storybook: 8.6.18(prettier@3.5.3) - style-loader: 3.3.4(webpack@5.105.4) - terser-webpack-plugin: 5.4.0(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack@5.105.4) + storybook: 8.6.14(prettier@3.5.3) + style-loader: 3.3.4(webpack@5.104.1) + terser-webpack-plugin: 5.3.14(webpack@5.104.1) ts-dedent: 2.2.0 url: 0.11.4 util: 0.12.5 util-deprecate: 1.0.2 - webpack: 5.105.4(webpack-cli@5.1.4) - webpack-dev-middleware: 6.1.3(webpack@5.105.4) + webpack: 5.104.1(webpack-cli@5.1.4) + webpack-dev-middleware: 6.1.3(webpack@5.104.1) webpack-hot-middleware: 2.26.1 webpack-virtual-modules: 0.6.2 optionalDependencies: @@ -31408,6 +35490,16 @@ snapshots: - uglify-js - webpack-cli + '@storybook/channel-postmessage@6.3.7': + dependencies: + '@storybook/channels': 6.3.7 + '@storybook/client-logger': 6.3.7 + '@storybook/core-events': 6.3.7 + core-js: 3.48.0 + global: 4.4.0 + qs: 6.14.2 + telejson: 5.3.3 + '@storybook/channel-postmessage@6.5.16': dependencies: '@storybook/channels': 6.5.16 @@ -31426,44 +35518,64 @@ snapshots: global: 4.4.0 telejson: 6.0.8 + '@storybook/channel-websocket@6.5.9': + dependencies: + '@storybook/channels': 6.5.9 + '@storybook/client-logger': 6.5.9 + core-js: 3.48.0 + global: 4.4.0 + telejson: 6.0.8 + + '@storybook/channels@6.3.7': + dependencies: + core-js: 3.48.0 + ts-dedent: 2.2.0 + util-deprecate: 1.0.2 + '@storybook/channels@6.5.16': dependencies: core-js: 3.48.0 ts-dedent: 2.2.0 util-deprecate: 1.0.2 - '@storybook/channels@7.4.6': + '@storybook/channels@6.5.9': dependencies: - '@storybook/client-logger': 7.4.6 - '@storybook/core-events': 7.4.6 + core-js: 3.48.0 + ts-dedent: 2.2.0 + util-deprecate: 1.0.2 + + '@storybook/channels@7.4.0': + dependencies: + '@storybook/client-logger': 7.4.0 + '@storybook/core-events': 7.4.0 '@storybook/global': 5.0.0 - qs: 6.15.0 + qs: 6.14.2 telejson: 7.2.0 tiny-invariant: 1.3.3 - '@storybook/channels@7.6.24': + '@storybook/channels@7.6.10': dependencies: - '@storybook/client-logger': 7.6.24 - '@storybook/core-events': 7.6.24 + '@storybook/client-logger': 7.6.10 + '@storybook/core-events': 7.6.10 '@storybook/global': 5.0.0 qs: 6.15.0 telejson: 7.2.0 tiny-invariant: 1.3.3 - '@storybook/cli@7.6.24(encoding@0.1.13)': + '@storybook/cli@7.6.10(encoding@0.1.13)': dependencies: - '@babel/core': 7.27.7 - '@babel/preset-env': 7.27.2(@babel/core@7.27.7) + '@babel/core': 7.27.1 + '@babel/preset-env': 7.27.2(@babel/core@7.27.1) '@babel/types': 7.29.0 '@ndelangen/get-tarball': 3.0.9 - '@storybook/codemod': 7.6.24 - '@storybook/core-common': 7.6.24(encoding@0.1.13) - '@storybook/core-events': 7.6.24 - '@storybook/core-server': 7.6.24(encoding@0.1.13) - '@storybook/csf-tools': 7.6.24 - '@storybook/node-logger': 7.6.24 - '@storybook/telemetry': 7.6.24(encoding@0.1.13) - '@storybook/types': 7.6.24 + '@storybook/codemod': 7.6.10 + '@storybook/core-common': 7.6.10(encoding@0.1.13) + '@storybook/core-events': 7.6.10 + '@storybook/core-server': 7.6.10(encoding@0.1.13) + '@storybook/csf-tools': 7.6.10 + '@storybook/node-logger': 7.6.10 + '@storybook/telemetry': 7.6.10(encoding@0.1.13) + '@storybook/types': 7.6.10 '@types/semver': 7.7.1 '@yarnpkg/fslib': 2.10.3 '@yarnpkg/libzip': 2.3.0 @@ -31475,12 +35587,12 @@ snapshots: execa: 5.1.1 express: 4.22.1 find-up: 5.0.0 - fs-extra: 11.3.4 + fs-extra: 11.3.0 get-npm-tarball-url: 2.1.0 get-port: 5.1.1 giget: 1.2.5 globby: 11.1.0 - jscodeshift: 0.15.2(@babel/preset-env@7.27.2(@babel/core@7.27.7)) + jscodeshift: 0.15.2(@babel/preset-env@7.27.2(@babel/core@7.27.1)) leven: 3.1.0 ora: 5.4.1 prettier: 2.8.8 @@ -31493,22 +35605,19 @@ snapshots: ts-dedent: 2.2.0 util-deprecate: 1.0.2 transitivePeerDependencies: - - bare-abort-controller - - bare-buffer - bufferutil - encoding - - react-native-b4a - supports-color - utf-8-validate - '@storybook/cli@8.6.18(@babel/preset-env@7.27.2(@babel/core@7.27.7))(prettier@3.5.3)': + '@storybook/cli@8.6.14(@babel/preset-env@7.27.2(@babel/core@7.29.0))(prettier@3.5.3)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 '@babel/types': 7.29.0 - '@storybook/codemod': 8.6.18(storybook@8.6.18(prettier@3.5.3)) + '@storybook/codemod': 8.6.14(storybook@8.6.14(prettier@3.5.3)) '@types/semver': 7.7.1 commander: 12.1.0 - create-storybook: 8.6.18 + create-storybook: 8.6.14 cross-spawn: 7.0.6 envinfo: 7.21.0 fd-package-json: 1.2.0 @@ -31516,12 +35625,12 @@ snapshots: giget: 1.2.5 glob: 10.5.0 globby: 14.1.0 - jscodeshift: 0.15.2(@babel/preset-env@7.27.2(@babel/core@7.27.7)) + jscodeshift: 0.15.2(@babel/preset-env@7.27.2(@babel/core@7.29.0)) leven: 3.1.0 p-limit: 6.2.0 prompts: 2.4.2 semver: 7.7.4 - storybook: 8.6.18(prettier@3.5.3) + storybook: 8.6.14(prettier@3.5.3) tiny-invariant: 1.3.3 ts-dedent: 2.2.0 transitivePeerDependencies: @@ -31531,6 +35640,31 @@ snapshots: - supports-color - utf-8-validate + '@storybook/client-api@6.3.7(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@storybook/addons': 6.3.7(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/channel-postmessage': 6.3.7 + '@storybook/channels': 6.3.7 + '@storybook/client-logger': 6.3.7 + '@storybook/core-events': 6.3.7 + '@storybook/csf': 0.0.1 + '@types/qs': 6.15.0 + '@types/webpack-env': 1.18.8 + core-js: 3.48.0 + global: 4.4.0 + lodash: 4.17.23 + memoizerific: 1.11.3 + qs: 6.14.2 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + regenerator-runtime: 0.13.11 + stable: 0.1.8 + store2: 2.14.4 + ts-dedent: 2.2.0 + util-deprecate: 1.0.2 + transitivePeerDependencies: + - supports-color + '@storybook/client-api@6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -31556,15 +35690,15 @@ snapshots: ts-dedent: 2.2.0 util-deprecate: 1.0.2 - '@storybook/client-api@6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@storybook/client-api@6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@storybook/addons': 6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@storybook/channel-postmessage': 6.5.16 - '@storybook/channels': 6.5.16 - '@storybook/client-logger': 6.5.16 - '@storybook/core-events': 6.5.16 + '@storybook/addons': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/channel-postmessage': 6.5.9 + '@storybook/channels': 6.5.9 + '@storybook/client-logger': 6.5.9 + '@storybook/core-events': 6.5.9 '@storybook/csf': 0.0.2--canary.4566f4d.1 - '@storybook/store': 6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/store': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@types/qs': 6.15.0 '@types/webpack-env': 1.18.8 core-js: 3.48.0 @@ -31572,7 +35706,32 @@ snapshots: global: 4.4.0 lodash: 4.17.23 memoizerific: 1.11.3 - qs: 6.15.0 + qs: 6.14.2 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + regenerator-runtime: 0.13.11 + store2: 2.14.4 + synchronous-promise: 2.0.17 + ts-dedent: 2.2.0 + util-deprecate: 1.0.2 + + '@storybook/client-api@6.5.9(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@storybook/addons': 6.5.9(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/channel-postmessage': 6.5.9 + '@storybook/channels': 6.5.9 + '@storybook/client-logger': 6.5.9 + '@storybook/core-events': 6.5.9 + '@storybook/csf': 0.0.2--canary.4566f4d.1 + '@storybook/store': 6.5.9(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@types/qs': 6.15.0 + '@types/webpack-env': 1.18.8 + core-js: 3.48.0 + fast-deep-equal: 3.1.3 + global: 4.4.0 + lodash: 4.17.23 + memoizerific: 1.11.3 + qs: 6.14.2 react: 19.1.0 react-dom: 19.1.0(react@19.1.0) regenerator-runtime: 0.13.11 @@ -31581,54 +35740,59 @@ snapshots: ts-dedent: 2.2.0 util-deprecate: 1.0.2 - '@storybook/client-api@7.4.6': + '@storybook/client-logger@6.3.7': dependencies: - '@storybook/client-logger': 7.4.6 - '@storybook/preview-api': 7.4.6 + core-js: 3.48.0 + global: 4.4.0 '@storybook/client-logger@6.5.16': dependencies: core-js: 3.48.0 global: 4.4.0 - '@storybook/client-logger@7.4.6': + '@storybook/client-logger@6.5.9': + dependencies: + core-js: 3.48.0 + global: 4.4.0 + + '@storybook/client-logger@7.4.0': dependencies: '@storybook/global': 5.0.0 - '@storybook/client-logger@7.6.24': + '@storybook/client-logger@7.6.10': dependencies: '@storybook/global': 5.0.0 - '@storybook/codemod@7.6.24': + '@storybook/codemod@7.6.10': dependencies: - '@babel/core': 7.27.7 - '@babel/preset-env': 7.27.2(@babel/core@7.27.7) + '@babel/core': 7.27.1 + '@babel/preset-env': 7.27.2(@babel/core@7.27.1) '@babel/types': 7.29.0 '@storybook/csf': 0.1.13 - '@storybook/csf-tools': 7.6.24 - '@storybook/node-logger': 7.6.24 - '@storybook/types': 7.6.24 + '@storybook/csf-tools': 7.6.10 + '@storybook/node-logger': 7.6.10 + '@storybook/types': 7.6.10 '@types/cross-spawn': 6.0.6 cross-spawn: 7.0.6 globby: 11.1.0 - jscodeshift: 0.15.2(@babel/preset-env@7.27.2(@babel/core@7.27.7)) + jscodeshift: 0.15.2(@babel/preset-env@7.27.2(@babel/core@7.27.1)) lodash: 4.17.23 prettier: 2.8.8 recast: 0.23.11 transitivePeerDependencies: - supports-color - '@storybook/codemod@8.6.18(storybook@8.6.18(prettier@3.5.3))': + '@storybook/codemod@8.6.14(storybook@8.6.14(prettier@3.5.3))': dependencies: - '@babel/core': 7.27.7 - '@babel/preset-env': 7.27.2(@babel/core@7.27.7) + '@babel/core': 7.27.1 + '@babel/preset-env': 7.27.2(@babel/core@7.27.1) '@babel/types': 7.29.0 - '@storybook/core': 8.6.18(prettier@3.5.3)(storybook@8.6.18(prettier@3.5.3)) + '@storybook/core': 8.6.14(prettier@3.5.3)(storybook@8.6.14(prettier@3.5.3)) '@types/cross-spawn': 6.0.6 cross-spawn: 7.0.6 es-toolkit: 1.45.1 globby: 14.1.0 - jscodeshift: 0.15.2(@babel/preset-env@7.27.2(@babel/core@7.27.7)) + jscodeshift: 0.15.2(@babel/preset-env@7.27.2(@babel/core@7.29.0)) prettier: 3.5.3 recast: 0.23.11 tiny-invariant: 1.3.3 @@ -31638,6 +35802,38 @@ snapshots: - supports-color - utf-8-validate + '@storybook/components@6.3.7(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@popperjs/core': 2.11.8 + '@storybook/client-logger': 6.3.7 + '@storybook/csf': 0.0.1 + '@storybook/theming': 6.3.7(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@types/color-convert': 2.0.4 + '@types/overlayscrollbars': 1.12.5 + '@types/react-syntax-highlighter': 11.0.5 + color-convert: 2.0.1 + core-js: 3.48.0 + fast-deep-equal: 3.1.3 + global: 4.4.0 + lodash: 4.17.23 + markdown-to-jsx: 7.7.17(react@18.2.0) + memoizerific: 1.11.3 + overlayscrollbars: 1.13.3 + polished: 4.3.1 + prop-types: 15.8.1 + react: 18.2.0 + react-colorful: 5.6.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + react-dom: 18.2.0(react@18.2.0) + react-popper-tooltip: 3.1.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + react-syntax-highlighter: 13.5.3(react@18.2.0) + react-textarea-autosize: 8.5.9(@types/react@18.2.0)(react@18.2.0) + regenerator-runtime: 0.13.11 + ts-dedent: 2.2.0 + util-deprecate: 1.0.2 + transitivePeerDependencies: + - '@types/react' + - supports-color + '@storybook/components@6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@storybook/client-logger': 6.5.16 @@ -31651,28 +35847,45 @@ snapshots: regenerator-runtime: 0.13.11 util-deprecate: 1.0.2 - '@storybook/components@6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@storybook/components@6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@storybook/client-logger': 6.5.16 + '@storybook/client-logger': 6.5.9 '@storybook/csf': 0.0.2--canary.4566f4d.1 - '@storybook/theming': 6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/theming': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@types/react-syntax-highlighter': 11.0.5 core-js: 3.48.0 memoizerific: 1.11.3 - qs: 6.15.0 + qs: 6.14.2 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + react-syntax-highlighter: 15.6.1(react@18.2.0) + regenerator-runtime: 0.13.11 + util-deprecate: 1.0.2 + + '@storybook/components@6.5.9(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@storybook/client-logger': 6.5.9 + '@storybook/csf': 0.0.2--canary.4566f4d.1 + '@storybook/theming': 6.5.9(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@types/react-syntax-highlighter': 11.0.5 + core-js: 3.48.0 + memoizerific: 1.11.3 + qs: 6.14.2 react: 19.1.0 react-dom: 19.1.0(react@19.1.0) + react-syntax-highlighter: 15.6.1(react@19.1.0) regenerator-runtime: 0.13.11 util-deprecate: 1.0.2 - '@storybook/components@7.4.6(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@storybook/components@7.4.0(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@radix-ui/react-select': 1.2.2(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@radix-ui/react-toolbar': 1.1.11(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/client-logger': 7.4.6 + '@storybook/client-logger': 7.4.0 '@storybook/csf': 0.1.13 '@storybook/global': 5.0.0 - '@storybook/theming': 7.4.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/types': 7.4.6 + '@storybook/theming': 7.4.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/types': 7.4.0 memoizerific: 1.11.3 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -31682,15 +35895,15 @@ snapshots: - '@types/react' - '@types/react-dom' - '@storybook/components@7.4.6(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@storybook/components@7.4.0(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: '@radix-ui/react-select': 1.2.2(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-toolbar': 1.1.11(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@storybook/client-logger': 7.4.6 + '@storybook/client-logger': 7.4.0 '@storybook/csf': 0.1.13 '@storybook/global': 5.0.0 - '@storybook/theming': 7.4.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@storybook/types': 7.4.6 + '@storybook/theming': 7.4.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/types': 7.4.0 memoizerific: 1.11.3 react: 19.1.0 react-dom: 19.1.0(react@19.1.0) @@ -31700,11 +35913,39 @@ snapshots: - '@types/react' - '@types/react-dom' - '@storybook/components@8.6.18(storybook@8.6.18(prettier@3.5.3))': + '@storybook/components@8.6.14(storybook@8.6.14(prettier@3.5.3))': + dependencies: + storybook: 8.6.14(prettier@3.5.3) + + '@storybook/core-client@6.3.7(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@4.47.0)': dependencies: - storybook: 8.6.18(prettier@3.5.3) + '@storybook/addons': 6.3.7(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/channel-postmessage': 6.3.7 + '@storybook/client-api': 6.3.7(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/client-logger': 6.3.7 + '@storybook/core-events': 6.3.7 + '@storybook/csf': 0.0.1 + '@storybook/ui': 6.3.7(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + airbnb-js-shims: 2.2.1 + ansi-to-html: 0.6.15 + core-js: 3.48.0 + global: 4.4.0 + lodash: 4.17.23 + qs: 6.14.2 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + regenerator-runtime: 0.13.11 + ts-dedent: 2.2.0 + unfetch: 4.2.0 + util-deprecate: 1.0.2 + webpack: 4.47.0 + optionalDependencies: + typescript: 5.8.3 + transitivePeerDependencies: + - '@types/react' + - supports-color - '@storybook/core-client@6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19)))': + '@storybook/core-client@6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@4.47.0(webpack-cli@6.0.1))': dependencies: '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/channel-postmessage': 6.5.16 @@ -31728,11 +35969,11 @@ snapshots: ts-dedent: 2.2.0 unfetch: 4.2.0 util-deprecate: 1.0.2 - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19)) + webpack: 4.47.0(webpack-cli@6.0.1) optionalDependencies: typescript: 5.8.3 - '@storybook/core-client@6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.105.4)': + '@storybook/core-client@6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@4.47.0)': dependencies: '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/channel-postmessage': 6.5.16 @@ -31756,80 +35997,281 @@ snapshots: ts-dedent: 2.2.0 unfetch: 4.2.0 util-deprecate: 1.0.2 - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) + webpack: 4.47.0 optionalDependencies: typescript: 5.8.3 - '@storybook/core-client@6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.5)(webpack@5.105.4)': + '@storybook/core-client@6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19)))': dependencies: - '@storybook/addons': 6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/channel-postmessage': 6.5.16 '@storybook/channel-websocket': 6.5.16 - '@storybook/client-api': 6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/client-api': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/client-logger': 6.5.16 '@storybook/core-events': 6.5.16 '@storybook/csf': 0.0.2--canary.4566f4d.1 - '@storybook/preview-web': 6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@storybook/store': 6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@storybook/ui': 6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/preview-web': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/store': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/ui': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) airbnb-js-shims: 2.2.1 ansi-to-html: 0.6.15 core-js: 3.48.0 global: 4.4.0 lodash: 4.17.23 - qs: 6.15.0 + qs: 6.14.2 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + regenerator-runtime: 0.13.11 + ts-dedent: 2.2.0 + unfetch: 4.2.0 + util-deprecate: 1.0.2 + webpack: 5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19)) + optionalDependencies: + typescript: 5.8.3 + + '@storybook/core-client@6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.104.1)': + dependencies: + '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/channel-postmessage': 6.5.16 + '@storybook/channel-websocket': 6.5.16 + '@storybook/client-api': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/client-logger': 6.5.16 + '@storybook/core-events': 6.5.16 + '@storybook/csf': 0.0.2--canary.4566f4d.1 + '@storybook/preview-web': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/store': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/ui': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + airbnb-js-shims: 2.2.1 + ansi-to-html: 0.6.15 + core-js: 3.48.0 + global: 4.4.0 + lodash: 4.17.23 + qs: 6.14.2 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + regenerator-runtime: 0.13.11 + ts-dedent: 2.2.0 + unfetch: 4.2.0 + util-deprecate: 1.0.2 + webpack: 5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) + optionalDependencies: + typescript: 5.8.3 + + '@storybook/core-client@6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@4.47.0(webpack-cli@4.10.0))': + dependencies: + '@storybook/addons': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/channel-postmessage': 6.5.9 + '@storybook/channel-websocket': 6.5.9 + '@storybook/client-api': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/client-logger': 6.5.9 + '@storybook/core-events': 6.5.9 + '@storybook/csf': 0.0.2--canary.4566f4d.1 + '@storybook/preview-web': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/store': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/ui': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + airbnb-js-shims: 2.2.1 + ansi-to-html: 0.6.15 + core-js: 3.48.0 + global: 4.4.0 + lodash: 4.17.23 + qs: 6.14.2 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + regenerator-runtime: 0.13.11 + ts-dedent: 2.2.0 + unfetch: 4.2.0 + util-deprecate: 1.0.2 + webpack: 4.47.0(webpack-cli@4.10.0) + optionalDependencies: + typescript: 5.8.3 + + '@storybook/core-client@6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.104.1)': + dependencies: + '@storybook/addons': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/channel-postmessage': 6.5.9 + '@storybook/channel-websocket': 6.5.9 + '@storybook/client-api': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/client-logger': 6.5.9 + '@storybook/core-events': 6.5.9 + '@storybook/csf': 0.0.2--canary.4566f4d.1 + '@storybook/preview-web': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/store': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/ui': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + airbnb-js-shims: 2.2.1 + ansi-to-html: 0.6.15 + core-js: 3.48.0 + global: 4.4.0 + lodash: 4.17.23 + qs: 6.14.2 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + regenerator-runtime: 0.13.11 + ts-dedent: 2.2.0 + unfetch: 4.2.0 + util-deprecate: 1.0.2 + webpack: 5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) + optionalDependencies: + typescript: 5.8.3 + + '@storybook/core-client@6.5.9(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.4)(webpack@4.47.0)': + dependencies: + '@storybook/addons': 6.5.9(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/channel-postmessage': 6.5.9 + '@storybook/channel-websocket': 6.5.9 + '@storybook/client-api': 6.5.9(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/client-logger': 6.5.9 + '@storybook/core-events': 6.5.9 + '@storybook/csf': 0.0.2--canary.4566f4d.1 + '@storybook/preview-web': 6.5.9(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/store': 6.5.9(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/ui': 6.5.9(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + airbnb-js-shims: 2.2.1 + ansi-to-html: 0.6.15 + core-js: 3.48.0 + global: 4.4.0 + lodash: 4.17.23 + qs: 6.14.2 react: 19.1.0 react-dom: 19.1.0(react@19.1.0) regenerator-runtime: 0.13.11 ts-dedent: 2.2.0 unfetch: 4.2.0 util-deprecate: 1.0.2 - webpack: 5.105.4(webpack-cli@5.1.4) + webpack: 4.47.0 optionalDependencies: - typescript: 4.9.5 + typescript: 4.9.4 - '@storybook/core-client@7.4.6': + '@storybook/core-client@6.5.9(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.4)(webpack@5.104.1)': dependencies: - '@storybook/client-logger': 7.4.6 - '@storybook/preview-api': 7.4.6 + '@storybook/addons': 6.5.9(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/channel-postmessage': 6.5.9 + '@storybook/channel-websocket': 6.5.9 + '@storybook/client-api': 6.5.9(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/client-logger': 6.5.9 + '@storybook/core-events': 6.5.9 + '@storybook/csf': 0.0.2--canary.4566f4d.1 + '@storybook/preview-web': 6.5.9(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/store': 6.5.9(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/ui': 6.5.9(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + airbnb-js-shims: 2.2.1 + ansi-to-html: 0.6.15 + core-js: 3.48.0 + global: 4.4.0 + lodash: 4.17.23 + qs: 6.14.2 + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + regenerator-runtime: 0.13.11 + ts-dedent: 2.2.0 + unfetch: 4.2.0 + util-deprecate: 1.0.2 + webpack: 5.104.1(webpack-cli@5.1.4) + optionalDependencies: + typescript: 4.9.4 + + '@storybook/core-client@7.4.0': + dependencies: + '@storybook/client-logger': 7.4.0 + '@storybook/preview-api': 7.4.0 + + '@storybook/core-common@6.3.7(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)': + dependencies: + '@babel/core': 7.27.1 + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.27.1) + '@babel/plugin-proposal-decorators': 7.29.0(@babel/core@7.27.1) + '@babel/plugin-proposal-export-default-from': 7.27.1(@babel/core@7.27.1) + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.27.1) + '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.27.1) + '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.27.1) + '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.27.1) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.27.1) + '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.27.1) + '@babel/plugin-transform-block-scoping': 7.28.6(@babel/core@7.27.1) + '@babel/plugin-transform-classes': 7.28.6(@babel/core@7.27.1) + '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.27.1) + '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.27.1) + '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.27.1) + '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.27.1) + '@babel/plugin-transform-spread': 7.28.6(@babel/core@7.27.1) + '@babel/preset-env': 7.27.2(@babel/core@7.27.1) + '@babel/preset-react': 7.27.1(@babel/core@7.27.1) + '@babel/preset-typescript': 7.27.1(@babel/core@7.27.1) + '@babel/register': 7.28.6(@babel/core@7.27.1) + '@storybook/node-logger': 6.3.7 + '@storybook/semver': 7.3.2 + '@types/glob-base': 0.3.2 + '@types/micromatch': 4.0.10 + '@types/node': 14.18.63 + '@types/pretty-hrtime': 1.0.3 + babel-loader: 8.4.1(@babel/core@7.27.1)(webpack@4.47.0) + babel-plugin-macros: 3.1.0 + babel-plugin-polyfill-corejs3: 0.1.7(@babel/core@7.27.1) + chalk: 4.1.2 + core-js: 3.48.0 + express: 4.22.1 + file-system-cache: 1.1.0 + find-up: 5.0.0 + fork-ts-checker-webpack-plugin: 6.5.3(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3)(webpack@4.47.0) + glob: 7.2.3 + glob-base: 0.3.0 + interpret: 2.2.0 + json5: 2.2.3 + lazy-universal-dotenv: 3.0.1 + micromatch: 4.0.8 + pkg-dir: 5.0.0 + pretty-hrtime: 1.0.3 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + resolve-from: 5.0.0 + ts-dedent: 2.2.0 + util-deprecate: 1.0.2 + webpack: 4.47.0 + optionalDependencies: + typescript: 5.8.3 + transitivePeerDependencies: + - eslint + - supports-color + - vue-template-compiler + - webpack-cli + - webpack-command - '@storybook/core-common@6.5.16(@swc/core@1.15.18(@swc/helpers@0.5.19))(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)': - dependencies: - '@babel/core': 7.27.7 - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.27.7) - '@babel/plugin-proposal-decorators': 7.29.0(@babel/core@7.27.7) - '@babel/plugin-proposal-export-default-from': 7.27.1(@babel/core@7.27.7) - '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.27.7) - '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.27.7) - '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.27.7) - '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.27.7) - '@babel/plugin-proposal-private-property-in-object': 7.21.11(@babel/core@7.27.7) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.27.7) - '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.27.7) - '@babel/plugin-transform-block-scoping': 7.28.6(@babel/core@7.27.7) - '@babel/plugin-transform-classes': 7.28.6(@babel/core@7.27.7) - '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.27.7) - '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.27.7) - '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.27.7) - '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.27.7) - '@babel/plugin-transform-spread': 7.28.6(@babel/core@7.27.7) - '@babel/preset-env': 7.27.2(@babel/core@7.27.7) - '@babel/preset-react': 7.27.1(@babel/core@7.27.7) - '@babel/preset-typescript': 7.27.1(@babel/core@7.27.7) - '@babel/register': 7.28.6(@babel/core@7.27.7) + '@storybook/core-common@6.5.16(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)': + dependencies: + '@babel/core': 7.27.1 + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.27.1) + '@babel/plugin-proposal-decorators': 7.29.0(@babel/core@7.27.1) + '@babel/plugin-proposal-export-default-from': 7.27.1(@babel/core@7.27.1) + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.27.1) + '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.27.1) + '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.27.1) + '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.27.1) + '@babel/plugin-proposal-private-property-in-object': 7.21.11(@babel/core@7.27.1) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.27.1) + '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.27.1) + '@babel/plugin-transform-block-scoping': 7.28.6(@babel/core@7.27.1) + '@babel/plugin-transform-classes': 7.28.6(@babel/core@7.27.1) + '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.27.1) + '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.27.1) + '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.27.1) + '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.27.1) + '@babel/plugin-transform-spread': 7.28.6(@babel/core@7.27.1) + '@babel/preset-env': 7.27.2(@babel/core@7.27.1) + '@babel/preset-react': 7.27.1(@babel/core@7.27.1) + '@babel/preset-typescript': 7.27.1(@babel/core@7.27.1) + '@babel/register': 7.28.6(@babel/core@7.27.1) '@storybook/node-logger': 6.5.16 '@storybook/semver': 7.3.2 '@types/node': 16.18.126 '@types/pretty-hrtime': 1.0.3 - babel-loader: 8.4.1(@babel/core@7.27.7)(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))) + babel-loader: 8.4.1(@babel/core@7.27.1)(webpack@4.47.0) babel-plugin-macros: 3.1.0 - babel-plugin-polyfill-corejs3: 0.1.7(@babel/core@7.27.7) + babel-plugin-polyfill-corejs3: 0.1.7(@babel/core@7.27.1) chalk: 4.1.2 core-js: 3.48.0 express: 4.22.1 file-system-cache: 1.1.0 find-up: 5.0.0 - fork-ts-checker-webpack-plugin: 6.5.3(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3)(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))) + fork-ts-checker-webpack-plugin: 6.5.3(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3)(webpack@4.47.0) fs-extra: 9.1.0 glob: 7.2.3 handlebars: 4.7.8 @@ -31846,55 +36288,53 @@ snapshots: telejson: 6.0.8 ts-dedent: 2.2.0 util-deprecate: 1.0.2 - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19)) + webpack: 4.47.0 optionalDependencies: typescript: 5.8.3 transitivePeerDependencies: - - '@swc/core' - - esbuild - eslint - supports-color - - uglify-js - vue-template-compiler - webpack-cli - - '@storybook/core-common@6.5.16(@swc/core@1.15.18(@swc/helpers@0.5.19))(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)': - dependencies: - '@babel/core': 7.27.7 - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.27.7) - '@babel/plugin-proposal-decorators': 7.29.0(@babel/core@7.27.7) - '@babel/plugin-proposal-export-default-from': 7.27.1(@babel/core@7.27.7) - '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.27.7) - '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.27.7) - '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.27.7) - '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.27.7) - '@babel/plugin-proposal-private-property-in-object': 7.21.11(@babel/core@7.27.7) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.27.7) - '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.27.7) - '@babel/plugin-transform-block-scoping': 7.28.6(@babel/core@7.27.7) - '@babel/plugin-transform-classes': 7.28.6(@babel/core@7.27.7) - '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.27.7) - '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.27.7) - '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.27.7) - '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.27.7) - '@babel/plugin-transform-spread': 7.28.6(@babel/core@7.27.7) - '@babel/preset-env': 7.27.2(@babel/core@7.27.7) - '@babel/preset-react': 7.27.1(@babel/core@7.27.7) - '@babel/preset-typescript': 7.27.1(@babel/core@7.27.7) - '@babel/register': 7.28.6(@babel/core@7.27.7) + - webpack-command + + '@storybook/core-common@6.5.16(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)': + dependencies: + '@babel/core': 7.27.1 + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.27.1) + '@babel/plugin-proposal-decorators': 7.29.0(@babel/core@7.27.1) + '@babel/plugin-proposal-export-default-from': 7.27.1(@babel/core@7.27.1) + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.27.1) + '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.27.1) + '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.27.1) + '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.27.1) + '@babel/plugin-proposal-private-property-in-object': 7.21.11(@babel/core@7.27.1) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.27.1) + '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.27.1) + '@babel/plugin-transform-block-scoping': 7.28.6(@babel/core@7.27.1) + '@babel/plugin-transform-classes': 7.28.6(@babel/core@7.27.1) + '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.27.1) + '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.27.1) + '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.27.1) + '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.27.1) + '@babel/plugin-transform-spread': 7.28.6(@babel/core@7.27.1) + '@babel/preset-env': 7.27.2(@babel/core@7.27.1) + '@babel/preset-react': 7.27.1(@babel/core@7.27.1) + '@babel/preset-typescript': 7.27.1(@babel/core@7.27.1) + '@babel/register': 7.28.6(@babel/core@7.27.1) '@storybook/node-logger': 6.5.16 '@storybook/semver': 7.3.2 '@types/node': 16.18.126 '@types/pretty-hrtime': 1.0.3 - babel-loader: 8.4.1(@babel/core@7.27.7)(webpack@5.105.4) + babel-loader: 8.4.1(@babel/core@7.27.1)(webpack@4.47.0(webpack-cli@6.0.1)) babel-plugin-macros: 3.1.0 - babel-plugin-polyfill-corejs3: 0.1.7(@babel/core@7.27.7) + babel-plugin-polyfill-corejs3: 0.1.7(@babel/core@7.27.1) chalk: 4.1.2 core-js: 3.48.0 express: 4.22.1 file-system-cache: 1.1.0 find-up: 5.0.0 - fork-ts-checker-webpack-plugin: 6.5.3(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3)(webpack@5.105.4) + fork-ts-checker-webpack-plugin: 6.5.3(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3)(webpack@4.47.0(webpack-cli@6.0.1)) fs-extra: 9.1.0 glob: 7.2.3 handlebars: 4.7.8 @@ -31911,55 +36351,53 @@ snapshots: telejson: 6.0.8 ts-dedent: 2.2.0 util-deprecate: 1.0.2 - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) + webpack: 4.47.0(webpack-cli@6.0.1) optionalDependencies: typescript: 5.8.3 transitivePeerDependencies: - - '@swc/core' - - esbuild - eslint - supports-color - - uglify-js - vue-template-compiler - webpack-cli - - '@storybook/core-common@6.5.16(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)': - dependencies: - '@babel/core': 7.27.7 - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.27.7) - '@babel/plugin-proposal-decorators': 7.29.0(@babel/core@7.27.7) - '@babel/plugin-proposal-export-default-from': 7.27.1(@babel/core@7.27.7) - '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.27.7) - '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.27.7) - '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.27.7) - '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.27.7) - '@babel/plugin-proposal-private-property-in-object': 7.21.11(@babel/core@7.27.7) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.27.7) - '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.27.7) - '@babel/plugin-transform-block-scoping': 7.28.6(@babel/core@7.27.7) - '@babel/plugin-transform-classes': 7.28.6(@babel/core@7.27.7) - '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.27.7) - '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.27.7) - '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.27.7) - '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.27.7) - '@babel/plugin-transform-spread': 7.28.6(@babel/core@7.27.7) - '@babel/preset-env': 7.27.2(@babel/core@7.27.7) - '@babel/preset-react': 7.27.1(@babel/core@7.27.7) - '@babel/preset-typescript': 7.27.1(@babel/core@7.27.7) - '@babel/register': 7.28.6(@babel/core@7.27.7) - '@storybook/node-logger': 6.5.16 + - webpack-command + + '@storybook/core-common@6.5.9(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)': + dependencies: + '@babel/core': 7.27.1 + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.27.1) + '@babel/plugin-proposal-decorators': 7.29.0(@babel/core@7.27.1) + '@babel/plugin-proposal-export-default-from': 7.27.1(@babel/core@7.27.1) + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.27.1) + '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.27.1) + '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.27.1) + '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.27.1) + '@babel/plugin-proposal-private-property-in-object': 7.21.11(@babel/core@7.27.1) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.27.1) + '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.27.1) + '@babel/plugin-transform-block-scoping': 7.28.6(@babel/core@7.27.1) + '@babel/plugin-transform-classes': 7.28.6(@babel/core@7.27.1) + '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.27.1) + '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.27.1) + '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.27.1) + '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.27.1) + '@babel/plugin-transform-spread': 7.28.6(@babel/core@7.27.1) + '@babel/preset-env': 7.27.2(@babel/core@7.27.1) + '@babel/preset-react': 7.27.1(@babel/core@7.27.1) + '@babel/preset-typescript': 7.27.1(@babel/core@7.27.1) + '@babel/register': 7.28.6(@babel/core@7.27.1) + '@storybook/node-logger': 6.5.9 '@storybook/semver': 7.3.2 '@types/node': 16.18.126 '@types/pretty-hrtime': 1.0.3 - babel-loader: 8.4.1(@babel/core@7.27.7)(webpack@5.105.4) + babel-loader: 8.4.1(@babel/core@7.27.1)(webpack@4.47.0(webpack-cli@4.10.0)) babel-plugin-macros: 3.1.0 - babel-plugin-polyfill-corejs3: 0.1.7(@babel/core@7.27.7) + babel-plugin-polyfill-corejs3: 0.1.7(@babel/core@7.27.1) chalk: 4.1.2 core-js: 3.48.0 express: 4.22.1 file-system-cache: 1.1.0 find-up: 5.0.0 - fork-ts-checker-webpack-plugin: 6.5.3(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3)(webpack@5.105.4) + fork-ts-checker-webpack-plugin: 6.5.3(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3)(webpack@4.47.0(webpack-cli@4.10.0)) fs-extra: 9.1.0 glob: 7.2.3 handlebars: 4.7.8 @@ -31976,55 +36414,53 @@ snapshots: telejson: 6.0.8 ts-dedent: 2.2.0 util-deprecate: 1.0.2 - webpack: 5.105.4(webpack-cli@5.1.4) + webpack: 4.47.0(webpack-cli@4.10.0) optionalDependencies: typescript: 5.8.3 transitivePeerDependencies: - - '@swc/core' - - esbuild - eslint - supports-color - - uglify-js - vue-template-compiler - webpack-cli - - '@storybook/core-common@6.5.16(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)': - dependencies: - '@babel/core': 7.27.7 - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.27.7) - '@babel/plugin-proposal-decorators': 7.29.0(@babel/core@7.27.7) - '@babel/plugin-proposal-export-default-from': 7.27.1(@babel/core@7.27.7) - '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.27.7) - '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.27.7) - '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.27.7) - '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.27.7) - '@babel/plugin-proposal-private-property-in-object': 7.21.11(@babel/core@7.27.7) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.27.7) - '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.27.7) - '@babel/plugin-transform-block-scoping': 7.28.6(@babel/core@7.27.7) - '@babel/plugin-transform-classes': 7.28.6(@babel/core@7.27.7) - '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.27.7) - '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.27.7) - '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.27.7) - '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.27.7) - '@babel/plugin-transform-spread': 7.28.6(@babel/core@7.27.7) - '@babel/preset-env': 7.27.2(@babel/core@7.27.7) - '@babel/preset-react': 7.27.1(@babel/core@7.27.7) - '@babel/preset-typescript': 7.27.1(@babel/core@7.27.7) - '@babel/register': 7.28.6(@babel/core@7.27.7) - '@storybook/node-logger': 6.5.16 + - webpack-command + + '@storybook/core-common@6.5.9(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)': + dependencies: + '@babel/core': 7.27.1 + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.27.1) + '@babel/plugin-proposal-decorators': 7.29.0(@babel/core@7.27.1) + '@babel/plugin-proposal-export-default-from': 7.27.1(@babel/core@7.27.1) + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.27.1) + '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.27.1) + '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.27.1) + '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.27.1) + '@babel/plugin-proposal-private-property-in-object': 7.21.11(@babel/core@7.27.1) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.27.1) + '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.27.1) + '@babel/plugin-transform-block-scoping': 7.28.6(@babel/core@7.27.1) + '@babel/plugin-transform-classes': 7.28.6(@babel/core@7.27.1) + '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.27.1) + '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.27.1) + '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.27.1) + '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.27.1) + '@babel/plugin-transform-spread': 7.28.6(@babel/core@7.27.1) + '@babel/preset-env': 7.27.2(@babel/core@7.27.1) + '@babel/preset-react': 7.27.1(@babel/core@7.27.1) + '@babel/preset-typescript': 7.27.1(@babel/core@7.27.1) + '@babel/register': 7.28.6(@babel/core@7.27.1) + '@storybook/node-logger': 6.5.9 '@storybook/semver': 7.3.2 '@types/node': 16.18.126 '@types/pretty-hrtime': 1.0.3 - babel-loader: 8.4.1(@babel/core@7.27.7)(webpack@5.105.4) + babel-loader: 8.4.1(@babel/core@7.27.1)(webpack@4.47.0(webpack-cli@6.0.1)) babel-plugin-macros: 3.1.0 - babel-plugin-polyfill-corejs3: 0.1.7(@babel/core@7.27.7) + babel-plugin-polyfill-corejs3: 0.1.7(@babel/core@7.27.1) chalk: 4.1.2 core-js: 3.48.0 express: 4.22.1 file-system-cache: 1.1.0 find-up: 5.0.0 - fork-ts-checker-webpack-plugin: 6.5.3(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3)(webpack@5.105.4) + fork-ts-checker-webpack-plugin: 6.5.3(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3)(webpack@4.47.0(webpack-cli@6.0.1)) fs-extra: 9.1.0 glob: 7.2.3 handlebars: 4.7.8 @@ -32041,55 +36477,53 @@ snapshots: telejson: 6.0.8 ts-dedent: 2.2.0 util-deprecate: 1.0.2 - webpack: 5.105.4(webpack-cli@4.10.0) + webpack: 4.47.0(webpack-cli@6.0.1) optionalDependencies: typescript: 5.8.3 transitivePeerDependencies: - - '@swc/core' - - esbuild - eslint - supports-color - - uglify-js - vue-template-compiler - webpack-cli - - '@storybook/core-common@6.5.16(eslint@9.39.4(jiti@2.6.1))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.5)': - dependencies: - '@babel/core': 7.27.7 - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.27.7) - '@babel/plugin-proposal-decorators': 7.29.0(@babel/core@7.27.7) - '@babel/plugin-proposal-export-default-from': 7.27.1(@babel/core@7.27.7) - '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.27.7) - '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.27.7) - '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.27.7) - '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.27.7) - '@babel/plugin-proposal-private-property-in-object': 7.21.11(@babel/core@7.27.7) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.27.7) - '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.27.7) - '@babel/plugin-transform-block-scoping': 7.28.6(@babel/core@7.27.7) - '@babel/plugin-transform-classes': 7.28.6(@babel/core@7.27.7) - '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.27.7) - '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.27.7) - '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.27.7) - '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.27.7) - '@babel/plugin-transform-spread': 7.28.6(@babel/core@7.27.7) - '@babel/preset-env': 7.27.2(@babel/core@7.27.7) - '@babel/preset-react': 7.27.1(@babel/core@7.27.7) - '@babel/preset-typescript': 7.27.1(@babel/core@7.27.7) - '@babel/register': 7.28.6(@babel/core@7.27.7) - '@storybook/node-logger': 6.5.16 + - webpack-command + + '@storybook/core-common@6.5.9(eslint@9.39.4(jiti@2.6.1))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.4)': + dependencies: + '@babel/core': 7.27.1 + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.27.1) + '@babel/plugin-proposal-decorators': 7.29.0(@babel/core@7.27.1) + '@babel/plugin-proposal-export-default-from': 7.27.1(@babel/core@7.27.1) + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.27.1) + '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.27.1) + '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.27.1) + '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.27.1) + '@babel/plugin-proposal-private-property-in-object': 7.21.11(@babel/core@7.27.1) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.27.1) + '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.27.1) + '@babel/plugin-transform-block-scoping': 7.28.6(@babel/core@7.27.1) + '@babel/plugin-transform-classes': 7.28.6(@babel/core@7.27.1) + '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.27.1) + '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.27.1) + '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.27.1) + '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.27.1) + '@babel/plugin-transform-spread': 7.28.6(@babel/core@7.27.1) + '@babel/preset-env': 7.27.2(@babel/core@7.27.1) + '@babel/preset-react': 7.27.1(@babel/core@7.27.1) + '@babel/preset-typescript': 7.27.1(@babel/core@7.27.1) + '@babel/register': 7.28.6(@babel/core@7.27.1) + '@storybook/node-logger': 6.5.9 '@storybook/semver': 7.3.2 '@types/node': 16.18.126 '@types/pretty-hrtime': 1.0.3 - babel-loader: 8.4.1(@babel/core@7.27.7)(webpack@5.105.4) + babel-loader: 8.4.1(@babel/core@7.27.1)(webpack@4.47.0) babel-plugin-macros: 3.1.0 - babel-plugin-polyfill-corejs3: 0.1.7(@babel/core@7.27.7) + babel-plugin-polyfill-corejs3: 0.1.7(@babel/core@7.27.1) chalk: 4.1.2 core-js: 3.48.0 express: 4.22.1 file-system-cache: 1.1.0 find-up: 5.0.0 - fork-ts-checker-webpack-plugin: 6.5.3(eslint@9.39.4(jiti@2.6.1))(typescript@4.9.5)(webpack@5.105.4) + fork-ts-checker-webpack-plugin: 6.5.3(eslint@9.39.4(jiti@2.6.1))(typescript@4.9.4)(webpack@4.47.0) fs-extra: 9.1.0 glob: 7.2.3 handlebars: 4.7.8 @@ -32106,38 +36540,35 @@ snapshots: telejson: 6.0.8 ts-dedent: 2.2.0 util-deprecate: 1.0.2 - webpack: 5.105.4(webpack-cli@5.1.4) + webpack: 4.47.0 optionalDependencies: - typescript: 4.9.5 + typescript: 4.9.4 transitivePeerDependencies: - - '@swc/core' - - esbuild - eslint - supports-color - - uglify-js - vue-template-compiler - webpack-cli + - webpack-command - '@storybook/core-common@7.4.6(encoding@0.1.13)': + '@storybook/core-common@7.4.0(encoding@0.1.13)': dependencies: - '@storybook/core-events': 7.4.6 - '@storybook/node-logger': 7.4.6 - '@storybook/types': 7.4.6 + '@storybook/node-logger': 7.4.0 + '@storybook/types': 7.4.0 '@types/find-cache-dir': 3.2.1 '@types/node': 16.18.126 '@types/node-fetch': 2.6.13 '@types/pretty-hrtime': 1.0.3 chalk: 4.1.2 - esbuild: 0.25.12 - esbuild-register: 3.6.0(esbuild@0.25.12) + esbuild: 0.18.20 + esbuild-register: 3.6.0(esbuild@0.18.20) file-system-cache: 2.3.0 find-cache-dir: 3.3.2 find-up: 5.0.0 - fs-extra: 11.3.4 + fs-extra: 11.3.0 glob: 10.5.0 handlebars: 4.7.8 lazy-universal-dotenv: 4.0.0 - node-fetch: 2.6.13(encoding@0.1.13) + node-fetch: 2.6.7(encoding@0.1.13) picomatch: 2.3.1 pkg-dir: 5.0.0 pretty-hrtime: 1.0.3 @@ -32147,26 +36578,26 @@ snapshots: - encoding - supports-color - '@storybook/core-common@7.6.24(encoding@0.1.13)': + '@storybook/core-common@7.6.10(encoding@0.1.13)': dependencies: - '@storybook/core-events': 7.6.24 - '@storybook/node-logger': 7.6.24 - '@storybook/types': 7.6.24 + '@storybook/core-events': 7.6.10 + '@storybook/node-logger': 7.6.10 + '@storybook/types': 7.6.10 '@types/find-cache-dir': 3.2.1 - '@types/node': 18.19.130 + '@types/node': 18.18.7 '@types/node-fetch': 2.6.13 '@types/pretty-hrtime': 1.0.3 chalk: 4.1.2 - esbuild: 0.25.12 - esbuild-register: 3.6.0(esbuild@0.25.12) + esbuild: 0.18.20 + esbuild-register: 3.6.0(esbuild@0.18.20) file-system-cache: 2.3.0 find-cache-dir: 3.3.2 find-up: 5.0.0 - fs-extra: 11.3.4 + fs-extra: 11.3.0 glob: 10.5.0 handlebars: 4.7.8 lazy-universal-dotenv: 4.0.0 - node-fetch: 2.6.13(encoding@0.1.13) + node-fetch: 2.6.7(encoding@0.1.13) picomatch: 2.3.1 pkg-dir: 5.0.0 pretty-hrtime: 1.0.3 @@ -32176,98 +36607,138 @@ snapshots: - encoding - supports-color + '@storybook/core-events@6.3.7': + dependencies: + core-js: 3.48.0 + '@storybook/core-events@6.5.16': dependencies: core-js: 3.48.0 - '@storybook/core-events@7.4.6': + '@storybook/core-events@6.5.9': + dependencies: + core-js: 3.48.0 + + '@storybook/core-events@7.4.0': dependencies: ts-dedent: 2.2.0 - '@storybook/core-events@7.6.24': + '@storybook/core-events@7.6.10': dependencies: ts-dedent: 2.2.0 - '@storybook/core-server@6.5.16(@storybook/builder-webpack5@6.5.16(@swc/core@1.15.18(@swc/helpers@0.5.19))(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(@storybook/manager-webpack5@6.5.16(@swc/core@1.15.18(@swc/helpers@0.5.19))(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(@swc/core@1.15.18(@swc/helpers@0.5.19))(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)': + '@storybook/core-server@6.3.7(@babel/core@7.27.1)(@types/react@18.2.0)(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)': dependencies: - '@discoveryjs/json-ext': 0.5.7 - '@storybook/builder-webpack4': 6.5.16(@swc/core@1.15.18(@swc/helpers@0.5.19))(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) - '@storybook/core-client': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.105.4) - '@storybook/core-common': 6.5.16(@swc/core@1.15.18(@swc/helpers@0.5.19))(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) - '@storybook/core-events': 6.5.16 - '@storybook/csf': 0.0.2--canary.4566f4d.1 - '@storybook/csf-tools': 6.5.16 - '@storybook/manager-webpack4': 6.5.16(@swc/core@1.15.18(@swc/helpers@0.5.19))(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) - '@storybook/node-logger': 6.5.16 + '@storybook/builder-webpack4': 6.3.7(@types/react@18.2.0)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) + '@storybook/core-client': 6.3.7(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@4.47.0) + '@storybook/core-common': 6.3.7(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) + '@storybook/csf-tools': 6.3.7(@babel/core@7.27.1) + '@storybook/manager-webpack4': 6.3.7(@types/react@18.2.0)(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) + '@storybook/node-logger': 6.3.7 '@storybook/semver': 7.3.2 - '@storybook/store': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/telemetry': 6.5.16(@swc/core@1.15.18(@swc/helpers@0.5.19))(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) - '@types/node': 16.18.126 + '@types/node': 14.18.63 '@types/node-fetch': 2.6.13 '@types/pretty-hrtime': 1.0.3 '@types/webpack': 4.41.40 better-opn: 2.1.1 - boxen: 5.1.2 + boxen: 4.2.0 chalk: 4.1.2 - cli-table3: 0.6.5 + cli-table3: 0.6.0 commander: 6.2.1 compression: 1.8.1 core-js: 3.48.0 cpy: 8.1.2 detect-port: 1.6.1 express: 4.22.1 + file-system-cache: 1.1.0 fs-extra: 9.1.0 - global: 4.4.0 globby: 11.1.0 - ip: 2.0.1 - lodash: 4.17.23 - node-fetch: 2.6.13(encoding@0.1.13) - open: 8.4.2 + ip: 1.1.9 + node-fetch: 2.6.7(encoding@0.1.13) pretty-hrtime: 1.0.3 prompts: 2.4.2 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) regenerator-runtime: 0.13.11 serve-favicon: 2.5.1 - slash: 3.0.0 - telejson: 6.0.8 ts-dedent: 2.2.0 util-deprecate: 1.0.2 - watchpack: 2.5.1 - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) - ws: 8.19.0 - x-default-browser: 0.4.0 + webpack: 4.47.0 optionalDependencies: - '@storybook/builder-webpack5': 6.5.16(@swc/core@1.15.18(@swc/helpers@0.5.19))(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) - '@storybook/manager-webpack5': 6.5.16(@swc/core@1.15.18(@swc/helpers@0.5.19))(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) typescript: 5.8.3 transitivePeerDependencies: - - '@storybook/mdx2-csf' - - '@swc/core' - - bufferutil + - '@babel/core' + - '@types/react' + - encoding + - eslint + - supports-color + - vue-template-compiler + - webpack-cli + - webpack-command + + '@storybook/core-server@6.3.7(@babel/core@7.29.0)(@types/react@18.2.0)(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)': + dependencies: + '@storybook/builder-webpack4': 6.3.7(@types/react@18.2.0)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) + '@storybook/core-client': 6.3.7(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@4.47.0) + '@storybook/core-common': 6.3.7(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) + '@storybook/csf-tools': 6.3.7(@babel/core@7.29.0) + '@storybook/manager-webpack4': 6.3.7(@types/react@18.2.0)(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) + '@storybook/node-logger': 6.3.7 + '@storybook/semver': 7.3.2 + '@types/node': 14.18.63 + '@types/node-fetch': 2.6.13 + '@types/pretty-hrtime': 1.0.3 + '@types/webpack': 4.41.40 + better-opn: 2.1.1 + boxen: 4.2.0 + chalk: 4.1.2 + cli-table3: 0.6.0 + commander: 6.2.1 + compression: 1.8.1 + core-js: 3.48.0 + cpy: 8.1.2 + detect-port: 1.6.1 + express: 4.22.1 + file-system-cache: 1.1.0 + fs-extra: 9.1.0 + globby: 11.1.0 + ip: 1.1.9 + node-fetch: 2.6.7(encoding@0.1.13) + pretty-hrtime: 1.0.3 + prompts: 2.4.2 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + regenerator-runtime: 0.13.11 + serve-favicon: 2.5.1 + ts-dedent: 2.2.0 + util-deprecate: 1.0.2 + webpack: 4.47.0 + optionalDependencies: + typescript: 5.8.3 + transitivePeerDependencies: + - '@babel/core' + - '@types/react' - encoding - - esbuild - eslint - supports-color - - uglify-js - - utf-8-validate - vue-template-compiler - webpack-cli + - webpack-command - '@storybook/core-server@6.5.16(@storybook/builder-webpack5@6.5.16(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0))(@storybook/manager-webpack5@6.5.16(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0))(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)': + '@storybook/core-server@6.5.16(@storybook/builder-webpack5@6.5.16(@swc/core@1.15.18(@swc/helpers@0.5.19))(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(@storybook/manager-webpack5@6.5.9(@swc/core@1.15.18(@swc/helpers@0.5.19))(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)': dependencies: '@discoveryjs/json-ext': 0.5.7 - '@storybook/builder-webpack4': 6.5.16(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) - '@storybook/core-client': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.105.4) - '@storybook/core-common': 6.5.16(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) + '@storybook/builder-webpack4': 6.5.16(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) + '@storybook/core-client': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@4.47.0(webpack-cli@6.0.1)) + '@storybook/core-common': 6.5.16(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) '@storybook/core-events': 6.5.16 '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/csf-tools': 6.5.16 - '@storybook/manager-webpack4': 6.5.16(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) + '@storybook/manager-webpack4': 6.5.16(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) '@storybook/node-logger': 6.5.16 '@storybook/semver': 7.3.2 '@storybook/store': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/telemetry': 6.5.16(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) + '@storybook/telemetry': 6.5.16(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) '@types/node': 16.18.126 '@types/node-fetch': 2.6.13 '@types/pretty-hrtime': 1.0.3 @@ -32287,7 +36758,7 @@ snapshots: globby: 11.1.0 ip: 2.0.1 lodash: 4.17.23 - node-fetch: 2.6.13(encoding@0.1.13) + node-fetch: 2.6.7(encoding@0.1.13) open: 8.4.2 pretty-hrtime: 1.0.3 prompts: 2.4.2 @@ -32300,40 +36771,38 @@ snapshots: ts-dedent: 2.2.0 util-deprecate: 1.0.2 watchpack: 2.5.1 - webpack: 5.105.4(webpack-cli@4.10.0) + webpack: 4.47.0(webpack-cli@6.0.1) ws: 8.19.0 x-default-browser: 0.4.0 optionalDependencies: - '@storybook/builder-webpack5': 6.5.16(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) - '@storybook/manager-webpack5': 6.5.16(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) + '@storybook/builder-webpack5': 6.5.16(@swc/core@1.15.18(@swc/helpers@0.5.19))(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) + '@storybook/manager-webpack5': 6.5.9(@swc/core@1.15.18(@swc/helpers@0.5.19))(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) typescript: 5.8.3 transitivePeerDependencies: - '@storybook/mdx2-csf' - - '@swc/core' - bufferutil - encoding - - esbuild - eslint - supports-color - - uglify-js - utf-8-validate - vue-template-compiler - webpack-cli + - webpack-command - '@storybook/core-server@6.5.16(@swc/core@1.15.18(@swc/helpers@0.5.19))(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)': + '@storybook/core-server@6.5.16(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)': dependencies: '@discoveryjs/json-ext': 0.5.7 - '@storybook/builder-webpack4': 6.5.16(@swc/core@1.15.18(@swc/helpers@0.5.19))(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) - '@storybook/core-client': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))) - '@storybook/core-common': 6.5.16(@swc/core@1.15.18(@swc/helpers@0.5.19))(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) + '@storybook/builder-webpack4': 6.5.16(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) + '@storybook/core-client': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@4.47.0) + '@storybook/core-common': 6.5.16(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) '@storybook/core-events': 6.5.16 '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/csf-tools': 6.5.16 - '@storybook/manager-webpack4': 6.5.16(@swc/core@1.15.18(@swc/helpers@0.5.19))(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) + '@storybook/manager-webpack4': 6.5.16(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) '@storybook/node-logger': 6.5.16 '@storybook/semver': 7.3.2 '@storybook/store': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/telemetry': 6.5.16(@swc/core@1.15.18(@swc/helpers@0.5.19))(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) + '@storybook/telemetry': 6.5.16(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) '@types/node': 16.18.126 '@types/node-fetch': 2.6.13 '@types/pretty-hrtime': 1.0.3 @@ -32353,7 +36822,7 @@ snapshots: globby: 11.1.0 ip: 2.0.1 lodash: 4.17.23 - node-fetch: 2.6.13(encoding@0.1.13) + node-fetch: 2.6.7(encoding@0.1.13) open: 8.4.2 pretty-hrtime: 1.0.3 prompts: 2.4.2 @@ -32366,38 +36835,36 @@ snapshots: ts-dedent: 2.2.0 util-deprecate: 1.0.2 watchpack: 2.5.1 - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19)) + webpack: 4.47.0 ws: 8.19.0 x-default-browser: 0.4.0 optionalDependencies: typescript: 5.8.3 transitivePeerDependencies: - '@storybook/mdx2-csf' - - '@swc/core' - bufferutil - encoding - - esbuild - eslint - supports-color - - uglify-js - utf-8-validate - vue-template-compiler - webpack-cli + - webpack-command - '@storybook/core-server@6.5.16(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)': + '@storybook/core-server@6.5.9(@storybook/builder-webpack5@6.5.9(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0))(@storybook/manager-webpack5@6.5.9(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0))(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)': dependencies: '@discoveryjs/json-ext': 0.5.7 - '@storybook/builder-webpack4': 6.5.16(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) - '@storybook/core-client': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.105.4) - '@storybook/core-common': 6.5.16(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) - '@storybook/core-events': 6.5.16 + '@storybook/builder-webpack4': 6.5.9(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) + '@storybook/core-client': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@4.47.0(webpack-cli@4.10.0)) + '@storybook/core-common': 6.5.9(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) + '@storybook/core-events': 6.5.9 '@storybook/csf': 0.0.2--canary.4566f4d.1 - '@storybook/csf-tools': 6.5.16 - '@storybook/manager-webpack4': 6.5.16(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) - '@storybook/node-logger': 6.5.16 + '@storybook/csf-tools': 6.5.9 + '@storybook/manager-webpack4': 6.5.9(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) + '@storybook/node-logger': 6.5.9 '@storybook/semver': 7.3.2 - '@storybook/store': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/telemetry': 6.5.16(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) + '@storybook/store': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/telemetry': 6.5.9(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) '@types/node': 16.18.126 '@types/node-fetch': 2.6.13 '@types/pretty-hrtime': 1.0.3 @@ -32417,7 +36884,7 @@ snapshots: globby: 11.1.0 ip: 2.0.1 lodash: 4.17.23 - node-fetch: 2.6.13(encoding@0.1.13) + node-fetch: 2.6.7(encoding@0.1.13) open: 8.4.2 pretty-hrtime: 1.0.3 prompts: 2.4.2 @@ -32430,38 +36897,38 @@ snapshots: ts-dedent: 2.2.0 util-deprecate: 1.0.2 watchpack: 2.5.1 - webpack: 5.105.4(webpack-cli@5.1.4) + webpack: 4.47.0(webpack-cli@4.10.0) ws: 8.19.0 x-default-browser: 0.4.0 optionalDependencies: + '@storybook/builder-webpack5': 6.5.9(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) + '@storybook/manager-webpack5': 6.5.9(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) typescript: 5.8.3 transitivePeerDependencies: - '@storybook/mdx2-csf' - - '@swc/core' - bufferutil - encoding - - esbuild - eslint - supports-color - - uglify-js - utf-8-validate - vue-template-compiler - webpack-cli + - webpack-command - '@storybook/core-server@6.5.16(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.5)': + '@storybook/core-server@6.5.9(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.4)': dependencies: '@discoveryjs/json-ext': 0.5.7 - '@storybook/builder-webpack4': 6.5.16(eslint@9.39.4(jiti@2.6.1))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.5) - '@storybook/core-client': 6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.5)(webpack@5.105.4) - '@storybook/core-common': 6.5.16(eslint@9.39.4(jiti@2.6.1))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.5) - '@storybook/core-events': 6.5.16 + '@storybook/builder-webpack4': 6.5.9(eslint@9.39.4(jiti@2.6.1))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.4) + '@storybook/core-client': 6.5.9(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.4)(webpack@4.47.0) + '@storybook/core-common': 6.5.9(eslint@9.39.4(jiti@2.6.1))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.4) + '@storybook/core-events': 6.5.9 '@storybook/csf': 0.0.2--canary.4566f4d.1 - '@storybook/csf-tools': 6.5.16 - '@storybook/manager-webpack4': 6.5.16(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.5) - '@storybook/node-logger': 6.5.16 + '@storybook/csf-tools': 6.5.9 + '@storybook/manager-webpack4': 6.5.9(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.4) + '@storybook/node-logger': 6.5.9 '@storybook/semver': 7.3.2 - '@storybook/store': 6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@storybook/telemetry': 6.5.16(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.5) + '@storybook/store': 6.5.9(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/telemetry': 6.5.9(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.4) '@types/node': 16.18.126 '@types/node-fetch': 2.6.13 '@types/pretty-hrtime': 1.0.3 @@ -32481,7 +36948,7 @@ snapshots: globby: 11.1.0 ip: 2.0.1 lodash: 4.17.23 - node-fetch: 2.6.13(encoding@0.1.13) + node-fetch: 2.6.7(encoding@0.1.13) open: 8.4.2 pretty-hrtime: 1.0.3 prompts: 2.4.2 @@ -32494,43 +36961,41 @@ snapshots: ts-dedent: 2.2.0 util-deprecate: 1.0.2 watchpack: 2.5.1 - webpack: 5.105.4(webpack-cli@5.1.4) + webpack: 4.47.0 ws: 8.19.0 x-default-browser: 0.4.0 optionalDependencies: - typescript: 4.9.5 + typescript: 4.9.4 transitivePeerDependencies: - '@storybook/mdx2-csf' - - '@swc/core' - bufferutil - encoding - - esbuild - eslint - supports-color - - uglify-js - utf-8-validate - vue-template-compiler - webpack-cli + - webpack-command - '@storybook/core-server@7.6.24(encoding@0.1.13)': + '@storybook/core-server@7.6.10(encoding@0.1.13)': dependencies: '@aw-web-design/x-default-browser': 1.4.126 '@discoveryjs/json-ext': 0.5.7 - '@storybook/builder-manager': 7.6.24(encoding@0.1.13) - '@storybook/channels': 7.6.24 - '@storybook/core-common': 7.6.24(encoding@0.1.13) - '@storybook/core-events': 7.6.24 + '@storybook/builder-manager': 7.6.10(encoding@0.1.13) + '@storybook/channels': 7.6.10 + '@storybook/core-common': 7.6.10(encoding@0.1.13) + '@storybook/core-events': 7.6.10 '@storybook/csf': 0.1.13 - '@storybook/csf-tools': 7.6.24 + '@storybook/csf-tools': 7.6.10 '@storybook/docs-mdx': 0.1.0 '@storybook/global': 5.0.0 - '@storybook/manager': 7.6.24 - '@storybook/node-logger': 7.6.24 - '@storybook/preview-api': 7.6.24 - '@storybook/telemetry': 7.6.24(encoding@0.1.13) - '@storybook/types': 7.6.24 + '@storybook/manager': 7.6.10 + '@storybook/node-logger': 7.6.10 + '@storybook/preview-api': 7.6.10 + '@storybook/telemetry': 7.6.10(encoding@0.1.13) + '@storybook/types': 7.6.10 '@types/detect-port': 1.3.5 - '@types/node': 18.19.130 + '@types/node': 18.18.7 '@types/pretty-hrtime': 1.0.3 '@types/semver': 7.7.1 better-opn: 3.0.2 @@ -32539,8 +37004,9 @@ snapshots: compression: 1.8.1 detect-port: 1.6.1 express: 4.22.1 - fs-extra: 11.3.4 + fs-extra: 11.3.0 globby: 11.1.0 + ip: 2.0.1 lodash: 4.17.23 open: 8.4.2 pretty-hrtime: 1.0.3 @@ -32571,128 +37037,158 @@ snapshots: - encoding - supports-color - '@storybook/core-webpack@8.6.18(storybook@8.6.18(prettier@3.5.3))': + '@storybook/core-webpack@8.6.14(storybook@8.6.14(prettier@3.5.3))': dependencies: - storybook: 8.6.18(prettier@3.5.3) + storybook: 8.6.14(prettier@3.5.3) ts-dedent: 2.2.0 - '@storybook/core@6.5.16(@storybook/builder-webpack5@6.5.16(@swc/core@1.15.18(@swc/helpers@0.5.19))(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(@storybook/manager-webpack5@6.5.16(@swc/core@1.15.18(@swc/helpers@0.5.19))(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(@swc/core@1.15.18(@swc/helpers@0.5.19))(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)(webpack@5.105.4)': + '@storybook/core@6.3.7(@babel/core@7.27.1)(@types/react@18.2.0)(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@4.47.0)': dependencies: - '@storybook/core-client': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.105.4) - '@storybook/core-server': 6.5.16(@storybook/builder-webpack5@6.5.16(@swc/core@1.15.18(@swc/helpers@0.5.19))(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(@storybook/manager-webpack5@6.5.16(@swc/core@1.15.18(@swc/helpers@0.5.19))(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(@swc/core@1.15.18(@swc/helpers@0.5.19))(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) + '@storybook/core-client': 6.3.7(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@4.47.0) + '@storybook/core-server': 6.3.7(@babel/core@7.27.1)(@types/react@18.2.0)(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) + optionalDependencies: + typescript: 5.8.3 + transitivePeerDependencies: + - '@babel/core' + - '@storybook/manager-webpack5' + - '@types/react' + - encoding + - eslint + - supports-color + - vue-template-compiler + - webpack + - webpack-cli + - webpack-command + + '@storybook/core@6.3.7(@babel/core@7.29.0)(@types/react@18.2.0)(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@4.47.0)': + dependencies: + '@storybook/core-client': 6.3.7(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@4.47.0) + '@storybook/core-server': 6.3.7(@babel/core@7.29.0)(@types/react@18.2.0)(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + optionalDependencies: + typescript: 5.8.3 + transitivePeerDependencies: + - '@babel/core' + - '@storybook/manager-webpack5' + - '@types/react' + - encoding + - eslint + - supports-color + - vue-template-compiler + - webpack + - webpack-cli + - webpack-command + + '@storybook/core@6.5.16(@storybook/builder-webpack5@6.5.16(@swc/core@1.15.18(@swc/helpers@0.5.19))(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(@storybook/manager-webpack5@6.5.9(@swc/core@1.15.18(@swc/helpers@0.5.19))(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)(webpack@5.104.1)': + dependencies: + '@storybook/core-client': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.104.1) + '@storybook/core-server': 6.5.16(@storybook/builder-webpack5@6.5.16(@swc/core@1.15.18(@swc/helpers@0.5.19))(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(@storybook/manager-webpack5@6.5.9(@swc/core@1.15.18(@swc/helpers@0.5.19))(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + webpack: 5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) optionalDependencies: '@storybook/builder-webpack5': 6.5.16(@swc/core@1.15.18(@swc/helpers@0.5.19))(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) - '@storybook/manager-webpack5': 6.5.16(@swc/core@1.15.18(@swc/helpers@0.5.19))(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) + '@storybook/manager-webpack5': 6.5.9(@swc/core@1.15.18(@swc/helpers@0.5.19))(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) typescript: 5.8.3 transitivePeerDependencies: - '@storybook/mdx2-csf' - - '@swc/core' - bufferutil - encoding - - esbuild - eslint - supports-color - - uglify-js - utf-8-validate - vue-template-compiler - webpack-cli + - webpack-command - '@storybook/core@6.5.16(@storybook/builder-webpack5@6.5.16(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0))(@storybook/manager-webpack5@6.5.16(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0))(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)(webpack@5.105.4)': + '@storybook/core@6.5.16(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19)))': dependencies: - '@storybook/core-client': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.105.4) - '@storybook/core-server': 6.5.16(@storybook/builder-webpack5@6.5.16(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0))(@storybook/manager-webpack5@6.5.16(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0))(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) + '@storybook/core-client': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))) + '@storybook/core-server': 6.5.16(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - webpack: 5.105.4(webpack-cli@4.10.0) + webpack: 5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19)) optionalDependencies: - '@storybook/builder-webpack5': 6.5.16(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) - '@storybook/manager-webpack5': 6.5.16(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) typescript: 5.8.3 transitivePeerDependencies: - '@storybook/mdx2-csf' - - '@swc/core' - bufferutil - encoding - - esbuild - eslint - supports-color - - uglify-js - utf-8-validate - vue-template-compiler - webpack-cli + - webpack-command - '@storybook/core@6.5.16(@swc/core@1.15.18(@swc/helpers@0.5.19))(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19)))': + '@storybook/core@6.5.16(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.104.1)': dependencies: - '@storybook/core-client': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))) - '@storybook/core-server': 6.5.16(@swc/core@1.15.18(@swc/helpers@0.5.19))(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) + '@storybook/core-client': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.104.1) + '@storybook/core-server': 6.5.16(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19)) + webpack: 5.104.1(webpack-cli@5.1.4) optionalDependencies: typescript: 5.8.3 transitivePeerDependencies: - '@storybook/mdx2-csf' - - '@swc/core' - bufferutil - encoding - - esbuild - eslint - supports-color - - uglify-js - utf-8-validate - vue-template-compiler - webpack-cli + - webpack-command - '@storybook/core@6.5.16(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.105.4)': + '@storybook/core@6.5.9(@storybook/builder-webpack5@6.5.9(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0))(@storybook/manager-webpack5@6.5.9(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0))(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)(webpack@5.104.1)': dependencies: - '@storybook/core-client': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.105.4) - '@storybook/core-server': 6.5.16(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) + '@storybook/core-client': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.104.1) + '@storybook/core-server': 6.5.9(@storybook/builder-webpack5@6.5.9(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0))(@storybook/manager-webpack5@6.5.9(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0))(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - webpack: 5.105.4(webpack-cli@5.1.4) + webpack: 5.104.1(webpack-cli@4.10.0) optionalDependencies: + '@storybook/builder-webpack5': 6.5.9(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) + '@storybook/manager-webpack5': 6.5.9(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) typescript: 5.8.3 transitivePeerDependencies: - '@storybook/mdx2-csf' - - '@swc/core' - bufferutil - encoding - - esbuild - eslint - supports-color - - uglify-js - utf-8-validate - vue-template-compiler - webpack-cli + - webpack-command - '@storybook/core@6.5.16(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.5)(webpack@5.105.4)': + '@storybook/core@6.5.9(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.4)(webpack@5.104.1)': dependencies: - '@storybook/core-client': 6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.5)(webpack@5.105.4) - '@storybook/core-server': 6.5.16(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.5) + '@storybook/core-client': 6.5.9(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.4)(webpack@5.104.1) + '@storybook/core-server': 6.5.9(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.4) react: 19.1.0 react-dom: 19.1.0(react@19.1.0) - webpack: 5.105.4(webpack-cli@5.1.4) + webpack: 5.104.1(webpack-cli@5.1.4) optionalDependencies: - typescript: 4.9.5 + typescript: 4.9.4 transitivePeerDependencies: - '@storybook/mdx2-csf' - - '@swc/core' - bufferutil - encoding - - esbuild - eslint - supports-color - - uglify-js - utf-8-validate - vue-template-compiler - webpack-cli + - webpack-command - '@storybook/core@8.6.18(prettier@3.5.3)(storybook@8.6.18(prettier@3.5.3))': + '@storybook/core@8.6.13(prettier@3.5.3)(storybook@8.6.13(prettier@3.5.3))': dependencies: - '@storybook/theming': 8.6.18(storybook@8.6.18(prettier@3.5.3)) + '@storybook/theming': 8.6.13(storybook@8.6.13(prettier@3.5.3)) better-opn: 3.0.2 browser-assert: 1.2.1 esbuild: 0.25.12 @@ -32711,34 +37207,90 @@ snapshots: - supports-color - utf-8-validate - '@storybook/csf-plugin@7.4.6': + '@storybook/core@8.6.14(prettier@3.5.3)(storybook@8.6.14(prettier@3.5.3))': dependencies: - '@storybook/csf-tools': 7.4.6 - unplugin: 1.16.1 + '@storybook/theming': 8.6.14(storybook@8.6.14(prettier@3.5.3)) + better-opn: 3.0.2 + browser-assert: 1.2.1 + esbuild: 0.25.12 + esbuild-register: 3.6.0(esbuild@0.25.12) + jsdoc-type-pratt-parser: 4.8.0 + process: 0.11.10 + recast: 0.23.11 + semver: 7.7.4 + util: 0.12.5 + ws: 8.19.0 + optionalDependencies: + prettier: 3.5.3 transitivePeerDependencies: + - bufferutil + - storybook - supports-color + - utf-8-validate - '@storybook/csf-plugin@8.6.14(storybook@8.6.18(prettier@3.5.3))': + '@storybook/csf-plugin@7.4.0': dependencies: - storybook: 8.6.18(prettier@3.5.3) + '@storybook/csf-tools': 7.4.0 unplugin: 1.16.1 + transitivePeerDependencies: + - supports-color - '@storybook/csf-plugin@8.6.18(storybook@8.6.18(prettier@3.5.3))': + '@storybook/csf-plugin@8.6.14(storybook@8.6.14(prettier@3.5.3))': dependencies: - storybook: 8.6.18(prettier@3.5.3) + storybook: 8.6.14(prettier@3.5.3) unplugin: 1.16.1 + '@storybook/csf-tools@6.3.7(@babel/core@7.27.1)': + dependencies: + '@babel/generator': 7.29.1 + '@babel/parser': 7.29.0 + '@babel/plugin-transform-react-jsx': 7.28.6(@babel/core@7.27.1) + '@babel/preset-env': 7.27.2(@babel/core@7.27.1) + '@babel/traverse': 7.29.0 + '@babel/types': 7.29.0 + '@mdx-js/mdx': 1.6.22 + '@storybook/csf': 0.0.1 + core-js: 3.48.0 + fs-extra: 9.1.0 + js-string-escape: 1.0.1 + lodash: 4.17.23 + prettier: 2.2.1 + regenerator-runtime: 0.13.11 + transitivePeerDependencies: + - '@babel/core' + - supports-color + + '@storybook/csf-tools@6.3.7(@babel/core@7.29.0)': + dependencies: + '@babel/generator': 7.29.1 + '@babel/parser': 7.29.0 + '@babel/plugin-transform-react-jsx': 7.28.6(@babel/core@7.29.0) + '@babel/preset-env': 7.27.2(@babel/core@7.29.0) + '@babel/traverse': 7.29.0 + '@babel/types': 7.29.0 + '@mdx-js/mdx': 1.6.22 + '@storybook/csf': 0.0.1 + core-js: 3.48.0 + fs-extra: 9.1.0 + js-string-escape: 1.0.1 + lodash: 4.17.23 + prettier: 2.2.1 + regenerator-runtime: 0.13.11 + transitivePeerDependencies: + - '@babel/core' + - supports-color + '@storybook/csf-tools@6.5.16': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 '@babel/generator': 7.29.1 '@babel/parser': 7.29.0 - '@babel/plugin-transform-react-jsx': 7.28.6(@babel/core@7.27.7) - '@babel/preset-env': 7.27.2(@babel/core@7.27.7) + '@babel/plugin-transform-react-jsx': 7.28.6(@babel/core@7.27.1) + '@babel/preset-env': 7.27.2(@babel/core@7.27.1) '@babel/traverse': 7.29.0 '@babel/types': 7.29.0 '@storybook/csf': 0.0.2--canary.4566f4d.1 - '@storybook/mdx1-csf': 0.0.1(@babel/core@7.27.7) + '@storybook/mdx1-csf': 0.0.1(@babel/core@7.27.1) core-js: 3.48.0 fs-extra: 9.1.0 global: 4.4.0 @@ -32747,29 +37299,48 @@ snapshots: transitivePeerDependencies: - supports-color - '@storybook/csf-tools@7.4.6': + '@storybook/csf-tools@6.5.9': + dependencies: + '@babel/core': 7.27.1 + '@babel/generator': 7.29.1 + '@babel/parser': 7.29.0 + '@babel/plugin-transform-react-jsx': 7.28.6(@babel/core@7.27.1) + '@babel/preset-env': 7.27.2(@babel/core@7.27.1) + '@babel/traverse': 7.29.0 + '@babel/types': 7.29.0 + '@storybook/csf': 0.0.2--canary.4566f4d.1 + '@storybook/mdx1-csf': 0.0.1(@babel/core@7.27.1) + core-js: 3.48.0 + fs-extra: 9.1.0 + global: 4.4.0 + regenerator-runtime: 0.13.11 + ts-dedent: 2.2.0 + transitivePeerDependencies: + - supports-color + + '@storybook/csf-tools@7.4.0': dependencies: '@babel/generator': 7.29.1 '@babel/parser': 7.29.0 '@babel/traverse': 7.29.0 '@babel/types': 7.29.0 '@storybook/csf': 0.1.13 - '@storybook/types': 7.4.6 - fs-extra: 11.3.4 + '@storybook/types': 7.4.0 + fs-extra: 11.3.0 recast: 0.23.11 ts-dedent: 2.2.0 transitivePeerDependencies: - supports-color - '@storybook/csf-tools@7.6.24': + '@storybook/csf-tools@7.6.10': dependencies: '@babel/generator': 7.29.1 '@babel/parser': 7.29.0 '@babel/traverse': 7.29.0 '@babel/types': 7.29.0 '@storybook/csf': 0.1.13 - '@storybook/types': 7.6.24 - fs-extra: 11.3.4 + '@storybook/types': 7.6.10 + fs-extra: 11.3.0 recast: 0.23.11 ts-dedent: 2.2.0 transitivePeerDependencies: @@ -32791,7 +37362,7 @@ snapshots: '@storybook/docs-tools@6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/store': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) core-js: 3.48.0 @@ -32803,11 +37374,11 @@ snapshots: - react-dom - supports-color - '@storybook/docs-tools@6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@storybook/docs-tools@6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 '@storybook/csf': 0.0.2--canary.4566f4d.1 - '@storybook/store': 6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/store': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) core-js: 3.48.0 doctrine: 3.0.0 lodash: 4.17.23 @@ -32817,11 +37388,25 @@ snapshots: - react-dom - supports-color - '@storybook/docs-tools@7.4.6(encoding@0.1.13)': + '@storybook/docs-tools@6.5.9(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@storybook/core-common': 7.4.6(encoding@0.1.13) - '@storybook/preview-api': 7.4.6 - '@storybook/types': 7.4.6 + '@babel/core': 7.27.1 + '@storybook/csf': 0.0.2--canary.4566f4d.1 + '@storybook/store': 6.5.9(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + core-js: 3.48.0 + doctrine: 3.0.0 + lodash: 4.17.23 + regenerator-runtime: 0.13.11 + transitivePeerDependencies: + - react + - react-dom + - supports-color + + '@storybook/docs-tools@7.4.0(encoding@0.1.13)': + dependencies: + '@storybook/core-common': 7.4.0(encoding@0.1.13) + '@storybook/preview-api': 7.4.0 + '@storybook/types': 7.4.0 '@types/doctrine': 0.0.3 doctrine: 3.0.0 lodash: 4.17.23 @@ -32841,28 +37426,22 @@ snapshots: react: 19.1.0 react-dom: 19.1.0(react@19.1.0) - '@storybook/instrumenter@8.6.14(storybook@8.6.18(prettier@3.5.3))': - dependencies: - '@storybook/global': 5.0.0 - '@vitest/utils': 2.1.9 - storybook: 8.6.18(prettier@3.5.3) - - '@storybook/instrumenter@8.6.15(storybook@8.6.18(prettier@3.5.3))': + '@storybook/instrumenter@8.6.14(storybook@8.6.14(prettier@3.5.3))': dependencies: '@storybook/global': 5.0.0 '@vitest/utils': 2.1.9 - storybook: 8.6.18(prettier@3.5.3) + storybook: 8.6.14(prettier@3.5.3) - '@storybook/manager-api@7.4.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@storybook/manager-api@7.4.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@storybook/channels': 7.4.6 - '@storybook/client-logger': 7.4.6 - '@storybook/core-events': 7.4.6 + '@storybook/channels': 7.4.0 + '@storybook/client-logger': 7.4.0 + '@storybook/core-events': 7.4.0 '@storybook/csf': 0.1.13 '@storybook/global': 5.0.0 - '@storybook/router': 7.4.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/theming': 7.4.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/types': 7.4.6 + '@storybook/router': 7.4.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/theming': 7.4.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/types': 7.4.0 dequal: 2.0.3 lodash: 4.17.23 memoizerific: 1.11.3 @@ -32873,16 +37452,16 @@ snapshots: telejson: 7.2.0 ts-dedent: 2.2.0 - '@storybook/manager-api@7.4.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@storybook/manager-api@7.4.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@storybook/channels': 7.4.6 - '@storybook/client-logger': 7.4.6 - '@storybook/core-events': 7.4.6 + '@storybook/channels': 7.4.0 + '@storybook/client-logger': 7.4.0 + '@storybook/core-events': 7.4.0 '@storybook/csf': 0.1.13 '@storybook/global': 5.0.0 - '@storybook/router': 7.4.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@storybook/theming': 7.4.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@storybook/types': 7.4.6 + '@storybook/router': 7.4.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/theming': 7.4.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/types': 7.4.0 dequal: 2.0.3 lodash: 4.17.23 memoizerific: 1.11.3 @@ -32893,300 +37472,293 @@ snapshots: telejson: 7.2.0 ts-dedent: 2.2.0 - '@storybook/manager-api@8.6.18(storybook@8.6.18(prettier@3.5.3))': + '@storybook/manager-api@8.6.14(storybook@8.6.14(prettier@3.5.3))': dependencies: - storybook: 8.6.18(prettier@3.5.3) + storybook: 8.6.14(prettier@3.5.3) - '@storybook/manager-webpack4@6.5.16(@swc/core@1.15.18(@swc/helpers@0.5.19))(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)': + '@storybook/manager-webpack4@6.3.7(@types/react@18.2.0)(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)': dependencies: - '@babel/core': 7.27.7 - '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.27.7) - '@babel/preset-react': 7.27.1(@babel/core@7.27.7) - '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/core-client': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))) - '@storybook/core-common': 6.5.16(@swc/core@1.15.18(@swc/helpers@0.5.19))(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) - '@storybook/node-logger': 6.5.16 - '@storybook/theming': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/ui': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@types/node': 16.18.126 + '@babel/core': 7.27.1 + '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.27.1) + '@babel/preset-react': 7.27.1(@babel/core@7.27.1) + '@storybook/addons': 6.3.7(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/core-client': 6.3.7(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@4.47.0) + '@storybook/core-common': 6.3.7(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) + '@storybook/node-logger': 6.3.7 + '@storybook/theming': 6.3.7(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/ui': 6.3.7(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@types/node': 14.18.63 '@types/webpack': 4.41.40 - babel-loader: 8.4.1(@babel/core@7.27.7)(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))) + babel-loader: 8.4.1(@babel/core@7.27.1)(webpack@4.47.0) case-sensitive-paths-webpack-plugin: 2.4.0 chalk: 4.1.2 core-js: 3.48.0 - css-loader: 3.6.0(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))) + css-loader: 3.6.0(webpack@4.47.0) + dotenv-webpack: 1.8.0(webpack@4.47.0) express: 4.22.1 - file-loader: 6.2.0(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))) + file-loader: 6.2.0(webpack@4.47.0) + file-system-cache: 1.1.0 find-up: 5.0.0 fs-extra: 9.1.0 - html-webpack-plugin: 4.5.2(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))) - node-fetch: 2.6.13(encoding@0.1.13) + html-webpack-plugin: 4.5.2(webpack@4.47.0) + node-fetch: 2.6.7(encoding@0.1.13) pnp-webpack-plugin: 1.6.4(typescript@5.8.3) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) read-pkg-up: 7.0.1 regenerator-runtime: 0.13.11 resolve-from: 5.0.0 - style-loader: 1.3.0(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))) - telejson: 6.0.8 - terser-webpack-plugin: 4.2.3(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))) + style-loader: 1.3.0(webpack@4.47.0) + telejson: 5.3.3 + terser-webpack-plugin: 4.2.3(webpack@4.47.0) ts-dedent: 2.2.0 - url-loader: 4.1.1(file-loader@6.2.0(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))))(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))) + url-loader: 4.1.1(file-loader@6.2.0(webpack@4.47.0))(webpack@4.47.0) util-deprecate: 1.0.2 - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19)) - webpack-dev-middleware: 3.7.3(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))) + webpack: 4.47.0 + webpack-dev-middleware: 3.7.3(webpack@4.47.0) webpack-virtual-modules: 0.2.2 optionalDependencies: typescript: 5.8.3 transitivePeerDependencies: - - '@swc/core' + - '@types/react' - encoding - - esbuild - eslint - supports-color - - uglify-js - vue-template-compiler - webpack-cli + - webpack-command - '@storybook/manager-webpack4@6.5.16(@swc/core@1.15.18(@swc/helpers@0.5.19))(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)': + '@storybook/manager-webpack4@6.5.16(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)': dependencies: - '@babel/core': 7.27.7 - '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.27.7) - '@babel/preset-react': 7.27.1(@babel/core@7.27.7) + '@babel/core': 7.27.1 + '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.27.1) + '@babel/preset-react': 7.27.1(@babel/core@7.27.1) '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/core-client': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.105.4) - '@storybook/core-common': 6.5.16(@swc/core@1.15.18(@swc/helpers@0.5.19))(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) + '@storybook/core-client': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@4.47.0) + '@storybook/core-common': 6.5.16(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) '@storybook/node-logger': 6.5.16 '@storybook/theming': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/ui': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@types/node': 16.18.126 '@types/webpack': 4.41.40 - babel-loader: 8.4.1(@babel/core@7.27.7)(webpack@5.105.4) + babel-loader: 8.4.1(@babel/core@7.27.1)(webpack@4.47.0) case-sensitive-paths-webpack-plugin: 2.4.0 chalk: 4.1.2 core-js: 3.48.0 - css-loader: 3.6.0(webpack@5.105.4) + css-loader: 3.6.0(webpack@4.47.0) express: 4.22.1 - file-loader: 6.2.0(webpack@5.105.4) + file-loader: 6.2.0(webpack@4.47.0) find-up: 5.0.0 fs-extra: 9.1.0 - html-webpack-plugin: 4.5.2(webpack@5.105.4) - node-fetch: 2.6.13(encoding@0.1.13) + html-webpack-plugin: 4.5.2(webpack@4.47.0) + node-fetch: 2.6.7(encoding@0.1.13) pnp-webpack-plugin: 1.6.4(typescript@5.8.3) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) read-pkg-up: 7.0.1 regenerator-runtime: 0.13.11 resolve-from: 5.0.0 - style-loader: 1.3.0(webpack@5.105.4) + style-loader: 1.3.0(webpack@4.47.0) telejson: 6.0.8 - terser-webpack-plugin: 4.2.3(webpack@5.105.4) + terser-webpack-plugin: 4.2.3(webpack@4.47.0) ts-dedent: 2.2.0 - url-loader: 4.1.1(file-loader@6.2.0(webpack@5.105.4))(webpack@5.105.4) + url-loader: 4.1.1(file-loader@6.2.0(webpack@4.47.0))(webpack@4.47.0) util-deprecate: 1.0.2 - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) - webpack-dev-middleware: 3.7.3(webpack@5.105.4) + webpack: 4.47.0 + webpack-dev-middleware: 3.7.3(webpack@4.47.0) webpack-virtual-modules: 0.2.2 optionalDependencies: typescript: 5.8.3 transitivePeerDependencies: - - '@swc/core' - encoding - - esbuild - eslint - supports-color - - uglify-js - vue-template-compiler - webpack-cli + - webpack-command - '@storybook/manager-webpack4@6.5.16(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)': + '@storybook/manager-webpack4@6.5.16(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)': dependencies: - '@babel/core': 7.27.7 - '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.27.7) - '@babel/preset-react': 7.27.1(@babel/core@7.27.7) + '@babel/core': 7.27.1 + '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.27.1) + '@babel/preset-react': 7.27.1(@babel/core@7.27.1) '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/core-client': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.105.4) - '@storybook/core-common': 6.5.16(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) + '@storybook/core-client': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@4.47.0(webpack-cli@6.0.1)) + '@storybook/core-common': 6.5.16(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) '@storybook/node-logger': 6.5.16 '@storybook/theming': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/ui': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@types/node': 16.18.126 '@types/webpack': 4.41.40 - babel-loader: 8.4.1(@babel/core@7.27.7)(webpack@5.105.4) + babel-loader: 8.4.1(@babel/core@7.27.1)(webpack@4.47.0(webpack-cli@6.0.1)) case-sensitive-paths-webpack-plugin: 2.4.0 chalk: 4.1.2 core-js: 3.48.0 - css-loader: 3.6.0(webpack@5.105.4) + css-loader: 3.6.0(webpack@4.47.0(webpack-cli@6.0.1)) express: 4.22.1 - file-loader: 6.2.0(webpack@5.105.4) + file-loader: 6.2.0(webpack@4.47.0(webpack-cli@6.0.1)) find-up: 5.0.0 fs-extra: 9.1.0 - html-webpack-plugin: 4.5.2(webpack@5.105.4) - node-fetch: 2.6.13(encoding@0.1.13) + html-webpack-plugin: 4.5.2(webpack@4.47.0(webpack-cli@6.0.1)) + node-fetch: 2.6.7(encoding@0.1.13) pnp-webpack-plugin: 1.6.4(typescript@5.8.3) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) read-pkg-up: 7.0.1 regenerator-runtime: 0.13.11 resolve-from: 5.0.0 - style-loader: 1.3.0(webpack@5.105.4) + style-loader: 1.3.0(webpack@4.47.0(webpack-cli@6.0.1)) telejson: 6.0.8 - terser-webpack-plugin: 4.2.3(webpack@5.105.4) + terser-webpack-plugin: 4.2.3(webpack@4.47.0(webpack-cli@6.0.1)) ts-dedent: 2.2.0 - url-loader: 4.1.1(file-loader@6.2.0(webpack@5.105.4))(webpack@5.105.4) + url-loader: 4.1.1(file-loader@6.2.0(webpack@5.104.1))(webpack@4.47.0(webpack-cli@6.0.1)) util-deprecate: 1.0.2 - webpack: 5.105.4(webpack-cli@5.1.4) - webpack-dev-middleware: 3.7.3(webpack@5.105.4) + webpack: 4.47.0(webpack-cli@6.0.1) + webpack-dev-middleware: 3.7.3(webpack@4.47.0(webpack-cli@6.0.1)) webpack-virtual-modules: 0.2.2 optionalDependencies: typescript: 5.8.3 transitivePeerDependencies: - - '@swc/core' - encoding - - esbuild - eslint - supports-color - - uglify-js - vue-template-compiler - webpack-cli - - '@storybook/manager-webpack4@6.5.16(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)': - dependencies: - '@babel/core': 7.27.7 - '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.27.7) - '@babel/preset-react': 7.27.1(@babel/core@7.27.7) - '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/core-client': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.105.4) - '@storybook/core-common': 6.5.16(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) - '@storybook/node-logger': 6.5.16 - '@storybook/theming': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/ui': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + - webpack-command + + '@storybook/manager-webpack4@6.5.9(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)': + dependencies: + '@babel/core': 7.27.1 + '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.27.1) + '@babel/preset-react': 7.27.1(@babel/core@7.27.1) + '@storybook/addons': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/core-client': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@4.47.0(webpack-cli@4.10.0)) + '@storybook/core-common': 6.5.9(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) + '@storybook/node-logger': 6.5.9 + '@storybook/theming': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/ui': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@types/node': 16.18.126 '@types/webpack': 4.41.40 - babel-loader: 8.4.1(@babel/core@7.27.7)(webpack@5.105.4) + babel-loader: 8.4.1(@babel/core@7.27.1)(webpack@4.47.0(webpack-cli@4.10.0)) case-sensitive-paths-webpack-plugin: 2.4.0 chalk: 4.1.2 core-js: 3.48.0 - css-loader: 3.6.0(webpack@5.105.4) + css-loader: 3.6.0(webpack@4.47.0(webpack-cli@4.10.0)) express: 4.22.1 - file-loader: 6.2.0(webpack@5.105.4) + file-loader: 6.2.0(webpack@4.47.0(webpack-cli@4.10.0)) find-up: 5.0.0 fs-extra: 9.1.0 - html-webpack-plugin: 4.5.2(webpack@5.105.4) - node-fetch: 2.6.13(encoding@0.1.13) + html-webpack-plugin: 4.5.2(webpack@4.47.0(webpack-cli@4.10.0)) + node-fetch: 2.6.7(encoding@0.1.13) pnp-webpack-plugin: 1.6.4(typescript@5.8.3) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) read-pkg-up: 7.0.1 regenerator-runtime: 0.13.11 resolve-from: 5.0.0 - style-loader: 1.3.0(webpack@5.105.4) + style-loader: 1.3.0(webpack@4.47.0(webpack-cli@4.10.0)) telejson: 6.0.8 - terser-webpack-plugin: 4.2.3(webpack@5.105.4) + terser-webpack-plugin: 4.2.3(webpack@4.47.0(webpack-cli@4.10.0)) ts-dedent: 2.2.0 - url-loader: 4.1.1(file-loader@6.2.0(webpack@5.105.4))(webpack@5.105.4) + url-loader: 4.1.1(file-loader@6.2.0(webpack@4.47.0(webpack-cli@4.10.0)))(webpack@4.47.0(webpack-cli@4.10.0)) util-deprecate: 1.0.2 - webpack: 5.105.4(webpack-cli@4.10.0) - webpack-dev-middleware: 3.7.3(webpack@5.105.4) + webpack: 4.47.0(webpack-cli@4.10.0) + webpack-dev-middleware: 3.7.3(webpack@4.47.0(webpack-cli@4.10.0)) webpack-virtual-modules: 0.2.2 optionalDependencies: typescript: 5.8.3 transitivePeerDependencies: - - '@swc/core' - encoding - - esbuild - eslint - supports-color - - uglify-js - vue-template-compiler - webpack-cli - - '@storybook/manager-webpack4@6.5.16(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.5)': - dependencies: - '@babel/core': 7.27.7 - '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.27.7) - '@babel/preset-react': 7.27.1(@babel/core@7.27.7) - '@storybook/addons': 6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@storybook/core-client': 6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.5)(webpack@5.105.4) - '@storybook/core-common': 6.5.16(eslint@9.39.4(jiti@2.6.1))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.5) - '@storybook/node-logger': 6.5.16 - '@storybook/theming': 6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@storybook/ui': 6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + - webpack-command + + '@storybook/manager-webpack4@6.5.9(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.4)': + dependencies: + '@babel/core': 7.27.1 + '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.27.1) + '@babel/preset-react': 7.27.1(@babel/core@7.27.1) + '@storybook/addons': 6.5.9(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/core-client': 6.5.9(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.4)(webpack@4.47.0) + '@storybook/core-common': 6.5.9(eslint@9.39.4(jiti@2.6.1))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.4) + '@storybook/node-logger': 6.5.9 + '@storybook/theming': 6.5.9(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/ui': 6.5.9(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@types/node': 16.18.126 '@types/webpack': 4.41.40 - babel-loader: 8.4.1(@babel/core@7.27.7)(webpack@5.105.4) + babel-loader: 8.4.1(@babel/core@7.27.1)(webpack@4.47.0) case-sensitive-paths-webpack-plugin: 2.4.0 chalk: 4.1.2 core-js: 3.48.0 - css-loader: 3.6.0(webpack@5.105.4) + css-loader: 3.6.0(webpack@4.47.0) express: 4.22.1 - file-loader: 6.2.0(webpack@5.105.4) + file-loader: 6.2.0(webpack@4.47.0) find-up: 5.0.0 fs-extra: 9.1.0 - html-webpack-plugin: 4.5.2(webpack@5.105.4) - node-fetch: 2.6.13(encoding@0.1.13) - pnp-webpack-plugin: 1.6.4(typescript@4.9.5) + html-webpack-plugin: 4.5.2(webpack@4.47.0) + node-fetch: 2.6.7(encoding@0.1.13) + pnp-webpack-plugin: 1.6.4(typescript@4.9.4) react: 19.1.0 react-dom: 19.1.0(react@19.1.0) read-pkg-up: 7.0.1 regenerator-runtime: 0.13.11 resolve-from: 5.0.0 - style-loader: 1.3.0(webpack@5.105.4) + style-loader: 1.3.0(webpack@4.47.0) telejson: 6.0.8 - terser-webpack-plugin: 4.2.3(webpack@5.105.4) + terser-webpack-plugin: 4.2.3(webpack@4.47.0) ts-dedent: 2.2.0 - url-loader: 4.1.1(file-loader@6.2.0(webpack@5.105.4))(webpack@5.105.4) + url-loader: 4.1.1(file-loader@6.2.0(webpack@4.47.0))(webpack@4.47.0) util-deprecate: 1.0.2 - webpack: 5.105.4(webpack-cli@5.1.4) - webpack-dev-middleware: 3.7.3(webpack@5.105.4) + webpack: 4.47.0 + webpack-dev-middleware: 3.7.3(webpack@4.47.0) webpack-virtual-modules: 0.2.2 optionalDependencies: - typescript: 4.9.5 + typescript: 4.9.4 transitivePeerDependencies: - - '@swc/core' - encoding - - esbuild - eslint - supports-color - - uglify-js - vue-template-compiler - webpack-cli - - '@storybook/manager-webpack5@6.5.16(@swc/core@1.15.18(@swc/helpers@0.5.19))(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)': - dependencies: - '@babel/core': 7.27.7 - '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.27.7) - '@babel/preset-react': 7.27.1(@babel/core@7.27.7) - '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/core-client': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.105.4) - '@storybook/core-common': 6.5.16(@swc/core@1.15.18(@swc/helpers@0.5.19))(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) - '@storybook/node-logger': 6.5.16 - '@storybook/theming': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/ui': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + - webpack-command + + '@storybook/manager-webpack5@6.5.9(@swc/core@1.15.18(@swc/helpers@0.5.19))(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)': + dependencies: + '@babel/core': 7.27.1 + '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.27.1) + '@babel/preset-react': 7.27.1(@babel/core@7.27.1) + '@storybook/addons': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/core-client': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.104.1) + '@storybook/core-common': 6.5.9(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) + '@storybook/node-logger': 6.5.9 + '@storybook/theming': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/ui': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@types/node': 16.18.126 - babel-loader: 8.4.1(@babel/core@7.27.7)(webpack@5.105.4) + babel-loader: 8.4.1(@babel/core@7.27.1)(webpack@5.104.1) case-sensitive-paths-webpack-plugin: 2.4.0 chalk: 4.1.2 core-js: 3.48.0 - css-loader: 5.2.7(webpack@5.105.4) + css-loader: 5.2.7(webpack@5.104.1) express: 4.22.1 find-up: 5.0.0 fs-extra: 9.1.0 - html-webpack-plugin: 5.6.6(webpack@5.105.4) - node-fetch: 2.6.13(encoding@0.1.13) + html-webpack-plugin: 5.6.6(webpack@5.104.1) + node-fetch: 2.6.7(encoding@0.1.13) process: 0.11.10 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) read-pkg-up: 7.0.1 regenerator-runtime: 0.13.11 resolve-from: 5.0.0 - style-loader: 2.0.0(webpack@5.105.4) + style-loader: 2.0.0(webpack@5.104.1) telejson: 6.0.8 - terser-webpack-plugin: 5.4.0(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack@5.105.4) + terser-webpack-plugin: 5.3.14(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack@5.104.1) ts-dedent: 2.2.0 util-deprecate: 1.0.2 - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) - webpack-dev-middleware: 4.3.0(webpack@5.105.4) + webpack: 5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) + webpack-dev-middleware: 4.3.0(webpack@5.104.1) webpack-virtual-modules: 0.4.6 optionalDependencies: typescript: 5.8.3 @@ -33200,42 +37772,43 @@ snapshots: - uglify-js - vue-template-compiler - webpack-cli - - '@storybook/manager-webpack5@6.5.16(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)': - dependencies: - '@babel/core': 7.27.7 - '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.27.7) - '@babel/preset-react': 7.27.1(@babel/core@7.27.7) - '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/core-client': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.105.4) - '@storybook/core-common': 6.5.16(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) - '@storybook/node-logger': 6.5.16 - '@storybook/theming': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/ui': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + - webpack-command + + '@storybook/manager-webpack5@6.5.9(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)': + dependencies: + '@babel/core': 7.27.1 + '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.27.1) + '@babel/preset-react': 7.27.1(@babel/core@7.27.1) + '@storybook/addons': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/core-client': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.104.1) + '@storybook/core-common': 6.5.9(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) + '@storybook/node-logger': 6.5.9 + '@storybook/theming': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/ui': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@types/node': 16.18.126 - babel-loader: 8.4.1(@babel/core@7.27.7)(webpack@5.105.4) + babel-loader: 8.4.1(@babel/core@7.27.1)(webpack@5.104.1) case-sensitive-paths-webpack-plugin: 2.4.0 chalk: 4.1.2 core-js: 3.48.0 - css-loader: 5.2.7(webpack@5.105.4) + css-loader: 5.2.7(webpack@5.104.1) express: 4.22.1 find-up: 5.0.0 fs-extra: 9.1.0 - html-webpack-plugin: 5.6.6(webpack@5.105.4) - node-fetch: 2.6.13(encoding@0.1.13) + html-webpack-plugin: 5.6.6(webpack@5.104.1) + node-fetch: 2.6.7(encoding@0.1.13) process: 0.11.10 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) read-pkg-up: 7.0.1 regenerator-runtime: 0.13.11 resolve-from: 5.0.0 - style-loader: 2.0.0(webpack@5.105.4) + style-loader: 2.0.0(webpack@5.104.1) telejson: 6.0.8 - terser-webpack-plugin: 5.4.0(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack@5.105.4) + terser-webpack-plugin: 5.3.14(webpack@5.104.1) ts-dedent: 2.2.0 util-deprecate: 1.0.2 - webpack: 5.105.4(webpack-cli@4.10.0) - webpack-dev-middleware: 4.3.0(webpack@5.105.4) + webpack: 5.104.1(webpack-cli@4.10.0) + webpack-dev-middleware: 4.3.0(webpack@5.104.1) webpack-virtual-modules: 0.4.6 optionalDependencies: typescript: 5.8.3 @@ -33249,14 +37822,15 @@ snapshots: - uglify-js - vue-template-compiler - webpack-cli + - webpack-command - '@storybook/manager@7.6.24': {} + '@storybook/manager@7.6.10': {} - '@storybook/mdx1-csf@0.0.1(@babel/core@7.27.7)': + '@storybook/mdx1-csf@0.0.1(@babel/core@7.27.1)': dependencies: '@babel/generator': 7.29.1 '@babel/parser': 7.29.0 - '@babel/preset-env': 7.27.2(@babel/core@7.27.7) + '@babel/preset-env': 7.27.2(@babel/core@7.27.1) '@babel/types': 7.29.0 '@mdx-js/mdx': 1.6.22 '@types/lodash': 4.17.17 @@ -33271,6 +37845,14 @@ snapshots: '@storybook/mdx2-csf@1.1.0': {} + '@storybook/node-logger@6.3.7': + dependencies: + '@types/npmlog': 4.1.6 + chalk: 4.1.2 + core-js: 3.48.0 + npmlog: 4.1.2 + pretty-hrtime: 1.0.3 + '@storybook/node-logger@6.5.16': dependencies: '@types/npmlog': 4.1.6 @@ -33279,38 +37861,50 @@ snapshots: npmlog: 5.0.1 pretty-hrtime: 1.0.3 - '@storybook/node-logger@7.4.6': {} + '@storybook/node-logger@6.5.9': + dependencies: + '@types/npmlog': 4.1.6 + chalk: 4.1.2 + core-js: 3.48.0 + npmlog: 5.0.1 + pretty-hrtime: 1.0.3 + + '@storybook/node-logger@7.4.0': {} - '@storybook/node-logger@7.6.24': {} + '@storybook/node-logger@7.6.10': {} '@storybook/postinstall@6.5.16': dependencies: core-js: 3.48.0 - '@storybook/postinstall@7.4.6': {} + '@storybook/postinstall@6.5.9': + dependencies: + core-js: 3.48.0 - '@storybook/preset-react-webpack@7.4.6(@babel/core@7.27.7)(@types/webpack@5.28.5(webpack-cli@5.1.4))(encoding@0.1.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(type-fest@4.41.0)(typescript@5.8.3)(webpack-cli@5.1.4)(webpack-dev-server@5.2.3)(webpack-hot-middleware@2.26.1)': + '@storybook/postinstall@7.4.0': {} + + '@storybook/preset-react-webpack@7.4.0(@babel/core@7.29.0)(@types/webpack@5.28.5(webpack-cli@5.1.4))(encoding@0.1.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(type-fest@4.41.0)(typescript@5.8.3)(webpack-cli@5.1.4)(webpack-dev-server@5.2.3)(webpack-hot-middleware@2.26.1)': dependencies: - '@babel/preset-flow': 7.27.1(@babel/core@7.27.7) - '@babel/preset-react': 7.27.1(@babel/core@7.27.7) - '@pmmmwh/react-refresh-webpack-plugin': 0.5.17(@types/webpack@5.28.5(webpack-cli@5.1.4))(react-refresh@0.11.0)(type-fest@4.41.0)(webpack-dev-server@5.2.3)(webpack-hot-middleware@2.26.1)(webpack@5.105.4) - '@storybook/core-webpack': 7.4.6(encoding@0.1.13) - '@storybook/docs-tools': 7.4.6(encoding@0.1.13) - '@storybook/node-logger': 7.4.6 - '@storybook/react': 7.4.6(encoding@0.1.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) - '@storybook/react-docgen-typescript-plugin': 1.0.6--canary.9.0c3f3b7.0(typescript@5.8.3)(webpack@5.105.4) + '@babel/preset-flow': 7.27.1(@babel/core@7.29.0) + '@babel/preset-react': 7.27.1(@babel/core@7.29.0) + '@pmmmwh/react-refresh-webpack-plugin': 0.5.17(@types/webpack@5.28.5(webpack-cli@5.1.4))(react-refresh@0.11.0)(type-fest@4.41.0)(webpack-dev-server@5.2.3)(webpack-hot-middleware@2.26.1)(webpack@5.104.1) + '@storybook/core-webpack': 7.4.0(encoding@0.1.13) + '@storybook/docs-tools': 7.4.0(encoding@0.1.13) + '@storybook/node-logger': 7.4.0 + '@storybook/react': 7.4.0(encoding@0.1.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) + '@storybook/react-docgen-typescript-plugin': 1.0.6--canary.9.0c3f3b7.0(typescript@5.8.3)(webpack@5.104.1) '@types/node': 16.18.126 '@types/semver': 7.7.1 babel-plugin-add-react-displayname: 0.0.5 babel-plugin-react-docgen: 4.2.1 - fs-extra: 11.3.4 + fs-extra: 11.3.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) react-refresh: 0.11.0 semver: 7.7.4 - webpack: 5.105.4(webpack-cli@5.1.4) + webpack: 5.104.1(webpack-cli@5.1.4) optionalDependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.29.0 typescript: 5.8.3 transitivePeerDependencies: - '@swc/core' @@ -33326,28 +37920,28 @@ snapshots: - webpack-hot-middleware - webpack-plugin-serve - '@storybook/preset-react-webpack@7.4.6(@babel/core@7.27.7)(@types/webpack@5.28.5)(encoding@0.1.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(type-fest@4.41.0)(typescript@5.8.3)(webpack-hot-middleware@2.26.1)': + '@storybook/preset-react-webpack@7.4.0(@babel/core@7.29.0)(@types/webpack@5.28.5)(encoding@0.1.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(type-fest@4.41.0)(typescript@5.8.3)(webpack-hot-middleware@2.26.1)': dependencies: - '@babel/preset-flow': 7.27.1(@babel/core@7.27.7) - '@babel/preset-react': 7.27.1(@babel/core@7.27.7) - '@pmmmwh/react-refresh-webpack-plugin': 0.5.17(@types/webpack@5.28.5)(react-refresh@0.11.0)(type-fest@4.41.0)(webpack-dev-server@5.2.3(webpack@5.105.4))(webpack-hot-middleware@2.26.1)(webpack@5.105.4) - '@storybook/core-webpack': 7.4.6(encoding@0.1.13) - '@storybook/docs-tools': 7.4.6(encoding@0.1.13) - '@storybook/node-logger': 7.4.6 - '@storybook/react': 7.4.6(encoding@0.1.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3) - '@storybook/react-docgen-typescript-plugin': 1.0.6--canary.9.0c3f3b7.0(typescript@5.8.3)(webpack@5.105.4) + '@babel/preset-flow': 7.27.1(@babel/core@7.29.0) + '@babel/preset-react': 7.27.1(@babel/core@7.29.0) + '@pmmmwh/react-refresh-webpack-plugin': 0.5.17(@types/webpack@5.28.5)(react-refresh@0.11.0)(type-fest@4.41.0)(webpack-dev-server@5.2.3(webpack@5.104.1))(webpack-hot-middleware@2.26.1)(webpack@5.104.1) + '@storybook/core-webpack': 7.4.0(encoding@0.1.13) + '@storybook/docs-tools': 7.4.0(encoding@0.1.13) + '@storybook/node-logger': 7.4.0 + '@storybook/react': 7.4.0(encoding@0.1.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3) + '@storybook/react-docgen-typescript-plugin': 1.0.6--canary.9.0c3f3b7.0(typescript@5.8.3)(webpack@5.104.1) '@types/node': 16.18.126 '@types/semver': 7.7.1 babel-plugin-add-react-displayname: 0.0.5 babel-plugin-react-docgen: 4.2.1 - fs-extra: 11.3.4 + fs-extra: 11.3.0 react: 19.1.0 react-dom: 19.1.0(react@19.1.0) react-refresh: 0.11.0 semver: 7.7.4 - webpack: 5.105.4(webpack-cli@5.1.4) + webpack: 5.104.1(webpack-cli@5.1.4) optionalDependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.29.0 typescript: 5.8.3 transitivePeerDependencies: - '@swc/core' @@ -33363,11 +37957,11 @@ snapshots: - webpack-hot-middleware - webpack-plugin-serve - '@storybook/preset-react-webpack@8.6.18(@storybook/test@8.6.15(storybook@8.6.18(prettier@3.5.3)))(@swc/core@1.15.18(@swc/helpers@0.5.19))(esbuild@0.25.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.18(prettier@3.5.3))(typescript@5.8.3)': + '@storybook/preset-react-webpack@8.6.14(@storybook/test@8.6.14(storybook@8.6.14(prettier@3.5.3)))(@swc/core@1.15.18(@swc/helpers@0.5.19))(esbuild@0.25.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.14(prettier@3.5.3))(typescript@5.8.3)': dependencies: - '@storybook/core-webpack': 8.6.18(storybook@8.6.18(prettier@3.5.3)) - '@storybook/react': 8.6.18(@storybook/test@8.6.15(storybook@8.6.18(prettier@3.5.3)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.18(prettier@3.5.3))(typescript@5.8.3) - '@storybook/react-docgen-typescript-plugin': 1.0.6--canary.9.0c3f3b7.0(typescript@5.8.3)(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))(esbuild@0.25.12)) + '@storybook/core-webpack': 8.6.14(storybook@8.6.14(prettier@3.5.3)) + '@storybook/react': 8.6.14(@storybook/test@8.6.14(storybook@8.6.14(prettier@3.5.3)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.14(prettier@3.5.3))(typescript@5.8.3) + '@storybook/react-docgen-typescript-plugin': 1.0.6--canary.9.0c3f3b7.0(typescript@5.8.3)(webpack@5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))(esbuild@0.25.12)) '@types/semver': 7.7.1 find-up: 5.0.0 magic-string: 0.30.21 @@ -33376,9 +37970,9 @@ snapshots: react-dom: 18.2.0(react@18.2.0) resolve: 1.22.11 semver: 7.7.4 - storybook: 8.6.18(prettier@3.5.3) + storybook: 8.6.14(prettier@3.5.3) tsconfig-paths: 4.2.0 - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))(esbuild@0.25.12) + webpack: 5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))(esbuild@0.25.12) optionalDependencies: typescript: 5.8.3 transitivePeerDependencies: @@ -33389,11 +37983,11 @@ snapshots: - uglify-js - webpack-cli - '@storybook/preset-react-webpack@8.6.18(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.18(prettier@3.5.3))(typescript@5.8.3)(webpack-cli@5.1.4)': + '@storybook/preset-react-webpack@8.6.14(@storybook/test@8.6.14(storybook@8.6.14(prettier@3.5.3)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.14(prettier@3.5.3))(typescript@5.8.3)(webpack-cli@5.1.4)': dependencies: - '@storybook/core-webpack': 8.6.18(storybook@8.6.18(prettier@3.5.3)) - '@storybook/react': 8.6.18(@storybook/test@8.6.15(storybook@8.6.18(prettier@3.5.3)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.18(prettier@3.5.3))(typescript@5.8.3) - '@storybook/react-docgen-typescript-plugin': 1.0.6--canary.9.0c3f3b7.0(typescript@5.8.3)(webpack@5.105.4) + '@storybook/core-webpack': 8.6.14(storybook@8.6.14(prettier@3.5.3)) + '@storybook/react': 8.6.14(@storybook/test@8.6.14(storybook@8.6.14(prettier@3.5.3)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.14(prettier@3.5.3))(typescript@5.8.3) + '@storybook/react-docgen-typescript-plugin': 1.0.6--canary.9.0c3f3b7.0(typescript@5.8.3)(webpack@5.104.1) '@types/semver': 7.7.1 find-up: 5.0.0 magic-string: 0.30.21 @@ -33402,9 +37996,9 @@ snapshots: react-dom: 18.2.0(react@18.2.0) resolve: 1.22.11 semver: 7.7.4 - storybook: 8.6.18(prettier@3.5.3) + storybook: 8.6.14(prettier@3.5.3) tsconfig-paths: 4.2.0 - webpack: 5.105.4(webpack-cli@5.1.4) + webpack: 5.104.1(webpack-cli@5.1.4) optionalDependencies: typescript: 5.8.3 transitivePeerDependencies: @@ -33415,31 +38009,31 @@ snapshots: - uglify-js - webpack-cli - '@storybook/preview-api@7.4.6': + '@storybook/preview-api@7.4.0': dependencies: - '@storybook/channels': 7.4.6 - '@storybook/client-logger': 7.4.6 - '@storybook/core-events': 7.4.6 + '@storybook/channels': 7.4.0 + '@storybook/client-logger': 7.4.0 + '@storybook/core-events': 7.4.0 '@storybook/csf': 0.1.13 '@storybook/global': 5.0.0 - '@storybook/types': 7.4.6 + '@storybook/types': 7.4.0 '@types/qs': 6.15.0 dequal: 2.0.3 lodash: 4.17.23 memoizerific: 1.11.3 - qs: 6.15.0 + qs: 6.14.2 synchronous-promise: 2.0.17 ts-dedent: 2.2.0 util-deprecate: 1.0.2 - '@storybook/preview-api@7.6.24': + '@storybook/preview-api@7.6.10': dependencies: - '@storybook/channels': 7.6.24 - '@storybook/client-logger': 7.6.24 - '@storybook/core-events': 7.6.24 + '@storybook/channels': 7.6.10 + '@storybook/client-logger': 7.6.10 + '@storybook/core-events': 7.6.10 '@storybook/csf': 0.1.13 '@storybook/global': 5.0.0 - '@storybook/types': 7.6.24 + '@storybook/types': 7.6.10 '@types/qs': 6.15.0 dequal: 2.0.3 lodash: 4.17.23 @@ -33449,9 +38043,9 @@ snapshots: ts-dedent: 2.2.0 util-deprecate: 1.0.2 - '@storybook/preview-api@8.6.18(storybook@8.6.18(prettier@3.5.3))': + '@storybook/preview-api@8.6.14(storybook@8.6.14(prettier@3.5.3))': dependencies: - storybook: 8.6.18(prettier@3.5.3) + storybook: 8.6.14(prettier@3.5.3) '@storybook/preview-web@6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: @@ -33474,19 +38068,40 @@ snapshots: unfetch: 4.2.0 util-deprecate: 1.0.2 - '@storybook/preview-web@6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@storybook/preview-web@6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@storybook/addons': 6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@storybook/channel-postmessage': 6.5.16 - '@storybook/client-logger': 6.5.16 - '@storybook/core-events': 6.5.16 + '@storybook/addons': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/channel-postmessage': 6.5.9 + '@storybook/client-logger': 6.5.9 + '@storybook/core-events': 6.5.9 '@storybook/csf': 0.0.2--canary.4566f4d.1 - '@storybook/store': 6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/store': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) ansi-to-html: 0.6.15 core-js: 3.48.0 global: 4.4.0 lodash: 4.17.23 - qs: 6.15.0 + qs: 6.14.2 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + regenerator-runtime: 0.13.11 + synchronous-promise: 2.0.17 + ts-dedent: 2.2.0 + unfetch: 4.2.0 + util-deprecate: 1.0.2 + + '@storybook/preview-web@6.5.9(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@storybook/addons': 6.5.9(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/channel-postmessage': 6.5.9 + '@storybook/client-logger': 6.5.9 + '@storybook/core-events': 6.5.9 + '@storybook/csf': 0.0.2--canary.4566f4d.1 + '@storybook/store': 6.5.9(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + ansi-to-html: 0.6.15 + core-js: 3.48.0 + global: 4.4.0 + lodash: 4.17.23 + qs: 6.14.2 react: 19.1.0 react-dom: 19.1.0(react@19.1.0) regenerator-runtime: 0.13.11 @@ -33495,23 +38110,37 @@ snapshots: unfetch: 4.2.0 util-deprecate: 1.0.2 - '@storybook/preview@7.4.6': {} + '@storybook/preview@7.4.0': {} + + '@storybook/react-docgen-typescript-plugin@1.0.2-canary.253f8c1.0(typescript@5.8.3)(webpack@4.47.0)': + dependencies: + debug: 4.4.3(supports-color@8.1.1) + endent: 2.1.0 + find-cache-dir: 3.3.2 + flat-cache: 3.2.0 + micromatch: 4.0.8 + react-docgen-typescript: 2.4.0(typescript@5.8.3) + tslib: 2.8.1 + typescript: 5.8.3 + webpack: 4.47.0 + transitivePeerDependencies: + - supports-color - '@storybook/react-docgen-typescript-plugin@1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0(typescript@4.9.5)(webpack@5.105.4)': + '@storybook/react-docgen-typescript-plugin@1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0(typescript@4.9.4)(webpack@5.104.1)': dependencies: debug: 4.4.3(supports-color@8.1.1) endent: 2.1.0 find-cache-dir: 3.3.2 flat-cache: 3.2.0 micromatch: 4.0.8 - react-docgen-typescript: 2.4.0(typescript@4.9.5) + react-docgen-typescript: 2.4.0(typescript@4.9.4) tslib: 2.8.1 - typescript: 4.9.5 - webpack: 5.105.4(webpack-cli@5.1.4) + typescript: 4.9.4 + webpack: 5.104.1(webpack-cli@5.1.4) transitivePeerDependencies: - supports-color - '@storybook/react-docgen-typescript-plugin@1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0(typescript@5.8.3)(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19)))': + '@storybook/react-docgen-typescript-plugin@1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0(typescript@5.8.3)(webpack@5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19)))': dependencies: debug: 4.4.3(supports-color@8.1.1) endent: 2.1.0 @@ -33521,11 +38150,11 @@ snapshots: react-docgen-typescript: 2.4.0(typescript@5.8.3) tslib: 2.8.1 typescript: 5.8.3 - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19)) + webpack: 5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19)) transitivePeerDependencies: - supports-color - '@storybook/react-docgen-typescript-plugin@1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0(typescript@5.8.3)(webpack@5.105.4)': + '@storybook/react-docgen-typescript-plugin@1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0(typescript@5.8.3)(webpack@5.104.1)': dependencies: debug: 4.4.3(supports-color@8.1.1) endent: 2.1.0 @@ -33535,11 +38164,11 @@ snapshots: react-docgen-typescript: 2.4.0(typescript@5.8.3) tslib: 2.8.1 typescript: 5.8.3 - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) + webpack: 5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) transitivePeerDependencies: - supports-color - '@storybook/react-docgen-typescript-plugin@1.0.6--canary.9.0c3f3b7.0(typescript@5.8.3)(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))(esbuild@0.25.12))': + '@storybook/react-docgen-typescript-plugin@1.0.6--canary.9.0c3f3b7.0(typescript@5.8.3)(webpack@5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))(esbuild@0.25.12))': dependencies: debug: 4.4.3(supports-color@8.1.1) endent: 2.1.0 @@ -33549,11 +38178,11 @@ snapshots: react-docgen-typescript: 2.4.0(typescript@5.8.3) tslib: 2.8.1 typescript: 5.8.3 - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))(esbuild@0.25.12) + webpack: 5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))(esbuild@0.25.12) transitivePeerDependencies: - supports-color - '@storybook/react-docgen-typescript-plugin@1.0.6--canary.9.0c3f3b7.0(typescript@5.8.3)(webpack@5.105.4)': + '@storybook/react-docgen-typescript-plugin@1.0.6--canary.9.0c3f3b7.0(typescript@5.8.3)(webpack@5.104.1)': dependencies: debug: 4.4.3(supports-color@8.1.1) endent: 2.1.0 @@ -33563,68 +38192,64 @@ snapshots: react-docgen-typescript: 2.4.0(typescript@5.8.3) tslib: 2.8.1 typescript: 5.8.3 - webpack: 5.105.4(webpack-cli@5.1.4) + webpack: 5.104.1(webpack-cli@5.1.4) transitivePeerDependencies: - supports-color - '@storybook/react-dom-shim@7.4.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@storybook/react-dom-shim@7.4.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - '@storybook/react-dom-shim@7.4.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@storybook/react-dom-shim@7.4.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: react: 19.1.0 react-dom: 19.1.0(react@19.1.0) - '@storybook/react-dom-shim@8.6.14(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@8.6.18(prettier@3.5.3))': - dependencies: - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) - storybook: 8.6.18(prettier@3.5.3) - - '@storybook/react-dom-shim@8.6.18(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.18(prettier@3.5.3))': + '@storybook/react-dom-shim@8.6.14(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.14(prettier@3.5.3))': dependencies: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - storybook: 8.6.18(prettier@3.5.3) + storybook: 8.6.14(prettier@3.5.3) - '@storybook/react-dom-shim@8.6.18(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@8.6.18(prettier@3.5.3))': + '@storybook/react-dom-shim@8.6.14(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@8.6.14(prettier@3.5.3))': dependencies: react: 19.1.0 react-dom: 19.1.0(react@19.1.0) - storybook: 8.6.18(prettier@3.5.3) + storybook: 8.6.14(prettier@3.5.3) - '@storybook/react-vite@8.6.18(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(rollup@4.59.0)(storybook@8.6.18(prettier@3.5.3))(typescript@5.8.3)(vite@6.4.1(@types/node@22.15.35)(jiti@2.6.1)(sass@1.98.0)(terser@5.46.0)(yaml@2.8.2))': + '@storybook/react-vite@8.6.14(@storybook/test@8.6.14(storybook@8.6.14(prettier@3.5.3)))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(rollup@4.41.0)(storybook@8.6.14(prettier@3.5.3))(typescript@5.8.3)(vite@6.0.7(@types/node@22.15.24)(jiti@2.6.1)(sass@1.89.0)(terser@5.46.0)(yaml@2.8.0))': dependencies: - '@joshwooding/vite-plugin-react-docgen-typescript': 0.5.0(typescript@5.8.3)(vite@6.4.1(@types/node@22.15.35)(jiti@2.6.1)(sass@1.98.0)(terser@5.46.0)(yaml@2.8.2)) - '@rollup/pluginutils': 5.3.0(rollup@4.59.0) - '@storybook/builder-vite': 8.6.18(storybook@8.6.18(prettier@3.5.3))(vite@6.4.1(@types/node@22.15.35)(jiti@2.6.1)(sass@1.98.0)(terser@5.46.0)(yaml@2.8.2)) - '@storybook/react': 8.6.18(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@8.6.18(prettier@3.5.3))(typescript@5.8.3) + '@joshwooding/vite-plugin-react-docgen-typescript': 0.5.0(typescript@5.8.3)(vite@6.0.7(@types/node@22.15.24)(jiti@2.6.1)(sass@1.89.0)(terser@5.46.0)(yaml@2.8.0)) + '@rollup/pluginutils': 5.3.0(rollup@4.41.0) + '@storybook/builder-vite': 8.6.14(storybook@8.6.14(prettier@3.5.3))(vite@6.0.7(@types/node@22.15.24)(jiti@2.6.1)(sass@1.89.0)(terser@5.46.0)(yaml@2.8.0)) + '@storybook/react': 8.6.14(@storybook/test@8.6.14(storybook@8.6.14(prettier@3.5.3)))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@8.6.14(prettier@3.5.3))(typescript@5.8.3) find-up: 5.0.0 magic-string: 0.30.21 react: 19.1.0 react-docgen: 7.1.1 react-dom: 19.1.0(react@19.1.0) resolve: 1.22.11 - storybook: 8.6.18(prettier@3.5.3) + storybook: 8.6.14(prettier@3.5.3) tsconfig-paths: 4.2.0 - vite: 6.4.1(@types/node@22.15.35)(jiti@2.6.1)(sass@1.98.0)(terser@5.46.0)(yaml@2.8.2) + vite: 6.0.7(@types/node@22.15.24)(jiti@2.6.1)(sass@1.89.0)(terser@5.46.0)(yaml@2.8.0) + optionalDependencies: + '@storybook/test': 8.6.14(storybook@8.6.14(prettier@3.5.3)) transitivePeerDependencies: - rollup - supports-color - typescript - '@storybook/react-webpack5@7.4.6(@babel/core@7.27.7)(@swc/helpers@0.5.19)(@types/react-dom@18.2.0)(@types/react@18.2.0)(@types/webpack@5.28.5(webpack-cli@5.1.4))(encoding@0.1.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(type-fest@4.41.0)(typescript@5.8.3)(webpack-cli@5.1.4)(webpack-dev-server@5.2.3)(webpack-hot-middleware@2.26.1)': + '@storybook/react-webpack5@7.4.0(@babel/core@7.29.0)(@swc/helpers@0.5.19)(@types/webpack@5.28.5(webpack-cli@5.1.4))(encoding@0.1.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(type-fest@4.41.0)(typescript@5.8.3)(webpack-cli@5.1.4)(webpack-dev-server@5.2.3)(webpack-hot-middleware@2.26.1)': dependencies: - '@storybook/builder-webpack5': 7.4.6(@swc/helpers@0.5.19)(@types/react-dom@18.2.0)(@types/react@18.2.0)(encoding@0.1.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@5.1.4) - '@storybook/preset-react-webpack': 7.4.6(@babel/core@7.27.7)(@types/webpack@5.28.5(webpack-cli@5.1.4))(encoding@0.1.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(type-fest@4.41.0)(typescript@5.8.3)(webpack-cli@5.1.4)(webpack-dev-server@5.2.3)(webpack-hot-middleware@2.26.1) - '@storybook/react': 7.4.6(encoding@0.1.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) + '@storybook/builder-webpack5': 7.4.0(@swc/helpers@0.5.19)(encoding@0.1.13)(typescript@5.8.3)(webpack-cli@5.1.4) + '@storybook/preset-react-webpack': 7.4.0(@babel/core@7.29.0)(@types/webpack@5.28.5(webpack-cli@5.1.4))(encoding@0.1.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(type-fest@4.41.0)(typescript@5.8.3)(webpack-cli@5.1.4)(webpack-dev-server@5.2.3)(webpack-hot-middleware@2.26.1) + '@storybook/react': 7.4.0(encoding@0.1.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) '@types/node': 16.18.126 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) optionalDependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.29.0 typescript: 5.8.3 transitivePeerDependencies: - '@rspack/core' @@ -33644,16 +38269,16 @@ snapshots: - webpack-hot-middleware - webpack-plugin-serve - '@storybook/react-webpack5@7.4.6(@babel/core@7.27.7)(@swc/helpers@0.5.19)(@types/react-dom@18.2.0)(@types/react@18.2.0)(@types/webpack@5.28.5)(encoding@0.1.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(type-fest@4.41.0)(typescript@5.8.3)(webpack-hot-middleware@2.26.1)': + '@storybook/react-webpack5@7.4.0(@babel/core@7.29.0)(@swc/helpers@0.5.19)(@types/webpack@5.28.5)(encoding@0.1.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(type-fest@4.41.0)(typescript@5.8.3)(webpack-hot-middleware@2.26.1)': dependencies: - '@storybook/builder-webpack5': 7.4.6(@swc/helpers@0.5.19)(@types/react-dom@18.2.0)(@types/react@18.2.0)(encoding@0.1.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3) - '@storybook/preset-react-webpack': 7.4.6(@babel/core@7.27.7)(@types/webpack@5.28.5)(encoding@0.1.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(type-fest@4.41.0)(typescript@5.8.3)(webpack-hot-middleware@2.26.1) - '@storybook/react': 7.4.6(encoding@0.1.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3) + '@storybook/builder-webpack5': 7.4.0(@swc/helpers@0.5.19)(encoding@0.1.13)(typescript@5.8.3) + '@storybook/preset-react-webpack': 7.4.0(@babel/core@7.29.0)(@types/webpack@5.28.5)(encoding@0.1.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(type-fest@4.41.0)(typescript@5.8.3)(webpack-hot-middleware@2.26.1) + '@storybook/react': 7.4.0(encoding@0.1.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3) '@types/node': 16.18.126 react: 19.1.0 react-dom: 19.1.0(react@19.1.0) optionalDependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.29.0 typescript: 5.8.3 transitivePeerDependencies: - '@rspack/core' @@ -33673,14 +38298,14 @@ snapshots: - webpack-hot-middleware - webpack-plugin-serve - '@storybook/react-webpack5@8.6.18(@storybook/test@8.6.15(storybook@8.6.18(prettier@3.5.3)))(@swc/core@1.15.18(@swc/helpers@0.5.19))(esbuild@0.25.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.18(prettier@3.5.3))(typescript@5.8.3)': + '@storybook/react-webpack5@8.6.14(@storybook/test@8.6.14(storybook@8.6.14(prettier@3.5.3)))(@swc/core@1.15.18(@swc/helpers@0.5.19))(esbuild@0.25.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.14(prettier@3.5.3))(typescript@5.8.3)': dependencies: - '@storybook/builder-webpack5': 8.6.18(@swc/core@1.15.18(@swc/helpers@0.5.19))(esbuild@0.25.12)(storybook@8.6.18(prettier@3.5.3))(typescript@5.8.3) - '@storybook/preset-react-webpack': 8.6.18(@storybook/test@8.6.15(storybook@8.6.18(prettier@3.5.3)))(@swc/core@1.15.18(@swc/helpers@0.5.19))(esbuild@0.25.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.18(prettier@3.5.3))(typescript@5.8.3) - '@storybook/react': 8.6.18(@storybook/test@8.6.15(storybook@8.6.18(prettier@3.5.3)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.18(prettier@3.5.3))(typescript@5.8.3) + '@storybook/builder-webpack5': 8.6.14(@swc/core@1.15.18(@swc/helpers@0.5.19))(esbuild@0.25.12)(storybook@8.6.14(prettier@3.5.3))(typescript@5.8.3) + '@storybook/preset-react-webpack': 8.6.14(@storybook/test@8.6.14(storybook@8.6.14(prettier@3.5.3)))(@swc/core@1.15.18(@swc/helpers@0.5.19))(esbuild@0.25.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.14(prettier@3.5.3))(typescript@5.8.3) + '@storybook/react': 8.6.14(@storybook/test@8.6.14(storybook@8.6.14(prettier@3.5.3)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.14(prettier@3.5.3))(typescript@5.8.3) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - storybook: 8.6.18(prettier@3.5.3) + storybook: 8.6.14(prettier@3.5.3) optionalDependencies: typescript: 5.8.3 transitivePeerDependencies: @@ -33692,14 +38317,14 @@ snapshots: - uglify-js - webpack-cli - '@storybook/react-webpack5@8.6.18(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.18(prettier@3.5.3))(typescript@5.8.3)(webpack-cli@5.1.4)': + '@storybook/react-webpack5@8.6.14(@storybook/test@8.6.14(storybook@8.6.14(prettier@3.5.3)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.14(prettier@3.5.3))(typescript@5.8.3)(webpack-cli@5.1.4)': dependencies: - '@storybook/builder-webpack5': 8.6.18(storybook@8.6.18(prettier@3.5.3))(typescript@5.8.3)(webpack-cli@5.1.4) - '@storybook/preset-react-webpack': 8.6.18(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.18(prettier@3.5.3))(typescript@5.8.3)(webpack-cli@5.1.4) - '@storybook/react': 8.6.18(@storybook/test@8.6.15(storybook@8.6.18(prettier@3.5.3)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.18(prettier@3.5.3))(typescript@5.8.3) + '@storybook/builder-webpack5': 8.6.14(storybook@8.6.14(prettier@3.5.3))(typescript@5.8.3)(webpack-cli@5.1.4) + '@storybook/preset-react-webpack': 8.6.14(@storybook/test@8.6.14(storybook@8.6.14(prettier@3.5.3)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.14(prettier@3.5.3))(typescript@5.8.3)(webpack-cli@5.1.4) + '@storybook/react': 8.6.14(@storybook/test@8.6.14(storybook@8.6.14(prettier@3.5.3)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.14(prettier@3.5.3))(typescript@5.8.3) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - storybook: 8.6.18(prettier@3.5.3) + storybook: 8.6.14(prettier@3.5.3) optionalDependencies: typescript: 5.8.3 transitivePeerDependencies: @@ -33711,19 +38336,113 @@ snapshots: - uglify-js - webpack-cli - '@storybook/react@6.5.16(@babel/core@7.27.7)(@storybook/builder-webpack5@6.5.16(@swc/core@1.15.18(@swc/helpers@0.5.19))(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(@storybook/manager-webpack5@6.5.16(@swc/core@1.15.18(@swc/helpers@0.5.19))(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/webpack@5.28.5(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1))(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(require-from-string@2.0.2)(type-fest@4.41.0)(typescript@5.8.3)(webpack-cli@6.0.1)(webpack-dev-server@5.2.3)(webpack-hot-middleware@2.26.1)': + '@storybook/react@6.3.7(@babel/core@7.27.1)(@types/react@18.2.0)(@types/webpack@4.41.40)(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-hot-middleware@2.26.1)': + dependencies: + '@babel/preset-flow': 7.27.1(@babel/core@7.27.1) + '@babel/preset-react': 7.27.1(@babel/core@7.27.1) + '@pmmmwh/react-refresh-webpack-plugin': 0.4.3(@types/webpack@4.41.40)(react-refresh@0.8.3)(webpack-hot-middleware@2.26.1)(webpack@4.47.0) + '@storybook/addons': 6.3.7(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/core': 6.3.7(@babel/core@7.27.1)(@types/react@18.2.0)(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@4.47.0) + '@storybook/core-common': 6.3.7(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) + '@storybook/node-logger': 6.3.7 + '@storybook/react-docgen-typescript-plugin': 1.0.2-canary.253f8c1.0(typescript@5.8.3)(webpack@4.47.0) + '@storybook/semver': 7.3.2 + '@types/webpack-env': 1.18.8 + babel-plugin-add-react-displayname: 0.0.5 + babel-plugin-named-asset-import: 0.3.8(@babel/core@7.27.1) + babel-plugin-react-docgen: 4.2.1 + core-js: 3.48.0 + global: 4.4.0 + lodash: 4.17.23 + prop-types: 15.8.1 + react: 18.2.0 + react-dev-utils: 11.0.4 + react-dom: 18.2.0(react@18.2.0) + react-refresh: 0.8.3 + read-pkg-up: 7.0.1 + regenerator-runtime: 0.13.11 + ts-dedent: 2.2.0 + webpack: 4.47.0 + optionalDependencies: + '@babel/core': 7.27.1 + typescript: 5.8.3 + transitivePeerDependencies: + - '@storybook/builder-webpack5' + - '@storybook/manager-webpack5' + - '@types/react' + - '@types/webpack' + - encoding + - eslint + - sockjs-client + - supports-color + - type-fest + - vue-template-compiler + - webpack-cli + - webpack-command + - webpack-dev-server + - webpack-hot-middleware + - webpack-plugin-serve + + '@storybook/react@6.3.7(@babel/core@7.29.0)(@types/react@18.2.0)(@types/webpack@4.41.40)(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-hot-middleware@2.26.1)': + dependencies: + '@babel/preset-flow': 7.27.1(@babel/core@7.29.0) + '@babel/preset-react': 7.27.1(@babel/core@7.29.0) + '@pmmmwh/react-refresh-webpack-plugin': 0.4.3(@types/webpack@4.41.40)(react-refresh@0.8.3)(webpack-hot-middleware@2.26.1)(webpack@4.47.0) + '@storybook/addons': 6.3.7(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/core': 6.3.7(@babel/core@7.29.0)(@types/react@18.2.0)(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@4.47.0) + '@storybook/core-common': 6.3.7(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) + '@storybook/node-logger': 6.3.7 + '@storybook/react-docgen-typescript-plugin': 1.0.2-canary.253f8c1.0(typescript@5.8.3)(webpack@4.47.0) + '@storybook/semver': 7.3.2 + '@types/webpack-env': 1.18.8 + babel-plugin-add-react-displayname: 0.0.5 + babel-plugin-named-asset-import: 0.3.8(@babel/core@7.29.0) + babel-plugin-react-docgen: 4.2.1 + core-js: 3.48.0 + global: 4.4.0 + lodash: 4.17.23 + prop-types: 15.8.1 + react: 18.2.0 + react-dev-utils: 11.0.4 + react-dom: 18.2.0(react@18.2.0) + react-refresh: 0.8.3 + read-pkg-up: 7.0.1 + regenerator-runtime: 0.13.11 + ts-dedent: 2.2.0 + webpack: 4.47.0 + optionalDependencies: + '@babel/core': 7.29.0 + typescript: 5.8.3 + transitivePeerDependencies: + - '@storybook/builder-webpack5' + - '@storybook/manager-webpack5' + - '@types/react' + - '@types/webpack' + - encoding + - eslint + - sockjs-client + - supports-color + - type-fest + - vue-template-compiler + - webpack-cli + - webpack-command + - webpack-dev-server + - webpack-hot-middleware + - webpack-plugin-serve + + '@storybook/react@6.5.16(@babel/core@7.27.1)(@storybook/builder-webpack5@6.5.16(@swc/core@1.15.18(@swc/helpers@0.5.19))(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(@storybook/manager-webpack5@6.5.9(@swc/core@1.15.18(@swc/helpers@0.5.19))(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/webpack@5.28.5(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1))(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(require-from-string@2.0.2)(type-fest@4.41.0)(typescript@5.8.3)(webpack-cli@6.0.1)(webpack-dev-server@5.2.3)(webpack-hot-middleware@2.26.1)': dependencies: - '@babel/preset-flow': 7.27.1(@babel/core@7.27.7) - '@babel/preset-react': 7.27.1(@babel/core@7.27.7) - '@pmmmwh/react-refresh-webpack-plugin': 0.5.17(@types/webpack@5.28.5(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1))(react-refresh@0.11.0)(type-fest@4.41.0)(webpack-dev-server@5.2.3)(webpack-hot-middleware@2.26.1)(webpack@5.105.4) + '@babel/preset-flow': 7.27.1(@babel/core@7.27.1) + '@babel/preset-react': 7.27.1(@babel/core@7.27.1) + '@pmmmwh/react-refresh-webpack-plugin': 0.5.17(@types/webpack@5.28.5(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1))(react-refresh@0.11.0)(type-fest@4.41.0)(webpack-dev-server@5.2.3)(webpack-hot-middleware@2.26.1)(webpack@5.104.1) '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/client-logger': 6.5.16 - '@storybook/core': 6.5.16(@storybook/builder-webpack5@6.5.16(@swc/core@1.15.18(@swc/helpers@0.5.19))(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(@storybook/manager-webpack5@6.5.16(@swc/core@1.15.18(@swc/helpers@0.5.19))(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(@swc/core@1.15.18(@swc/helpers@0.5.19))(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)(webpack@5.105.4) - '@storybook/core-common': 6.5.16(@swc/core@1.15.18(@swc/helpers@0.5.19))(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) + '@storybook/core': 6.5.16(@storybook/builder-webpack5@6.5.16(@swc/core@1.15.18(@swc/helpers@0.5.19))(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(@storybook/manager-webpack5@6.5.9(@swc/core@1.15.18(@swc/helpers@0.5.19))(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1))(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)(webpack@5.104.1) + '@storybook/core-common': 6.5.16(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/docs-tools': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/node-logger': 6.5.16 - '@storybook/react-docgen-typescript-plugin': 1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0(typescript@5.8.3)(webpack@5.105.4) + '@storybook/react-docgen-typescript-plugin': 1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0(typescript@5.8.3)(webpack@5.104.1) '@storybook/semver': 7.3.2 '@storybook/store': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@types/estree': 0.0.51 @@ -33750,11 +38469,11 @@ snapshots: require-from-string: 2.0.2 ts-dedent: 2.2.0 util-deprecate: 1.0.2 - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) + webpack: 5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) optionalDependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 '@storybook/builder-webpack5': 6.5.16(@swc/core@1.15.18(@swc/helpers@0.5.19))(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) - '@storybook/manager-webpack5': 6.5.16(@swc/core@1.15.18(@swc/helpers@0.5.19))(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) + '@storybook/manager-webpack5': 6.5.9(@swc/core@1.15.18(@swc/helpers@0.5.19))(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) typescript: 5.8.3 transitivePeerDependencies: - '@storybook/mdx2-csf' @@ -33771,23 +38490,24 @@ snapshots: - utf-8-validate - vue-template-compiler - webpack-cli + - webpack-command - webpack-dev-server - webpack-hot-middleware - webpack-plugin-serve - '@storybook/react@6.5.16(@babel/core@7.27.7)(@storybook/builder-webpack5@6.5.16(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0))(@storybook/manager-webpack5@6.5.16(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0))(@types/webpack@5.28.5(webpack-cli@4.10.0))(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(require-from-string@2.0.2)(type-fest@4.41.0)(typescript@5.8.3)(webpack-cli@4.10.0)(webpack-dev-server@5.2.3)(webpack-hot-middleware@2.26.1)': + '@storybook/react@6.5.16(@babel/core@7.27.1)(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/webpack@5.28.5(@swc/core@1.15.18(@swc/helpers@0.5.19)))(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(require-from-string@2.0.2)(type-fest@4.41.0)(typescript@5.8.3)(webpack-dev-server@5.2.3(webpack@5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))))(webpack-hot-middleware@2.26.1)': dependencies: - '@babel/preset-flow': 7.27.1(@babel/core@7.27.7) - '@babel/preset-react': 7.27.1(@babel/core@7.27.7) - '@pmmmwh/react-refresh-webpack-plugin': 0.5.17(@types/webpack@5.28.5(webpack-cli@4.10.0))(react-refresh@0.11.0)(type-fest@4.41.0)(webpack-dev-server@5.2.3)(webpack-hot-middleware@2.26.1)(webpack@5.105.4) + '@babel/preset-flow': 7.27.1(@babel/core@7.27.1) + '@babel/preset-react': 7.27.1(@babel/core@7.27.1) + '@pmmmwh/react-refresh-webpack-plugin': 0.5.17(@types/webpack@5.28.5(@swc/core@1.15.18(@swc/helpers@0.5.19)))(react-refresh@0.11.0)(type-fest@4.41.0)(webpack-dev-server@5.2.3(webpack@5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))))(webpack-hot-middleware@2.26.1)(webpack@5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))) '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/client-logger': 6.5.16 - '@storybook/core': 6.5.16(@storybook/builder-webpack5@6.5.16(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0))(@storybook/manager-webpack5@6.5.16(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0))(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)(webpack@5.105.4) - '@storybook/core-common': 6.5.16(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) + '@storybook/core': 6.5.16(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))) + '@storybook/core-common': 6.5.16(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/docs-tools': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/node-logger': 6.5.16 - '@storybook/react-docgen-typescript-plugin': 1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0(typescript@5.8.3)(webpack@5.105.4) + '@storybook/react-docgen-typescript-plugin': 1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0(typescript@5.8.3)(webpack@5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))) '@storybook/semver': 7.3.2 '@storybook/store': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@types/estree': 0.0.51 @@ -33814,11 +38534,9 @@ snapshots: require-from-string: 2.0.2 ts-dedent: 2.2.0 util-deprecate: 1.0.2 - webpack: 5.105.4(webpack-cli@4.10.0) + webpack: 5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19)) optionalDependencies: - '@babel/core': 7.27.7 - '@storybook/builder-webpack5': 6.5.16(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) - '@storybook/manager-webpack5': 6.5.16(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) + '@babel/core': 7.27.1 typescript: 5.8.3 transitivePeerDependencies: - '@storybook/mdx2-csf' @@ -33835,23 +38553,24 @@ snapshots: - utf-8-validate - vue-template-compiler - webpack-cli + - webpack-command - webpack-dev-server - webpack-hot-middleware - webpack-plugin-serve - '@storybook/react@6.5.16(@babel/core@7.27.7)(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/webpack@5.28.5(@swc/core@1.15.18(@swc/helpers@0.5.19)))(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(require-from-string@2.0.2)(type-fest@4.41.0)(typescript@5.8.3)(webpack-dev-server@5.2.3(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))))(webpack-hot-middleware@2.26.1)': + '@storybook/react@6.5.16(@babel/core@7.29.0)(@types/webpack@5.28.5)(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(require-from-string@2.0.2)(type-fest@4.41.0)(typescript@5.8.3)(webpack-dev-server@5.2.3(webpack@5.104.1))(webpack-hot-middleware@2.26.1)': dependencies: - '@babel/preset-flow': 7.27.1(@babel/core@7.27.7) - '@babel/preset-react': 7.27.1(@babel/core@7.27.7) - '@pmmmwh/react-refresh-webpack-plugin': 0.5.17(@types/webpack@5.28.5(@swc/core@1.15.18(@swc/helpers@0.5.19)))(react-refresh@0.11.0)(type-fest@4.41.0)(webpack-dev-server@5.2.3(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))))(webpack-hot-middleware@2.26.1)(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))) + '@babel/preset-flow': 7.27.1(@babel/core@7.29.0) + '@babel/preset-react': 7.27.1(@babel/core@7.29.0) + '@pmmmwh/react-refresh-webpack-plugin': 0.5.17(@types/webpack@5.28.5)(react-refresh@0.11.0)(type-fest@4.41.0)(webpack-dev-server@5.2.3(webpack@5.104.1))(webpack-hot-middleware@2.26.1)(webpack@5.104.1) '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/client-logger': 6.5.16 - '@storybook/core': 6.5.16(@swc/core@1.15.18(@swc/helpers@0.5.19))(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))) - '@storybook/core-common': 6.5.16(@swc/core@1.15.18(@swc/helpers@0.5.19))(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) + '@storybook/core': 6.5.16(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.104.1) + '@storybook/core-common': 6.5.16(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/docs-tools': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/node-logger': 6.5.16 - '@storybook/react-docgen-typescript-plugin': 1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0(typescript@5.8.3)(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))) + '@storybook/react-docgen-typescript-plugin': 1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0(typescript@5.8.3)(webpack@5.104.1) '@storybook/semver': 7.3.2 '@storybook/store': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@types/estree': 0.0.51 @@ -33878,9 +38597,9 @@ snapshots: require-from-string: 2.0.2 ts-dedent: 2.2.0 util-deprecate: 1.0.2 - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19)) + webpack: 5.104.1(webpack-cli@5.1.4) optionalDependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.29.0 typescript: 5.8.3 transitivePeerDependencies: - '@storybook/mdx2-csf' @@ -33897,25 +38616,26 @@ snapshots: - utf-8-validate - vue-template-compiler - webpack-cli + - webpack-command - webpack-dev-server - webpack-hot-middleware - webpack-plugin-serve - '@storybook/react@6.5.16(@babel/core@7.27.7)(@types/webpack@5.28.5)(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(require-from-string@2.0.2)(type-fest@4.41.0)(typescript@5.8.3)(webpack-dev-server@5.2.3(webpack@5.105.4))(webpack-hot-middleware@2.26.1)': + '@storybook/react@6.5.9(@babel/core@7.27.1)(@storybook/builder-webpack5@6.5.9(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0))(@storybook/manager-webpack5@6.5.9(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0))(@types/webpack@5.28.5(webpack-cli@4.10.0))(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(require-from-string@2.0.2)(type-fest@4.41.0)(typescript@5.8.3)(webpack-cli@4.10.0)(webpack-dev-server@5.2.3)(webpack-hot-middleware@2.26.1)': dependencies: - '@babel/preset-flow': 7.27.1(@babel/core@7.27.7) - '@babel/preset-react': 7.27.1(@babel/core@7.27.7) - '@pmmmwh/react-refresh-webpack-plugin': 0.5.17(@types/webpack@5.28.5)(react-refresh@0.11.0)(type-fest@4.41.0)(webpack-dev-server@5.2.3(webpack@5.105.4))(webpack-hot-middleware@2.26.1)(webpack@5.105.4) - '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/client-logger': 6.5.16 - '@storybook/core': 6.5.16(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack@5.105.4) - '@storybook/core-common': 6.5.16(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) + '@babel/preset-flow': 7.27.1(@babel/core@7.27.1) + '@babel/preset-react': 7.27.1(@babel/core@7.27.1) + '@pmmmwh/react-refresh-webpack-plugin': 0.5.17(@types/webpack@5.28.5(webpack-cli@4.10.0))(react-refresh@0.11.0)(type-fest@4.41.0)(webpack-dev-server@5.2.3)(webpack-hot-middleware@2.26.1)(webpack@5.104.1) + '@storybook/addons': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/client-logger': 6.5.9 + '@storybook/core': 6.5.9(@storybook/builder-webpack5@6.5.9(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0))(@storybook/manager-webpack5@6.5.9(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0))(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)(webpack@5.104.1) + '@storybook/core-common': 6.5.9(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) '@storybook/csf': 0.0.2--canary.4566f4d.1 - '@storybook/docs-tools': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/node-logger': 6.5.16 - '@storybook/react-docgen-typescript-plugin': 1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0(typescript@5.8.3)(webpack@5.105.4) + '@storybook/docs-tools': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/node-logger': 6.5.9 + '@storybook/react-docgen-typescript-plugin': 1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0(typescript@5.8.3)(webpack@5.104.1) '@storybook/semver': 7.3.2 - '@storybook/store': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/store': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@types/estree': 0.0.51 '@types/node': 16.18.126 '@types/webpack-env': 1.18.8 @@ -33940,9 +38660,11 @@ snapshots: require-from-string: 2.0.2 ts-dedent: 2.2.0 util-deprecate: 1.0.2 - webpack: 5.105.4(webpack-cli@5.1.4) + webpack: 5.104.1(webpack-cli@4.10.0) optionalDependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 + '@storybook/builder-webpack5': 6.5.9(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) + '@storybook/manager-webpack5': 6.5.9(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) typescript: 5.8.3 transitivePeerDependencies: - '@storybook/mdx2-csf' @@ -33959,25 +38681,26 @@ snapshots: - utf-8-validate - vue-template-compiler - webpack-cli + - webpack-command - webpack-dev-server - webpack-hot-middleware - webpack-plugin-serve - '@storybook/react@6.5.16(@babel/core@7.27.7)(@types/webpack@5.28.5)(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(require-from-string@2.0.2)(type-fest@4.41.0)(typescript@4.9.5)(webpack-dev-server@5.2.3(webpack@5.105.4))(webpack-hot-middleware@2.26.1)': + '@storybook/react@6.5.9(@babel/core@7.29.0)(@types/webpack@5.28.5)(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(require-from-string@2.0.2)(type-fest@4.41.0)(typescript@4.9.4)(webpack-dev-server@5.2.3(webpack@5.104.1))(webpack-hot-middleware@2.26.1)': dependencies: - '@babel/preset-flow': 7.27.1(@babel/core@7.27.7) - '@babel/preset-react': 7.27.1(@babel/core@7.27.7) - '@pmmmwh/react-refresh-webpack-plugin': 0.5.17(@types/webpack@5.28.5)(react-refresh@0.11.0)(type-fest@4.41.0)(webpack-dev-server@5.2.3(webpack@5.105.4))(webpack-hot-middleware@2.26.1)(webpack@5.105.4) - '@storybook/addons': 6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@storybook/client-logger': 6.5.16 - '@storybook/core': 6.5.16(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.5)(webpack@5.105.4) - '@storybook/core-common': 6.5.16(eslint@9.39.4(jiti@2.6.1))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.5) + '@babel/preset-flow': 7.27.1(@babel/core@7.29.0) + '@babel/preset-react': 7.27.1(@babel/core@7.29.0) + '@pmmmwh/react-refresh-webpack-plugin': 0.5.17(@types/webpack@5.28.5)(react-refresh@0.11.0)(type-fest@4.41.0)(webpack-dev-server@5.2.3(webpack@5.104.1))(webpack-hot-middleware@2.26.1)(webpack@5.104.1) + '@storybook/addons': 6.5.9(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/client-logger': 6.5.9 + '@storybook/core': 6.5.9(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.4)(webpack@5.104.1) + '@storybook/core-common': 6.5.9(eslint@9.39.4(jiti@2.6.1))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.4) '@storybook/csf': 0.0.2--canary.4566f4d.1 - '@storybook/docs-tools': 6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@storybook/node-logger': 6.5.16 - '@storybook/react-docgen-typescript-plugin': 1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0(typescript@4.9.5)(webpack@5.105.4) + '@storybook/docs-tools': 6.5.9(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/node-logger': 6.5.9 + '@storybook/react-docgen-typescript-plugin': 1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0(typescript@4.9.4)(webpack@5.104.1) '@storybook/semver': 7.3.2 - '@storybook/store': 6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/store': 6.5.9(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@types/estree': 0.0.51 '@types/node': 16.18.126 '@types/webpack-env': 1.18.8 @@ -34002,10 +38725,10 @@ snapshots: require-from-string: 2.0.2 ts-dedent: 2.2.0 util-deprecate: 1.0.2 - webpack: 5.105.4(webpack-cli@5.1.4) + webpack: 5.104.1(webpack-cli@5.1.4) optionalDependencies: - '@babel/core': 7.27.7 - typescript: 4.9.5 + '@babel/core': 7.29.0 + typescript: 4.9.4 transitivePeerDependencies: - '@storybook/mdx2-csf' - '@swc/core' @@ -34021,19 +38744,20 @@ snapshots: - utf-8-validate - vue-template-compiler - webpack-cli + - webpack-command - webpack-dev-server - webpack-hot-middleware - webpack-plugin-serve - '@storybook/react@7.4.6(encoding@0.1.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)': + '@storybook/react@7.4.0(encoding@0.1.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)': dependencies: - '@storybook/client-logger': 7.4.6 - '@storybook/core-client': 7.4.6 - '@storybook/docs-tools': 7.4.6(encoding@0.1.13) + '@storybook/client-logger': 7.4.0 + '@storybook/core-client': 7.4.0 + '@storybook/docs-tools': 7.4.0(encoding@0.1.13) '@storybook/global': 5.0.0 - '@storybook/preview-api': 7.4.6 - '@storybook/react-dom-shim': 7.4.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/types': 7.4.6 + '@storybook/preview-api': 7.4.0 + '@storybook/react-dom-shim': 7.4.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/types': 7.4.0 '@types/escodegen': 0.0.6 '@types/estree': 0.0.51 '@types/node': 16.18.126 @@ -34056,15 +38780,15 @@ snapshots: - encoding - supports-color - '@storybook/react@7.4.6(encoding@0.1.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3)': + '@storybook/react@7.4.0(encoding@0.1.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3)': dependencies: - '@storybook/client-logger': 7.4.6 - '@storybook/core-client': 7.4.6 - '@storybook/docs-tools': 7.4.6(encoding@0.1.13) + '@storybook/client-logger': 7.4.0 + '@storybook/core-client': 7.4.0 + '@storybook/docs-tools': 7.4.0(encoding@0.1.13) '@storybook/global': 5.0.0 - '@storybook/preview-api': 7.4.6 - '@storybook/react-dom-shim': 7.4.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@storybook/types': 7.4.6 + '@storybook/preview-api': 7.4.0 + '@storybook/react-dom-shim': 7.4.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/types': 7.4.0 '@types/escodegen': 0.0.6 '@types/estree': 0.0.51 '@types/node': 16.18.126 @@ -34087,35 +38811,51 @@ snapshots: - encoding - supports-color - '@storybook/react@8.6.18(@storybook/test@8.6.15(storybook@8.6.18(prettier@3.5.3)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.18(prettier@3.5.3))(typescript@5.8.3)': + '@storybook/react@8.6.14(@storybook/test@8.6.14(storybook@8.6.14(prettier@3.5.3)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.14(prettier@3.5.3))(typescript@5.8.3)': dependencies: - '@storybook/components': 8.6.18(storybook@8.6.18(prettier@3.5.3)) + '@storybook/components': 8.6.14(storybook@8.6.14(prettier@3.5.3)) '@storybook/global': 5.0.0 - '@storybook/manager-api': 8.6.18(storybook@8.6.18(prettier@3.5.3)) - '@storybook/preview-api': 8.6.18(storybook@8.6.18(prettier@3.5.3)) - '@storybook/react-dom-shim': 8.6.18(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.18(prettier@3.5.3)) - '@storybook/theming': 8.6.18(storybook@8.6.18(prettier@3.5.3)) + '@storybook/manager-api': 8.6.14(storybook@8.6.14(prettier@3.5.3)) + '@storybook/preview-api': 8.6.14(storybook@8.6.14(prettier@3.5.3)) + '@storybook/react-dom-shim': 8.6.14(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.14(prettier@3.5.3)) + '@storybook/theming': 8.6.14(storybook@8.6.14(prettier@3.5.3)) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - storybook: 8.6.18(prettier@3.5.3) + storybook: 8.6.14(prettier@3.5.3) optionalDependencies: - '@storybook/test': 8.6.15(storybook@8.6.18(prettier@3.5.3)) + '@storybook/test': 8.6.14(storybook@8.6.14(prettier@3.5.3)) typescript: 5.8.3 - '@storybook/react@8.6.18(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@8.6.18(prettier@3.5.3))(typescript@5.8.3)': + '@storybook/react@8.6.14(@storybook/test@8.6.14(storybook@8.6.14(prettier@3.5.3)))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@8.6.14(prettier@3.5.3))(typescript@5.8.3)': dependencies: - '@storybook/components': 8.6.18(storybook@8.6.18(prettier@3.5.3)) + '@storybook/components': 8.6.14(storybook@8.6.14(prettier@3.5.3)) '@storybook/global': 5.0.0 - '@storybook/manager-api': 8.6.18(storybook@8.6.18(prettier@3.5.3)) - '@storybook/preview-api': 8.6.18(storybook@8.6.18(prettier@3.5.3)) - '@storybook/react-dom-shim': 8.6.18(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@8.6.18(prettier@3.5.3)) - '@storybook/theming': 8.6.18(storybook@8.6.18(prettier@3.5.3)) + '@storybook/manager-api': 8.6.14(storybook@8.6.14(prettier@3.5.3)) + '@storybook/preview-api': 8.6.14(storybook@8.6.14(prettier@3.5.3)) + '@storybook/react-dom-shim': 8.6.14(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@8.6.14(prettier@3.5.3)) + '@storybook/theming': 8.6.14(storybook@8.6.14(prettier@3.5.3)) react: 19.1.0 react-dom: 19.1.0(react@19.1.0) - storybook: 8.6.18(prettier@3.5.3) + storybook: 8.6.14(prettier@3.5.3) optionalDependencies: + '@storybook/test': 8.6.14(storybook@8.6.14(prettier@3.5.3)) typescript: 5.8.3 + '@storybook/router@6.3.7(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@reach/router': 1.3.4(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/client-logger': 6.3.7 + '@types/reach__router': 1.3.15 + core-js: 3.48.0 + fast-deep-equal: 3.1.3 + global: 4.4.0 + lodash: 4.17.23 + memoizerific: 1.11.3 + qs: 6.14.2 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + ts-dedent: 2.2.0 + '@storybook/router@6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@storybook/client-logger': 6.5.16 @@ -34126,27 +38866,37 @@ snapshots: react-dom: 18.2.0(react@18.2.0) regenerator-runtime: 0.13.11 - '@storybook/router@6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@storybook/router@6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@storybook/client-logger': 6.5.16 + '@storybook/client-logger': 6.5.9 core-js: 3.48.0 memoizerific: 1.11.3 - qs: 6.15.0 + qs: 6.14.2 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + regenerator-runtime: 0.13.11 + + '@storybook/router@6.5.9(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@storybook/client-logger': 6.5.9 + core-js: 3.48.0 + memoizerific: 1.11.3 + qs: 6.14.2 react: 19.1.0 react-dom: 19.1.0(react@19.1.0) regenerator-runtime: 0.13.11 - '@storybook/router@7.4.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@storybook/router@7.4.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@storybook/client-logger': 7.4.6 + '@storybook/client-logger': 7.4.0 memoizerific: 1.11.3 qs: 6.15.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - '@storybook/router@7.4.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@storybook/router@7.4.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@storybook/client-logger': 7.4.6 + '@storybook/client-logger': 7.4.0 memoizerific: 1.11.3 qs: 6.15.0 react: 19.1.0 @@ -34172,6 +38922,21 @@ snapshots: react-dom: 18.2.0(react@18.2.0) regenerator-runtime: 0.13.11 + '@storybook/source-loader@6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@storybook/addons': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/client-logger': 6.5.9 + '@storybook/csf': 0.0.2--canary.4566f4d.1 + core-js: 3.48.0 + estraverse: 5.3.0 + global: 4.4.0 + loader-utils: 2.0.4 + lodash: 4.17.23 + prettier: 2.3.0 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + regenerator-runtime: 0.13.11 + '@storybook/store@6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -34192,11 +38957,16 @@ snapshots: ts-dedent: 2.2.0 util-deprecate: 1.0.2 - '@storybook/store@6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@storybook/store@6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@storybook/addons': 6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@storybook/client-logger': 6.5.16 - '@storybook/core-events': 6.5.16 + '@storybook/client-logger': 7.4.6 + '@storybook/preview-api': 7.4.6 + + '@storybook/store@6.5.9(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@storybook/addons': 6.5.9(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/client-logger': 6.5.9 + '@storybook/core-events': 6.5.9 '@storybook/csf': 0.0.2--canary.4566f4d.1 core-js: 3.48.0 fast-deep-equal: 3.1.3 @@ -34212,42 +38982,10 @@ snapshots: ts-dedent: 2.2.0 util-deprecate: 1.0.2 - '@storybook/store@7.4.6': - dependencies: - '@storybook/client-logger': 7.4.6 - '@storybook/preview-api': 7.4.6 - - '@storybook/telemetry@6.5.16(@swc/core@1.15.18(@swc/helpers@0.5.19))(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)': - dependencies: - '@storybook/client-logger': 6.5.16 - '@storybook/core-common': 6.5.16(@swc/core@1.15.18(@swc/helpers@0.5.19))(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) - chalk: 4.1.2 - core-js: 3.48.0 - detect-package-manager: 2.0.1 - fetch-retry: 5.0.6 - fs-extra: 9.1.0 - global: 4.4.0 - isomorphic-unfetch: 3.1.0(encoding@0.1.13) - nanoid: 3.3.11 - read-pkg-up: 7.0.1 - regenerator-runtime: 0.13.11 - transitivePeerDependencies: - - '@swc/core' - - encoding - - esbuild - - eslint - - react - - react-dom - - supports-color - - typescript - - uglify-js - - vue-template-compiler - - webpack-cli - - '@storybook/telemetry@6.5.16(@swc/core@1.15.18(@swc/helpers@0.5.19))(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)': + '@storybook/telemetry@6.5.16(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)': dependencies: '@storybook/client-logger': 6.5.16 - '@storybook/core-common': 6.5.16(@swc/core@1.15.18(@swc/helpers@0.5.19))(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) + '@storybook/core-common': 6.5.16(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) chalk: 4.1.2 core-js: 3.48.0 detect-package-manager: 2.0.1 @@ -34259,22 +38997,20 @@ snapshots: read-pkg-up: 7.0.1 regenerator-runtime: 0.13.11 transitivePeerDependencies: - - '@swc/core' - encoding - - esbuild - eslint - react - react-dom - supports-color - typescript - - uglify-js - vue-template-compiler - webpack-cli + - webpack-command - '@storybook/telemetry@6.5.16(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)': + '@storybook/telemetry@6.5.16(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1)': dependencies: '@storybook/client-logger': 6.5.16 - '@storybook/core-common': 6.5.16(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) + '@storybook/core-common': 6.5.16(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@6.0.1) chalk: 4.1.2 core-js: 3.48.0 detect-package-manager: 2.0.1 @@ -34286,22 +39022,20 @@ snapshots: read-pkg-up: 7.0.1 regenerator-runtime: 0.13.11 transitivePeerDependencies: - - '@swc/core' - encoding - - esbuild - eslint - react - react-dom - supports-color - typescript - - uglify-js - vue-template-compiler - webpack-cli + - webpack-command - '@storybook/telemetry@6.5.16(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)': + '@storybook/telemetry@6.5.9(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0)': dependencies: - '@storybook/client-logger': 6.5.16 - '@storybook/core-common': 6.5.16(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) + '@storybook/client-logger': 6.5.9 + '@storybook/core-common': 6.5.9(eslint@9.39.4(jiti@2.6.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3)(webpack-cli@4.10.0) chalk: 4.1.2 core-js: 3.48.0 detect-package-manager: 2.0.1 @@ -34313,22 +39047,20 @@ snapshots: read-pkg-up: 7.0.1 regenerator-runtime: 0.13.11 transitivePeerDependencies: - - '@swc/core' - encoding - - esbuild - eslint - react - react-dom - supports-color - typescript - - uglify-js - vue-template-compiler - webpack-cli + - webpack-command - '@storybook/telemetry@6.5.16(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.5)': + '@storybook/telemetry@6.5.9(encoding@0.1.13)(eslint@9.39.4(jiti@2.6.1))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.4)': dependencies: - '@storybook/client-logger': 6.5.16 - '@storybook/core-common': 6.5.16(eslint@9.39.4(jiti@2.6.1))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.5) + '@storybook/client-logger': 6.5.9 + '@storybook/core-common': 6.5.9(eslint@9.39.4(jiti@2.6.1))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@4.9.4) chalk: 4.1.2 core-js: 3.48.0 detect-package-manager: 2.0.1 @@ -34340,53 +39072,59 @@ snapshots: read-pkg-up: 7.0.1 regenerator-runtime: 0.13.11 transitivePeerDependencies: - - '@swc/core' - encoding - - esbuild - eslint - react - react-dom - supports-color - typescript - - uglify-js - vue-template-compiler - webpack-cli + - webpack-command - '@storybook/telemetry@7.6.24(encoding@0.1.13)': + '@storybook/telemetry@7.6.10(encoding@0.1.13)': dependencies: - '@storybook/client-logger': 7.6.24 - '@storybook/core-common': 7.6.24(encoding@0.1.13) - '@storybook/csf-tools': 7.6.24 + '@storybook/client-logger': 7.6.10 + '@storybook/core-common': 7.6.10(encoding@0.1.13) + '@storybook/csf-tools': 7.6.10 chalk: 4.1.2 detect-package-manager: 2.0.1 fetch-retry: 5.0.6 - fs-extra: 11.3.4 + fs-extra: 11.3.0 read-pkg-up: 7.0.1 transitivePeerDependencies: - encoding - supports-color - '@storybook/test@8.6.14(storybook@8.6.18(prettier@3.5.3))': + '@storybook/test@8.6.14(storybook@8.6.14(prettier@3.5.3))': dependencies: '@storybook/global': 5.0.0 - '@storybook/instrumenter': 8.6.14(storybook@8.6.18(prettier@3.5.3)) + '@storybook/instrumenter': 8.6.14(storybook@8.6.14(prettier@3.5.3)) '@testing-library/dom': 10.4.0 '@testing-library/jest-dom': 6.5.0 '@testing-library/user-event': 14.5.2(@testing-library/dom@10.4.0) '@vitest/expect': 2.0.5 '@vitest/spy': 2.0.5 - storybook: 8.6.18(prettier@3.5.3) + storybook: 8.6.14(prettier@3.5.3) - '@storybook/test@8.6.15(storybook@8.6.18(prettier@3.5.3))': + '@storybook/theming@6.3.7(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@storybook/global': 5.0.0 - '@storybook/instrumenter': 8.6.15(storybook@8.6.18(prettier@3.5.3)) - '@testing-library/dom': 10.4.0 - '@testing-library/jest-dom': 6.5.0 - '@testing-library/user-event': 14.5.2(@testing-library/dom@10.4.0) - '@vitest/expect': 2.0.5 - '@vitest/spy': 2.0.5 - storybook: 8.6.18(prettier@3.5.3) + '@emotion/core': 10.3.1(react@18.2.0) + '@emotion/is-prop-valid': 0.8.8 + '@emotion/styled': 10.3.0(@emotion/core@10.3.1(react@18.2.0))(react@18.2.0) + '@storybook/client-logger': 6.3.7 + core-js: 3.48.0 + deep-object-diff: 1.1.9 + emotion-theming: 10.3.0(@emotion/core@10.3.1(react@18.2.0))(react@18.2.0) + global: 4.4.0 + memoizerific: 1.11.3 + polished: 4.3.1 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + resolve-from: 5.0.0 + ts-dedent: 2.2.0 + transitivePeerDependencies: + - supports-color '@storybook/theming@6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: @@ -34397,51 +39135,102 @@ snapshots: react-dom: 18.2.0(react@18.2.0) regenerator-runtime: 0.13.11 - '@storybook/theming@6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@storybook/theming@6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@storybook/client-logger': 6.5.16 + '@storybook/client-logger': 6.5.9 + core-js: 3.48.0 + memoizerific: 1.11.3 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + regenerator-runtime: 0.13.11 + + '@storybook/theming@6.5.9(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@storybook/client-logger': 6.5.9 core-js: 3.48.0 memoizerific: 1.11.3 react: 19.1.0 react-dom: 19.1.0(react@19.1.0) regenerator-runtime: 0.13.11 - '@storybook/theming@7.4.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@storybook/theming@7.4.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@18.2.0) - '@storybook/client-logger': 7.4.6 + '@storybook/client-logger': 7.4.0 '@storybook/global': 5.0.0 memoizerific: 1.11.3 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - '@storybook/theming@7.4.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@storybook/theming@7.4.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@19.1.0) - '@storybook/client-logger': 7.4.6 + '@storybook/client-logger': 7.4.0 '@storybook/global': 5.0.0 memoizerific: 1.11.3 react: 19.1.0 react-dom: 19.1.0(react@19.1.0) - '@storybook/theming@8.6.18(storybook@8.6.18(prettier@3.5.3))': + '@storybook/theming@8.6.13(storybook@8.6.13(prettier@3.5.3))': dependencies: - storybook: 8.6.18(prettier@3.5.3) + storybook: 8.6.13(prettier@3.5.3) - '@storybook/types@7.4.6': + '@storybook/theming@8.6.14(storybook@8.6.14(prettier@3.5.3))': dependencies: - '@storybook/channels': 7.4.6 + storybook: 8.6.14(prettier@3.5.3) + + '@storybook/types@7.4.0': + dependencies: + '@storybook/channels': 7.4.0 '@types/babel__core': 7.20.5 '@types/express': 4.17.25 + '@types/react': 16.14.69 file-system-cache: 2.3.0 - '@storybook/types@7.6.24': + '@storybook/types@7.6.10': dependencies: - '@storybook/channels': 7.6.24 + '@storybook/channels': 7.6.10 '@types/babel__core': 7.20.5 '@types/express': 4.17.25 file-system-cache: 2.3.0 + '@storybook/ui@6.3.7(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@emotion/core': 10.3.1(react@18.2.0) + '@storybook/addons': 6.3.7(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/api': 6.3.7(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/channels': 6.3.7 + '@storybook/client-logger': 6.3.7 + '@storybook/components': 6.3.7(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/core-events': 6.3.7 + '@storybook/router': 6.3.7(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/semver': 7.3.2 + '@storybook/theming': 6.3.7(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@types/markdown-to-jsx': 6.11.3 + copy-to-clipboard: 3.3.3 + core-js: 3.48.0 + core-js-pure: 3.48.0 + downshift: 6.1.12(react@18.2.0) + emotion-theming: 10.3.0(@emotion/core@10.3.1(react@18.2.0))(react@18.2.0) + fuse.js: 3.6.1 + global: 4.4.0 + lodash: 4.17.23 + markdown-to-jsx: 6.11.4(react@18.2.0) + memoizerific: 1.11.3 + polished: 4.3.1 + qs: 6.14.2 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + react-draggable: 4.5.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + react-helmet-async: 1.3.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + react-sizeme: 3.0.2 + regenerator-runtime: 0.13.11 + resolve-from: 5.0.0 + store2: 2.14.4 + transitivePeerDependencies: + - '@types/react' + - supports-color + '@storybook/ui@6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@storybook/addons': 6.5.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -34461,20 +39250,39 @@ snapshots: regenerator-runtime: 0.13.11 resolve-from: 5.0.0 - '@storybook/ui@6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@storybook/ui@6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@storybook/addons': 6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@storybook/api': 6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@storybook/channels': 6.5.16 - '@storybook/client-logger': 6.5.16 - '@storybook/components': 6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@storybook/core-events': 6.5.16 - '@storybook/router': 6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/addons': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/api': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/channels': 6.5.9 + '@storybook/client-logger': 6.5.9 + '@storybook/components': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/core-events': 6.5.9 + '@storybook/router': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/semver': 7.3.2 - '@storybook/theming': 6.5.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/theming': 6.5.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) core-js: 3.48.0 memoizerific: 1.11.3 - qs: 6.15.0 + qs: 6.14.2 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + regenerator-runtime: 0.13.11 + resolve-from: 5.0.0 + + '@storybook/ui@6.5.9(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@storybook/addons': 6.5.9(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/api': 6.5.9(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/channels': 6.5.9 + '@storybook/client-logger': 6.5.9 + '@storybook/components': 6.5.9(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/core-events': 6.5.9 + '@storybook/router': 6.5.9(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/semver': 7.3.2 + '@storybook/theming': 6.5.9(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + core-js: 3.48.0 + memoizerific: 1.11.3 + qs: 6.14.2 react: 19.1.0 react-dom: 19.1.0(react@19.1.0) regenerator-runtime: 0.13.11 @@ -34871,8 +39679,8 @@ snapshots: '@swagger-api/apidom-core': 1.6.0 '@swagger-api/apidom-error': 1.6.0 '@types/ramda': 0.30.2 - axios: 1.13.6 - minimatch: 10.2.4 + axios: 1.13.5 + minimatch: 10.2.3 ramda: 0.30.1 ramda-adjunct: 5.1.0(ramda@0.30.1) optionalDependencies: @@ -34983,8 +39791,6 @@ snapshots: '@tanstack/query-core@5.77.1': {} - '@tanstack/query-core@5.90.20': {} - '@tanstack/query-persist-client-core@4.27.0': dependencies: '@tanstack/query-core': 4.27.0 @@ -34994,15 +39800,6 @@ snapshots: '@tanstack/query-persist-client-core': 4.27.0 '@tanstack/react-query': 4.28.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@tanstack/react-query@4.0.10(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': - dependencies: - '@tanstack/query-core': 4.43.0 - '@types/use-sync-external-store': 0.0.3 - react: 18.2.0 - use-sync-external-store: 1.6.0(react@18.2.0) - optionalDependencies: - react-dom: 18.2.0(react@18.2.0) - '@tanstack/react-query@4.0.10(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: '@tanstack/query-core': 4.43.0 @@ -35060,17 +39857,6 @@ snapshots: lz-string: 1.5.0 pretty-format: 27.5.1 - '@testing-library/dom@10.4.1': - dependencies: - '@babel/code-frame': 7.29.0 - '@babel/runtime': 7.28.6 - '@types/aria-query': 5.0.4 - aria-query: 5.3.0 - dom-accessibility-api: 0.5.16 - lz-string: 1.5.0 - picocolors: 1.1.1 - pretty-format: 27.5.1 - '@testing-library/jest-dom@6.5.0': dependencies: '@adobe/css-tools': 4.4.4 @@ -35081,20 +39867,20 @@ snapshots: lodash: 4.17.23 redent: 3.0.0 - '@testing-library/jest-dom@6.6.4': + '@testing-library/jest-dom@6.6.3': dependencies: '@adobe/css-tools': 4.4.4 aria-query: 5.3.2 + chalk: 3.0.0 css.escape: 1.5.1 dom-accessibility-api: 0.6.3 lodash: 4.17.23 - picocolors: 1.1.1 redent: 3.0.0 - '@testing-library/react@16.3.2(@testing-library/dom@10.4.1)(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@testing-library/react@16.3.0(@testing-library/dom@10.4.0)(@types/react-dom@18.2.0)(@types/react@18.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@babel/runtime': 7.28.6 - '@testing-library/dom': 10.4.1 + '@testing-library/dom': 10.4.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) optionalDependencies: @@ -35134,6 +39920,13 @@ snapshots: dependencies: '@textlint/ast-node-types': 15.5.2 + '@tokenizer/inflate@0.4.1': + dependencies: + debug: 4.4.3(supports-color@8.1.1) + token-types: 6.1.2 + transitivePeerDependencies: + - supports-color + '@tokenizer/token@0.3.0': {} '@tootallnate/once@3.0.1': {} @@ -35149,14 +39942,14 @@ snapshots: '@ts-morph/common@0.23.0': dependencies: fast-glob: 3.3.3 - minimatch: 9.0.9 + minimatch: 9.0.7 mkdirp: 3.0.1 path-browserify: 1.0.1 '@ts-morph/common@0.27.0': dependencies: fast-glob: 3.3.3 - minimatch: 10.2.4 + minimatch: 10.2.3 path-browserify: 1.0.1 '@tsconfig/node10@1.0.12': {} @@ -35167,6 +39960,23 @@ snapshots: '@tsconfig/node16@1.0.4': {} + '@twbs/fantasticon@3.0.0': + dependencies: + case: 1.6.3 + commander: 11.1.0 + figures: 3.2.0 + glob: 7.2.3 + handlebars: 4.7.8 + picocolors: 1.1.1 + slugify: 1.6.6 + svg2ttf: 6.0.3 + svgicons2svgfont: 12.0.0 + ttf2eot: 3.1.0 + ttf2woff: 3.0.0 + ttf2woff2: 5.0.0 + transitivePeerDependencies: + - supports-color + '@tybys/wasm-util@0.10.1': dependencies: tslib: 2.8.1 @@ -35200,21 +40010,21 @@ snapshots: '@types/body-parser@1.19.6': dependencies: '@types/connect': 3.4.38 - '@types/node': 22.15.35 + '@types/node': 22.15.24 '@types/bonjour@3.5.13': dependencies: - '@types/node': 22.15.35 + '@types/node': 22.15.24 + + '@types/braces@3.0.5': {} '@types/byline@4.2.36': dependencies: - '@types/node': 22.15.35 + '@types/node': 22.15.24 - '@types/chai@4.3.20': {} + '@types/chai@4.3.9': {} - '@types/classnames@2.3.4': - dependencies: - classnames: 2.5.1 + '@types/classnames@2.2.9': {} '@types/codemirror@0.0.90': dependencies: @@ -35224,20 +40034,26 @@ snapshots: dependencies: '@types/tern': 0.23.9 + '@types/color-convert@2.0.4': + dependencies: + '@types/color-name': 1.1.5 + + '@types/color-name@1.1.5': {} + '@types/connect-history-api-fallback@1.5.4': dependencies: '@types/express-serve-static-core': 4.19.8 - '@types/node': 22.15.35 + '@types/node': 22.15.24 '@types/connect@3.4.38': dependencies: - '@types/node': 22.15.35 + '@types/node': 22.15.24 '@types/cross-spawn@6.0.6': dependencies: - '@types/node': 22.15.35 + '@types/node': 22.15.24 - '@types/dagre@0.7.54': {} + '@types/dagre@0.7.52': {} '@types/debug@4.1.12': dependencies: @@ -35277,11 +40093,13 @@ snapshots: '@types/estree@0.0.51': {} + '@types/estree@1.0.7': {} + '@types/estree@1.0.8': {} '@types/express-serve-static-core@4.19.8': dependencies: - '@types/node': 22.15.35 + '@types/node': 22.15.24 '@types/qs': 6.15.0 '@types/range-parser': 1.2.7 '@types/send': 1.2.1 @@ -35295,24 +40113,31 @@ snapshots: '@types/find-cache-dir@3.2.1': {} + '@types/fs-extra@11.0.1': + dependencies: + '@types/jsonfile': 6.1.4 + '@types/node': 22.15.24 + '@types/fs-extra@11.0.4': dependencies: '@types/jsonfile': 6.1.4 - '@types/node': 22.15.35 + '@types/node': 22.15.24 + + '@types/glob-base@0.3.2': {} '@types/glob@7.2.0': dependencies: - '@types/minimatch': 6.0.0 - '@types/node': 22.15.35 + '@types/minimatch': 5.1.2 + '@types/node': 16.18.126 - '@types/glob@8.1.0': + '@types/glob@8.0.0': dependencies: '@types/minimatch': 5.1.2 - '@types/node': 22.15.35 + '@types/node': 22.15.24 '@types/graceful-fs@4.1.9': dependencies: - '@types/node': 22.15.35 + '@types/node': 22.15.24 '@types/handlebars@4.1.0': dependencies: @@ -35341,7 +40166,7 @@ snapshots: '@types/http-proxy@1.17.17': dependencies: - '@types/node': 22.15.35 + '@types/node': 22.15.24 '@types/is-function@1.0.3': {} @@ -35375,11 +40200,13 @@ snapshots: expect: 30.3.0 pretty-format: 30.3.0 + '@types/js-yaml@4.0.5': {} + '@types/js-yaml@4.0.9': {} '@types/jsdom@20.0.1': dependencies: - '@types/node': 22.15.35 + '@types/node': 22.15.24 '@types/tough-cookie': 4.0.5 parse5: 7.3.0 @@ -35389,15 +40216,21 @@ snapshots: '@types/jsonfile@6.1.4': dependencies: - '@types/node': 22.15.35 + '@types/node': 22.15.24 + + '@types/katex@0.16.8': {} '@types/linkify-it@5.0.0': {} - '@types/lodash.camelcase@4.3.9': + '@types/lodash.camelcase@4.3.0': dependencies: '@types/lodash': 4.17.17 - '@types/lodash.clonedeep@4.5.9': + '@types/lodash.clonedeep@4.5.6': + dependencies: + '@types/lodash': 4.17.17 + + '@types/lodash.debounce@4.0.6': dependencies: '@types/lodash': 4.17.17 @@ -35405,8 +40238,18 @@ snapshots: dependencies: '@types/lodash': 4.17.17 + '@types/lodash@4.14.189': {} + + '@types/lodash@4.14.198': {} + + '@types/lodash@4.14.199': {} + + '@types/lodash@4.14.200': {} + '@types/lodash@4.14.202': {} + '@types/lodash@4.17.15': {} + '@types/lodash@4.17.16': {} '@types/lodash@4.17.17': {} @@ -35416,6 +40259,10 @@ snapshots: '@types/linkify-it': 5.0.0 '@types/mdurl': 2.0.0 + '@types/markdown-to-jsx@6.11.3': + dependencies: + '@types/react': 18.2.0 + '@types/mdast@3.0.15': dependencies: '@types/unist': 2.0.11 @@ -35428,50 +40275,64 @@ snapshots: '@types/mdx@2.0.13': {} + '@types/micromatch@4.0.10': + dependencies: + '@types/braces': 3.0.5 + '@types/mime-types@2.1.4': {} '@types/mime@1.3.5': {} '@types/minimatch@5.1.2': {} - '@types/minimatch@6.0.0': - dependencies: - minimatch: 10.2.4 - '@types/minimist@1.2.5': {} - '@types/mocha@10.0.10': {} + '@types/mocha@10.0.1': {} + + '@types/mocha@10.0.3': {} + + '@types/mousetrap@1.6.11': {} '@types/mousetrap@1.6.15': {} '@types/ms@2.1.0': {} + '@types/mustache@4.2.5': {} + '@types/mustache@4.2.6': {} '@types/node-fetch@2.6.13': dependencies: - '@types/node': 22.15.35 + '@types/node': 16.18.126 form-data: 4.0.5 + '@types/node@14.18.63': {} + '@types/node@16.18.126': {} - '@types/node@18.19.130': + '@types/node@18.11.19': {} + + '@types/node@18.18.7': dependencies: undici-types: 5.26.5 - '@types/node@20.19.37': + '@types/node@20.10.6': dependencies: - undici-types: 6.21.0 + undici-types: 5.26.5 '@types/node@22.15.18': dependencies: undici-types: 6.21.0 + '@types/node@22.15.19': + dependencies: + undici-types: 6.21.0 + '@types/node@22.15.21': dependencies: undici-types: 6.21.0 - '@types/node@22.15.35': + '@types/node@22.15.24': dependencies: undici-types: 6.21.0 @@ -35479,7 +40340,9 @@ snapshots: '@types/npmlog@4.1.6': dependencies: - '@types/node': 22.15.35 + '@types/node': 22.15.24 + + '@types/overlayscrollbars@1.12.5': {} '@types/parse-json@4.0.2': {} @@ -35491,7 +40354,7 @@ snapshots: '@types/pretty-hrtime@1.0.3': {} - '@types/prismjs@1.26.6': {} + '@types/prismjs@1.26.5': {} '@types/prop-types@15.7.15': {} @@ -35503,15 +40366,15 @@ snapshots: '@types/range-parser@1.2.7': {} - '@types/react-collapse@5.0.4': + '@types/reach__router@1.3.15': dependencies: '@types/react': 18.2.0 - '@types/react-dom@17.0.14': + '@types/react-collapse@5.0.4': dependencies: '@types/react': 18.2.0 - '@types/react-dom@17.0.26(@types/react@18.2.0)': + '@types/react-dom@17.0.14': dependencies: '@types/react': 18.2.0 @@ -35523,6 +40386,10 @@ snapshots: dependencies: '@types/react': 18.2.0 + '@types/react-lottie@1.2.5': + dependencies: + '@types/react': 18.2.0 + '@types/react-split-pane@0.1.67(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: react-split-pane: 0.1.92(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -35534,16 +40401,22 @@ snapshots: dependencies: '@types/react': 18.2.0 - '@types/react-test-renderer@19.1.0': + '@types/react-test-renderer@18.3.0': dependencies: '@types/react': 18.2.0 - '@types/react@17.0.91': + '@types/react@16.14.69': dependencies: '@types/prop-types': 15.7.15 '@types/scheduler': 0.16.8 csstype: 3.2.3 + '@types/react@17.0.37': + dependencies: + '@types/prop-types': 15.7.15 + '@types/scheduler': 0.26.0 + csstype: 3.2.3 + '@types/react@18.2.0': dependencies: '@types/prop-types': 15.7.15 @@ -35552,7 +40425,7 @@ snapshots: '@types/resolve@1.17.1': dependencies: - '@types/node': 22.15.35 + '@types/node': 22.15.24 '@types/resolve@1.20.2': {} @@ -35568,19 +40441,19 @@ snapshots: '@types/selenium-webdriver@4.35.5': dependencies: - '@types/node': 22.15.35 - '@types/ws': 8.18.1 + '@types/node': 22.15.24 + '@types/ws': 8.2.1 '@types/semver@7.7.1': {} '@types/send@0.17.6': dependencies: '@types/mime': 1.3.5 - '@types/node': 22.15.35 + '@types/node': 22.15.24 '@types/send@1.2.1': dependencies: - '@types/node': 22.15.35 + '@types/node': 22.15.24 '@types/serve-index@1.9.4': dependencies: @@ -35589,12 +40462,12 @@ snapshots: '@types/serve-static@1.15.10': dependencies: '@types/http-errors': 2.0.5 - '@types/node': 22.15.35 + '@types/node': 22.15.24 '@types/send': 0.17.6 '@types/sockjs@0.3.36': dependencies: - '@types/node': 22.15.35 + '@types/node': 22.15.24 '@types/source-list-map@0.1.6': {} @@ -35608,7 +40481,7 @@ snapshots: '@types/tapable@1.0.12': {} - '@types/tcp-port-used@1.0.4': {} + '@types/tcp-port-used@1.0.3': {} '@types/tern@0.23.9': dependencies: @@ -35633,7 +40506,7 @@ snapshots: '@types/unzipper@0.10.11': dependencies: - '@types/node': 22.15.35 + '@types/node': 22.15.24 '@types/use-sync-external-store@0.0.3': {} @@ -35643,46 +40516,46 @@ snapshots: '@types/uuid@9.0.8': {} - '@types/vscode-notebook-renderer@1.72.4': {} + '@types/vscode-notebook-renderer@1.72.2': {} + + '@types/vscode-webview@1.57.2': {} + + '@types/vscode-webview@1.57.3': {} '@types/vscode-webview@1.57.5': {} - '@types/vscode@1.110.0': {} + '@types/vscode@1.100.0': {} + + '@types/vscode@1.104.0': {} + + '@types/vscode@1.63.0': {} + + '@types/vscode@1.81.0': {} + + '@types/vscode@1.84.0': {} '@types/webpack-env@1.18.8': {} '@types/webpack-sources@3.2.3': dependencies: - '@types/node': 22.15.35 + '@types/node': 16.18.126 '@types/source-list-map': 0.1.6 source-map: 0.7.6 '@types/webpack@4.41.40': dependencies: - '@types/node': 22.15.35 + '@types/node': 16.18.126 '@types/tapable': 1.0.12 '@types/uglify-js': 3.17.5 '@types/webpack-sources': 3.2.3 anymatch: 3.1.3 source-map: 0.6.1 - '@types/webpack@5.28.5': - dependencies: - '@types/node': 22.15.35 - tapable: 2.3.0 - webpack: 5.105.4(webpack-cli@5.1.4) - transitivePeerDependencies: - - '@swc/core' - - esbuild - - uglify-js - - webpack-cli - optional: true - '@types/webpack@5.28.5(@swc/core@1.15.18(@swc/helpers@0.5.19))': dependencies: - '@types/node': 22.15.35 + '@types/node': 22.15.24 tapable: 2.3.0 - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19)) + webpack: 5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19)) transitivePeerDependencies: - '@swc/core' - esbuild @@ -35692,9 +40565,9 @@ snapshots: '@types/webpack@5.28.5(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1)': dependencies: - '@types/node': 22.15.35 + '@types/node': 22.15.24 tapable: 2.3.0 - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) + webpack: 5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) transitivePeerDependencies: - '@swc/core' - esbuild @@ -35703,9 +40576,9 @@ snapshots: '@types/webpack@5.28.5(webpack-cli@4.10.0)': dependencies: - '@types/node': 22.15.35 + '@types/node': 22.15.24 tapable: 2.3.0 - webpack: 5.105.4(webpack-cli@4.10.0) + webpack: 5.104.1(webpack-cli@4.10.0) transitivePeerDependencies: - '@swc/core' - esbuild @@ -35715,9 +40588,9 @@ snapshots: '@types/webpack@5.28.5(webpack-cli@5.1.4)': dependencies: - '@types/node': 22.15.35 + '@types/node': 22.15.24 tapable: 2.3.0 - webpack: 5.105.4(webpack-cli@5.1.4) + webpack: 5.104.1(webpack-cli@5.1.4) transitivePeerDependencies: - '@swc/core' - esbuild @@ -35728,11 +40601,19 @@ snapshots: '@types/ws@8.18.1': dependencies: - '@types/node': 22.15.35 + '@types/node': 22.15.24 + + '@types/ws@8.2.1': + dependencies: + '@types/node': 22.15.24 + + '@types/xml2js@0.4.12': + dependencies: + '@types/node': 16.18.126 '@types/xml2js@0.4.14': dependencies: - '@types/node': 22.15.35 + '@types/node': 22.15.24 '@types/yargs-parser@21.0.3': {} @@ -35774,6 +40655,40 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/eslint-plugin@8.32.1(@typescript-eslint/parser@8.33.0(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3))(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3)': + dependencies: + '@eslint-community/regexpp': 4.12.2 + '@typescript-eslint/parser': 8.33.0(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3) + '@typescript-eslint/scope-manager': 8.32.1 + '@typescript-eslint/type-utils': 8.32.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3) + '@typescript-eslint/utils': 8.32.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3) + '@typescript-eslint/visitor-keys': 8.32.1 + eslint: 9.39.4(jiti@2.6.1) + graphemer: 1.4.0 + ignore: 7.0.5 + natural-compare: 1.4.0 + ts-api-utils: 2.4.0(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/eslint-plugin@8.33.0(@typescript-eslint/parser@8.33.0(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3))(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3)': + dependencies: + '@eslint-community/regexpp': 4.12.2 + '@typescript-eslint/parser': 8.33.0(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3) + '@typescript-eslint/scope-manager': 8.33.0 + '@typescript-eslint/type-utils': 8.33.0(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3) + '@typescript-eslint/utils': 8.33.0(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3) + '@typescript-eslint/visitor-keys': 8.33.0 + eslint: 9.39.4(jiti@2.6.1) + graphemer: 1.4.0 + ignore: 7.0.5 + natural-compare: 1.4.0 + ts-api-utils: 2.4.0(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/experimental-utils@2.34.0(eslint@9.39.4(jiti@2.6.1))(typescript@3.9.10)': dependencies: '@types/json-schema': 7.0.15 @@ -35809,6 +40724,27 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/parser@8.33.0(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3)': + dependencies: + '@typescript-eslint/scope-manager': 8.33.0 + '@typescript-eslint/types': 8.33.0 + '@typescript-eslint/typescript-estree': 8.33.0(typescript@5.8.3) + '@typescript-eslint/visitor-keys': 8.33.0 + debug: 4.4.3(supports-color@8.1.1) + eslint: 9.39.4(jiti@2.6.1) + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/project-service@8.33.0(typescript@5.8.3)': + dependencies: + '@typescript-eslint/tsconfig-utils': 8.33.0(typescript@5.8.3) + '@typescript-eslint/types': 8.33.0 + debug: 4.4.3(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color + - typescript + '@typescript-eslint/scope-manager@5.62.0': dependencies: '@typescript-eslint/types': 5.62.0 @@ -35819,6 +40755,15 @@ snapshots: '@typescript-eslint/types': 8.32.1 '@typescript-eslint/visitor-keys': 8.32.1 + '@typescript-eslint/scope-manager@8.33.0': + dependencies: + '@typescript-eslint/types': 8.33.0 + '@typescript-eslint/visitor-keys': 8.33.0 + + '@typescript-eslint/tsconfig-utils@8.33.0(typescript@5.8.3)': + dependencies: + typescript: 5.8.3 + '@typescript-eslint/type-utils@8.32.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3)': dependencies: '@typescript-eslint/typescript-estree': 8.32.1(typescript@5.8.3) @@ -35830,10 +40775,23 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/type-utils@8.33.0(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3)': + dependencies: + '@typescript-eslint/typescript-estree': 8.33.0(typescript@5.8.3) + '@typescript-eslint/utils': 8.33.0(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3) + debug: 4.4.3(supports-color@8.1.1) + eslint: 9.39.4(jiti@2.6.1) + ts-api-utils: 2.4.0(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/types@5.62.0': {} '@typescript-eslint/types@8.32.1': {} + '@typescript-eslint/types@8.33.0': {} + '@typescript-eslint/typescript-estree@2.34.0(typescript@3.9.10)': dependencies: debug: 4.4.3(supports-color@8.1.1) @@ -35869,7 +40827,23 @@ snapshots: debug: 4.4.3(supports-color@8.1.1) fast-glob: 3.3.3 is-glob: 4.0.3 - minimatch: 9.0.9 + minimatch: 9.0.7 + semver: 7.7.4 + ts-api-utils: 2.4.0(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/typescript-estree@8.33.0(typescript@5.8.3)': + dependencies: + '@typescript-eslint/project-service': 8.33.0(typescript@5.8.3) + '@typescript-eslint/tsconfig-utils': 8.33.0(typescript@5.8.3) + '@typescript-eslint/types': 8.33.0 + '@typescript-eslint/visitor-keys': 8.33.0 + debug: 4.4.3(supports-color@8.1.1) + fast-glob: 3.3.3 + is-glob: 4.0.3 + minimatch: 9.0.7 semver: 7.7.4 ts-api-utils: 2.4.0(typescript@5.8.3) typescript: 5.8.3 @@ -35902,6 +40876,17 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/utils@8.33.0(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3)': + dependencies: + '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.4(jiti@2.6.1)) + '@typescript-eslint/scope-manager': 8.33.0 + '@typescript-eslint/types': 8.33.0 + '@typescript-eslint/typescript-estree': 8.33.0(typescript@5.8.3) + eslint: 9.39.4(jiti@2.6.1) + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/visitor-keys@5.62.0': dependencies: '@typescript-eslint/types': 5.62.0 @@ -35912,6 +40897,11 @@ snapshots: '@typescript-eslint/types': 8.32.1 eslint-visitor-keys: 4.2.1 + '@typescript-eslint/visitor-keys@8.33.0': + dependencies: + '@typescript-eslint/types': 8.33.0 + eslint-visitor-keys: 4.2.1 + '@typespec/ts-http-runtime@0.3.4': dependencies: http-proxy-agent: 7.0.2 @@ -35920,24 +40910,24 @@ snapshots: transitivePeerDependencies: - supports-color - '@uiw/codemirror-extensions-basic-setup@4.23.14(@codemirror/lint@6.8.5)': + '@uiw/codemirror-extensions-basic-setup@4.23.12(@codemirror/lint@6.8.5)': dependencies: '@codemirror/autocomplete': 6.19.1 - '@codemirror/commands': 6.10.2 + '@codemirror/commands': 6.10.0 '@codemirror/language': 6.11.3 '@codemirror/lint': 6.8.5 '@codemirror/search': 6.6.0 - '@codemirror/state': 6.5.4 + '@codemirror/state': 6.5.2 '@codemirror/view': 6.38.8 - '@uiw/react-codemirror@4.23.14(@codemirror/lint@6.8.5)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.38.8)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@uiw/react-codemirror@4.23.12(@codemirror/lint@6.8.5)(@codemirror/theme-one-dark@6.1.2)(@codemirror/view@6.38.8)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@babel/runtime': 7.28.6 - '@codemirror/commands': 6.10.2 - '@codemirror/state': 6.5.4 - '@codemirror/theme-one-dark': 6.1.3 + '@codemirror/commands': 6.10.0 + '@codemirror/state': 6.5.2 + '@codemirror/theme-one-dark': 6.1.2 '@codemirror/view': 6.38.8 - '@uiw/codemirror-extensions-basic-setup': 4.23.14(@codemirror/lint@6.8.5) + '@uiw/codemirror-extensions-basic-setup': 4.23.12(@codemirror/lint@6.8.5) codemirror: 6.0.2 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -36005,6 +40995,8 @@ snapshots: '@unrs/resolver-binding-win32-x64-msvc@1.11.1': optional: true + '@vercel/oidc@3.0.5': {} + '@vercel/oidc@3.1.0': {} '@vitest/expect@2.0.5': @@ -36072,7 +41064,25 @@ snapshots: transitivePeerDependencies: - tslib - '@vscode/iconv-lite-umd@0.7.1': {} + '@vscode/iconv-lite-umd@0.7.0': {} + + '@vscode/test-electron@2.3.2': + dependencies: + http-proxy-agent: 4.0.1 + https-proxy-agent: 5.0.1 + jszip: 3.10.1 + semver: 7.7.4 + transitivePeerDependencies: + - supports-color + + '@vscode/test-electron@2.3.4': + dependencies: + http-proxy-agent: 4.0.1 + https-proxy-agent: 5.0.1 + jszip: 3.10.1 + semver: 7.7.4 + transitivePeerDependencies: + - supports-color '@vscode/test-electron@2.5.2': dependencies: @@ -36139,11 +41149,47 @@ snapshots: leven: 3.1.0 markdown-it: 12.3.2 mime: 1.6.0 - minimatch: 3.1.5 + minimatch: 3.1.4 parse-semver: 1.1.1 read: 1.0.7 semver: 7.7.4 - tmp: 0.2.5 + tmp: 0.2.4 + typed-rest-client: 1.8.11 + url-join: 4.0.1 + xml2js: 0.5.0 + yauzl: 2.10.0 + yazl: 2.5.1 + optionalDependencies: + keytar: 7.9.0 + transitivePeerDependencies: + - supports-color + + '@vscode/vsce@3.7.0': + dependencies: + '@azure/identity': 4.13.0 + '@secretlint/node': 10.2.2 + '@secretlint/secretlint-formatter-sarif': 10.2.2 + '@secretlint/secretlint-rule-no-dotenv': 10.2.2 + '@secretlint/secretlint-rule-preset-recommend': 10.2.2 + '@vscode/vsce-sign': 2.0.9 + azure-devops-node-api: 12.5.0 + chalk: 4.1.2 + cheerio: 1.2.0 + cockatiel: 3.2.1 + commander: 12.1.0 + form-data: 4.0.5 + glob: 11.1.0 + hosted-git-info: 4.1.0 + jsonc-parser: 3.3.1 + leven: 3.1.0 + markdown-it: 14.1.1 + mime: 1.6.0 + minimatch: 3.1.4 + parse-semver: 1.1.1 + read: 1.0.7 + secretlint: 10.2.2 + semver: 7.7.4 + tmp: 0.2.4 typed-rest-client: 1.8.11 url-join: 4.0.1 xml2js: 0.5.0 @@ -36152,9 +41198,6 @@ snapshots: optionalDependencies: keytar: 7.9.0 transitivePeerDependencies: - - bare-abort-controller - - bare-buffer - - react-native-b4a - supports-color '@vscode/vsce@3.7.1': @@ -36177,12 +41220,12 @@ snapshots: leven: 3.1.0 markdown-it: 14.1.1 mime: 1.6.0 - minimatch: 3.1.5 + minimatch: 3.1.4 parse-semver: 1.1.1 read: 1.0.7 secretlint: 10.2.2 semver: 7.7.4 - tmp: 0.2.5 + tmp: 0.2.4 typed-rest-client: 1.8.11 url-join: 4.0.1 xml2js: 0.5.0 @@ -36191,11 +41234,22 @@ snapshots: optionalDependencies: keytar: 7.9.0 transitivePeerDependencies: - - bare-abort-controller - - bare-buffer - - react-native-b4a - supports-color + '@vscode/webview-ui-toolkit@1.2.0(react@18.2.0)': + dependencies: + '@microsoft/fast-element': 1.14.0 + '@microsoft/fast-foundation': 2.50.0 + '@microsoft/fast-react-wrapper': 0.1.48(react@18.2.0) + react: 18.2.0 + + '@vscode/webview-ui-toolkit@1.2.0(react@19.1.0)': + dependencies: + '@microsoft/fast-element': 1.14.0 + '@microsoft/fast-foundation': 2.50.0 + '@microsoft/fast-react-wrapper': 0.1.48(react@19.1.0) + react: 19.1.0 + '@vscode/webview-ui-toolkit@1.4.0(react@18.2.0)': dependencies: '@microsoft/fast-element': 1.14.0 @@ -36217,12 +41271,34 @@ snapshots: '@webassemblyjs/helper-numbers': 1.13.2 '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/ast@1.9.0': + dependencies: + '@webassemblyjs/helper-module-context': 1.9.0 + '@webassemblyjs/helper-wasm-bytecode': 1.9.0 + '@webassemblyjs/wast-parser': 1.9.0 + '@webassemblyjs/floating-point-hex-parser@1.13.2': {} + '@webassemblyjs/floating-point-hex-parser@1.9.0': {} + '@webassemblyjs/helper-api-error@1.13.2': {} + '@webassemblyjs/helper-api-error@1.9.0': {} + '@webassemblyjs/helper-buffer@1.14.1': {} + '@webassemblyjs/helper-buffer@1.9.0': {} + + '@webassemblyjs/helper-code-frame@1.9.0': + dependencies: + '@webassemblyjs/wast-printer': 1.9.0 + + '@webassemblyjs/helper-fsm@1.9.0': {} + + '@webassemblyjs/helper-module-context@1.9.0': + dependencies: + '@webassemblyjs/ast': 1.9.0 + '@webassemblyjs/helper-numbers@1.13.2': dependencies: '@webassemblyjs/floating-point-hex-parser': 1.13.2 @@ -36231,6 +41307,8 @@ snapshots: '@webassemblyjs/helper-wasm-bytecode@1.13.2': {} + '@webassemblyjs/helper-wasm-bytecode@1.9.0': {} + '@webassemblyjs/helper-wasm-section@1.14.1': dependencies: '@webassemblyjs/ast': 1.14.1 @@ -36238,16 +41316,33 @@ snapshots: '@webassemblyjs/helper-wasm-bytecode': 1.13.2 '@webassemblyjs/wasm-gen': 1.14.1 + '@webassemblyjs/helper-wasm-section@1.9.0': + dependencies: + '@webassemblyjs/ast': 1.9.0 + '@webassemblyjs/helper-buffer': 1.9.0 + '@webassemblyjs/helper-wasm-bytecode': 1.9.0 + '@webassemblyjs/wasm-gen': 1.9.0 + '@webassemblyjs/ieee754@1.13.2': dependencies: '@xtuc/ieee754': 1.2.0 + '@webassemblyjs/ieee754@1.9.0': + dependencies: + '@xtuc/ieee754': 1.2.0 + '@webassemblyjs/leb128@1.13.2': dependencies: '@xtuc/long': 4.2.2 + '@webassemblyjs/leb128@1.9.0': + dependencies: + '@xtuc/long': 4.2.2 + '@webassemblyjs/utf8@1.13.2': {} + '@webassemblyjs/utf8@1.9.0': {} + '@webassemblyjs/wasm-edit@1.14.1': dependencies: '@webassemblyjs/ast': 1.14.1 @@ -36259,6 +41354,17 @@ snapshots: '@webassemblyjs/wasm-parser': 1.14.1 '@webassemblyjs/wast-printer': 1.14.1 + '@webassemblyjs/wasm-edit@1.9.0': + dependencies: + '@webassemblyjs/ast': 1.9.0 + '@webassemblyjs/helper-buffer': 1.9.0 + '@webassemblyjs/helper-wasm-bytecode': 1.9.0 + '@webassemblyjs/helper-wasm-section': 1.9.0 + '@webassemblyjs/wasm-gen': 1.9.0 + '@webassemblyjs/wasm-opt': 1.9.0 + '@webassemblyjs/wasm-parser': 1.9.0 + '@webassemblyjs/wast-printer': 1.9.0 + '@webassemblyjs/wasm-gen@1.14.1': dependencies: '@webassemblyjs/ast': 1.14.1 @@ -36267,6 +41373,14 @@ snapshots: '@webassemblyjs/leb128': 1.13.2 '@webassemblyjs/utf8': 1.13.2 + '@webassemblyjs/wasm-gen@1.9.0': + dependencies: + '@webassemblyjs/ast': 1.9.0 + '@webassemblyjs/helper-wasm-bytecode': 1.9.0 + '@webassemblyjs/ieee754': 1.9.0 + '@webassemblyjs/leb128': 1.9.0 + '@webassemblyjs/utf8': 1.9.0 + '@webassemblyjs/wasm-opt@1.14.1': dependencies: '@webassemblyjs/ast': 1.14.1 @@ -36274,6 +41388,13 @@ snapshots: '@webassemblyjs/wasm-gen': 1.14.1 '@webassemblyjs/wasm-parser': 1.14.1 + '@webassemblyjs/wasm-opt@1.9.0': + dependencies: + '@webassemblyjs/ast': 1.9.0 + '@webassemblyjs/helper-buffer': 1.9.0 + '@webassemblyjs/wasm-gen': 1.9.0 + '@webassemblyjs/wasm-parser': 1.9.0 + '@webassemblyjs/wasm-parser@1.14.1': dependencies: '@webassemblyjs/ast': 1.14.1 @@ -36283,86 +41404,110 @@ snapshots: '@webassemblyjs/leb128': 1.13.2 '@webassemblyjs/utf8': 1.13.2 + '@webassemblyjs/wasm-parser@1.9.0': + dependencies: + '@webassemblyjs/ast': 1.9.0 + '@webassemblyjs/helper-api-error': 1.9.0 + '@webassemblyjs/helper-wasm-bytecode': 1.9.0 + '@webassemblyjs/ieee754': 1.9.0 + '@webassemblyjs/leb128': 1.9.0 + '@webassemblyjs/utf8': 1.9.0 + + '@webassemblyjs/wast-parser@1.9.0': + dependencies: + '@webassemblyjs/ast': 1.9.0 + '@webassemblyjs/floating-point-hex-parser': 1.9.0 + '@webassemblyjs/helper-api-error': 1.9.0 + '@webassemblyjs/helper-code-frame': 1.9.0 + '@webassemblyjs/helper-fsm': 1.9.0 + '@xtuc/long': 4.2.2 + '@webassemblyjs/wast-printer@1.14.1': dependencies: '@webassemblyjs/ast': 1.14.1 '@xtuc/long': 4.2.2 - '@webpack-cli/configtest@1.2.0(webpack-cli@4.10.0)(webpack@5.105.4)': + '@webassemblyjs/wast-printer@1.9.0': + dependencies: + '@webassemblyjs/ast': 1.9.0 + '@webassemblyjs/wast-parser': 1.9.0 + '@xtuc/long': 4.2.2 + + '@webpack-cli/configtest@1.2.0(webpack-cli@4.10.0)(webpack@5.104.1)': dependencies: - webpack: 5.105.4(webpack-cli@4.10.0) - webpack-cli: 4.10.0(webpack-dev-server@5.2.3)(webpack@5.105.4) + webpack: 5.104.1(webpack-cli@4.10.0) + webpack-cli: 4.10.0(webpack-dev-server@5.2.3)(webpack@5.104.1) - '@webpack-cli/configtest@2.1.1(webpack-cli@5.1.4)(webpack@5.105.4)': + '@webpack-cli/configtest@2.1.1(webpack-cli@5.1.4)(webpack@5.104.1)': dependencies: - webpack: 5.105.4(webpack-cli@5.1.4) - webpack-cli: 5.1.4(webpack@5.105.4) + webpack: 5.104.1(webpack-cli@5.1.4) + webpack-cli: 5.1.4(webpack@5.104.1) - '@webpack-cli/configtest@3.0.1(webpack-cli@6.0.1)(webpack@5.105.4)': + '@webpack-cli/configtest@3.0.1(webpack-cli@6.0.1)(webpack@5.104.1)': dependencies: - webpack: 5.105.4(webpack-cli@6.0.1) - webpack-cli: 6.0.1(webpack@5.105.4) + webpack: 5.104.1(webpack-cli@6.0.1) + webpack-cli: 6.0.1(webpack@5.104.1) '@webpack-cli/info@1.5.0(webpack-cli@4.10.0)': dependencies: envinfo: 7.21.0 - webpack-cli: 4.10.0(webpack-dev-server@5.2.3)(webpack@5.105.4) + webpack-cli: 4.10.0(webpack-dev-server@5.2.3)(webpack@5.104.1) - '@webpack-cli/info@2.0.2(webpack-cli@5.1.4)(webpack@5.105.4)': + '@webpack-cli/info@2.0.2(webpack-cli@5.1.4)(webpack@5.104.1)': dependencies: - webpack: 5.105.4(webpack-cli@5.1.4) - webpack-cli: 5.1.4(webpack@5.105.4) + webpack: 5.104.1(webpack-cli@5.1.4) + webpack-cli: 5.1.4(webpack@5.104.1) - '@webpack-cli/info@3.0.1(webpack-cli@6.0.1)(webpack@5.105.4)': + '@webpack-cli/info@3.0.1(webpack-cli@6.0.1)(webpack@5.104.1)': dependencies: - webpack: 5.105.4(webpack-cli@6.0.1) - webpack-cli: 6.0.1(webpack@5.105.4) + webpack: 5.104.1(webpack-cli@6.0.1) + webpack-cli: 6.0.1(webpack@5.104.1) '@webpack-cli/serve@1.7.0(webpack-cli@4.10.0)': dependencies: - webpack-cli: 4.10.0(webpack@5.105.4) + webpack-cli: 4.10.0(webpack@5.104.1) '@webpack-cli/serve@1.7.0(webpack-cli@4.10.0)(webpack-dev-server@5.2.3)': dependencies: - webpack-cli: 4.10.0(webpack-dev-server@5.2.3)(webpack@5.105.4) + webpack-cli: 4.10.0(webpack-dev-server@5.2.3)(webpack@5.104.1) optionalDependencies: - webpack-dev-server: 5.2.3(webpack-cli@4.10.0)(webpack@5.105.4) + webpack-dev-server: 5.2.3(webpack-cli@4.10.0)(webpack@5.104.1) - '@webpack-cli/serve@2.0.5(webpack-cli@5.1.4)(webpack-dev-server@5.2.3)(webpack@5.105.4)': + '@webpack-cli/serve@2.0.5(webpack-cli@5.1.4)(webpack-dev-server@5.2.3)(webpack@5.104.1)': dependencies: - webpack: 5.105.4(webpack-cli@5.1.4) - webpack-cli: 5.1.4(webpack-dev-server@5.2.3)(webpack@5.105.4) + webpack: 5.104.1(webpack-cli@5.1.4) + webpack-cli: 5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1) optionalDependencies: - webpack-dev-server: 5.2.3(webpack-cli@5.1.4)(webpack@5.105.4) + webpack-dev-server: 5.2.3(webpack-cli@5.1.4)(webpack@5.104.1) - '@webpack-cli/serve@2.0.5(webpack-cli@5.1.4)(webpack@5.105.4)': + '@webpack-cli/serve@2.0.5(webpack-cli@5.1.4)(webpack@5.104.1)': dependencies: - webpack: 5.105.4(webpack-cli@5.1.4) - webpack-cli: 5.1.4(webpack@5.105.4) + webpack: 5.104.1(webpack-cli@5.1.4) + webpack-cli: 5.1.4(webpack@5.104.1) - '@webpack-cli/serve@3.0.1(webpack-cli@6.0.1)(webpack-dev-server@5.2.3)(webpack@5.105.4)': + '@webpack-cli/serve@3.0.1(webpack-cli@6.0.1)(webpack-dev-server@5.2.3)(webpack@5.104.1)': dependencies: - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) - webpack-cli: 6.0.1(webpack-dev-server@5.2.3)(webpack@5.105.4) + webpack: 5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) + webpack-cli: 6.0.1(webpack-dev-server@5.2.3)(webpack@5.104.1) optionalDependencies: - webpack-dev-server: 5.2.3(webpack-cli@6.0.1)(webpack@5.105.4) + webpack-dev-server: 5.2.3(webpack-cli@6.0.1)(webpack@5.104.1) - '@webpack-cli/serve@3.0.1(webpack-cli@6.0.1)(webpack@5.105.4)': + '@webpack-cli/serve@3.0.1(webpack-cli@6.0.1)(webpack@5.104.1)': dependencies: - webpack: 5.105.4(webpack-cli@6.0.1) - webpack-cli: 6.0.1(webpack@5.105.4) + webpack: 5.104.1(webpack-cli@6.0.1) + webpack-cli: 6.0.1(webpack@5.104.1) '@xmldom/xmldom@0.7.13': {} - '@xmldom/xmldom@0.8.11': {} + '@xmldom/xmldom@0.8.10': {} '@xtuc/ieee754@1.2.0': {} '@xtuc/long@4.2.2': {} - '@yarnpkg/esbuild-plugin-pnp@3.0.0-rc.15(esbuild@0.25.12)': + '@yarnpkg/esbuild-plugin-pnp@3.0.0-rc.15(esbuild@0.18.20)': dependencies: - esbuild: 0.25.12 + esbuild: 0.18.20 tslib: 2.8.1 '@yarnpkg/fslib@2.10.3': @@ -36383,10 +41528,6 @@ snapshots: abbrev@1.1.1: {} - abort-controller@3.0.0: - dependencies: - event-target-shim: 5.0.1 - accepts@1.3.8: dependencies: mime-types: 2.1.35 @@ -36397,6 +41538,10 @@ snapshots: mime-types: 3.0.2 negotiator: 1.0.0 + acorn-dynamic-import@2.0.2: + dependencies: + acorn: 4.0.13 + acorn-globals@3.1.0: dependencies: acorn: 4.0.13 @@ -36411,6 +41556,10 @@ snapshots: acorn: 8.16.0 acorn-walk: 8.3.5 + acorn-import-attributes@1.9.5(acorn@8.16.0): + dependencies: + acorn: 8.16.0 + acorn-import-phases@1.0.4(acorn@8.16.0): dependencies: acorn: 8.16.0 @@ -36443,8 +41592,12 @@ snapshots: address@1.0.3: {} + address@1.1.2: {} + address@1.2.2: {} + adm-zip@0.5.14: {} + adm-zip@0.5.16: {} agent-base@5.1.1: {} @@ -36471,17 +41624,17 @@ snapshots: clean-stack: 4.2.0 indent-string: 5.0.0 - ai@5.0.152(zod@3.25.76): + ai@6.0.7(zod@4.1.8): dependencies: - '@ai-sdk/gateway': 2.0.57(zod@3.25.76) - '@ai-sdk/provider': 2.0.1 - '@ai-sdk/provider-utils': 3.0.22(zod@3.25.76) + '@ai-sdk/gateway': 3.0.6(zod@4.1.8) + '@ai-sdk/provider': 3.0.1 + '@ai-sdk/provider-utils': 4.0.2(zod@4.1.8) '@opentelemetry/api': 1.9.0 - zod: 3.25.76 + zod: 4.1.8 - ai@6.0.116(zod@4.1.11): + ai@6.0.94(zod@4.1.11): dependencies: - '@ai-sdk/gateway': 3.0.66(zod@4.1.11) + '@ai-sdk/gateway': 3.0.52(zod@4.1.11) '@ai-sdk/provider': 3.0.8 '@ai-sdk/provider-utils': 4.0.19(zod@4.1.11) '@opentelemetry/api': 1.9.0 @@ -36507,6 +41660,10 @@ snapshots: string.prototype.padstart: 3.1.7 symbol.prototype.description: 1.0.7 + ajv-errors@1.0.1(ajv@6.14.0): + dependencies: + ajv: 6.14.0 + ajv-formats@2.1.1: dependencies: ajv: 8.17.1 @@ -36515,6 +41672,10 @@ snapshots: optionalDependencies: ajv: 8.17.1 + ajv-keywords@2.1.1(ajv@5.5.2): + dependencies: + ajv: 5.5.2 + ajv-keywords@3.5.2(ajv@6.14.0): dependencies: ajv: 6.14.0 @@ -36545,6 +41706,12 @@ snapshots: json-schema-traverse: 1.0.0 require-from-string: 2.0.2 + align-text@0.1.4: + dependencies: + kind-of: 3.2.2 + longest: 1.0.1 + repeat-string: 1.6.1 + alphanum-sort@1.0.2: {} amdefine@0.1.1: {} @@ -36568,6 +41735,8 @@ snapshots: ansi-colors@3.2.4: {} + ansi-colors@4.1.1: {} + ansi-colors@4.1.3: {} ansi-escapes@1.4.0: {} @@ -36584,6 +41753,8 @@ snapshots: ansi-html-community@0.0.8: {} + ansi-html@0.0.7: {} + ansi-html@0.0.9: {} ansi-regex@2.1.1: {} @@ -36704,6 +41875,8 @@ snapshots: array-flatten@1.1.1: {} + array-flatten@2.1.2: {} + array-includes@3.1.9: dependencies: call-bind: 1.0.8 @@ -36805,6 +41978,12 @@ snapshots: asap@2.0.6: {} + asn1.js@4.10.1: + dependencies: + bn.js: 4.12.3 + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + asn1@0.2.6: dependencies: safer-buffer: 2.1.2 @@ -36817,6 +41996,11 @@ snapshots: assert-plus@1.0.0: {} + assert@1.5.1: + dependencies: + object.assign: 4.1.7 + util: 0.10.4 + assertion-error@1.1.0: {} assertion-error@2.0.1: {} @@ -36872,13 +42056,24 @@ snapshots: dependencies: tslib: 2.8.1 - autoprefixer@10.4.27(postcss@8.5.8): + autoprefixer@10.4.19(postcss@8.5.3): dependencies: browserslist: 4.28.1 caniuse-lite: 1.0.30001777 - fraction.js: 5.3.4 + fraction.js: 4.3.7 + normalize-range: 0.1.2 picocolors: 1.1.1 - postcss: 8.5.8 + postcss: 8.5.3 + postcss-value-parser: 4.2.0 + + autoprefixer@10.4.21(postcss@8.5.4): + dependencies: + browserslist: 4.28.1 + caniuse-lite: 1.0.30001777 + fraction.js: 4.3.7 + normalize-range: 0.1.2 + picocolors: 1.1.1 + postcss: 8.5.4 postcss-value-parser: 4.2.0 autoprefixer@6.7.7: @@ -36925,7 +42120,7 @@ snapshots: axios@1.13.6: dependencies: - follow-redirects: 1.15.11 + follow-redirects: 1.15.11(debug@3.2.7) form-data: 4.0.5 proxy-from-env: 1.1.0 transitivePeerDependencies: @@ -36938,8 +42133,6 @@ snapshots: tunnel: 0.0.6 typed-rest-client: 1.8.11 - b4a@1.8.0: {} - babel-code-frame@6.26.0: dependencies: chalk: 1.1.3 @@ -36962,15 +42155,19 @@ snapshots: debug: 2.6.9 json5: 0.5.1 lodash: 4.17.23 - minimatch: 3.1.5 + minimatch: 3.1.4 path-is-absolute: 1.0.1 private: 0.1.8 slash: 1.0.0 source-map: 0.5.7 - babel-core@7.0.0-bridge.0(@babel/core@7.27.7): + babel-core@7.0.0-bridge.0(@babel/core@7.27.1): + dependencies: + '@babel/core': 7.27.1 + + babel-core@7.0.0-bridge.0(@babel/core@7.29.0): dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.29.0 babel-eslint@10.1.0(eslint@9.39.4(jiti@2.6.1)): dependencies: @@ -37084,92 +42281,130 @@ snapshots: babel-plugin-istanbul: 4.1.6 babel-preset-jest: 20.0.3 - babel-jest@25.5.1(@babel/core@7.27.7): + babel-jest@25.5.1(@babel/core@7.27.1): dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 '@jest/transform': 25.5.1 '@jest/types': 25.5.0 '@types/babel__core': 7.20.5 babel-plugin-istanbul: 6.1.1 - babel-preset-jest: 25.5.0(@babel/core@7.27.7) + babel-preset-jest: 25.5.0(@babel/core@7.27.1) chalk: 3.0.0 graceful-fs: 4.2.11 slash: 3.0.0 transitivePeerDependencies: - supports-color - babel-jest@29.7.0(@babel/core@7.27.7): + babel-jest@29.7.0(@babel/core@7.27.1): dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 '@jest/transform': 29.7.0 '@types/babel__core': 7.20.5 babel-plugin-istanbul: 6.1.1 - babel-preset-jest: 29.6.3(@babel/core@7.27.7) + babel-preset-jest: 29.6.3(@babel/core@7.27.1) chalk: 4.1.2 graceful-fs: 4.2.11 slash: 3.0.0 transitivePeerDependencies: - supports-color - babel-jest@30.3.0(@babel/core@7.27.7): + babel-jest@30.0.0(@babel/core@7.27.1): dependencies: - '@babel/core': 7.27.7 - '@jest/transform': 30.3.0 + '@babel/core': 7.27.1 + '@jest/transform': 30.0.0 '@types/babel__core': 7.20.5 babel-plugin-istanbul: 7.0.1 - babel-preset-jest: 30.3.0(@babel/core@7.27.7) + babel-preset-jest: 30.0.0(@babel/core@7.27.1) chalk: 4.1.2 graceful-fs: 4.2.11 slash: 3.0.0 transitivePeerDependencies: - supports-color - babel-loader@10.1.1(@babel/core@7.27.7)(webpack@5.105.4): + babel-jest@30.0.0(@babel/core@7.29.0): dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.29.0 + '@jest/transform': 30.0.0 + '@types/babel__core': 7.20.5 + babel-plugin-istanbul: 7.0.1 + babel-preset-jest: 30.0.0(@babel/core@7.29.0) + chalk: 4.1.2 + graceful-fs: 4.2.11 + slash: 3.0.0 + transitivePeerDependencies: + - supports-color + + babel-loader@10.0.0(@babel/core@7.27.1)(webpack@5.104.1): + dependencies: + '@babel/core': 7.27.1 find-up: 5.0.0 - optionalDependencies: - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) + webpack: 5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) + + babel-loader@7.1.2(babel-core@7.0.0-bridge.0(@babel/core@7.27.1))(webpack@3.8.1): + dependencies: + babel-core: 7.0.0-bridge.0(@babel/core@7.27.1) + find-cache-dir: 1.0.0 + loader-utils: 1.4.2 + mkdirp: 0.5.6 + webpack: 3.8.1 - babel-loader@7.1.2(babel-core@7.0.0-bridge.0(@babel/core@7.27.7))(webpack@5.105.4): + babel-loader@7.1.2(babel-core@7.0.0-bridge.0(@babel/core@7.29.0))(webpack@3.8.1): dependencies: - babel-core: 7.0.0-bridge.0(@babel/core@7.27.7) + babel-core: 7.0.0-bridge.0(@babel/core@7.29.0) find-cache-dir: 1.0.0 loader-utils: 1.4.2 mkdirp: 0.5.6 - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) + webpack: 3.8.1 + + babel-loader@8.4.1(@babel/core@7.27.1)(webpack@4.47.0(webpack-cli@4.10.0)): + dependencies: + '@babel/core': 7.27.1 + find-cache-dir: 3.3.2 + loader-utils: 2.0.4 + make-dir: 3.1.0 + schema-utils: 2.7.1 + webpack: 4.47.0(webpack-cli@4.10.0) + + babel-loader@8.4.1(@babel/core@7.27.1)(webpack@4.47.0(webpack-cli@6.0.1)): + dependencies: + '@babel/core': 7.27.1 + find-cache-dir: 3.3.2 + loader-utils: 2.0.4 + make-dir: 3.1.0 + schema-utils: 2.7.1 + webpack: 4.47.0(webpack-cli@6.0.1) - babel-loader@8.4.1(@babel/core@7.27.7)(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))): + babel-loader@8.4.1(@babel/core@7.27.1)(webpack@4.47.0): dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 find-cache-dir: 3.3.2 loader-utils: 2.0.4 make-dir: 3.1.0 schema-utils: 2.7.1 - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19)) + webpack: 4.47.0 - babel-loader@8.4.1(@babel/core@7.27.7)(webpack@5.105.4): + babel-loader@8.4.1(@babel/core@7.27.1)(webpack@5.104.1): dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 find-cache-dir: 3.3.2 loader-utils: 2.0.4 make-dir: 3.1.0 schema-utils: 2.7.1 - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) + webpack: 5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) - babel-loader@9.2.1(@babel/core@7.27.7)(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))): + babel-loader@9.2.1(@babel/core@7.27.1)(webpack@5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))): dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 find-cache-dir: 4.0.0 schema-utils: 4.3.3 - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19)) + webpack: 5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19)) - babel-loader@9.2.1(@babel/core@7.27.7)(webpack@5.105.4): + babel-loader@9.2.1(@babel/core@7.27.1)(webpack@5.104.1): dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 find-cache-dir: 4.0.0 schema-utils: 4.3.3 - webpack: 5.105.4(webpack-cli@5.1.4) + webpack: 5.104.1(webpack-cli@5.1.4) babel-messages@6.23.0: dependencies: @@ -37177,9 +42412,9 @@ snapshots: babel-plugin-add-react-displayname@0.0.5: {} - babel-plugin-annotate-pure-calls@0.4.0(@babel/core@7.27.7): + babel-plugin-annotate-pure-calls@0.4.0(@babel/core@7.27.1): dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 babel-plugin-apply-mdx-type-prop@1.6.22(@babel/core@7.12.9): dependencies: @@ -37191,9 +42426,9 @@ snapshots: dependencies: babel-runtime: 6.26.0 - babel-plugin-dev-expression@0.2.3(@babel/core@7.27.7): + babel-plugin-dev-expression@0.2.3(@babel/core@7.27.1): dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 babel-plugin-dynamic-import-node@1.1.0: dependencies: @@ -37201,6 +42436,21 @@ snapshots: babel-template: 6.26.0 babel-types: 6.26.0 + babel-plugin-emotion@10.2.2: + dependencies: + '@babel/helper-module-imports': 7.28.6 + '@emotion/hash': 0.8.0 + '@emotion/memoize': 0.7.4 + '@emotion/serialize': 0.11.16 + babel-plugin-macros: 2.8.0 + babel-plugin-syntax-jsx: 6.18.0 + convert-source-map: 1.9.0 + escape-string-regexp: 1.0.5 + find-root: 1.1.0 + source-map: 0.5.7 + transitivePeerDependencies: + - supports-color + babel-plugin-extract-import-names@1.6.22: dependencies: '@babel/helper-plugin-utils': 7.10.4 @@ -37249,8 +42499,10 @@ snapshots: '@types/babel__core': 7.20.5 '@types/babel__traverse': 7.28.0 - babel-plugin-jest-hoist@30.3.0: + babel-plugin-jest-hoist@30.0.0: dependencies: + '@babel/template': 7.28.6 + '@babel/types': 7.29.0 '@types/babel__core': 7.20.5 babel-plugin-macros@2.8.0: @@ -37265,44 +42517,76 @@ snapshots: cosmiconfig: 7.1.0 resolve: 1.22.11 + babel-plugin-named-asset-import@0.3.8(@babel/core@7.27.1): + dependencies: + '@babel/core': 7.27.1 + + babel-plugin-named-asset-import@0.3.8(@babel/core@7.29.0): + dependencies: + '@babel/core': 7.29.0 + babel-plugin-named-exports-order@0.0.2: {} - babel-plugin-polyfill-corejs2@0.4.16(@babel/core@7.27.7): + babel-plugin-polyfill-corejs2@0.4.16(@babel/core@7.27.1): dependencies: '@babel/compat-data': 7.29.0 - '@babel/core': 7.27.7 - '@babel/helper-define-polyfill-provider': 0.6.7(@babel/core@7.27.7) + '@babel/core': 7.27.1 + '@babel/helper-define-polyfill-provider': 0.6.7(@babel/core@7.27.1) semver: 6.3.1 transitivePeerDependencies: - supports-color - babel-plugin-polyfill-corejs3@0.1.7(@babel/core@7.27.7): + babel-plugin-polyfill-corejs2@0.4.16(@babel/core@7.29.0): + dependencies: + '@babel/compat-data': 7.29.0 + '@babel/core': 7.29.0 + '@babel/helper-define-polyfill-provider': 0.6.7(@babel/core@7.29.0) + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + babel-plugin-polyfill-corejs3@0.1.7(@babel/core@7.27.1): + dependencies: + '@babel/core': 7.27.1 + '@babel/helper-define-polyfill-provider': 0.1.5(@babel/core@7.27.1) + core-js-compat: 3.48.0 + transitivePeerDependencies: + - supports-color + + babel-plugin-polyfill-corejs3@0.11.1(@babel/core@7.27.1): dependencies: - '@babel/core': 7.27.7 - '@babel/helper-define-polyfill-provider': 0.1.5(@babel/core@7.27.7) + '@babel/core': 7.27.1 + '@babel/helper-define-polyfill-provider': 0.6.7(@babel/core@7.27.1) core-js-compat: 3.48.0 transitivePeerDependencies: - supports-color - babel-plugin-polyfill-corejs3@0.11.1(@babel/core@7.27.7): + babel-plugin-polyfill-corejs3@0.11.1(@babel/core@7.29.0): dependencies: - '@babel/core': 7.27.7 - '@babel/helper-define-polyfill-provider': 0.6.7(@babel/core@7.27.7) + '@babel/core': 7.29.0 + '@babel/helper-define-polyfill-provider': 0.6.7(@babel/core@7.29.0) core-js-compat: 3.48.0 transitivePeerDependencies: - supports-color - babel-plugin-polyfill-regenerator@0.0.4(@babel/core@7.27.7): + babel-plugin-polyfill-regenerator@0.0.4(@babel/core@7.27.1): dependencies: - '@babel/core': 7.27.7 - '@babel/helper-define-polyfill-provider': 0.0.3(@babel/core@7.27.7) + '@babel/core': 7.27.1 + '@babel/helper-define-polyfill-provider': 0.0.3(@babel/core@7.27.1) transitivePeerDependencies: - supports-color - babel-plugin-polyfill-regenerator@0.6.7(@babel/core@7.27.7): + babel-plugin-polyfill-regenerator@0.6.7(@babel/core@7.27.1): dependencies: - '@babel/core': 7.27.7 - '@babel/helper-define-polyfill-provider': 0.6.7(@babel/core@7.27.7) + '@babel/core': 7.27.1 + '@babel/helper-define-polyfill-provider': 0.6.7(@babel/core@7.27.1) + transitivePeerDependencies: + - supports-color + + babel-plugin-polyfill-regenerator@0.6.7(@babel/core@7.29.0): + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-define-polyfill-provider': 0.6.7(@babel/core@7.29.0) transitivePeerDependencies: - supports-color @@ -37522,39 +42806,58 @@ snapshots: babel-runtime: 6.26.0 babel-types: 6.26.0 - babel-preset-current-node-syntax@0.1.4(@babel/core@7.27.7): - dependencies: - '@babel/core': 7.27.7 - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.27.7) - '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.27.7) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.27.7) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.27.7) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.27.7) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.27.7) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.27.7) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.27.7) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.27.7) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.27.7) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.27.7) - - babel-preset-current-node-syntax@1.2.0(@babel/core@7.27.7): - dependencies: - '@babel/core': 7.27.7 - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.27.7) - '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.27.7) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.27.7) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.27.7) - '@babel/plugin-syntax-import-attributes': 7.28.6(@babel/core@7.27.7) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.27.7) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.27.7) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.27.7) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.27.7) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.27.7) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.27.7) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.27.7) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.27.7) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.27.7) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.27.7) + babel-preset-current-node-syntax@0.1.4(@babel/core@7.27.1): + dependencies: + '@babel/core': 7.27.1 + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.27.1) + '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.27.1) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.27.1) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.27.1) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.27.1) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.27.1) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.27.1) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.27.1) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.27.1) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.27.1) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.27.1) + + babel-preset-current-node-syntax@1.2.0(@babel/core@7.27.1): + dependencies: + '@babel/core': 7.27.1 + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.27.1) + '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.27.1) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.27.1) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.27.1) + '@babel/plugin-syntax-import-attributes': 7.28.6(@babel/core@7.27.1) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.27.1) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.27.1) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.27.1) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.27.1) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.27.1) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.27.1) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.27.1) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.27.1) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.27.1) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.27.1) + + babel-preset-current-node-syntax@1.2.0(@babel/core@7.29.0): + dependencies: + '@babel/core': 7.29.0 + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.29.0) + '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.29.0) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.29.0) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.29.0) + '@babel/plugin-syntax-import-attributes': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.29.0) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.29.0) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.29.0) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.29.0) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.29.0) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.29.0) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.29.0) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.29.0) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.29.0) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.29.0) babel-preset-env@1.6.1: dependencies: @@ -37602,23 +42905,29 @@ snapshots: babel-plugin-jest-hoist: 22.4.4 babel-plugin-syntax-object-rest-spread: 6.13.0 - babel-preset-jest@25.5.0(@babel/core@7.27.7): + babel-preset-jest@25.5.0(@babel/core@7.27.1): dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 babel-plugin-jest-hoist: 25.5.0 - babel-preset-current-node-syntax: 0.1.4(@babel/core@7.27.7) + babel-preset-current-node-syntax: 0.1.4(@babel/core@7.27.1) - babel-preset-jest@29.6.3(@babel/core@7.27.7): + babel-preset-jest@29.6.3(@babel/core@7.27.1): dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 babel-plugin-jest-hoist: 29.6.3 - babel-preset-current-node-syntax: 1.2.0(@babel/core@7.27.7) + babel-preset-current-node-syntax: 1.2.0(@babel/core@7.27.1) - babel-preset-jest@30.3.0(@babel/core@7.27.7): + babel-preset-jest@30.0.0(@babel/core@7.27.1): dependencies: - '@babel/core': 7.27.7 - babel-plugin-jest-hoist: 30.3.0 - babel-preset-current-node-syntax: 1.2.0(@babel/core@7.27.7) + '@babel/core': 7.27.1 + babel-plugin-jest-hoist: 30.0.0 + babel-preset-current-node-syntax: 1.2.0(@babel/core@7.27.1) + + babel-preset-jest@30.0.0(@babel/core@7.29.0): + dependencies: + '@babel/core': 7.29.0 + babel-plugin-jest-hoist: 30.0.0 + babel-preset-current-node-syntax: 1.2.0(@babel/core@7.29.0) babel-preset-react-app@3.1.2(babel-runtime@6.26.0): dependencies: @@ -37702,39 +43011,6 @@ snapshots: balanced-match@4.0.4: {} - bare-events@2.8.2: {} - - bare-fs@4.5.5: - dependencies: - bare-events: 2.8.2 - bare-path: 3.0.0 - bare-stream: 2.8.1(bare-events@2.8.2) - bare-url: 2.3.2 - fast-fifo: 1.3.2 - transitivePeerDependencies: - - bare-abort-controller - - react-native-b4a - - bare-os@3.7.1: {} - - bare-path@3.0.0: - dependencies: - bare-os: 3.7.1 - - bare-stream@2.8.1(bare-events@2.8.2): - dependencies: - streamx: 2.23.0 - teex: 1.0.1 - optionalDependencies: - bare-events: 2.8.2 - transitivePeerDependencies: - - bare-abort-controller - - react-native-b4a - - bare-url@2.3.2: - dependencies: - bare-path: 3.0.0 - base16@1.0.0: {} base64-js@1.5.1: {} @@ -37745,6 +43021,8 @@ snapshots: dependencies: safe-buffer: 5.1.2 + batch-processor@1.0.0: {} + batch@0.6.1: {} bcrypt-pbkdf@1.0.2: @@ -37782,6 +43060,11 @@ snapshots: dependencies: file-uri-to-path: 1.0.0 + bl@1.2.3: + dependencies: + readable-stream: 2.3.8 + safe-buffer: 5.2.1 + bl@4.1.0: dependencies: buffer: 5.7.1 @@ -37798,6 +43081,10 @@ snapshots: blueimp-md5@2.19.0: {} + bn.js@4.12.3: {} + + bn.js@5.2.3: {} + body-parser@1.20.4: dependencies: bytes: 3.1.2 @@ -37832,6 +43119,15 @@ snapshots: fast-deep-equal: 3.1.3 multicast-dns: 7.2.5 + bonjour@3.5.1: + dependencies: + array-flatten: 2.1.2 + deep-equal: 1.1.2 + dns-equal: 1.0.0 + dns-txt: 2.0.2 + multicast-dns: 7.2.5 + multicast-dns-service-types: 1.1.0 + boolbase@1.0.0: {} boundary@2.0.0: {} @@ -37848,6 +43144,17 @@ snapshots: term-size: 1.2.0 widest-line: 2.0.1 + boxen@4.2.0: + dependencies: + ansi-align: 3.0.1 + camelcase: 5.3.1 + chalk: 3.0.0 + cli-boxes: 2.2.1 + string-width: 4.2.3 + term-size: 2.2.1 + type-fest: 0.8.1 + widest-line: 3.1.0 + boxen@5.1.2: dependencies: ansi-align: 3.0.1 @@ -37885,6 +43192,8 @@ snapshots: dependencies: fill-range: 7.1.1 + brorand@1.1.0: {} + browser-assert@1.2.1: {} browser-process-hrtime@1.0.0: {} @@ -37895,10 +43204,54 @@ snapshots: browser-stdout@1.3.1: {} + browserify-aes@1.2.0: + dependencies: + buffer-xor: 1.0.3 + cipher-base: 1.0.7 + create-hash: 1.2.0 + evp_bytestokey: 1.0.3 + inherits: 2.0.4 + safe-buffer: 5.2.1 + + browserify-cipher@1.0.1: + dependencies: + browserify-aes: 1.2.0 + browserify-des: 1.0.2 + evp_bytestokey: 1.0.3 + + browserify-des@1.0.2: + dependencies: + cipher-base: 1.0.7 + des.js: 1.1.0 + inherits: 2.0.4 + safe-buffer: 5.2.1 + + browserify-rsa@4.1.1: + dependencies: + bn.js: 4.12.3 + randombytes: 2.1.0 + safe-buffer: 5.2.1 + + browserify-sign@4.2.5: + dependencies: + bn.js: 5.2.3 + browserify-rsa: 4.1.1 + create-hash: 1.2.0 + create-hmac: 1.1.7 + elliptic: 6.6.1 + inherits: 2.0.4 + parse-asn1: 5.1.9 + readable-stream: 2.3.8 + safe-buffer: 5.2.1 + browserify-zlib@0.1.4: dependencies: pako: 0.2.9 + browserify-zlib@0.2.0: + dependencies: + pako: 1.0.11 + browserslist@1.7.7: dependencies: caniuse-db: 1.0.30001777 @@ -37909,6 +43262,13 @@ snapshots: caniuse-lite: 1.0.30001777 electron-to-chromium: 1.5.307 + browserslist@4.14.2: + dependencies: + caniuse-lite: 1.0.30001777 + electron-to-chromium: 1.5.307 + escalade: 3.2.0 + node-releases: 1.1.77 + browserslist@4.28.1: dependencies: baseline-browser-mapping: 2.10.0 @@ -37929,14 +43289,33 @@ snapshots: dependencies: node-int64: 0.4.0 + buffer-alloc-unsafe@1.1.0: {} + + buffer-alloc@1.2.0: + dependencies: + buffer-alloc-unsafe: 1.1.0 + buffer-fill: 1.0.0 + buffer-crc32@0.2.13: {} buffer-equal-constant-time@1.0.1: {} + buffer-fill@1.0.0: {} + buffer-from@1.1.2: {} buffer-indexof-polyfill@1.0.2: {} + buffer-indexof@1.1.1: {} + + buffer-xor@1.0.3: {} + + buffer@4.9.2: + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + isarray: 1.0.0 + buffer@5.7.1: dependencies: base64-js: 1.5.1 @@ -37961,6 +43340,8 @@ snapshots: builtin-modules@3.3.0: {} + builtin-status-codes@3.0.0: {} + bundle-name@4.1.0: dependencies: run-applescript: 7.1.0 @@ -38020,6 +43401,24 @@ snapshots: unique-filename: 1.1.1 y18n: 4.0.3 + cacache@12.0.4: + dependencies: + bluebird: 3.7.2 + chownr: 1.1.4 + figgy-pudding: 3.5.2 + glob: 7.2.3 + graceful-fs: 4.2.11 + infer-owner: 1.0.4 + lru-cache: 5.1.1 + mississippi: 3.0.0 + mkdirp: 0.5.6 + move-concurrently: 1.0.1 + promise-inflight: 1.0.1 + rimraf: 2.7.1 + ssri: 6.0.2 + unique-filename: 1.1.1 + y18n: 4.0.3 + cacache@15.3.0: dependencies: '@npmcli/fs': 1.1.1 @@ -38141,6 +43540,8 @@ snapshots: quick-lru: 5.1.1 type-fest: 1.4.0 + camelcase@1.2.1: {} + camelcase@2.1.1: {} camelcase@3.0.0: {} @@ -38169,14 +43570,12 @@ snapshots: caniuse-lite@1.0.30001777: {} + canonicalize@2.1.0: {} + canvas@3.2.1: dependencies: node-addon-api: 7.1.1 prebuild-install: 7.1.3 - transitivePeerDependencies: - - bare-abort-controller - - bare-buffer - - react-native-b4a optional: true capture-exit@2.0.0: @@ -38197,7 +43596,12 @@ snapshots: ccount@2.0.1: {} - chai@4.5.0: + center-align@0.1.3: + dependencies: + align-text: 0.1.4 + lazy-cache: 1.0.4 + + chai@4.3.10: dependencies: assertion-error: 1.1.0 check-error: 1.0.3 @@ -38305,6 +43709,34 @@ snapshots: optionalDependencies: fsevents: 1.2.13 + chokidar@2.1.8: + dependencies: + anymatch: 2.0.0 + async-each: 1.0.6 + braces: 3.0.3 + glob-parent: 3.1.0 + inherits: 2.0.4 + is-binary-path: 1.0.1 + is-glob: 4.0.3 + normalize-path: 3.0.0 + path-is-absolute: 1.0.1 + readdirp: 2.2.1 + upath: 1.2.0 + optionalDependencies: + fsevents: 1.2.13 + + chokidar@3.5.3: + dependencies: + anymatch: 3.1.3 + braces: 3.0.3 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + chokidar@3.6.0: dependencies: anymatch: 3.1.3 @@ -38335,6 +43767,12 @@ snapshots: ci-info@4.4.0: {} + cipher-base@1.0.7: + dependencies: + inherits: 2.0.4 + safe-buffer: 5.2.1 + to-buffer: 1.2.2 + citty@0.1.6: dependencies: consola: 3.4.2 @@ -38351,6 +43789,8 @@ snapshots: dependencies: clsx: 2.1.1 + classnames@2.2.6: {} + classnames@2.5.1: {} clean-css@4.2.4: @@ -38373,14 +43813,6 @@ snapshots: cli-boxes@2.2.1: {} - cli-color@2.0.4: - dependencies: - d: 1.0.2 - es5-ext: 0.10.64 - es6-iterator: 2.0.3 - memoizee: 0.4.17 - timers-ext: 0.1.8 - cli-cursor@2.1.0: dependencies: restore-cursor: 2.0.0 @@ -38397,16 +43829,23 @@ snapshots: cli-spinners@2.9.2: {} + cli-table3@0.6.0: + dependencies: + object-assign: 4.1.1 + string-width: 4.2.3 + optionalDependencies: + colors: 1.4.0 + cli-table3@0.6.5: dependencies: string-width: 4.2.3 optionalDependencies: '@colors/colors': 1.5.0 - cli-truncate@5.2.0: + cli-truncate@4.0.0: dependencies: - slice-ansi: 8.0.0 - string-width: 8.2.0 + slice-ansi: 5.0.0 + string-width: 7.2.0 cli-width@2.2.1: {} @@ -38433,6 +43872,12 @@ snapshots: is64bit: 2.0.0 powershell-utils: 0.2.0 + cliui@2.1.0: + dependencies: + center-align: 0.1.3 + right-align: 0.1.3 + wordwrap: 0.0.2 + cliui@3.2.0: dependencies: string-width: 1.0.2 @@ -38485,10 +43930,10 @@ snapshots: clsx@2.1.1: {} - cm6-theme-basic-light@0.2.0(@codemirror/language@6.11.3)(@codemirror/state@6.5.4)(@codemirror/view@6.38.8)(@lezer/highlight@1.2.3): + cm6-theme-basic-light@0.2.0(@codemirror/language@6.11.3)(@codemirror/state@6.5.2)(@codemirror/view@6.38.8)(@lezer/highlight@1.2.3): dependencies: '@codemirror/language': 6.11.3 - '@codemirror/state': 6.5.4 + '@codemirror/state': 6.5.2 '@codemirror/view': 6.38.8 '@lezer/highlight': 1.2.3 @@ -38516,24 +43961,24 @@ snapshots: code-point-at@1.1.0: {} - codemirror-graphql@2.2.4(@codemirror/language@6.11.3)(codemirror@5.65.21)(graphql@16.13.1): + codemirror-graphql@2.2.4(@codemirror/language@6.11.3)(codemirror@5.65.21)(graphql@16.11.0): dependencies: '@codemirror/language': 6.11.3 '@types/codemirror': 0.0.90 codemirror: 5.65.21 - graphql: 16.13.1 - graphql-language-service: 5.5.0(graphql@16.13.1) + graphql: 16.11.0 + graphql-language-service: 5.5.0(graphql@16.11.0) codemirror@5.65.21: {} codemirror@6.0.2: dependencies: '@codemirror/autocomplete': 6.19.1 - '@codemirror/commands': 6.10.2 + '@codemirror/commands': 6.10.0 '@codemirror/language': 6.11.3 '@codemirror/lint': 6.8.5 '@codemirror/search': 6.6.0 - '@codemirror/state': 6.5.4 + '@codemirror/state': 6.5.2 '@codemirror/view': 6.38.8 collapse-white-space@1.0.6: {} @@ -38611,8 +44056,6 @@ snapshots: commander@13.1.0: {} - commander@14.0.3: {} - commander@2.13.0: {} commander@2.17.1: {} @@ -38651,6 +44094,8 @@ snapshots: safe-buffer: 5.2.1 vary: 1.1.2 + compute-scroll-into-view@1.0.20: {} + compute-scroll-into-view@2.0.4: {} concat-map@0.0.1: {} @@ -38688,10 +44133,14 @@ snapshots: confusing-browser-globals@1.0.11: {} + connect-history-api-fallback@1.6.0: {} + connect-history-api-fallback@2.0.0: {} consola@3.4.2: {} + console-browserify@1.2.0: {} + console-control-strings@1.1.0: {} constants-browserify@1.0.0: {} @@ -38736,19 +44185,19 @@ snapshots: dependencies: toggle-selection: 1.0.6 - copy-webpack-plugin@13.0.1(webpack@5.105.4): + copy-webpack-plugin@13.0.0(webpack@5.104.1): dependencies: glob-parent: 6.0.2 normalize-path: 3.0.0 schema-utils: 4.3.3 - serialize-javascript: 7.0.4 + serialize-javascript: 7.0.3 tinyglobby: 0.2.15 - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) + webpack: 5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) copyfiles@2.4.1: dependencies: glob: 7.2.3 - minimatch: 3.1.5 + minimatch: 3.1.4 mkdirp: 1.0.4 noms: 0.0.0 through2: 2.0.5 @@ -38771,7 +44220,7 @@ snapshots: cors-anywhere@0.4.4: dependencies: - http-proxy: 1.18.1 + http-proxy: 1.18.1(debug@3.2.7) proxy-from-env: 0.0.1 transitivePeerDependencies: - debug @@ -38841,7 +44290,7 @@ snapshots: duplexer: 0.1.2 glob: 7.2.3 glob2base: 0.0.12 - minimatch: 3.1.5 + minimatch: 3.1.4 mkdirp: 0.5.6 resolve: 1.6.0 safe-buffer: 5.2.1 @@ -38860,17 +44309,39 @@ snapshots: p-filter: 2.1.0 p-map: 3.0.0 + create-ecdh@4.0.4: + dependencies: + bn.js: 4.12.3 + elliptic: 6.6.1 + create-error-class@3.0.2: dependencies: capture-stack-trace: 1.0.2 - create-jest@29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.35)(typescript@5.8.3)): + create-hash@1.2.0: + dependencies: + cipher-base: 1.0.7 + inherits: 2.0.4 + md5.js: 1.3.5 + ripemd160: 2.0.3 + sha.js: 2.4.12 + + create-hmac@1.1.7: + dependencies: + cipher-base: 1.0.7 + create-hash: 1.2.0 + inherits: 2.0.4 + ripemd160: 2.0.3 + safe-buffer: 5.2.1 + sha.js: 2.4.12 + + create-jest@29.7.0(@types/node@22.15.24)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.24)(typescript@5.8.3)): dependencies: '@jest/types': 29.6.3 chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.35)(typescript@5.8.3)) + jest-config: 29.7.0(@types/node@22.15.24)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.24)(typescript@5.8.3)) jest-util: 29.7.0 prompts: 2.4.2 transitivePeerDependencies: @@ -38879,9 +44350,16 @@ snapshots: - supports-color - ts-node + create-react-context@0.3.0(prop-types@15.8.1)(react@18.2.0): + dependencies: + gud: 1.0.0 + prop-types: 15.8.1 + react: 18.2.0 + warning: 4.0.3 + create-require@1.1.1: {} - create-storybook@8.6.18: + create-storybook@8.6.14: dependencies: recast: 0.23.11 semver: 7.7.4 @@ -38920,12 +44398,33 @@ snapshots: shebang-command: 1.2.0 which: 1.3.1 + cross-spawn@7.0.3: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + cross-spawn@7.0.6: dependencies: path-key: 3.1.1 shebang-command: 2.0.0 which: 2.0.2 + crypto-browserify@3.12.1: + dependencies: + browserify-cipher: 1.0.1 + browserify-sign: 4.2.5 + create-ecdh: 4.0.4 + create-hash: 1.2.0 + create-hmac: 1.1.7 + diffie-hellman: 5.0.3 + hash-base: 3.0.5 + inherits: 2.0.4 + pbkdf2: 3.1.5 + public-encrypt: 4.0.3 + randombytes: 2.1.0 + randomfill: 1.0.4 + crypto-js@4.2.0: {} crypto-random-string@1.0.0: {} @@ -38938,9 +44437,9 @@ snapshots: css-color-names@0.0.4: {} - css-declaration-sorter@6.4.1(postcss@8.5.8): + css-declaration-sorter@6.4.1(postcss@8.5.4): dependencies: - postcss: 8.5.8 + postcss: 8.5.4 css-functions-list@3.3.3: {} @@ -38961,7 +44460,7 @@ snapshots: postcss-value-parser: 3.3.1 source-list-map: 2.0.1 - css-loader@3.6.0(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))): + css-loader@3.6.0(webpack@4.47.0(webpack-cli@4.10.0)): dependencies: camelcase: 5.3.1 cssesc: 3.0.0 @@ -38976,9 +44475,9 @@ snapshots: postcss-value-parser: 4.2.0 schema-utils: 2.7.1 semver: 6.3.1 - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19)) + webpack: 4.47.0(webpack-cli@4.10.0) - css-loader@3.6.0(webpack@5.105.4): + css-loader@3.6.0(webpack@4.47.0(webpack-cli@6.0.1)): dependencies: camelcase: 5.3.1 cssesc: 3.0.0 @@ -38993,73 +44492,90 @@ snapshots: postcss-value-parser: 4.2.0 schema-utils: 2.7.1 semver: 6.3.1 - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) + webpack: 4.47.0(webpack-cli@6.0.1) - css-loader@5.2.7(webpack@5.105.4): + css-loader@3.6.0(webpack@4.47.0): dependencies: - icss-utils: 5.1.0(postcss@8.5.8) + camelcase: 5.3.1 + cssesc: 3.0.0 + icss-utils: 4.1.1 + loader-utils: 1.4.2 + normalize-path: 3.0.0 + postcss: 7.0.39 + postcss-modules-extract-imports: 2.0.0 + postcss-modules-local-by-default: 3.0.3 + postcss-modules-scope: 2.2.0 + postcss-modules-values: 3.0.0 + postcss-value-parser: 4.2.0 + schema-utils: 2.7.1 + semver: 6.3.1 + webpack: 4.47.0 + + css-loader@5.2.7(webpack@5.104.1): + dependencies: + icss-utils: 5.1.0(postcss@8.5.4) loader-utils: 2.0.4 - postcss: 8.5.8 - postcss-modules-extract-imports: 3.1.0(postcss@8.5.8) - postcss-modules-local-by-default: 4.2.0(postcss@8.5.8) - postcss-modules-scope: 3.2.1(postcss@8.5.8) - postcss-modules-values: 4.0.0(postcss@8.5.8) + postcss: 8.5.4 + postcss-modules-extract-imports: 3.1.0(postcss@8.5.4) + postcss-modules-local-by-default: 4.2.0(postcss@8.5.4) + postcss-modules-scope: 3.2.1(postcss@8.5.4) + postcss-modules-values: 4.0.0(postcss@8.5.4) postcss-value-parser: 4.2.0 schema-utils: 3.3.0 semver: 7.7.4 - webpack: 5.105.4(webpack-cli@5.1.4) + webpack: 5.104.1(webpack-cli@5.1.4) - css-loader@6.11.0(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))(esbuild@0.25.12)): + css-loader@6.11.0(webpack@5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))(esbuild@0.25.12)): dependencies: - icss-utils: 5.1.0(postcss@8.5.8) - postcss: 8.5.8 - postcss-modules-extract-imports: 3.1.0(postcss@8.5.8) - postcss-modules-local-by-default: 4.2.0(postcss@8.5.8) - postcss-modules-scope: 3.2.1(postcss@8.5.8) - postcss-modules-values: 4.0.0(postcss@8.5.8) + icss-utils: 5.1.0(postcss@8.5.4) + postcss: 8.5.4 + postcss-modules-extract-imports: 3.1.0(postcss@8.5.4) + postcss-modules-local-by-default: 4.2.0(postcss@8.5.4) + postcss-modules-scope: 3.2.1(postcss@8.5.4) + postcss-modules-values: 4.0.0(postcss@8.5.4) postcss-value-parser: 4.2.0 semver: 7.7.4 optionalDependencies: - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))(esbuild@0.25.12) + webpack: 5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))(esbuild@0.25.12) - css-loader@6.11.0(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))): + css-loader@6.11.0(webpack@5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))): dependencies: - icss-utils: 5.1.0(postcss@8.5.8) - postcss: 8.5.8 - postcss-modules-extract-imports: 3.1.0(postcss@8.5.8) - postcss-modules-local-by-default: 4.2.0(postcss@8.5.8) - postcss-modules-scope: 3.2.1(postcss@8.5.8) - postcss-modules-values: 4.0.0(postcss@8.5.8) + icss-utils: 5.1.0(postcss@8.5.4) + postcss: 8.5.4 + postcss-modules-extract-imports: 3.1.0(postcss@8.5.4) + postcss-modules-local-by-default: 4.2.0(postcss@8.5.4) + postcss-modules-scope: 3.2.1(postcss@8.5.4) + postcss-modules-values: 4.0.0(postcss@8.5.4) postcss-value-parser: 4.2.0 semver: 7.7.4 optionalDependencies: - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19)) + webpack: 5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19)) - css-loader@6.11.0(webpack@5.105.4): + css-loader@6.11.0(webpack@5.104.1): dependencies: - icss-utils: 5.1.0(postcss@8.5.8) - postcss: 8.5.8 - postcss-modules-extract-imports: 3.1.0(postcss@8.5.8) - postcss-modules-local-by-default: 4.2.0(postcss@8.5.8) - postcss-modules-scope: 3.2.1(postcss@8.5.8) - postcss-modules-values: 4.0.0(postcss@8.5.8) + icss-utils: 5.1.0(postcss@8.5.4) + postcss: 8.5.4 + postcss-modules-extract-imports: 3.1.0(postcss@8.5.4) + postcss-modules-local-by-default: 4.2.0(postcss@8.5.4) + postcss-modules-scope: 3.2.1(postcss@8.5.4) + postcss-modules-values: 4.0.0(postcss@8.5.4) postcss-value-parser: 4.2.0 semver: 7.7.4 optionalDependencies: - webpack: 5.105.4(webpack-cli@5.1.4) + webpack: 5.104.1(webpack-cli@5.1.4) - css-loader@7.1.4(webpack@5.105.4): + css-loader@7.1.2(webpack@5.104.1): dependencies: - icss-utils: 5.1.0(postcss@8.5.8) - postcss: 8.5.8 - postcss-modules-extract-imports: 3.1.0(postcss@8.5.8) - postcss-modules-local-by-default: 4.2.0(postcss@8.5.8) - postcss-modules-scope: 3.2.1(postcss@8.5.8) - postcss-modules-values: 4.0.0(postcss@8.5.8) + icss-utils: 5.1.0(postcss@8.5.4) + postcss: 8.5.4 + postcss-modules-extract-imports: 3.1.0(postcss@8.5.4) + postcss-modules-local-by-default: 4.2.0(postcss@8.5.4) + postcss-modules-scope: 3.2.1(postcss@8.5.4) + postcss-modules-values: 4.0.0(postcss@8.5.4) postcss-value-parser: 4.2.0 semver: 7.7.4 optionalDependencies: - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) + webpack: 5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) css-select@4.3.0: dependencies: @@ -39098,42 +44614,42 @@ snapshots: cssesc@3.0.0: {} - cssnano-preset-default@5.2.14(postcss@8.5.8): - dependencies: - css-declaration-sorter: 6.4.1(postcss@8.5.8) - cssnano-utils: 3.1.0(postcss@8.5.8) - postcss: 8.5.8 - postcss-calc: 8.2.4(postcss@8.5.8) - postcss-colormin: 5.3.1(postcss@8.5.8) - postcss-convert-values: 5.1.3(postcss@8.5.8) - postcss-discard-comments: 5.1.2(postcss@8.5.8) - postcss-discard-duplicates: 5.1.0(postcss@8.5.8) - postcss-discard-empty: 5.1.1(postcss@8.5.8) - postcss-discard-overridden: 5.1.0(postcss@8.5.8) - postcss-merge-longhand: 5.1.7(postcss@8.5.8) - postcss-merge-rules: 5.1.4(postcss@8.5.8) - postcss-minify-font-values: 5.1.0(postcss@8.5.8) - postcss-minify-gradients: 5.1.1(postcss@8.5.8) - postcss-minify-params: 5.1.4(postcss@8.5.8) - postcss-minify-selectors: 5.2.1(postcss@8.5.8) - postcss-normalize-charset: 5.1.0(postcss@8.5.8) - postcss-normalize-display-values: 5.1.0(postcss@8.5.8) - postcss-normalize-positions: 5.1.1(postcss@8.5.8) - postcss-normalize-repeat-style: 5.1.1(postcss@8.5.8) - postcss-normalize-string: 5.1.0(postcss@8.5.8) - postcss-normalize-timing-functions: 5.1.0(postcss@8.5.8) - postcss-normalize-unicode: 5.1.1(postcss@8.5.8) - postcss-normalize-url: 5.1.0(postcss@8.5.8) - postcss-normalize-whitespace: 5.1.1(postcss@8.5.8) - postcss-ordered-values: 5.1.3(postcss@8.5.8) - postcss-reduce-initial: 5.1.2(postcss@8.5.8) - postcss-reduce-transforms: 5.1.0(postcss@8.5.8) - postcss-svgo: 5.1.0(postcss@8.5.8) - postcss-unique-selectors: 5.1.1(postcss@8.5.8) - - cssnano-utils@3.1.0(postcss@8.5.8): - dependencies: - postcss: 8.5.8 + cssnano-preset-default@5.2.14(postcss@8.5.4): + dependencies: + css-declaration-sorter: 6.4.1(postcss@8.5.4) + cssnano-utils: 3.1.0(postcss@8.5.4) + postcss: 8.5.4 + postcss-calc: 8.2.4(postcss@8.5.4) + postcss-colormin: 5.3.1(postcss@8.5.4) + postcss-convert-values: 5.1.3(postcss@8.5.4) + postcss-discard-comments: 5.1.2(postcss@8.5.4) + postcss-discard-duplicates: 5.1.0(postcss@8.5.4) + postcss-discard-empty: 5.1.1(postcss@8.5.4) + postcss-discard-overridden: 5.1.0(postcss@8.5.4) + postcss-merge-longhand: 5.1.7(postcss@8.5.4) + postcss-merge-rules: 5.1.4(postcss@8.5.4) + postcss-minify-font-values: 5.1.0(postcss@8.5.4) + postcss-minify-gradients: 5.1.1(postcss@8.5.4) + postcss-minify-params: 5.1.4(postcss@8.5.4) + postcss-minify-selectors: 5.2.1(postcss@8.5.4) + postcss-normalize-charset: 5.1.0(postcss@8.5.4) + postcss-normalize-display-values: 5.1.0(postcss@8.5.4) + postcss-normalize-positions: 5.1.1(postcss@8.5.4) + postcss-normalize-repeat-style: 5.1.1(postcss@8.5.4) + postcss-normalize-string: 5.1.0(postcss@8.5.4) + postcss-normalize-timing-functions: 5.1.0(postcss@8.5.4) + postcss-normalize-unicode: 5.1.1(postcss@8.5.4) + postcss-normalize-url: 5.1.0(postcss@8.5.4) + postcss-normalize-whitespace: 5.1.1(postcss@8.5.4) + postcss-ordered-values: 5.1.3(postcss@8.5.4) + postcss-reduce-initial: 5.1.2(postcss@8.5.4) + postcss-reduce-transforms: 5.1.0(postcss@8.5.4) + postcss-svgo: 5.1.0(postcss@8.5.4) + postcss-unique-selectors: 5.1.1(postcss@8.5.4) + + cssnano-utils@3.1.0(postcss@8.5.4): + dependencies: + postcss: 8.5.4 cssnano@3.10.0: dependencies: @@ -39170,11 +44686,11 @@ snapshots: postcss-value-parser: 3.3.1 postcss-zindex: 2.2.0 - cssnano@5.1.15(postcss@8.5.8): + cssnano@5.1.15(postcss@8.5.4): dependencies: - cssnano-preset-default: 5.2.14(postcss@8.5.8) + cssnano-preset-default: 5.2.14(postcss@8.5.4) lilconfig: 2.1.0 - postcss: 8.5.8 + postcss: 8.5.4 yaml: 1.10.2 csso@2.3.2: @@ -39204,6 +44720,8 @@ snapshots: dependencies: cssom: 0.3.8 + csstype@2.6.21: {} + csstype@3.2.3: {} cubic2quad@1.2.1: {} @@ -39284,6 +44802,18 @@ snapshots: dependencies: ms: 2.1.2 + debug@4.3.4(supports-color@8.1.1): + dependencies: + ms: 2.1.2 + optionalDependencies: + supports-color: 8.1.1 + + debug@4.4.3(supports-color@5.5.0): + dependencies: + ms: 2.1.3 + optionalDependencies: + supports-color: 5.5.0 + debug@4.4.3(supports-color@8.1.1): dependencies: ms: 2.1.3 @@ -39329,6 +44859,15 @@ snapshots: deep-eql@5.0.2: {} + deep-equal@1.1.2: + dependencies: + is-arguments: 1.2.0 + is-date-object: 1.1.0 + is-regex: 1.2.1 + object-is: 1.1.6 + object-keys: 1.1.1 + regexp.prototype.flags: 1.5.4 + deep-equal@2.2.3: dependencies: array-buffer-byte-length: 1.0.2 @@ -39354,6 +44893,8 @@ snapshots: deep-is@0.1.4: {} + deep-object-diff@1.1.9: {} + deepmerge@4.3.1: {} default-browser-id@1.0.4: @@ -39425,6 +44966,15 @@ snapshots: pinkie-promise: 2.0.1 rimraf: 2.7.1 + del@3.0.0: + dependencies: + globby: 6.1.0 + is-path-cwd: 1.0.0 + is-path-in-cwd: 1.0.1 + p-map: 1.2.0 + pify: 3.0.0 + rimraf: 2.7.1 + del@6.1.1: dependencies: globby: 11.1.0 @@ -39467,6 +45017,11 @@ snapshots: dequal@2.0.3: {} + des.js@1.1.0: + dependencies: + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + destroy@1.2.0: {} detab@2.0.4: @@ -39507,7 +45062,7 @@ snapshots: dependencies: dequal: 2.0.3 - dexie@4.3.0: {} + dexie@4.0.11: {} diagnostic-channel-publishers@0.3.5(diagnostic-channel@0.2.0): dependencies: @@ -39525,6 +45080,12 @@ snapshots: diff@8.0.3: {} + diffie-hellman@5.0.3: + dependencies: + bn.js: 4.12.3 + miller-rabin: 4.0.1 + randombytes: 2.1.0 + dir-glob@2.2.2: dependencies: path-type: 3.0.0 @@ -39541,10 +45102,16 @@ snapshots: '@react-dnd/invariant': 4.0.2 redux: 4.2.1 + dns-equal@1.0.0: {} + dns-packet@5.6.1: dependencies: '@leichtgewicht/ip-codec': 2.0.5 + dns-txt@2.0.2: + dependencies: + buffer-indexof: 1.1.1 + doctrine@2.1.0: dependencies: esutils: 2.0.3 @@ -39579,6 +45146,8 @@ snapshots: dom-walk@0.1.2: {} + domain-browser@1.2.0: {} + domelementtype@2.3.0: {} domexception@1.0.1: @@ -39597,7 +45166,7 @@ snapshots: dependencies: domelementtype: 2.3.0 - dompurify@3.3.3: + dompurify@3.3.2: optionalDependencies: '@types/trusted-types': 2.0.7 @@ -39622,18 +45191,40 @@ snapshots: dependencies: is-obj: 1.0.1 + dotenv-defaults@1.1.1: + dependencies: + dotenv: 6.2.0 + dotenv-expand@10.0.0: {} dotenv-expand@4.2.0: {} dotenv-expand@5.1.0: {} + dotenv-webpack@1.8.0(webpack@4.47.0): + dependencies: + dotenv-defaults: 1.1.1 + webpack: 4.47.0 + + dotenv@16.0.3: {} + dotenv@16.5.0: {} dotenv@4.0.0: {} + dotenv@6.2.0: {} + dotenv@8.6.0: {} + downshift@6.1.12(react@18.2.0): + dependencies: + '@babel/runtime': 7.28.6 + compute-scroll-into-view: 1.0.20 + prop-types: 15.8.1 + react: 18.2.0 + react-is: 17.0.2 + tslib: 2.8.1 + downshift@7.6.2(react@18.2.0): dependencies: '@babel/runtime': 7.28.6 @@ -39689,6 +45280,20 @@ snapshots: electron-to-chromium@1.5.307: {} + element-resize-detector@1.2.4: + dependencies: + batch-processor: 1.0.0 + + elliptic@6.6.1: + dependencies: + bn.js: 4.12.3 + brorand: 1.1.0 + hash.js: 1.1.7 + hmac-drbg: 1.0.1 + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + minimalistic-crypto-utils: 1.0.1 + email-addresses@5.0.0: {} emitter-listener@1.1.2: @@ -39707,6 +45312,14 @@ snapshots: emojis-list@3.0.0: {} + emotion-theming@10.3.0(@emotion/core@10.3.1(react@18.2.0))(react@18.2.0): + dependencies: + '@babel/runtime': 7.28.6 + '@emotion/core': 10.3.1(react@18.2.0) + '@emotion/weak-memoize': 0.2.5 + hoist-non-react-statics: 3.3.2 + react: 18.2.0 + enabled@2.0.0: {} encodeurl@2.0.0: {} @@ -39738,6 +45351,12 @@ snapshots: object-assign: 4.1.1 tapable: 0.2.9 + enhanced-resolve@4.5.0: + dependencies: + graceful-fs: 4.2.11 + memory-fs: 0.5.0 + tapable: 1.1.3 + enhanced-resolve@5.20.0: dependencies: graceful-fs: 4.2.11 @@ -39917,8 +45536,26 @@ snapshots: es5-ext: 0.10.64 es6-symbol: 3.1.4 + es6-map@0.1.5: + dependencies: + d: 1.0.2 + es5-ext: 0.10.64 + es6-iterator: 2.0.3 + es6-set: 0.1.6 + es6-symbol: 3.1.4 + event-emitter: 0.3.5 + es6-promise@4.2.8: {} + es6-set@0.1.6: + dependencies: + d: 1.0.2 + es5-ext: 0.10.64 + es6-iterator: 2.0.3 + es6-symbol: 3.1.4 + event-emitter: 0.3.5 + type: 2.7.3 + es6-shim@0.35.8: {} es6-symbol@3.1.4: @@ -39935,6 +45572,13 @@ snapshots: esbuild-plugin-alias@0.2.1: {} + esbuild-register@3.6.0(esbuild@0.18.20): + dependencies: + debug: 4.4.3(supports-color@8.1.1) + esbuild: 0.18.20 + transitivePeerDependencies: + - supports-color + esbuild-register@3.6.0(esbuild@0.25.12): dependencies: debug: 4.4.3(supports-color@8.1.1) @@ -39942,6 +45586,59 @@ snapshots: transitivePeerDependencies: - supports-color + esbuild@0.18.20: + optionalDependencies: + '@esbuild/android-arm': 0.18.20 + '@esbuild/android-arm64': 0.18.20 + '@esbuild/android-x64': 0.18.20 + '@esbuild/darwin-arm64': 0.18.20 + '@esbuild/darwin-x64': 0.18.20 + '@esbuild/freebsd-arm64': 0.18.20 + '@esbuild/freebsd-x64': 0.18.20 + '@esbuild/linux-arm': 0.18.20 + '@esbuild/linux-arm64': 0.18.20 + '@esbuild/linux-ia32': 0.18.20 + '@esbuild/linux-loong64': 0.18.20 + '@esbuild/linux-mips64el': 0.18.20 + '@esbuild/linux-ppc64': 0.18.20 + '@esbuild/linux-riscv64': 0.18.20 + '@esbuild/linux-s390x': 0.18.20 + '@esbuild/linux-x64': 0.18.20 + '@esbuild/netbsd-x64': 0.18.20 + '@esbuild/openbsd-x64': 0.18.20 + '@esbuild/sunos-x64': 0.18.20 + '@esbuild/win32-arm64': 0.18.20 + '@esbuild/win32-ia32': 0.18.20 + '@esbuild/win32-x64': 0.18.20 + + esbuild@0.24.2: + optionalDependencies: + '@esbuild/aix-ppc64': 0.24.2 + '@esbuild/android-arm': 0.24.2 + '@esbuild/android-arm64': 0.24.2 + '@esbuild/android-x64': 0.24.2 + '@esbuild/darwin-arm64': 0.24.2 + '@esbuild/darwin-x64': 0.24.2 + '@esbuild/freebsd-arm64': 0.24.2 + '@esbuild/freebsd-x64': 0.24.2 + '@esbuild/linux-arm': 0.24.2 + '@esbuild/linux-arm64': 0.24.2 + '@esbuild/linux-ia32': 0.24.2 + '@esbuild/linux-loong64': 0.24.2 + '@esbuild/linux-mips64el': 0.24.2 + '@esbuild/linux-ppc64': 0.24.2 + '@esbuild/linux-riscv64': 0.24.2 + '@esbuild/linux-s390x': 0.24.2 + '@esbuild/linux-x64': 0.24.2 + '@esbuild/netbsd-arm64': 0.24.2 + '@esbuild/netbsd-x64': 0.24.2 + '@esbuild/openbsd-arm64': 0.24.2 + '@esbuild/openbsd-x64': 0.24.2 + '@esbuild/sunos-x64': 0.24.2 + '@esbuild/win32-arm64': 0.24.2 + '@esbuild/win32-ia32': 0.24.2 + '@esbuild/win32-x64': 0.24.2 + esbuild@0.25.12: optionalDependencies: '@esbuild/aix-ppc64': 0.25.12 @@ -40011,6 +45708,13 @@ snapshots: optionalDependencies: source-map: 0.6.1 + escope@3.6.0: + dependencies: + es6-map: 0.1.5 + es6-weak-map: 2.0.3 + esrecurse: 4.3.0 + estraverse: 4.3.0 + eslint-config-prettier@6.15.0(eslint@9.39.4(jiti@2.6.1)): dependencies: eslint: 9.39.4(jiti@2.6.1) @@ -40061,7 +45765,7 @@ snapshots: hasown: 2.0.2 is-core-module: 2.16.1 is-glob: 4.0.3 - minimatch: 3.1.5 + minimatch: 3.1.4 object.fromentries: 2.0.8 object.groupby: 1.0.3 object.values: 1.2.1 @@ -40083,7 +45787,7 @@ snapshots: hasown: 2.0.2 jsx-ast-utils: 3.3.5 language-tags: 1.0.9 - minimatch: 3.1.5 + minimatch: 3.1.4 object.fromentries: 2.0.8 safe-regex-test: 1.1.0 string.prototype.includes: 2.0.1 @@ -40100,7 +45804,7 @@ snapshots: dependencies: eslint: 9.39.4(jiti@2.6.1) - eslint-plugin-react-hooks@4.6.2(eslint@9.39.4(jiti@2.6.1)): + eslint-plugin-react-hooks@4.6.0(eslint@9.39.4(jiti@2.6.1)): dependencies: eslint: 9.39.4(jiti@2.6.1) @@ -40108,10 +45812,33 @@ snapshots: dependencies: eslint: 9.39.4(jiti@2.6.1) - eslint-plugin-react-refresh@0.4.26(eslint@9.39.4(jiti@2.6.1)): + eslint-plugin-react-refresh@0.4.20(eslint@9.39.4(jiti@2.6.1)): + dependencies: + eslint: 9.39.4(jiti@2.6.1) + + eslint-plugin-react-refresh@0.4.4(eslint@9.39.4(jiti@2.6.1)): dependencies: eslint: 9.39.4(jiti@2.6.1) + eslint-plugin-react@7.33.1(eslint@9.39.4(jiti@2.6.1)): + dependencies: + array-includes: 3.1.9 + array.prototype.flatmap: 1.3.3 + array.prototype.tosorted: 1.1.4 + doctrine: 2.1.0 + eslint: 9.39.4(jiti@2.6.1) + estraverse: 5.3.0 + jsx-ast-utils: 3.3.5 + minimatch: 3.1.4 + object.entries: 1.1.9 + object.fromentries: 2.0.8 + object.hasown: 1.1.4 + object.values: 1.2.1 + prop-types: 15.8.1 + resolve: 2.0.0-next.6 + semver: 6.3.1 + string.prototype.matchall: 4.0.12 + eslint-plugin-react@7.37.5(eslint@9.39.4(jiti@2.6.1)): dependencies: array-includes: 3.1.9 @@ -40119,12 +45846,12 @@ snapshots: array.prototype.flatmap: 1.3.3 array.prototype.tosorted: 1.1.4 doctrine: 2.1.0 - es-iterator-helpers: 1.3.0 + es-iterator-helpers: 1.2.2 eslint: 9.39.4(jiti@2.6.1) estraverse: 5.3.0 hasown: 2.0.2 jsx-ast-utils: 3.3.5 - minimatch: 3.1.5 + minimatch: 3.1.4 object.entries: 1.1.9 object.fromentries: 2.0.8 object.values: 1.2.1 @@ -40145,11 +45872,16 @@ snapshots: - supports-color - typescript - eslint-plugin-unused-imports@4.1.4(@typescript-eslint/eslint-plugin@8.32.1(@typescript-eslint/parser@8.32.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3))(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3))(eslint@9.39.4(jiti@2.6.1)): + eslint-plugin-unused-imports@4.1.4(@typescript-eslint/eslint-plugin@8.32.1(@typescript-eslint/parser@8.33.0(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3))(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3))(eslint@9.39.4(jiti@2.6.1)): dependencies: eslint: 9.39.4(jiti@2.6.1) optionalDependencies: - '@typescript-eslint/eslint-plugin': 8.32.1(@typescript-eslint/parser@8.32.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3))(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3) + '@typescript-eslint/eslint-plugin': 8.32.1(@typescript-eslint/parser@8.33.0(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3))(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3) + + eslint-scope@4.0.3: + dependencies: + esrecurse: 4.3.0 + estraverse: 4.3.0 eslint-scope@5.1.1: dependencies: @@ -40180,7 +45912,7 @@ snapshots: '@eslint/core': 0.17.0 '@eslint/eslintrc': 3.3.5 '@eslint/js': 9.39.4 - '@eslint/plugin-kit': 0.3.5 + '@eslint/plugin-kit': 0.4.1 '@humanfs/node': 0.16.7 '@humanwhocodes/module-importer': 1.0.1 '@humanwhocodes/retry': 0.4.3 @@ -40204,7 +45936,7 @@ snapshots: is-glob: 4.0.3 json-stable-stringify-without-jsonify: 1.0.1 lodash.merge: 4.6.2 - minimatch: 3.1.5 + minimatch: 3.1.4 natural-compare: 1.4.0 optionator: 0.9.4 optionalDependencies: @@ -40279,18 +46011,10 @@ snapshots: d: 1.0.2 es5-ext: 0.10.64 - event-target-shim@5.0.1: {} - eventemitter3@4.0.7: {} eventemitter3@5.0.4: {} - events-universal@1.0.1: - dependencies: - bare-events: 2.8.2 - transitivePeerDependencies: - - bare-abort-controller - events@3.3.0: {} eventsource-parser@3.0.6: {} @@ -40303,6 +46027,11 @@ snapshots: dependencies: eventsource-parser: 3.0.6 + evp_bytestokey@1.0.3: + dependencies: + md5.js: 1.3.5 + safe-buffer: 5.2.1 + exec-sh@0.2.2: dependencies: merge: 1.2.1 @@ -40442,7 +46171,7 @@ snapshots: exponential-backoff@3.1.3: {} - express-rate-limit@8.3.1(express@5.2.1): + express-rate-limit@8.2.2(express@5.2.1): dependencies: express: 5.2.1 ip-address: 10.1.0 @@ -40531,12 +46260,12 @@ snapshots: iconv-lite: 0.4.24 tmp: 0.0.33 - extract-text-webpack-plugin@3.0.2(webpack@5.105.4): + extract-text-webpack-plugin@3.0.2(webpack@3.8.1): dependencies: async: 2.6.4 loader-utils: 1.4.2 schema-utils: 0.3.0 - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) + webpack: 3.8.1 webpack-sources: 1.4.3 extract-zip@1.7.0: @@ -40548,30 +46277,12 @@ snapshots: extsprintf@1.3.0: {} - fantasticon@3.0.0: - dependencies: - case: 1.6.3 - cli-color: 2.0.4 - commander: 12.1.0 - glob: 10.5.0 - handlebars: 4.7.8 - slugify: 1.6.6 - svg2ttf: 6.0.3 - svgicons2svgfont: 12.0.0 - ttf2eot: 3.1.0 - ttf2woff: 3.0.0 - ttf2woff2: 5.0.0 - transitivePeerDependencies: - - supports-color - fast-deep-equal@1.1.0: {} fast-deep-equal@3.1.3: {} fast-diff@1.3.0: {} - fast-fifo@1.3.2: {} - fast-glob@2.2.7: dependencies: '@mrmlnc/readdir-enhanced': 2.2.1 @@ -40621,6 +46332,10 @@ snapshots: dependencies: format: 0.2.2 + faye-websocket@0.10.0: + dependencies: + websocket-driver: 0.7.4 + faye-websocket@0.11.4: dependencies: websocket-driver: 0.7.4 @@ -40674,15 +46389,21 @@ snapshots: fetch-retry@5.0.6: {} + figgy-pudding@3.5.2: {} + figures@2.0.0: dependencies: escape-string-regexp: 1.0.5 + figures@3.2.0: + dependencies: + escape-string-regexp: 1.0.5 + figures@6.1.0: dependencies: is-unicode-supported: 2.1.0 - file-entry-cache@11.1.2: + file-entry-cache@10.1.4: dependencies: flat-cache: 6.1.20 @@ -40693,26 +46414,38 @@ snapshots: file-js@0.3.0: dependencies: bluebird: 3.7.2 - minimatch: 3.1.5 + minimatch: 3.1.4 proper-lockfile: 1.2.0 - file-loader@1.1.5(webpack@5.105.4): + file-loader@1.1.5(webpack@3.8.1): dependencies: loader-utils: 1.4.2 schema-utils: 0.3.0 - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) + webpack: 3.8.1 + + file-loader@6.2.0(webpack@4.47.0(webpack-cli@4.10.0)): + dependencies: + loader-utils: 2.0.4 + schema-utils: 3.3.0 + webpack: 4.47.0(webpack-cli@4.10.0) + + file-loader@6.2.0(webpack@4.47.0(webpack-cli@6.0.1)): + dependencies: + loader-utils: 2.0.4 + schema-utils: 3.3.0 + webpack: 4.47.0(webpack-cli@6.0.1) - file-loader@6.2.0(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))): + file-loader@6.2.0(webpack@4.47.0): dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19)) + webpack: 4.47.0 - file-loader@6.2.0(webpack@5.105.4): + file-loader@6.2.0(webpack@5.104.1): dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) + webpack: 5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) file-system-cache@1.1.0: dependencies: @@ -40724,11 +46457,14 @@ snapshots: fs-extra: 11.1.1 ramda: 0.29.0 - file-type@18.7.0: + file-type@21.3.1: dependencies: - readable-web-to-node-stream: 3.0.4 - strtok3: 7.1.1 - token-types: 5.0.1 + '@tokenizer/inflate': 0.4.1 + strtok3: 10.3.4 + token-types: 6.1.2 + uint8array-extras: 1.5.0 + transitivePeerDependencies: + - supports-color file-uri-to-path@1.0.0: {} @@ -40739,13 +46475,13 @@ snapshots: bluebird: 3.7.2 file-js: 0.3.0 lodash: 4.17.23 - minimatch: 5.1.9 + minimatch: 5.1.8 moment: 2.30.1 unit-compare: 1.0.1 filelist@1.0.6: dependencies: - minimatch: 5.1.9 + minimatch: 5.1.8 filename-reserved-regex@2.0.0: {} @@ -40758,10 +46494,12 @@ snapshots: fileset@2.0.3: dependencies: glob: 7.2.3 - minimatch: 3.1.5 + minimatch: 3.1.4 filesize@3.5.11: {} + filesize@6.1.0: {} + fill-range@7.1.1: dependencies: to-regex-range: 5.0.1 @@ -40812,7 +46550,7 @@ snapshots: find-index@0.1.1: {} - find-process@1.4.11: + find-process@1.4.10: dependencies: chalk: 4.1.2 commander: 12.1.0 @@ -40856,24 +46594,24 @@ snapshots: flat-cache@3.2.0: dependencies: - flatted: 3.4.1 + flatted: 3.4.0 keyv: 4.5.4 rimraf: 3.0.2 flat-cache@4.0.1: dependencies: - flatted: 3.4.1 + flatted: 3.4.0 keyv: 4.5.4 flat-cache@6.1.20: dependencies: cacheable: 2.3.3 - flatted: 3.4.1 + flatted: 3.4.0 hookified: 1.15.1 flat@5.0.2: {} - flatted@3.4.1: {} + flatted@3.4.0: {} flatten@1.0.3: {} @@ -40894,7 +46632,9 @@ snapshots: fn.name@1.1.0: {} - follow-redirects@1.15.11: {} + follow-redirects@1.15.11(debug@3.2.7): + optionalDependencies: + debug: 3.2.7 for-each@0.3.5: dependencies: @@ -40912,7 +46652,7 @@ snapshots: forever-agent@0.6.1: {} - fork-ts-checker-webpack-plugin@0.2.10(typescript@5.8.3)(webpack@5.105.4): + fork-ts-checker-webpack-plugin@0.2.10(typescript@5.8.3)(webpack@3.8.1): dependencies: babel-code-frame: 6.26.0 chalk: 1.1.3 @@ -40921,21 +46661,21 @@ snapshots: lodash.isfunction: 3.0.9 lodash.isstring: 4.0.1 lodash.startswith: 4.2.1 - minimatch: 3.1.5 + minimatch: 3.1.4 typescript: 5.8.3 - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) + webpack: 3.8.1 fork-ts-checker-webpack-plugin@4.1.6: dependencies: - '@babel/code-frame': 7.29.0 + '@babel/code-frame': 7.10.4 chalk: 2.4.2 micromatch: 4.0.8 - minimatch: 3.1.5 + minimatch: 3.1.4 semver: 5.7.2 tapable: 1.1.3 worker-rpc: 0.1.1 - fork-ts-checker-webpack-plugin@6.5.3(eslint@9.39.4(jiti@2.6.1))(typescript@4.9.5)(webpack@5.105.4): + fork-ts-checker-webpack-plugin@6.5.3(eslint@9.39.4(jiti@2.6.1))(typescript@4.9.4)(webpack@4.47.0): dependencies: '@babel/code-frame': 7.29.0 '@types/json-schema': 7.0.15 @@ -40946,16 +46686,16 @@ snapshots: fs-extra: 9.1.0 glob: 7.2.3 memfs: 3.5.3 - minimatch: 3.1.5 + minimatch: 3.1.4 schema-utils: 2.7.0 semver: 7.7.4 tapable: 1.1.3 - typescript: 4.9.5 - webpack: 5.105.4(webpack-cli@5.1.4) + typescript: 4.9.4 + webpack: 4.47.0 optionalDependencies: eslint: 9.39.4(jiti@2.6.1) - fork-ts-checker-webpack-plugin@6.5.3(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3)(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))): + fork-ts-checker-webpack-plugin@6.5.3(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3)(webpack@4.47.0(webpack-cli@4.10.0)): dependencies: '@babel/code-frame': 7.29.0 '@types/json-schema': 7.0.15 @@ -40966,16 +46706,16 @@ snapshots: fs-extra: 9.1.0 glob: 7.2.3 memfs: 3.5.3 - minimatch: 3.1.5 + minimatch: 3.1.4 schema-utils: 2.7.0 semver: 7.7.4 tapable: 1.1.3 typescript: 5.8.3 - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19)) + webpack: 4.47.0(webpack-cli@4.10.0) optionalDependencies: eslint: 9.39.4(jiti@2.6.1) - fork-ts-checker-webpack-plugin@6.5.3(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3)(webpack@5.105.4): + fork-ts-checker-webpack-plugin@6.5.3(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3)(webpack@4.47.0(webpack-cli@6.0.1)): dependencies: '@babel/code-frame': 7.29.0 '@types/json-schema': 7.0.15 @@ -40986,16 +46726,56 @@ snapshots: fs-extra: 9.1.0 glob: 7.2.3 memfs: 3.5.3 - minimatch: 3.1.5 + minimatch: 3.1.4 + schema-utils: 2.7.0 + semver: 7.7.4 + tapable: 1.1.3 + typescript: 5.8.3 + webpack: 4.47.0(webpack-cli@6.0.1) + optionalDependencies: + eslint: 9.39.4(jiti@2.6.1) + + fork-ts-checker-webpack-plugin@6.5.3(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3)(webpack@4.47.0): + dependencies: + '@babel/code-frame': 7.29.0 + '@types/json-schema': 7.0.15 + chalk: 4.1.2 + chokidar: 3.6.0 + cosmiconfig: 6.0.0 + deepmerge: 4.3.1 + fs-extra: 9.1.0 + glob: 7.2.3 + memfs: 3.5.3 + minimatch: 3.1.4 + schema-utils: 2.7.0 + semver: 7.7.4 + tapable: 1.1.3 + typescript: 5.8.3 + webpack: 4.47.0 + optionalDependencies: + eslint: 9.39.4(jiti@2.6.1) + + fork-ts-checker-webpack-plugin@6.5.3(eslint@9.39.4(jiti@2.6.1))(typescript@5.8.3)(webpack@5.104.1): + dependencies: + '@babel/code-frame': 7.29.0 + '@types/json-schema': 7.0.15 + chalk: 4.1.2 + chokidar: 3.6.0 + cosmiconfig: 6.0.0 + deepmerge: 4.3.1 + fs-extra: 9.1.0 + glob: 7.2.3 + memfs: 3.5.3 + minimatch: 3.1.4 schema-utils: 2.7.0 semver: 7.7.4 tapable: 1.1.3 typescript: 5.8.3 - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) + webpack: 5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) optionalDependencies: eslint: 9.39.4(jiti@2.6.1) - fork-ts-checker-webpack-plugin@8.0.0(typescript@5.8.3)(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))(esbuild@0.25.12)): + fork-ts-checker-webpack-plugin@8.0.0(typescript@5.8.3)(webpack@5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))(esbuild@0.25.12)): dependencies: '@babel/code-frame': 7.29.0 chalk: 4.1.2 @@ -41004,15 +46784,15 @@ snapshots: deepmerge: 4.3.1 fs-extra: 10.1.0 memfs: 3.5.3 - minimatch: 3.1.5 + minimatch: 3.1.4 node-abort-controller: 3.1.1 schema-utils: 3.3.0 semver: 7.7.4 tapable: 2.3.0 typescript: 5.8.3 - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))(esbuild@0.25.12) + webpack: 5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))(esbuild@0.25.12) - fork-ts-checker-webpack-plugin@8.0.0(typescript@5.8.3)(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))): + fork-ts-checker-webpack-plugin@8.0.0(typescript@5.8.3)(webpack@5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))): dependencies: '@babel/code-frame': 7.29.0 chalk: 4.1.2 @@ -41021,15 +46801,15 @@ snapshots: deepmerge: 4.3.1 fs-extra: 10.1.0 memfs: 3.5.3 - minimatch: 3.1.5 + minimatch: 3.1.4 node-abort-controller: 3.1.1 schema-utils: 3.3.0 semver: 7.7.4 tapable: 2.3.0 typescript: 5.8.3 - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19)) + webpack: 5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19)) - fork-ts-checker-webpack-plugin@8.0.0(typescript@5.8.3)(webpack@5.105.4): + fork-ts-checker-webpack-plugin@8.0.0(typescript@5.8.3)(webpack@5.104.1): dependencies: '@babel/code-frame': 7.29.0 chalk: 4.1.2 @@ -41038,15 +46818,15 @@ snapshots: deepmerge: 4.3.1 fs-extra: 10.1.0 memfs: 3.5.3 - minimatch: 3.1.5 + minimatch: 3.1.4 node-abort-controller: 3.1.1 schema-utils: 3.3.0 semver: 7.7.4 tapable: 2.3.0 typescript: 5.8.3 - webpack: 5.105.4(webpack-cli@5.1.4) + webpack: 5.104.1(webpack-cli@5.1.4) - fork-ts-checker-webpack-plugin@9.1.0(typescript@5.8.3)(webpack@5.105.4): + fork-ts-checker-webpack-plugin@9.1.0(typescript@5.8.3)(webpack@5.104.1): dependencies: '@babel/code-frame': 7.29.0 chalk: 4.1.2 @@ -41055,18 +46835,24 @@ snapshots: deepmerge: 4.3.1 fs-extra: 10.1.0 memfs: 3.5.3 - minimatch: 3.1.5 + minimatch: 3.1.4 node-abort-controller: 3.1.1 schema-utils: 3.3.0 semver: 7.7.4 tapable: 2.3.0 typescript: 5.8.3 - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) + webpack: 5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) form-data-encoder@2.1.4: {} form-data-encoder@4.1.0: {} + form-data@2.3.3: + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 + form-data@4.0.5: dependencies: asynckit: 0.4.0 @@ -41083,7 +46869,17 @@ snapshots: forwarded@0.2.0: {} - fraction.js@5.3.4: {} + fraction.js@4.3.7: {} + + framer-motion@11.18.2(@emotion/is-prop-valid@1.4.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0): + dependencies: + motion-dom: 11.18.1 + motion-utils: 11.18.1 + tslib: 2.8.1 + optionalDependencies: + '@emotion/is-prop-valid': 1.4.0 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) framer-motion@6.5.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0): dependencies: @@ -41111,6 +46907,8 @@ snapshots: inherits: 2.0.4 readable-stream: 2.3.8 + fs-constants@1.0.0: {} + fs-extra@0.30.0: dependencies: graceful-fs: 4.2.11 @@ -41137,6 +46935,12 @@ snapshots: jsonfile: 6.2.0 universalify: 2.0.1 + fs-extra@11.3.0: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.2.0 + universalify: 2.0.1 + fs-extra@11.3.4: dependencies: graceful-fs: 4.2.11 @@ -41217,6 +47021,8 @@ snapshots: functions-have-names@1.2.3: {} + fuse.js@3.6.1: {} + gauge@2.7.4: dependencies: aproba: 1.2.0 @@ -41339,7 +47145,7 @@ snapshots: email-addresses: 5.0.0 filenamify: 4.3.0 find-cache-dir: 3.3.2 - fs-extra: 11.3.4 + fs-extra: 11.3.0 globby: 11.1.0 giget@1.2.5: @@ -41356,6 +47162,11 @@ snapshots: github-slugger@1.5.0: {} + glob-base@0.3.0: + dependencies: + glob-parent: 2.0.0 + is-glob: 2.0.1 + glob-parent@2.0.0: dependencies: is-glob: 2.0.1 @@ -41375,7 +47186,7 @@ snapshots: glob-promise@3.4.0(glob@7.2.3): dependencies: - '@types/glob': 8.1.0 + '@types/glob': 8.0.0 glob: 7.2.3 glob-to-regex.js@1.2.0(tslib@2.8.1): @@ -41394,7 +47205,7 @@ snapshots: dependencies: foreground-child: 3.3.1 jackspeak: 3.4.3 - minimatch: 9.0.9 + minimatch: 9.0.7 minipass: 7.1.3 package-json-from-dist: 1.0.1 path-scurry: 1.11.1 @@ -41403,7 +47214,7 @@ snapshots: dependencies: foreground-child: 3.3.1 jackspeak: 4.2.3 - minimatch: 10.2.4 + minimatch: 10.2.3 minipass: 7.1.3 package-json-from-dist: 1.0.1 path-scurry: 2.0.2 @@ -41416,12 +47227,21 @@ snapshots: once: 1.4.0 path-is-absolute: 1.0.1 + glob@7.2.0: + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.4 + once: 1.4.0 + path-is-absolute: 1.0.1 + glob@7.2.3: dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 inherits: 2.0.4 - minimatch: 3.1.5 + minimatch: 3.1.4 once: 1.4.0 path-is-absolute: 1.0.1 @@ -41430,7 +47250,7 @@ snapshots: fs.realpath: 1.0.0 inflight: 1.0.6 inherits: 2.0.4 - minimatch: 5.1.9 + minimatch: 5.1.8 once: 1.4.0 global-dirs@0.1.1: @@ -41477,6 +47297,15 @@ snapshots: globalyzer@0.1.0: {} + globby@11.0.1: + dependencies: + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.3.3 + ignore: 5.3.2 + merge2: 1.4.1 + slash: 3.0.0 + globby@11.1.0: dependencies: array-union: 2.1.0 @@ -41512,6 +47341,14 @@ snapshots: pify: 2.3.0 pinkie-promise: 2.0.1 + globby@6.1.0: + dependencies: + array-union: 1.0.2 + glob: 7.2.3 + object-assign: 4.1.1 + pify: 2.3.0 + pinkie-promise: 2.0.1 + globby@9.2.0: dependencies: '@types/glob': 7.2.0 @@ -41575,16 +47412,16 @@ snapshots: graphemer@1.4.0: {} - graphiql-explorer@0.9.0(graphql@16.13.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0): + graphiql-explorer@0.9.0(graphql@16.11.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0): dependencies: - graphql: 16.13.1 + graphql: 16.11.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - graphiql@3.7.0(@codemirror/language@6.11.3)(@types/node@22.15.35)(@types/react-dom@18.2.0)(@types/react@18.2.0)(graphql@16.13.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0): + graphiql@3.7.0(@codemirror/language@6.11.3)(@types/node@22.15.24)(@types/react-dom@18.2.0)(@types/react@18.2.0)(graphql@16.11.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0): dependencies: - '@graphiql/react': 0.26.2(@codemirror/language@6.11.3)(@types/node@22.15.35)(@types/react-dom@18.2.0)(@types/react@18.2.0)(graphql@16.13.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - graphql: 16.13.1 + '@graphiql/react': 0.26.2(@codemirror/language@6.11.3)(@types/node@22.15.24)(@types/react-dom@18.2.0)(@types/react@18.2.0)(graphql@16.11.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + graphql: 16.11.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) transitivePeerDependencies: @@ -41598,17 +47435,19 @@ snapshots: dependencies: lodash: 4.17.23 - graphql-language-service@5.5.0(graphql@16.13.1): + graphql-language-service@5.5.0(graphql@16.11.0): dependencies: debounce-promise: 3.1.2 - graphql: 16.13.1 + graphql: 16.11.0 nullthrows: 1.1.1 vscode-languageserver-types: 3.17.5 - graphql@16.13.1: {} + graphql@16.11.0: {} growly@1.3.0: {} + gud@1.0.0: {} + gunzip-maybe@1.4.2: dependencies: browserify-zlib: 0.1.4 @@ -41622,6 +47461,13 @@ snapshots: dependencies: duplexer: 0.1.2 + gzip-size@5.1.1: + dependencies: + duplexer: 0.1.2 + pify: 4.0.1 + + handle-thing@1.2.5: {} + handle-thing@2.0.1: {} handlebars@4.7.8: @@ -41652,6 +47498,8 @@ snapshots: has-flag@1.0.0: {} + has-flag@2.0.0: {} + has-flag@3.0.0: {} has-flag@4.0.0: {} @@ -41678,6 +47526,23 @@ snapshots: has@1.0.4: {} + hash-base@3.0.5: + dependencies: + inherits: 2.0.4 + safe-buffer: 5.2.1 + + hash-base@3.1.2: + dependencies: + inherits: 2.0.4 + readable-stream: 2.3.8 + safe-buffer: 5.2.1 + to-buffer: 1.2.2 + + hash.js@1.1.7: + dependencies: + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + hashery@1.5.0: dependencies: hookified: 1.15.1 @@ -41696,12 +47561,34 @@ snapshots: unist-util-is: 4.1.0 web-namespaces: 1.1.4 + hast-util-from-dom@5.0.1: + dependencies: + '@types/hast': 3.0.4 + hastscript: 9.0.1 + web-namespaces: 2.0.1 + + hast-util-from-html-isomorphic@2.0.0: + dependencies: + '@types/hast': 3.0.4 + hast-util-from-dom: 5.0.1 + hast-util-from-html: 2.0.3 + unist-util-remove-position: 5.0.0 + + hast-util-from-html@2.0.3: + dependencies: + '@types/hast': 3.0.4 + devlop: 1.1.0 + hast-util-from-parse5: 8.0.3 + parse5: 7.3.0 + vfile: 6.0.3 + vfile-message: 4.0.3 + hast-util-from-parse5@6.0.1: dependencies: '@types/parse5': 5.0.3 hastscript: 6.0.0 property-information: 5.6.0 - vfile: 6.0.3 + vfile: 4.2.1 vfile-location: 3.2.0 web-namespaces: 1.1.4 @@ -41711,7 +47598,7 @@ snapshots: '@types/unist': 2.0.11 hastscript: 7.2.0 property-information: 6.5.0 - vfile: 6.0.3 + vfile: 5.3.7 vfile-location: 4.1.0 web-namespaces: 2.0.1 @@ -41726,6 +47613,10 @@ snapshots: vfile-location: 5.0.3 web-namespaces: 2.0.1 + hast-util-is-element@3.0.0: + dependencies: + '@types/hast': 3.0.4 + hast-util-parse-selector@2.2.5: {} hast-util-parse-selector@3.1.1: @@ -41744,7 +47635,7 @@ snapshots: html-void-elements: 1.0.5 parse5: 6.0.1 unist-util-position: 3.1.0 - vfile: 6.0.3 + vfile: 4.2.1 web-namespaces: 1.1.4 xtend: 4.0.2 zwitch: 1.0.5 @@ -41759,7 +47650,7 @@ snapshots: parse5: 6.0.1 unist-util-position: 4.0.4 unist-util-visit: 4.1.2 - vfile: 6.0.3 + vfile: 5.3.7 web-namespaces: 2.0.1 zwitch: 2.0.4 @@ -41826,6 +47717,13 @@ snapshots: web-namespaces: 2.0.1 zwitch: 2.0.4 + hast-util-to-text@4.0.2: + dependencies: + '@types/hast': 3.0.4 + '@types/unist': 3.0.3 + hast-util-is-element: 3.0.0 + unist-util-find-after: 5.0.0 + hast-util-whitespace@3.0.0: dependencies: '@types/hast': 3.0.4 @@ -41866,6 +47764,12 @@ snapshots: highlightjs-vue@1.0.0: {} + hmac-drbg@1.0.1: + dependencies: + hash.js: 1.1.7 + minimalistic-assert: 1.0.1 + minimalistic-crypto-utils: 1.0.1 + hoist-non-react-statics@3.3.2: dependencies: react-is: 16.13.1 @@ -41912,6 +47816,8 @@ snapshots: dependencies: whatwg-encoding: 2.0.0 + html-entities@1.4.0: {} + html-entities@2.6.0: {} html-escaper@2.0.2: {} @@ -41958,7 +47864,7 @@ snapshots: html-void-elements@3.0.0: {} - html-webpack-plugin@2.29.0(webpack@5.105.4): + html-webpack-plugin@2.29.0(webpack@3.8.1): dependencies: bluebird: 3.7.2 html-minifier: 3.5.21 @@ -41966,9 +47872,9 @@ snapshots: lodash: 4.17.23 pretty-error: 2.1.2 toposort: 1.0.7 - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) + webpack: 3.8.1 - html-webpack-plugin@4.5.2(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))): + html-webpack-plugin@4.5.2(webpack@4.47.0(webpack-cli@4.10.0)): dependencies: '@types/html-minifier-terser': 5.1.2 '@types/tapable': 1.0.12 @@ -41979,9 +47885,9 @@ snapshots: pretty-error: 2.1.2 tapable: 1.1.3 util.promisify: 1.0.0 - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19)) + webpack: 4.47.0(webpack-cli@4.10.0) - html-webpack-plugin@4.5.2(webpack@5.105.4): + html-webpack-plugin@4.5.2(webpack@4.47.0(webpack-cli@6.0.1)): dependencies: '@types/html-minifier-terser': 5.1.2 '@types/tapable': 1.0.12 @@ -41992,9 +47898,22 @@ snapshots: pretty-error: 2.1.2 tapable: 1.1.3 util.promisify: 1.0.0 - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) + webpack: 4.47.0(webpack-cli@6.0.1) - html-webpack-plugin@5.6.6(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))(esbuild@0.25.12)): + html-webpack-plugin@4.5.2(webpack@4.47.0): + dependencies: + '@types/html-minifier-terser': 5.1.2 + '@types/tapable': 1.0.12 + '@types/webpack': 4.41.40 + html-minifier-terser: 5.1.1 + loader-utils: 1.4.2 + lodash: 4.17.23 + pretty-error: 2.1.2 + tapable: 1.1.3 + util.promisify: 1.0.0 + webpack: 4.47.0 + + html-webpack-plugin@5.6.6(webpack@5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))(esbuild@0.25.12)): dependencies: '@types/html-minifier-terser': 6.1.0 html-minifier-terser: 6.1.0 @@ -42002,9 +47921,9 @@ snapshots: pretty-error: 4.0.0 tapable: 2.3.0 optionalDependencies: - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))(esbuild@0.25.12) + webpack: 5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))(esbuild@0.25.12) - html-webpack-plugin@5.6.6(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))): + html-webpack-plugin@5.6.6(webpack@5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))): dependencies: '@types/html-minifier-terser': 6.1.0 html-minifier-terser: 6.1.0 @@ -42012,9 +47931,9 @@ snapshots: pretty-error: 4.0.0 tapable: 2.3.0 optionalDependencies: - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19)) + webpack: 5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19)) - html-webpack-plugin@5.6.6(webpack@5.105.4): + html-webpack-plugin@5.6.6(webpack@5.104.1): dependencies: '@types/html-minifier-terser': 6.1.0 html-minifier-terser: 6.1.0 @@ -42022,7 +47941,7 @@ snapshots: pretty-error: 4.0.0 tapable: 2.3.0 optionalDependencies: - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) + webpack: 5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) htmlparser2@10.1.0: dependencies: @@ -42083,10 +48002,19 @@ snapshots: transitivePeerDependencies: - supports-color + http-proxy-middleware@0.17.4(debug@3.2.7): + dependencies: + http-proxy: 1.18.1(debug@3.2.7) + is-glob: 3.1.0 + lodash: 4.17.23 + micromatch: 4.0.8 + transitivePeerDependencies: + - debug + http-proxy-middleware@2.0.9(@types/express@4.17.25): dependencies: '@types/http-proxy': 1.17.17 - http-proxy: 1.18.1 + http-proxy: 1.18.1(debug@3.2.7) is-glob: 4.0.3 is-plain-obj: 3.0.0 micromatch: 4.0.8 @@ -42095,10 +48023,10 @@ snapshots: transitivePeerDependencies: - debug - http-proxy@1.18.1: + http-proxy@1.18.1(debug@3.2.7): dependencies: eventemitter3: 4.0.7 - follow-redirects: 1.15.11 + follow-redirects: 1.15.11(debug@3.2.7) requires-port: 1.0.0 transitivePeerDependencies: - debug @@ -42110,11 +48038,11 @@ snapshots: corser: 2.0.1 he: 1.2.0 html-encoding-sniffer: 3.0.0 - http-proxy: 1.18.1 + http-proxy: 1.18.1(debug@3.2.7) mime: 1.6.0 minimist: 1.2.8 opener: 1.5.2 - portfinder: 1.0.38 + portfinder: 1.0.37 secure-compare: 3.0.1 union: 0.5.0 url-join: 4.0.1 @@ -42133,6 +48061,8 @@ snapshots: quick-lru: 5.1.1 resolve-alpn: 1.2.1 + https-browserify@1.0.0: {} + https-proxy-agent@4.0.0: dependencies: agent-base: 5.1.1 @@ -42201,9 +48131,9 @@ snapshots: dependencies: postcss: 7.0.39 - icss-utils@5.1.0(postcss@8.5.8): + icss-utils@5.1.0(postcss@8.5.4): dependencies: - postcss: 8.5.8 + postcss: 8.5.4 identity-obj-proxy@3.0.0: dependencies: @@ -42221,6 +48151,8 @@ snapshots: immediate@3.0.6: {} + immer@8.0.1: {} + immutable@3.8.3: {} import-cwd@3.0.0: @@ -42236,8 +48168,20 @@ snapshots: dependencies: resolve-from: 5.0.0 + import-in-the-middle@2.0.6: + dependencies: + acorn: 8.16.0 + acorn-import-attributes: 1.9.5(acorn@8.16.0) + cjs-module-lexer: 2.2.0 + module-details-from-path: 1.0.4 + import-lazy@2.1.0: {} + import-local@1.0.0: + dependencies: + pkg-dir: 2.0.0 + resolve-cwd: 2.0.0 + import-local@3.2.0: dependencies: pkg-dir: 4.2.0 @@ -42291,6 +48235,10 @@ snapshots: strip-ansi: 4.0.0 through: 2.3.8 + internal-ip@1.2.0: + dependencies: + meow: 3.7.0 + internal-slot@1.1.0: dependencies: es-errors: 1.3.0 @@ -42305,11 +48253,11 @@ snapshots: intersection-observer@0.10.0: {} - intl-messageformat@10.7.18: + intl-messageformat@10.7.16: dependencies: - '@formatjs/ecma402-abstract': 2.3.6 + '@formatjs/ecma402-abstract': 2.3.4 '@formatjs/fast-memoize': 2.2.7 - '@formatjs/icu-messageformat-parser': 2.11.4 + '@formatjs/icu-messageformat-parser': 2.11.2 tslib: 2.8.1 invariant@2.2.4: @@ -42324,6 +48272,8 @@ snapshots: ip-regex@4.3.0: {} + ip@1.1.9: {} + ip@2.0.1: {} ipaddr.js@1.9.1: {} @@ -42386,6 +48336,8 @@ snapshots: call-bound: 1.0.4 has-tostringtag: 1.0.2 + is-buffer@1.1.6: {} + is-buffer@2.0.5: {} is-builtin-module@1.0.0: @@ -42456,6 +48408,8 @@ snapshots: is-fullwidth-code-point@3.0.0: {} + is-fullwidth-code-point@4.0.0: {} + is-fullwidth-code-point@5.1.0: dependencies: get-east-asian-width: 1.5.0 @@ -42564,8 +48518,6 @@ snapshots: is-primitive@3.0.1: {} - is-promise@2.2.2: {} - is-promise@4.0.0: {} is-redirect@1.0.0: {} @@ -42585,6 +48537,8 @@ snapshots: is-root@1.0.0: {} + is-root@2.1.0: {} + is-set@2.0.3: {} is-shared-array-buffer@1.0.4: @@ -42687,7 +48641,7 @@ snapshots: isomorphic-unfetch@3.1.0(encoding@0.1.13): dependencies: - node-fetch: 2.6.13(encoding@0.1.13) + node-fetch: 2.6.7(encoding@0.1.13) unfetch: 4.2.0 transitivePeerDependencies: - encoding @@ -42732,7 +48686,7 @@ snapshots: istanbul-lib-instrument@4.0.3: dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 semver: 6.3.1 @@ -42741,7 +48695,7 @@ snapshots: istanbul-lib-instrument@5.2.1: dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 '@babel/parser': 7.29.0 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 @@ -42751,7 +48705,7 @@ snapshots: istanbul-lib-instrument@6.0.3: dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 '@babel/parser': 7.29.0 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 @@ -42886,7 +48840,7 @@ snapshots: '@jest/expect': 29.7.0 '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.15.35 + '@types/node': 22.15.24 chalk: 4.1.2 co: 4.6.0 dedent: 1.7.2(babel-plugin-macros@3.1.0) @@ -42908,11 +48862,11 @@ snapshots: jest-circus@30.3.0(babel-plugin-macros@3.1.0): dependencies: - '@jest/environment': 30.3.0 - '@jest/expect': 30.3.0 - '@jest/test-result': 30.3.0 - '@jest/types': 30.3.0 - '@types/node': 22.15.35 + '@jest/environment': 30.0.0 + '@jest/expect': 30.0.0 + '@jest/test-result': 30.0.0 + '@jest/types': 30.0.0 + '@types/node': 22.15.24 chalk: 4.1.2 co: 4.6.0 dedent: 1.7.2(babel-plugin-macros@3.1.0) @@ -42987,16 +48941,16 @@ snapshots: - supports-color - utf-8-validate - jest-cli@29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.35)(typescript@5.8.3)): + jest-cli@29.7.0(@types/node@22.15.24)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.24)(typescript@5.8.3)): dependencies: - '@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.35)(typescript@5.8.3)) + '@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.24)(typescript@5.8.3)) '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 chalk: 4.1.2 - create-jest: 29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.35)(typescript@5.8.3)) + create-jest: 29.7.0(@types/node@22.15.24)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.24)(typescript@5.8.3)) exit: 0.1.2 import-local: 3.2.0 - jest-config: 29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.35)(typescript@5.8.3)) + jest-config: 29.7.0(@types/node@22.15.24)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.24)(typescript@5.8.3)) jest-util: 29.7.0 jest-validate: 29.7.0 yargs: 17.7.2 @@ -43006,17 +48960,17 @@ snapshots: - supports-color - ts-node - jest-cli@30.3.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(esbuild-register@3.6.0(esbuild@0.25.12))(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.35)(typescript@5.8.3)): + jest-cli@30.0.0(@types/node@22.15.21)(babel-plugin-macros@3.1.0)(esbuild-register@3.6.0(esbuild@0.25.12))(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.21)(typescript@5.8.3)): dependencies: - '@jest/core': 30.3.0(babel-plugin-macros@3.1.0)(esbuild-register@3.6.0(esbuild@0.25.12))(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.35)(typescript@5.8.3)) - '@jest/test-result': 30.3.0 - '@jest/types': 30.3.0 + '@jest/core': 30.0.0(babel-plugin-macros@3.1.0)(esbuild-register@3.6.0(esbuild@0.25.12))(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.21)(typescript@5.8.3)) + '@jest/test-result': 30.0.0 + '@jest/types': 30.0.0 chalk: 4.1.2 exit-x: 0.2.2 import-local: 3.2.0 - jest-config: 30.3.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(esbuild-register@3.6.0(esbuild@0.25.12))(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.35)(typescript@5.8.3)) - jest-util: 30.3.0 - jest-validate: 30.3.0 + jest-config: 30.0.0(@types/node@22.15.21)(babel-plugin-macros@3.1.0)(esbuild-register@3.6.0(esbuild@0.25.12))(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.21)(typescript@5.8.3)) + jest-util: 30.0.0 + jest-validate: 30.0.0 yargs: 17.7.2 transitivePeerDependencies: - '@types/node' @@ -43054,10 +49008,10 @@ snapshots: jest-config@25.5.4: dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 '@jest/test-sequencer': 25.5.4 '@jest/types': 25.5.0 - babel-jest: 25.5.1(@babel/core@7.27.7) + babel-jest: 25.5.1(@babel/core@7.27.1) chalk: 3.0.0 deepmerge: 4.3.1 glob: 7.2.3 @@ -43079,12 +49033,12 @@ snapshots: - supports-color - utf-8-validate - jest-config@29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.35)(typescript@5.8.3)): + jest-config@29.7.0(@types/node@22.15.24)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.24)(typescript@5.8.3)): dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 '@jest/test-sequencer': 29.7.0 '@jest/types': 29.6.3 - babel-jest: 29.7.0(@babel/core@7.27.7) + babel-jest: 29.7.0(@babel/core@7.27.1) chalk: 4.1.2 ci-info: 3.9.0 deepmerge: 4.3.1 @@ -43104,20 +49058,20 @@ snapshots: slash: 3.0.0 strip-json-comments: 3.1.1 optionalDependencies: - '@types/node': 22.15.35 - ts-node: 10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.35)(typescript@5.8.3) + '@types/node': 22.15.24 + ts-node: 10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.24)(typescript@5.8.3) transitivePeerDependencies: - babel-plugin-macros - supports-color - jest-config@30.3.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(esbuild-register@3.6.0(esbuild@0.25.12))(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.35)(typescript@5.8.3)): + jest-config@30.0.0(@types/node@22.15.21)(babel-plugin-macros@3.1.0)(esbuild-register@3.6.0(esbuild@0.25.12))(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.21)(typescript@5.8.3)): dependencies: - '@babel/core': 7.27.7 - '@jest/get-type': 30.1.0 - '@jest/pattern': 30.0.1 - '@jest/test-sequencer': 30.3.0 - '@jest/types': 30.3.0 - babel-jest: 30.3.0(@babel/core@7.27.7) + '@babel/core': 7.29.0 + '@jest/get-type': 30.0.0 + '@jest/pattern': 30.0.0 + '@jest/test-sequencer': 30.0.0 + '@jest/types': 30.0.0 + babel-jest: 30.0.0(@babel/core@7.29.0) chalk: 4.1.2 ci-info: 4.4.0 deepmerge: 4.3.1 @@ -43136,9 +49090,43 @@ snapshots: slash: 3.0.0 strip-json-comments: 3.1.1 optionalDependencies: - '@types/node': 22.15.35 + '@types/node': 22.15.21 esbuild-register: 3.6.0(esbuild@0.25.12) - ts-node: 10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.35)(typescript@5.8.3) + ts-node: 10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.21)(typescript@5.8.3) + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + + jest-config@30.0.0(@types/node@22.15.24)(babel-plugin-macros@3.1.0)(esbuild-register@3.6.0(esbuild@0.25.12))(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.21)(typescript@5.8.3)): + dependencies: + '@babel/core': 7.29.0 + '@jest/get-type': 30.0.0 + '@jest/pattern': 30.0.0 + '@jest/test-sequencer': 30.0.0 + '@jest/types': 30.0.0 + babel-jest: 30.0.0(@babel/core@7.29.0) + chalk: 4.1.2 + ci-info: 4.4.0 + deepmerge: 4.3.1 + glob: 10.5.0 + graceful-fs: 4.2.11 + jest-circus: 30.0.0(babel-plugin-macros@3.1.0) + jest-docblock: 30.0.0 + jest-environment-node: 30.0.0 + jest-regex-util: 30.0.0 + jest-resolve: 30.0.0 + jest-runner: 30.0.0 + jest-util: 30.0.0 + jest-validate: 30.0.0 + micromatch: 4.0.8 + parse-json: 5.2.0 + pretty-format: 30.0.0 + slash: 3.0.0 + strip-json-comments: 3.1.1 + optionalDependencies: + '@types/node': 22.15.24 + esbuild-register: 3.6.0(esbuild@0.25.12) + ts-node: 10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.21)(typescript@5.8.3) transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -43247,7 +49235,7 @@ snapshots: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 '@types/jsdom': 20.0.1 - '@types/node': 22.15.35 + '@types/node': 22.15.24 jest-mock: 29.7.0 jest-util: 29.7.0 jsdom: 20.0.3 @@ -43280,19 +49268,19 @@ snapshots: '@jest/environment': 29.7.0 '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.15.35 + '@types/node': 22.15.24 jest-mock: 29.7.0 jest-util: 29.7.0 jest-environment-node@30.3.0: dependencies: - '@jest/environment': 30.3.0 - '@jest/fake-timers': 30.3.0 - '@jest/types': 30.3.0 - '@types/node': 22.15.35 - jest-mock: 30.3.0 - jest-util: 30.3.0 - jest-validate: 30.3.0 + '@jest/environment': 30.0.0 + '@jest/fake-timers': 30.0.0 + '@jest/types': 30.0.0 + '@types/node': 22.15.24 + jest-mock: 30.0.0 + jest-util: 30.0.0 + jest-validate: 30.0.0 jest-get-type@22.4.3: {} @@ -43330,7 +49318,7 @@ snapshots: dependencies: '@jest/types': 26.6.2 '@types/graceful-fs': 4.1.9 - '@types/node': 22.15.35 + '@types/node': 22.15.24 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 @@ -43348,7 +49336,7 @@ snapshots: dependencies: '@jest/types': 29.6.3 '@types/graceful-fs': 4.1.9 - '@types/node': 22.15.35 + '@types/node': 22.15.24 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 @@ -43362,15 +49350,15 @@ snapshots: jest-haste-map@30.3.0: dependencies: - '@jest/types': 30.3.0 - '@types/node': 22.15.35 + '@jest/types': 30.0.0 + '@types/node': 22.15.24 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 - jest-regex-util: 30.0.1 - jest-util: 30.3.0 - jest-worker: 30.3.0 - picomatch: 4.0.3 + jest-regex-util: 30.0.0 + jest-util: 30.0.0 + jest-worker: 30.0.0 + micromatch: 4.0.8 walker: 1.0.8 optionalDependencies: fsevents: 2.3.3 @@ -43540,14 +49528,20 @@ snapshots: jest-mock@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 22.15.35 + '@types/node': 22.15.24 jest-util: 29.7.0 jest-mock@30.3.0: dependencies: - '@jest/types': 30.3.0 - '@types/node': 22.15.35 - jest-util: 30.3.0 + '@jest/types': 30.0.0 + '@types/node': 22.15.24 + jest-util: 30.0.0 + + jest-mock@30.2.0: + dependencies: + '@jest/types': 30.2.0 + '@types/node': 22.15.24 + jest-util: 30.2.0 jest-pnp-resolver@1.2.3(jest-resolve@25.5.1): optionalDependencies: @@ -43677,7 +49671,7 @@ snapshots: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.15.35 + '@types/node': 22.15.24 chalk: 4.1.2 emittery: 0.13.1 graceful-fs: 4.2.11 @@ -43698,12 +49692,12 @@ snapshots: jest-runner@30.3.0: dependencies: - '@jest/console': 30.3.0 - '@jest/environment': 30.3.0 - '@jest/test-result': 30.3.0 - '@jest/transform': 30.3.0 - '@jest/types': 30.3.0 - '@types/node': 22.15.35 + '@jest/console': 30.0.0 + '@jest/environment': 30.0.0 + '@jest/test-result': 30.0.0 + '@jest/transform': 30.0.0 + '@jest/types': 30.0.0 + '@types/node': 22.15.24 chalk: 4.1.2 emittery: 0.13.1 exit-x: 0.2.2 @@ -43784,7 +49778,7 @@ snapshots: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.15.35 + '@types/node': 22.15.24 chalk: 4.1.2 cjs-module-lexer: 1.4.3 collect-v8-coverage: 1.0.3 @@ -43804,14 +49798,14 @@ snapshots: jest-runtime@30.3.0: dependencies: - '@jest/environment': 30.3.0 - '@jest/fake-timers': 30.3.0 - '@jest/globals': 30.3.0 - '@jest/source-map': 30.0.1 - '@jest/test-result': 30.3.0 - '@jest/transform': 30.3.0 - '@jest/types': 30.3.0 - '@types/node': 22.15.35 + '@jest/environment': 30.0.0 + '@jest/fake-timers': 30.0.0 + '@jest/globals': 30.0.0 + '@jest/source-map': 30.0.0 + '@jest/test-result': 30.0.0 + '@jest/transform': 30.0.0 + '@jest/types': 30.0.0 + '@types/node': 22.15.24 chalk: 4.1.2 cjs-module-lexer: 2.2.0 collect-v8-coverage: 1.0.3 @@ -43835,7 +49829,7 @@ snapshots: jest-serializer@26.6.2: dependencies: - '@types/node': 22.15.35 + '@types/node': 22.15.24 graceful-fs: 4.2.11 jest-snapshot@20.0.3: @@ -43876,15 +49870,15 @@ snapshots: jest-snapshot@29.7.0: dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 '@babel/generator': 7.29.1 - '@babel/plugin-syntax-jsx': 7.28.6(@babel/core@7.27.7) - '@babel/plugin-syntax-typescript': 7.28.6(@babel/core@7.27.7) + '@babel/plugin-syntax-jsx': 7.28.6(@babel/core@7.27.1) + '@babel/plugin-syntax-typescript': 7.28.6(@babel/core@7.27.1) '@babel/types': 7.29.0 '@jest/expect-utils': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - babel-preset-current-node-syntax: 1.2.0(@babel/core@7.27.7) + babel-preset-current-node-syntax: 1.2.0(@babel/core@7.27.1) chalk: 4.1.2 expect: 29.7.0 graceful-fs: 4.2.11 @@ -43901,17 +49895,17 @@ snapshots: jest-snapshot@30.3.0: dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.29.0 '@babel/generator': 7.29.1 - '@babel/plugin-syntax-jsx': 7.28.6(@babel/core@7.27.7) - '@babel/plugin-syntax-typescript': 7.28.6(@babel/core@7.27.7) + '@babel/plugin-syntax-jsx': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-syntax-typescript': 7.28.6(@babel/core@7.29.0) '@babel/types': 7.29.0 - '@jest/expect-utils': 30.3.0 - '@jest/get-type': 30.1.0 - '@jest/snapshot-utils': 30.3.0 - '@jest/transform': 30.3.0 - '@jest/types': 30.3.0 - babel-preset-current-node-syntax: 1.2.0(@babel/core@7.27.7) + '@jest/expect-utils': 30.0.0 + '@jest/get-type': 30.0.0 + '@jest/snapshot-utils': 30.0.0 + '@jest/transform': 30.0.0 + '@jest/types': 30.0.0 + babel-preset-current-node-syntax: 1.2.0(@babel/core@7.29.0) chalk: 4.1.2 expect: 30.3.0 graceful-fs: 4.2.11 @@ -43956,7 +49950,7 @@ snapshots: jest-util@26.6.2: dependencies: '@jest/types': 26.6.2 - '@types/node': 22.15.35 + '@types/node': 22.15.24 chalk: 4.1.2 graceful-fs: 4.2.11 is-ci: 2.0.0 @@ -43965,7 +49959,7 @@ snapshots: jest-util@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 22.15.35 + '@types/node': 22.15.24 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -43973,8 +49967,17 @@ snapshots: jest-util@30.3.0: dependencies: - '@jest/types': 30.3.0 - '@types/node': 22.15.35 + '@jest/types': 30.0.0 + '@types/node': 22.15.24 + chalk: 4.1.2 + ci-info: 4.4.0 + graceful-fs: 4.2.11 + picomatch: 4.0.3 + + jest-util@30.2.0: + dependencies: + '@jest/types': 30.2.0 + '@types/node': 22.15.24 chalk: 4.1.2 ci-info: 4.4.0 graceful-fs: 4.2.11 @@ -44045,7 +50048,7 @@ snapshots: dependencies: '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.15.35 + '@types/node': 22.15.24 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.13.1 @@ -44054,9 +50057,9 @@ snapshots: jest-watcher@30.3.0: dependencies: - '@jest/test-result': 30.3.0 - '@jest/types': 30.3.0 - '@types/node': 22.15.35 + '@jest/test-result': 30.0.0 + '@jest/types': 30.0.0 + '@types/node': 22.15.24 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.13.1 @@ -44075,28 +50078,28 @@ snapshots: jest-worker@26.6.2: dependencies: - '@types/node': 22.15.35 + '@types/node': 22.15.24 merge-stream: 2.0.0 supports-color: 7.2.0 jest-worker@27.5.1: dependencies: - '@types/node': 22.15.35 + '@types/node': 22.15.24 merge-stream: 2.0.0 supports-color: 8.1.1 jest-worker@29.7.0: dependencies: - '@types/node': 22.15.35 + '@types/node': 22.15.24 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 jest-worker@30.3.0: dependencies: - '@types/node': 22.15.35 + '@types/node': 22.15.24 '@ungap/structured-clone': 1.3.0 - jest-util: 30.3.0 + jest-util: 30.0.0 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -44115,24 +50118,24 @@ snapshots: - supports-color - utf-8-validate - jest@29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.35)(typescript@5.8.3)): + jest@29.7.0(@types/node@22.15.24)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.24)(typescript@5.8.3)): dependencies: - '@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.35)(typescript@5.8.3)) + '@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.24)(typescript@5.8.3)) '@jest/types': 29.6.3 import-local: 3.2.0 - jest-cli: 29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.35)(typescript@5.8.3)) + jest-cli: 29.7.0(@types/node@22.15.24)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.24)(typescript@5.8.3)) transitivePeerDependencies: - '@types/node' - babel-plugin-macros - supports-color - ts-node - jest@30.3.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(esbuild-register@3.6.0(esbuild@0.25.12))(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.35)(typescript@5.8.3)): + jest@30.0.0(@types/node@22.15.21)(babel-plugin-macros@3.1.0)(esbuild-register@3.6.0(esbuild@0.25.12))(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.21)(typescript@5.8.3)): dependencies: - '@jest/core': 30.3.0(babel-plugin-macros@3.1.0)(esbuild-register@3.6.0(esbuild@0.25.12))(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.35)(typescript@5.8.3)) - '@jest/types': 30.3.0 + '@jest/core': 30.0.0(babel-plugin-macros@3.1.0)(esbuild-register@3.6.0(esbuild@0.25.12))(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.21)(typescript@5.8.3)) + '@jest/types': 30.0.0 import-local: 3.2.0 - jest-cli: 30.3.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(esbuild-register@3.6.0(esbuild@0.25.12))(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.35)(typescript@5.8.3)) + jest-cli: 30.0.0(@types/node@22.15.21)(babel-plugin-macros@3.1.0)(esbuild-register@3.6.0(esbuild@0.25.12))(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.21)(typescript@5.8.3)) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -44172,21 +50175,50 @@ snapshots: jsbn@0.1.1: {} + jschardet@3.0.0: {} + jschardet@3.1.4: {} - jscodeshift@0.15.2(@babel/preset-env@7.27.2(@babel/core@7.27.7)): + jscodeshift@0.15.2(@babel/preset-env@7.27.2(@babel/core@7.27.1)): + dependencies: + '@babel/core': 7.27.1 + '@babel/parser': 7.29.0 + '@babel/plugin-transform-class-properties': 7.28.6(@babel/core@7.27.1) + '@babel/plugin-transform-modules-commonjs': 7.28.6(@babel/core@7.27.1) + '@babel/plugin-transform-nullish-coalescing-operator': 7.28.6(@babel/core@7.27.1) + '@babel/plugin-transform-optional-chaining': 7.28.6(@babel/core@7.27.1) + '@babel/plugin-transform-private-methods': 7.28.6(@babel/core@7.27.1) + '@babel/preset-flow': 7.27.1(@babel/core@7.27.1) + '@babel/preset-typescript': 7.27.1(@babel/core@7.27.1) + '@babel/register': 7.28.6(@babel/core@7.27.1) + babel-core: 7.0.0-bridge.0(@babel/core@7.27.1) + chalk: 4.1.2 + flow-parser: 0.304.0 + graceful-fs: 4.2.11 + micromatch: 4.0.8 + neo-async: 2.6.2 + node-dir: 0.1.17 + recast: 0.23.11 + temp: 0.8.4 + write-file-atomic: 2.4.3 + optionalDependencies: + '@babel/preset-env': 7.27.2(@babel/core@7.27.1) + transitivePeerDependencies: + - supports-color + + jscodeshift@0.15.2(@babel/preset-env@7.27.2(@babel/core@7.29.0)): dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 '@babel/parser': 7.29.0 - '@babel/plugin-transform-class-properties': 7.28.6(@babel/core@7.27.7) - '@babel/plugin-transform-modules-commonjs': 7.28.6(@babel/core@7.27.7) - '@babel/plugin-transform-nullish-coalescing-operator': 7.28.6(@babel/core@7.27.7) - '@babel/plugin-transform-optional-chaining': 7.28.6(@babel/core@7.27.7) - '@babel/plugin-transform-private-methods': 7.28.6(@babel/core@7.27.7) - '@babel/preset-flow': 7.27.1(@babel/core@7.27.7) - '@babel/preset-typescript': 7.27.1(@babel/core@7.27.7) - '@babel/register': 7.28.6(@babel/core@7.27.7) - babel-core: 7.0.0-bridge.0(@babel/core@7.27.7) + '@babel/plugin-transform-class-properties': 7.28.6(@babel/core@7.27.1) + '@babel/plugin-transform-modules-commonjs': 7.28.6(@babel/core@7.27.1) + '@babel/plugin-transform-nullish-coalescing-operator': 7.28.6(@babel/core@7.27.1) + '@babel/plugin-transform-optional-chaining': 7.28.6(@babel/core@7.27.1) + '@babel/plugin-transform-private-methods': 7.28.6(@babel/core@7.27.1) + '@babel/preset-flow': 7.27.1(@babel/core@7.27.1) + '@babel/preset-typescript': 7.27.1(@babel/core@7.27.1) + '@babel/register': 7.28.6(@babel/core@7.27.1) + babel-core: 7.0.0-bridge.0(@babel/core@7.27.1) chalk: 4.1.2 flow-parser: 0.304.0 graceful-fs: 4.2.11 @@ -44197,7 +50229,7 @@ snapshots: temp: 0.8.4 write-file-atomic: 2.4.3 optionalDependencies: - '@babel/preset-env': 7.27.2(@babel/core@7.27.7) + '@babel/preset-env': 7.27.2(@babel/core@7.29.0) transitivePeerDependencies: - supports-color @@ -44327,6 +50359,10 @@ snapshots: json-buffer@3.0.1: {} + json-loader@0.5.7: {} + + json-parse-better-errors@1.0.2: {} + json-parse-even-better-errors@2.3.1: {} json-schema-to-ts@3.1.1: @@ -44391,12 +50427,12 @@ snapshots: jsonix@3.0.0: dependencies: amdefine: 0.1.1 - xmldom: '@xmldom/xmldom@0.8.11' + xmldom: '@xmldom/xmldom@0.8.10' xmlhttprequest: 1.8.0 jsonwebtoken@9.0.3: dependencies: - jws: 3.2.3 + jws: 4.0.1 lodash.includes: 4.3.0 lodash.isboolean: 3.0.3 lodash.isinteger: 4.0.4 @@ -44430,27 +50466,27 @@ snapshots: junk@3.1.0: {} - jwa@1.4.2: + jwa@2.0.1: dependencies: buffer-equal-constant-time: 1.0.1 ecdsa-sig-formatter: 1.0.11 safe-buffer: 5.2.1 - jws@3.2.3: + jws@4.0.1: dependencies: - jwa: 1.4.2 + jwa: 2.0.1 safe-buffer: 5.2.1 jwt-decode@4.0.0: {} + katex@0.16.38: + dependencies: + commander: 8.3.0 + keytar@7.9.0: dependencies: node-addon-api: 4.3.0 prebuild-install: 7.1.3 - transitivePeerDependencies: - - bare-abort-controller - - bare-buffer - - react-native-b4a keyv@4.5.4: dependencies: @@ -44465,6 +50501,12 @@ snapshots: get-them-args: 1.3.2 shell-exec: 1.0.2 + killable@1.0.1: {} + + kind-of@3.2.2: + dependencies: + is-buffer: 1.1.6 + kind-of@6.0.3: {} klaw@1.3.1: @@ -44475,10 +50517,18 @@ snapshots: klona@2.0.6: {} - known-css-properties@0.37.0: {} + known-css-properties@0.36.0: {} kuler@2.0.0: {} + langfuse-core@3.38.6: + dependencies: + mustache: 4.2.0 + + langfuse@3.38.6: + dependencies: + langfuse-core: 3.38.6 + language-subtag-registry@0.3.23: {} language-tags@1.0.9: @@ -44494,6 +50544,8 @@ snapshots: picocolors: 1.1.1 shell-quote: 1.8.3 + lazy-cache@1.0.4: {} + lazy-universal-dotenv@3.0.1: dependencies: '@babel/runtime': 7.28.6 @@ -44548,20 +50600,26 @@ snapshots: dependencies: uc.micro: 2.1.0 - lint-staged@16.3.3: + lint-staged@16.0.0: dependencies: - commander: 14.0.3 - listr2: 9.0.5 + chalk: 5.6.2 + commander: 13.1.0 + debug: 4.4.3(supports-color@8.1.1) + lilconfig: 3.1.3 + listr2: 8.3.3 micromatch: 4.0.8 + nano-spawn: 1.0.3 + pidtree: 0.6.0 string-argv: 0.3.2 - tinyexec: 1.0.2 - yaml: 2.8.2 + yaml: 2.8.0 + transitivePeerDependencies: + - supports-color listenercount@1.0.1: {} - listr2@9.0.5: + listr2@8.3.3: dependencies: - cli-truncate: 5.2.0 + cli-truncate: 4.0.0 colorette: 2.0.20 eventemitter3: 5.0.4 log-update: 6.1.0 @@ -44576,6 +50634,15 @@ snapshots: pinkie-promise: 2.0.1 strip-bom: 2.0.0 + load-json-file@2.0.0: + dependencies: + graceful-fs: 4.2.11 + parse-json: 2.2.0 + pify: 2.3.0 + strip-bom: 3.0.0 + + loader-runner@2.4.0: {} + loader-runner@4.3.1: {} loader-utils@0.2.17: @@ -44591,6 +50658,12 @@ snapshots: emojis-list: 3.0.0 json5: 1.0.2 + loader-utils@2.0.0: + dependencies: + big.js: 5.2.2 + emojis-list: 3.0.0 + json5: 2.2.3 + loader-utils@2.0.4: dependencies: big.js: 5.2.2 @@ -44735,6 +50808,8 @@ snapshots: longest-streak@3.1.0: {} + longest@1.0.1: {} + loose-envify@1.4.0: dependencies: js-tokens: 4.0.0 @@ -44786,10 +50861,6 @@ snapshots: lru-cache@7.18.3: {} - lru-queue@0.1.0: - dependencies: - es5-ext: 0.10.64 - lucide-react@0.523.0(react@18.3.1): dependencies: react: 18.3.1 @@ -44893,6 +50964,12 @@ snapshots: markdown-table@3.0.4: {} + markdown-to-jsx@6.11.4(react@18.2.0): + dependencies: + prop-types: 15.8.1 + react: 18.2.0 + unquote: 1.1.1 + markdown-to-jsx@7.7.17(react@18.2.0): optionalDependencies: react: 18.2.0 @@ -44909,6 +50986,12 @@ snapshots: mathml-tag-names@2.1.3: {} + md5.js@1.3.5: + dependencies: + hash-base: 3.0.5 + inherits: 2.0.4 + safe-buffer: 5.2.1 + mdast-squeeze-paragraphs@4.0.0: dependencies: unist-util-remove: 2.1.0 @@ -45023,6 +51106,18 @@ snapshots: transitivePeerDependencies: - supports-color + mdast-util-math@3.0.0: + dependencies: + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + devlop: 1.1.0 + longest-streak: 3.1.0 + mdast-util-from-markdown: 2.0.3 + mdast-util-to-markdown: 2.1.2 + unist-util-remove-position: 5.0.0 + transitivePeerDependencies: + - supports-color + mdast-util-mdx-expression@2.0.1: dependencies: '@types/estree-jsx': 1.0.5 @@ -45165,17 +51260,6 @@ snapshots: tree-dump: 1.1.0(tslib@2.8.1) tslib: 2.8.1 - memoizee@0.4.17: - dependencies: - d: 1.0.2 - es5-ext: 0.10.64 - es6-weak-map: 2.0.3 - event-emitter: 0.3.5 - is-promise: 2.2.2 - lru-queue: 0.1.0 - next-tick: 1.1.0 - timers-ext: 0.1.8 - memoizerific@1.11.3: dependencies: map-or-similar: 1.5.0 @@ -45185,6 +51269,11 @@ snapshots: errno: 0.1.8 readable-stream: 2.3.8 + memory-fs@0.5.0: + dependencies: + errno: 0.1.8 + readable-stream: 2.3.8 + meow@10.1.5: dependencies: '@types/minimist': 1.2.5 @@ -45229,9 +51318,9 @@ snapshots: merge@1.2.1: {} - meros@1.3.2(@types/node@22.15.35): + meros@1.3.2(@types/node@22.15.24): optionalDependencies: - '@types/node': 22.15.35 + '@types/node': 22.15.24 methods@1.1.2: {} @@ -45333,6 +51422,16 @@ snapshots: micromark-util-combine-extensions: 2.0.1 micromark-util-types: 2.0.2 + micromark-extension-math@3.1.0: + dependencies: + '@types/katex': 0.16.8 + devlop: 1.1.0 + katex: 0.16.38 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + micromark-extension-mdx-expression@3.0.1: dependencies: '@types/estree': 1.0.8 @@ -45525,6 +51624,11 @@ snapshots: braces: 3.0.3 picomatch: 2.3.1 + miller-rabin@4.0.1: + dependencies: + bn.js: 4.12.3 + brorand: 1.1.0 + mime-db@1.33.0: {} mime-db@1.52.0: {} @@ -45567,11 +51671,11 @@ snapshots: min-indent@1.0.1: {} - mini-css-extract-plugin@2.10.1(webpack@5.105.4): + mini-css-extract-plugin@2.9.2(webpack@5.104.1): dependencies: schema-utils: 4.3.3 tapable: 2.3.0 - webpack: 5.105.4(webpack-cli@4.10.0) + webpack: 5.104.1(webpack-cli@4.10.0) minim@0.23.8: dependencies: @@ -45579,21 +51683,27 @@ snapshots: minimalistic-assert@1.0.1: {} - minimatch@10.2.4: + minimalistic-crypto-utils@1.0.1: {} + + minimatch@10.2.3: dependencies: brace-expansion: 5.0.4 + minimatch@3.1.4: + dependencies: + brace-expansion: 1.1.12 + minimatch@3.1.5: dependencies: brace-expansion: 1.1.12 - minimatch@5.1.9: + minimatch@5.1.8: dependencies: brace-expansion: 2.0.2 - minimatch@9.0.9: + minimatch@9.0.7: dependencies: - brace-expansion: 2.0.2 + brace-expansion: 5.0.4 minimist-options@4.1.0: dependencies: @@ -45653,6 +51763,19 @@ snapshots: stream-each: 1.2.3 through2: 2.0.5 + mississippi@3.0.0: + dependencies: + concat-stream: 1.6.2 + duplexify: 3.7.1 + end-of-stream: 1.4.5 + flush-write-stream: 1.1.1 + from2: 2.3.0 + parallel-transform: 1.2.0 + pump: 3.0.4 + pumpify: 1.5.1 + stream-each: 1.2.3 + through2: 2.0.5 + mkdirp-classic@0.5.3: {} mkdirp@0.5.6: @@ -45670,27 +51793,74 @@ snapshots: pkg-types: 1.3.1 ufo: 1.6.3 - mocha@10.8.2: + mocha@10.2.0: dependencies: - ansi-colors: 4.1.3 + ansi-colors: 4.1.1 browser-stdout: 1.3.1 - chokidar: 3.6.0 + chokidar: 3.5.3 + debug: 4.3.4(supports-color@8.1.1) + diff: 8.0.3 + escape-string-regexp: 4.0.0 + find-up: 5.0.0 + glob: 7.2.0 + he: 1.2.0 + js-yaml: 4.1.1 + log-symbols: 4.1.0 + minimatch: 5.1.8 + ms: 2.1.3 + nanoid: 3.3.3 + serialize-javascript: 7.0.3 + strip-json-comments: 3.1.1 + supports-color: 8.1.1 + workerpool: 6.2.1 + yargs: 16.2.0 + yargs-parser: 20.2.4 + yargs-unparser: 2.0.0 + + mocha@11.2.2: + dependencies: + browser-stdout: 1.3.1 + chokidar: 4.0.3 debug: 4.4.3(supports-color@8.1.1) diff: 8.0.3 escape-string-regexp: 4.0.0 find-up: 5.0.0 - glob: 8.1.0 + glob: 10.5.0 he: 1.2.0 js-yaml: 4.1.1 log-symbols: 4.1.0 - minimatch: 5.1.9 + minimatch: 5.1.8 ms: 2.1.3 - serialize-javascript: 7.0.4 + picocolors: 1.1.1 + serialize-javascript: 7.0.3 strip-json-comments: 3.1.1 supports-color: 8.1.1 workerpool: 6.5.1 - yargs: 16.2.0 - yargs-parser: 20.2.9 + yargs: 17.7.2 + yargs-parser: 21.1.1 + yargs-unparser: 2.0.0 + + mocha@11.4.0: + dependencies: + browser-stdout: 1.3.1 + chokidar: 4.0.3 + debug: 4.4.3(supports-color@8.1.1) + diff: 8.0.3 + escape-string-regexp: 4.0.0 + find-up: 5.0.0 + glob: 10.5.0 + he: 1.2.0 + js-yaml: 4.1.1 + log-symbols: 4.1.0 + minimatch: 5.1.8 + ms: 2.1.3 + picocolors: 1.1.1 + serialize-javascript: 7.0.3 + strip-json-comments: 3.1.1 + supports-color: 8.1.1 + workerpool: 6.5.1 + yargs: 17.7.2 + yargs-parser: 21.1.1 yargs-unparser: 2.0.0 mocha@11.7.5: @@ -45706,10 +51876,10 @@ snapshots: is-path-inside: 3.0.3 js-yaml: 4.1.1 log-symbols: 4.1.0 - minimatch: 9.0.9 + minimatch: 9.0.7 ms: 2.1.3 picocolors: 1.1.1 - serialize-javascript: 7.0.4 + serialize-javascript: 7.0.3 strip-json-comments: 3.1.1 supports-color: 8.1.1 workerpool: 9.3.4 @@ -45717,6 +51887,8 @@ snapshots: yargs-parser: 21.1.1 yargs-unparser: 2.0.0 + module-details-from-path@1.0.4: {} + moment-timezone@0.5.39: dependencies: moment: 2.30.1 @@ -45742,11 +51914,17 @@ snapshots: clipboardy: 4.0.0 clone-deep: 4.0.1 compare-versions: 6.1.1 - fs-extra: 11.3.4 + fs-extra: 11.3.0 selenium-webdriver: 4.41.0 type-fest: 4.41.0 typescript: 5.8.3 + motion-dom@11.18.1: + dependencies: + motion-utils: 11.18.1 + + motion-utils@11.18.1: {} + mousetrap@1.6.5: {} move-concurrently@1.0.1: @@ -45766,6 +51944,8 @@ snapshots: ms@2.1.3: {} + multicast-dns-service-types@1.1.0: {} + multicast-dns@7.2.5: dependencies: dns-packet: 5.6.1 @@ -45785,8 +51965,12 @@ snapshots: nan@2.25.0: {} + nano-spawn@1.0.3: {} + nanoid@3.3.11: {} + nanoid@3.3.3: {} + nanoid@5.1.6: {} nanospinner@1.2.2: @@ -45797,6 +51981,10 @@ snapshots: napi-postinstall@0.3.4: {} + native-url@0.2.6: + dependencies: + querystring: 0.2.1 + natural-compare@1.4.0: {} neatequal@1.0.0: @@ -45844,7 +52032,7 @@ snapshots: node-dir@0.1.17: dependencies: - minimatch: 3.1.5 + minimatch: 3.1.4 node-domexception@1.0.0: {} @@ -45862,7 +52050,7 @@ snapshots: node-fetch-native@1.6.7: {} - node-fetch@2.6.13(encoding@0.1.13): + node-fetch@2.6.7(encoding@0.1.13): dependencies: whatwg-url: 5.0.0 optionalDependencies: @@ -45880,6 +52068,8 @@ snapshots: fetch-blob: 3.2.0 formdata-polyfill: 4.0.10 + node-forge@0.10.0: {} + node-gyp-build@4.8.4: optional: true @@ -45916,15 +52106,41 @@ snapshots: node-int64@0.4.0: {} - node-loader@2.0.0(webpack@5.105.4): + node-libs-browser@2.2.1: + dependencies: + assert: 1.5.1 + browserify-zlib: 0.2.0 + buffer: 4.9.2 + console-browserify: 1.2.0 + constants-browserify: 1.0.0 + crypto-browserify: 3.12.1 + domain-browser: 1.2.0 + events: 3.3.0 + https-browserify: 1.0.0 + os-browserify: 0.3.0 + path-browserify: 0.0.1 + process: 0.11.10 + punycode: 1.4.1 + querystring-es3: 0.2.1 + readable-stream: 2.3.8 + stream-browserify: 2.0.2 + stream-http: 2.8.3 + string_decoder: 1.3.0 + timers-browserify: 2.0.12 + tty-browserify: 0.0.0 + url: 0.11.4 + util: 0.11.1 + vm-browserify: 1.1.2 + + node-loader@2.0.0(webpack@5.104.1): dependencies: loader-utils: 2.0.4 - webpack: 5.105.4(webpack-cli@5.1.4) + webpack: 5.104.1(webpack-cli@5.1.4) - node-loader@2.1.0(webpack@5.105.4): + node-loader@2.1.0(webpack@5.104.1): dependencies: loader-utils: 2.0.4 - webpack: 5.105.4(webpack-cli@4.10.0) + webpack: 5.104.1(webpack-cli@4.10.0) node-notifier@5.4.5: dependencies: @@ -45943,12 +52159,14 @@ snapshots: which: 1.3.1 optional: true + node-releases@1.1.77: {} + node-releases@2.0.36: {} node-sarif-builder@3.4.0: dependencies: '@types/sarif': 2.1.7 - fs-extra: 11.3.4 + fs-extra: 11.3.0 node-schedule@2.1.1: dependencies: @@ -46123,6 +52341,12 @@ snapshots: define-properties: 1.2.1 es-abstract: 1.24.1 + object.hasown@1.1.4: + dependencies: + define-properties: 1.2.1 + es-abstract: 1.24.1 + es-object-atoms: 1.1.1 + object.values@1.2.1: dependencies: call-bind: 1.0.8 @@ -46196,6 +52420,10 @@ snapshots: dependencies: is-wsl: 1.1.0 + opn@5.5.0: + dependencies: + is-wsl: 1.1.0 + optionator@0.8.3: dependencies: deep-is: 0.1.4 @@ -46255,6 +52483,8 @@ snapshots: dependencies: url-parse: 1.5.10 + os-browserify@0.3.0: {} + os-homedir@1.0.2: {} os-locale@1.4.0: @@ -46276,6 +52506,8 @@ snapshots: outvariant@1.4.0: {} + overlayscrollbars@1.13.3: {} + own-keys@1.0.1: dependencies: get-intrinsic: 1.3.0 @@ -46417,6 +52649,14 @@ snapshots: dependencies: callsites: 3.1.0 + parse-asn1@5.1.9: + dependencies: + asn1.js: 4.10.1 + browserify-aes: 1.2.0 + evp_bytestokey: 1.0.3 + pbkdf2: 3.1.5 + safe-buffer: 5.2.1 + parse-entities@2.0.0: dependencies: character-entities: 1.2.4 @@ -46489,6 +52729,8 @@ snapshots: no-case: 3.0.4 tslib: 2.8.1 + path-browserify@0.0.1: {} + path-browserify@1.0.1: {} path-dirname@1.0.2: {} @@ -46541,6 +52783,10 @@ snapshots: pify: 2.3.0 pinkie-promise: 2.0.1 + path-type@2.0.0: + dependencies: + pify: 2.3.0 + path-type@3.0.0: dependencies: pify: 3.0.0 @@ -46569,16 +52815,26 @@ snapshots: pathval@2.0.1: {} + pbkdf2@3.1.5: + dependencies: + create-hash: 1.2.0 + create-hmac: 1.1.7 + ripemd160: 2.0.3 + safe-buffer: 5.2.1 + sha.js: 2.4.12 + to-buffer: 1.2.2 + + pdf-lib@1.17.1: + dependencies: + '@pdf-lib/standard-fonts': 1.0.0 + '@pdf-lib/upng': 1.0.1 + pako: 1.0.11 + tslib: 1.14.1 + pdfjs-dist@4.8.69: optionalDependencies: canvas: 3.2.1 path2d: 0.2.2 - transitivePeerDependencies: - - bare-abort-controller - - bare-buffer - - react-native-b4a - - peek-readable@5.4.2: {} peek-stream@1.1.3: dependencies: @@ -46648,6 +52904,10 @@ snapshots: mlly: 1.8.1 pathe: 2.0.3 + pkg-up@3.1.0: + dependencies: + find-up: 3.0.0 + pkijs@3.3.3: dependencies: '@noble/hashes': 1.4.0 @@ -46678,9 +52938,9 @@ snapshots: pn@1.1.0: {} - pnp-webpack-plugin@1.6.4(typescript@4.9.5): + pnp-webpack-plugin@1.6.4(typescript@4.9.4): dependencies: - ts-pnp: 1.2.0(typescript@4.9.5) + ts-pnp: 1.2.0(typescript@4.9.4) transitivePeerDependencies: - typescript @@ -46701,13 +52961,26 @@ snapshots: style-value-types: 5.0.0 tslib: 2.8.1 - portfinder@1.0.38: + portfinder@1.0.32: + dependencies: + async: 2.6.4 + debug: 3.2.7 + mkdirp: 0.5.6 + + portfinder@1.0.37: dependencies: async: 3.2.6 debug: 4.4.3(supports-color@8.1.1) transitivePeerDependencies: - supports-color + portfinder@1.0.37(supports-color@5.5.0): + dependencies: + async: 3.2.6 + debug: 4.4.3(supports-color@5.5.0) + transitivePeerDependencies: + - supports-color + possible-typed-array-names@1.1.0: {} postcss-calc@5.3.1: @@ -46716,9 +52989,9 @@ snapshots: postcss-message-helpers: 2.0.0 reduce-css-calc: 1.3.0 - postcss-calc@8.2.4(postcss@8.5.8): + postcss-calc@8.2.4(postcss@8.5.4): dependencies: - postcss: 8.5.8 + postcss: 8.5.4 postcss-selector-parser: 6.1.2 postcss-value-parser: 4.2.0 @@ -46728,12 +53001,12 @@ snapshots: postcss: 5.2.18 postcss-value-parser: 3.3.1 - postcss-colormin@5.3.1(postcss@8.5.8): + postcss-colormin@5.3.1(postcss@8.5.4): dependencies: browserslist: 4.28.1 caniuse-api: 3.0.0 colord: 2.9.3 - postcss: 8.5.8 + postcss: 8.5.4 postcss-value-parser: 4.2.0 postcss-convert-values@2.6.1: @@ -46741,43 +53014,43 @@ snapshots: postcss: 5.2.18 postcss-value-parser: 3.3.1 - postcss-convert-values@5.1.3(postcss@8.5.8): + postcss-convert-values@5.1.3(postcss@8.5.4): dependencies: browserslist: 4.28.1 - postcss: 8.5.8 + postcss: 8.5.4 postcss-value-parser: 4.2.0 postcss-discard-comments@2.0.4: dependencies: postcss: 5.2.18 - postcss-discard-comments@5.1.2(postcss@8.5.8): + postcss-discard-comments@5.1.2(postcss@8.5.4): dependencies: - postcss: 8.5.8 + postcss: 8.5.4 postcss-discard-duplicates@2.1.0: dependencies: postcss: 5.2.18 - postcss-discard-duplicates@5.1.0(postcss@8.5.8): + postcss-discard-duplicates@5.1.0(postcss@8.5.4): dependencies: - postcss: 8.5.8 + postcss: 8.5.4 postcss-discard-empty@2.1.0: dependencies: postcss: 5.2.18 - postcss-discard-empty@5.1.1(postcss@8.5.8): + postcss-discard-empty@5.1.1(postcss@8.5.4): dependencies: - postcss: 8.5.8 + postcss: 8.5.4 postcss-discard-overridden@0.1.1: dependencies: postcss: 5.2.18 - postcss-discard-overridden@5.1.0(postcss@8.5.8): + postcss-discard-overridden@5.1.0(postcss@8.5.4): dependencies: - postcss: 8.5.8 + postcss: 8.5.4 postcss-discard-unused@2.2.3: dependencies: @@ -46796,17 +53069,17 @@ snapshots: dependencies: postcss: 7.0.39 - postcss-import@15.1.0(postcss@8.5.8): + postcss-import@15.1.0(postcss@8.5.4): dependencies: - postcss: 8.5.8 + postcss: 8.5.4 postcss-value-parser: 4.2.0 read-cache: 1.0.0 resolve: 1.22.11 - postcss-js@4.1.0(postcss@8.5.8): + postcss-js@4.1.0(postcss@8.5.4): dependencies: camelcase-css: 2.0.1 - postcss: 8.5.8 + postcss: 8.5.4 postcss-load-config@1.2.0: dependencies: @@ -46815,21 +53088,21 @@ snapshots: postcss-load-options: 1.2.0 postcss-load-plugins: 2.3.0 - postcss-load-config@3.1.4(postcss@8.5.8)(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.35)(typescript@5.8.3)): + postcss-load-config@3.1.4(postcss@8.5.4)(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.24)(typescript@5.8.3)): dependencies: lilconfig: 2.1.0 yaml: 1.10.2 optionalDependencies: - postcss: 8.5.8 - ts-node: 10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.35)(typescript@5.8.3) + postcss: 8.5.4 + ts-node: 10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.24)(typescript@5.8.3) - postcss-load-config@6.0.1(jiti@1.21.7)(postcss@8.5.8)(yaml@2.8.2): + postcss-load-config@4.0.2(postcss@8.5.4)(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.24)(typescript@5.8.3)): dependencies: lilconfig: 3.1.3 + yaml: 2.8.0 optionalDependencies: - jiti: 1.21.7 - postcss: 8.5.8 - yaml: 2.8.2 + postcss: 8.5.4 + ts-node: 10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.24)(typescript@5.8.3) postcss-load-options@1.2.0: dependencies: @@ -46848,7 +53121,7 @@ snapshots: postcss-load-config: 1.2.0 schema-utils: 0.3.0 - postcss-loader@4.3.0(postcss@7.0.39)(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))): + postcss-loader@4.3.0(postcss@7.0.39)(webpack@4.47.0(webpack-cli@4.10.0)): dependencies: cosmiconfig: 7.1.0 klona: 2.0.6 @@ -46856,9 +53129,9 @@ snapshots: postcss: 7.0.39 schema-utils: 3.3.0 semver: 7.7.4 - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19)) + webpack: 4.47.0(webpack-cli@4.10.0) - postcss-loader@4.3.0(postcss@7.0.39)(webpack@5.105.4): + postcss-loader@4.3.0(postcss@7.0.39)(webpack@4.47.0(webpack-cli@6.0.1)): dependencies: cosmiconfig: 7.1.0 klona: 2.0.6 @@ -46866,16 +53139,37 @@ snapshots: postcss: 7.0.39 schema-utils: 3.3.0 semver: 7.7.4 - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) + webpack: 4.47.0(webpack-cli@6.0.1) - postcss-loader@8.2.1(postcss@8.5.8)(typescript@5.8.3)(webpack@5.105.4): + postcss-loader@4.3.0(postcss@7.0.39)(webpack@4.47.0): + dependencies: + cosmiconfig: 7.1.0 + klona: 2.0.6 + loader-utils: 2.0.4 + postcss: 7.0.39 + schema-utils: 3.3.0 + semver: 7.7.4 + webpack: 4.47.0 + + postcss-loader@8.1.1(postcss@8.5.3)(typescript@5.8.3)(webpack@5.104.1): dependencies: cosmiconfig: 9.0.1(typescript@5.8.3) - jiti: 2.6.1 - postcss: 8.5.8 + jiti: 1.21.7 + postcss: 8.5.3 + semver: 7.7.4 + optionalDependencies: + webpack: 5.104.1(webpack-cli@6.0.1) + transitivePeerDependencies: + - typescript + + postcss-loader@8.1.1(postcss@8.5.4)(typescript@5.8.3)(webpack@5.104.1): + dependencies: + cosmiconfig: 9.0.1(typescript@5.8.3) + jiti: 1.21.7 + postcss: 8.5.4 semver: 7.7.4 optionalDependencies: - webpack: 5.105.4(webpack-cli@6.0.1) + webpack: 5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) transitivePeerDependencies: - typescript @@ -46889,11 +53183,11 @@ snapshots: dependencies: postcss: 5.2.18 - postcss-merge-longhand@5.1.7(postcss@8.5.8): + postcss-merge-longhand@5.1.7(postcss@8.5.4): dependencies: - postcss: 8.5.8 + postcss: 8.5.4 postcss-value-parser: 4.2.0 - stylehacks: 5.1.1(postcss@8.5.8) + stylehacks: 5.1.1(postcss@8.5.4) postcss-merge-rules@2.1.2: dependencies: @@ -46903,12 +53197,12 @@ snapshots: postcss-selector-parser: 2.2.3 vendors: 1.0.4 - postcss-merge-rules@5.1.4(postcss@8.5.8): + postcss-merge-rules@5.1.4(postcss@8.5.4): dependencies: browserslist: 4.28.1 caniuse-api: 3.0.0 - cssnano-utils: 3.1.0(postcss@8.5.8) - postcss: 8.5.8 + cssnano-utils: 3.1.0(postcss@8.5.4) + postcss: 8.5.4 postcss-selector-parser: 6.1.2 postcss-message-helpers@2.0.0: {} @@ -46919,9 +53213,9 @@ snapshots: postcss: 5.2.18 postcss-value-parser: 3.3.1 - postcss-minify-font-values@5.1.0(postcss@8.5.8): + postcss-minify-font-values@5.1.0(postcss@8.5.4): dependencies: - postcss: 8.5.8 + postcss: 8.5.4 postcss-value-parser: 4.2.0 postcss-minify-gradients@1.0.5: @@ -46929,11 +53223,11 @@ snapshots: postcss: 5.2.18 postcss-value-parser: 3.3.1 - postcss-minify-gradients@5.1.1(postcss@8.5.8): + postcss-minify-gradients@5.1.1(postcss@8.5.4): dependencies: colord: 2.9.3 - cssnano-utils: 3.1.0(postcss@8.5.8) - postcss: 8.5.8 + cssnano-utils: 3.1.0(postcss@8.5.4) + postcss: 8.5.4 postcss-value-parser: 4.2.0 postcss-minify-params@1.2.2: @@ -46943,11 +53237,11 @@ snapshots: postcss-value-parser: 3.3.1 uniqs: 2.0.0 - postcss-minify-params@5.1.4(postcss@8.5.8): + postcss-minify-params@5.1.4(postcss@8.5.4): dependencies: browserslist: 4.28.1 - cssnano-utils: 3.1.0(postcss@8.5.8) - postcss: 8.5.8 + cssnano-utils: 3.1.0(postcss@8.5.4) + postcss: 8.5.4 postcss-value-parser: 4.2.0 postcss-minify-selectors@2.1.1: @@ -46957,9 +53251,9 @@ snapshots: postcss: 5.2.18 postcss-selector-parser: 2.2.3 - postcss-minify-selectors@5.2.1(postcss@8.5.8): + postcss-minify-selectors@5.2.1(postcss@8.5.4): dependencies: - postcss: 8.5.8 + postcss: 8.5.4 postcss-selector-parser: 6.1.2 postcss-modules-extract-imports@1.2.1: @@ -46970,9 +53264,9 @@ snapshots: dependencies: postcss: 7.0.39 - postcss-modules-extract-imports@3.1.0(postcss@8.5.8): + postcss-modules-extract-imports@3.1.0(postcss@8.5.4): dependencies: - postcss: 8.5.8 + postcss: 8.5.4 postcss-modules-local-by-default@1.2.0: dependencies: @@ -46986,10 +53280,10 @@ snapshots: postcss-selector-parser: 6.1.2 postcss-value-parser: 4.2.0 - postcss-modules-local-by-default@4.2.0(postcss@8.5.8): + postcss-modules-local-by-default@4.2.0(postcss@8.5.4): dependencies: - icss-utils: 5.1.0(postcss@8.5.8) - postcss: 8.5.8 + icss-utils: 5.1.0(postcss@8.5.4) + postcss: 8.5.4 postcss-selector-parser: 7.1.1 postcss-value-parser: 4.2.0 @@ -47003,9 +53297,9 @@ snapshots: postcss: 7.0.39 postcss-selector-parser: 6.1.2 - postcss-modules-scope@3.2.1(postcss@8.5.8): + postcss-modules-scope@3.2.1(postcss@8.5.4): dependencies: - postcss: 8.5.8 + postcss: 8.5.4 postcss-selector-parser: 7.1.1 postcss-modules-values@1.3.0: @@ -47018,65 +53312,65 @@ snapshots: icss-utils: 4.1.1 postcss: 7.0.39 - postcss-modules-values@4.0.0(postcss@8.5.8): + postcss-modules-values@4.0.0(postcss@8.5.4): dependencies: - icss-utils: 5.1.0(postcss@8.5.8) - postcss: 8.5.8 + icss-utils: 5.1.0(postcss@8.5.4) + postcss: 8.5.4 - postcss-modules@4.3.1(postcss@8.5.8): + postcss-modules@4.3.1(postcss@8.5.4): dependencies: generic-names: 4.0.0 icss-replace-symbols: 1.1.0 lodash.camelcase: 4.3.0 - postcss: 8.5.8 - postcss-modules-extract-imports: 3.1.0(postcss@8.5.8) - postcss-modules-local-by-default: 4.2.0(postcss@8.5.8) - postcss-modules-scope: 3.2.1(postcss@8.5.8) - postcss-modules-values: 4.0.0(postcss@8.5.8) + postcss: 8.5.4 + postcss-modules-extract-imports: 3.1.0(postcss@8.5.4) + postcss-modules-local-by-default: 4.2.0(postcss@8.5.4) + postcss-modules-scope: 3.2.1(postcss@8.5.4) + postcss-modules-values: 4.0.0(postcss@8.5.4) string-hash: 1.1.3 - postcss-nested@6.2.0(postcss@8.5.8): + postcss-nested@6.2.0(postcss@8.5.4): dependencies: - postcss: 8.5.8 + postcss: 8.5.4 postcss-selector-parser: 6.1.2 postcss-normalize-charset@1.1.1: dependencies: postcss: 5.2.18 - postcss-normalize-charset@5.1.0(postcss@8.5.8): + postcss-normalize-charset@5.1.0(postcss@8.5.4): dependencies: - postcss: 8.5.8 + postcss: 8.5.4 - postcss-normalize-display-values@5.1.0(postcss@8.5.8): + postcss-normalize-display-values@5.1.0(postcss@8.5.4): dependencies: - postcss: 8.5.8 + postcss: 8.5.4 postcss-value-parser: 4.2.0 - postcss-normalize-positions@5.1.1(postcss@8.5.8): + postcss-normalize-positions@5.1.1(postcss@8.5.4): dependencies: - postcss: 8.5.8 + postcss: 8.5.4 postcss-value-parser: 4.2.0 - postcss-normalize-repeat-style@5.1.1(postcss@8.5.8): + postcss-normalize-repeat-style@5.1.1(postcss@8.5.4): dependencies: - postcss: 8.5.8 + postcss: 8.5.4 postcss-value-parser: 4.2.0 - postcss-normalize-string@5.1.0(postcss@8.5.8): + postcss-normalize-string@5.1.0(postcss@8.5.4): dependencies: - postcss: 8.5.8 + postcss: 8.5.4 postcss-value-parser: 4.2.0 - postcss-normalize-timing-functions@5.1.0(postcss@8.5.8): + postcss-normalize-timing-functions@5.1.0(postcss@8.5.4): dependencies: - postcss: 8.5.8 + postcss: 8.5.4 postcss-value-parser: 4.2.0 - postcss-normalize-unicode@5.1.1(postcss@8.5.8): + postcss-normalize-unicode@5.1.1(postcss@8.5.4): dependencies: browserslist: 4.28.1 - postcss: 8.5.8 + postcss: 8.5.4 postcss-value-parser: 4.2.0 postcss-normalize-url@3.0.8: @@ -47086,15 +53380,15 @@ snapshots: postcss: 5.2.18 postcss-value-parser: 3.3.1 - postcss-normalize-url@5.1.0(postcss@8.5.8): + postcss-normalize-url@5.1.0(postcss@8.5.4): dependencies: normalize-url: 6.1.0 - postcss: 8.5.8 + postcss: 8.5.4 postcss-value-parser: 4.2.0 - postcss-normalize-whitespace@5.1.1(postcss@8.5.8): + postcss-normalize-whitespace@5.1.1(postcss@8.5.4): dependencies: - postcss: 8.5.8 + postcss: 8.5.4 postcss-value-parser: 4.2.0 postcss-ordered-values@2.2.3: @@ -47102,10 +53396,10 @@ snapshots: postcss: 5.2.18 postcss-value-parser: 3.3.1 - postcss-ordered-values@5.1.3(postcss@8.5.8): + postcss-ordered-values@5.1.3(postcss@8.5.4): dependencies: - cssnano-utils: 3.1.0(postcss@8.5.8) - postcss: 8.5.8 + cssnano-utils: 3.1.0(postcss@8.5.4) + postcss: 8.5.4 postcss-value-parser: 4.2.0 postcss-reduce-idents@2.4.0: @@ -47117,11 +53411,11 @@ snapshots: dependencies: postcss: 5.2.18 - postcss-reduce-initial@5.1.2(postcss@8.5.8): + postcss-reduce-initial@5.1.2(postcss@8.5.4): dependencies: browserslist: 4.28.1 caniuse-api: 3.0.0 - postcss: 8.5.8 + postcss: 8.5.4 postcss-reduce-transforms@1.0.4: dependencies: @@ -47129,16 +53423,16 @@ snapshots: postcss: 5.2.18 postcss-value-parser: 3.3.1 - postcss-reduce-transforms@5.1.0(postcss@8.5.8): + postcss-reduce-transforms@5.1.0(postcss@8.5.4): dependencies: - postcss: 8.5.8 + postcss: 8.5.4 postcss-value-parser: 4.2.0 postcss-resolve-nested-selector@0.1.6: {} - postcss-safe-parser@7.0.1(postcss@8.5.8): + postcss-safe-parser@7.0.1(postcss@8.5.4): dependencies: - postcss: 8.5.8 + postcss: 8.5.4 postcss-selector-parser@2.2.3: dependencies: @@ -47163,9 +53457,9 @@ snapshots: postcss-value-parser: 3.3.1 svgo: 0.7.2 - postcss-svgo@5.1.0(postcss@8.5.8): + postcss-svgo@5.1.0(postcss@8.5.4): dependencies: - postcss: 8.5.8 + postcss: 8.5.4 postcss-value-parser: 4.2.0 svgo: 2.8.2 @@ -47175,9 +53469,9 @@ snapshots: postcss: 5.2.18 uniqs: 2.0.0 - postcss-unique-selectors@5.1.1(postcss@8.5.8): + postcss-unique-selectors@5.1.1(postcss@8.5.4): dependencies: - postcss: 8.5.8 + postcss: 8.5.4 postcss-selector-parser: 6.1.2 postcss-value-parser@3.3.1: {} @@ -47208,7 +53502,13 @@ snapshots: picocolors: 0.2.1 source-map: 0.6.1 - postcss@8.5.8: + postcss@8.5.3: + dependencies: + nanoid: 3.3.11 + picocolors: 1.1.1 + source-map-js: 1.2.1 + + postcss@8.5.4: dependencies: nanoid: 3.3.11 picocolors: 1.1.1 @@ -47224,16 +53524,12 @@ snapshots: minimist: 1.2.8 mkdirp-classic: 0.5.3 napi-build-utils: 2.0.0 - node-abi: 3.88.0 + node-abi: 3.87.0 pump: 3.0.4 rc: 1.2.8 simple-get: 4.0.1 - tar-fs: 3.1.1 + tar-fs: 2.1.4 tunnel-agent: 0.6.0 - transitivePeerDependencies: - - bare-abort-controller - - bare-buffer - - react-native-b4a prelude-ls@1.1.2: {} @@ -47249,6 +53545,8 @@ snapshots: prettier@1.19.1: {} + prettier@2.2.1: {} + prettier@2.3.0: {} prettier@2.8.8: {} @@ -47310,7 +53608,7 @@ snapshots: prism-react-renderer@2.4.1(react@18.2.0): dependencies: - '@types/prismjs': 1.26.6 + '@types/prismjs': 1.26.5 clsx: 2.1.1 react: 18.2.0 @@ -47367,6 +53665,11 @@ snapshots: dependencies: asap: 2.0.6 + prompts@2.4.0: + dependencies: + kleur: 3.0.3 + sisteransi: 1.0.5 + prompts@2.4.2: dependencies: kleur: 3.0.3 @@ -47398,34 +53701,34 @@ snapshots: prosemirror-commands@1.7.1: dependencies: prosemirror-model: 1.25.4 - prosemirror-state: 1.4.4 + prosemirror-state: 1.4.3 prosemirror-transform: 1.11.0 prosemirror-gapcursor@1.4.1: dependencies: - prosemirror-keymap: 1.2.3 + prosemirror-keymap: 1.2.2 prosemirror-model: 1.25.4 - prosemirror-state: 1.4.4 - prosemirror-view: 1.41.6 + prosemirror-state: 1.4.3 + prosemirror-view: 1.41.3 prosemirror-history@1.5.0: dependencies: - prosemirror-state: 1.4.4 + prosemirror-state: 1.4.3 prosemirror-transform: 1.11.0 - prosemirror-view: 1.41.6 + prosemirror-view: 1.41.3 rope-sequence: 1.3.4 prosemirror-inputrules@1.5.1: dependencies: - prosemirror-state: 1.4.4 + prosemirror-state: 1.4.3 prosemirror-transform: 1.11.0 - prosemirror-keymap@1.2.3: + prosemirror-keymap@1.2.2: dependencies: - prosemirror-state: 1.4.4 + prosemirror-state: 1.4.3 w3c-keyname: 2.2.8 - prosemirror-markdown@1.13.4: + prosemirror-markdown@1.13.2: dependencies: '@types/markdown-it': 14.1.2 markdown-it: 14.1.1 @@ -47435,32 +53738,47 @@ snapshots: dependencies: orderedmap: 2.1.1 - prosemirror-schema-basic@1.2.4: + prosemirror-schema-basic@1.2.2: dependencies: prosemirror-model: 1.25.4 prosemirror-schema-list@1.5.1: dependencies: prosemirror-model: 1.25.4 - prosemirror-state: 1.4.4 + prosemirror-state: 1.4.3 prosemirror-transform: 1.11.0 - prosemirror-state@1.4.4: + prosemirror-state@1.4.3: dependencies: prosemirror-model: 1.25.4 prosemirror-transform: 1.11.0 - prosemirror-view: 1.41.6 + prosemirror-view: 1.41.3 prosemirror-transform@1.11.0: dependencies: prosemirror-model: 1.25.4 - prosemirror-view@1.41.6: + prosemirror-view@1.41.3: dependencies: prosemirror-model: 1.25.4 - prosemirror-state: 1.4.4 + prosemirror-state: 1.4.3 prosemirror-transform: 1.11.0 + protobufjs@7.2.5: + dependencies: + '@protobufjs/aspromise': 1.1.2 + '@protobufjs/base64': 1.1.2 + '@protobufjs/codegen': 2.0.4 + '@protobufjs/eventemitter': 1.1.0 + '@protobufjs/fetch': 1.1.0 + '@protobufjs/float': 1.0.2 + '@protobufjs/inquire': 1.1.0 + '@protobufjs/path': 1.1.2 + '@protobufjs/pool': 1.1.0 + '@protobufjs/utf8': 1.1.0 + '@types/node': 22.15.24 + long: 5.3.2 + protobufjs@7.5.4: dependencies: '@protobufjs/aspromise': 1.1.2 @@ -47473,7 +53791,22 @@ snapshots: '@protobufjs/path': 1.1.2 '@protobufjs/pool': 1.1.0 '@protobufjs/utf8': 1.1.0 - '@types/node': 22.15.35 + '@types/node': 22.15.24 + long: 5.3.2 + + protobufjs@8.0.0: + dependencies: + '@protobufjs/aspromise': 1.1.2 + '@protobufjs/base64': 1.1.2 + '@protobufjs/codegen': 2.0.4 + '@protobufjs/eventemitter': 1.1.0 + '@protobufjs/fetch': 1.1.0 + '@protobufjs/float': 1.0.2 + '@protobufjs/inquire': 1.1.0 + '@protobufjs/path': 1.1.2 + '@protobufjs/pool': 1.1.0 + '@protobufjs/utf8': 1.1.0 + '@types/node': 22.15.24 long: 5.3.2 proxy-addr@2.0.7: @@ -47493,6 +53826,20 @@ snapshots: dependencies: punycode: 2.3.1 + public-encrypt@4.0.3: + dependencies: + bn.js: 4.12.3 + browserify-rsa: 4.1.1 + create-hash: 1.2.0 + parse-asn1: 5.1.9 + randombytes: 2.1.0 + safe-buffer: 5.2.1 + + pump@1.0.3: + dependencies: + end-of-stream: 1.4.5 + once: 1.4.0 + pump@2.0.1: dependencies: end-of-stream: 1.4.5 @@ -47552,17 +53899,15 @@ snapshots: dependencies: side-channel: 1.1.0 - qs@6.15.0: - dependencies: - side-channel: 1.1.0 - - qs@6.5.5: {} - query-string@4.3.4: dependencies: object-assign: 4.1.1 strict-uri-encode: 1.1.0 + querystring-es3@0.2.1: {} + + querystring@0.2.1: {} + querystringify@2.2.0: {} queue-microtask@1.2.3: {} @@ -47592,6 +53937,11 @@ snapshots: dependencies: safe-buffer: 5.2.1 + randomfill@1.0.4: + dependencies: + randombytes: 2.1.0 + safe-buffer: 5.2.1 + range-parser@1.2.0: {} range-parser@1.2.1: {} @@ -47610,17 +53960,23 @@ snapshots: iconv-lite: 0.7.2 unpipe: 1.0.0 - raw-loader@4.0.2(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))): + raw-loader@4.0.2(webpack@4.47.0(webpack-cli@4.10.0)): + dependencies: + loader-utils: 2.0.4 + schema-utils: 3.3.0 + webpack: 4.47.0(webpack-cli@4.10.0) + + raw-loader@4.0.2(webpack@4.47.0(webpack-cli@6.0.1)): dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19)) + webpack: 4.47.0(webpack-cli@6.0.1) - raw-loader@4.0.2(webpack@5.105.4): + raw-loader@4.0.2(webpack@4.47.0): dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) + webpack: 4.47.0 rc-config-loader@4.1.4: dependencies: @@ -47671,6 +54027,33 @@ snapshots: prop-types: 15.8.1 react: 18.2.0 + react-dev-utils@11.0.4: + dependencies: + '@babel/code-frame': 7.10.4 + address: 1.1.2 + browserslist: 4.14.2 + chalk: 2.4.2 + cross-spawn: 7.0.3 + detect-port-alt: 1.1.6 + escape-string-regexp: 2.0.0 + filesize: 6.1.0 + find-up: 4.1.0 + fork-ts-checker-webpack-plugin: 4.1.6 + global-modules: 2.0.0 + globby: 11.0.1 + gzip-size: 5.1.1 + immer: 8.0.1 + is-root: 2.1.0 + loader-utils: 2.0.0 + open: 7.4.2 + pkg-up: 3.1.0 + prompts: 2.4.0 + react-error-overlay: 6.1.0 + recursive-readdir: 2.2.2 + shell-quote: 1.7.2 + strip-ansi: 6.0.0 + text-table: 0.2.0 + react-dev-utils@5.0.3: dependencies: address: 1.0.3 @@ -47700,7 +54083,7 @@ snapshots: dependencies: dnd-core: 16.0.1 - react-dnd@16.0.1(@types/hoist-non-react-statics@3.3.7(@types/react@18.2.0))(@types/node@22.15.35)(@types/react@18.2.0)(react@18.2.0): + react-dnd@16.0.1(@types/hoist-non-react-statics@3.3.7(@types/react@18.2.0))(@types/node@22.15.21)(@types/react@18.2.0)(react@18.2.0): dependencies: '@react-dnd/invariant': 4.0.2 '@react-dnd/shallowequal': 4.0.2 @@ -47710,12 +54093,12 @@ snapshots: react: 18.2.0 optionalDependencies: '@types/hoist-non-react-statics': 3.3.7(@types/react@18.2.0) - '@types/node': 22.15.35 + '@types/node': 22.15.21 '@types/react': 18.2.0 - react-docgen-typescript@2.4.0(typescript@4.9.5): + react-docgen-typescript@2.4.0(typescript@4.9.4): dependencies: - typescript: 4.9.5 + typescript: 4.9.4 react-docgen-typescript@2.4.0(typescript@5.8.3): dependencies: @@ -47723,7 +54106,7 @@ snapshots: react-docgen@5.4.3: dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 '@babel/generator': 7.29.1 '@babel/runtime': 7.28.6 ast-types: 0.14.2 @@ -47738,7 +54121,7 @@ snapshots: react-docgen@7.1.1: dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 '@babel/traverse': 7.29.0 '@babel/types': 7.29.0 '@types/babel__core': 7.20.5 @@ -47768,6 +54151,13 @@ snapshots: react: 19.1.0 scheduler: 0.26.0 + react-draggable@4.5.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0): + dependencies: + clsx: 2.1.1 + prop-types: 15.8.1 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + react-element-to-jsx-string@14.3.4(react-dom@18.2.0(react@18.2.0))(react@18.2.0): dependencies: '@base2/pretty-print-object': 1.0.1 @@ -47805,24 +54195,40 @@ snapshots: '@babel/runtime': 7.28.6 react: 18.2.0 - react-error-boundary@6.0.3(react@18.2.0): + react-error-boundary@6.0.0(react@18.2.0): dependencies: + '@babel/runtime': 7.28.6 react: 18.2.0 - react-error-boundary@6.0.3(react@19.1.0): + react-error-boundary@6.0.0(react@19.1.0): dependencies: + '@babel/runtime': 7.28.6 react: 19.1.0 react-error-overlay@4.0.1: {} - react-hook-form@7.56.3(react@19.1.0): + react-error-overlay@6.1.0: {} + + react-fast-compare@3.2.2: {} + + react-helmet-async@1.3.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0): dependencies: - react: 19.1.0 + '@babel/runtime': 7.28.6 + invariant: 2.2.4 + prop-types: 15.8.1 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + react-fast-compare: 3.2.2 + shallowequal: 1.1.0 react-hook-form@7.56.4(react@18.2.0): dependencies: react: 18.2.0 + react-hook-form@7.56.4(react@19.1.0): + dependencies: + react: 19.1.0 + react-hook-form@7.63.0(react@18.2.0): dependencies: react: 18.2.0 @@ -47872,33 +54278,33 @@ snapshots: dependencies: react: 19.1.0 - react-intl@7.1.14(react@18.2.0)(typescript@5.8.3): + react-intl@7.1.11(react@18.2.0)(typescript@5.8.3): dependencies: - '@formatjs/ecma402-abstract': 2.3.6 - '@formatjs/icu-messageformat-parser': 2.11.4 - '@formatjs/intl': 3.1.8(typescript@5.8.3) + '@formatjs/ecma402-abstract': 2.3.4 + '@formatjs/icu-messageformat-parser': 2.11.2 + '@formatjs/intl': 3.1.6(typescript@5.8.3) '@types/hoist-non-react-statics': 3.3.7(@types/react@18.2.0) '@types/react': 18.2.0 hoist-non-react-statics: 3.3.2 - intl-messageformat: 10.7.18 + intl-messageformat: 10.7.16 react: 18.2.0 tslib: 2.8.1 optionalDependencies: typescript: 5.8.3 - react-intl@7.1.14(react@19.1.0)(typescript@4.9.5): + react-intl@7.1.11(react@19.1.0)(typescript@4.9.4): dependencies: - '@formatjs/ecma402-abstract': 2.3.6 - '@formatjs/icu-messageformat-parser': 2.11.4 - '@formatjs/intl': 3.1.8(typescript@4.9.5) + '@formatjs/ecma402-abstract': 2.3.4 + '@formatjs/icu-messageformat-parser': 2.11.2 + '@formatjs/intl': 3.1.6(typescript@4.9.4) '@types/hoist-non-react-statics': 3.3.7(@types/react@18.2.0) '@types/react': 18.2.0 hoist-non-react-statics: 3.3.2 - intl-messageformat: 10.7.18 + intl-messageformat: 10.7.16 react: 19.1.0 tslib: 2.8.1 optionalDependencies: - typescript: 4.9.5 + typescript: 4.9.4 react-is@16.13.1: {} @@ -47935,13 +54341,18 @@ snapshots: prop-types: 15.8.1 react: 18.2.0 - react-lottie@1.2.10(react@19.1.0): + react-lottie@1.2.3(react@19.1.0): dependencies: babel-runtime: 6.26.0 lottie-web: 5.13.0 - prop-types: 15.8.1 react: 19.1.0 + react-lottie@1.2.4(react@18.2.0): + dependencies: + babel-runtime: 6.26.0 + lottie-web: 5.13.0 + react: 18.2.0 + react-markdown@10.1.0(@types/react@18.2.0)(react@18.2.0): dependencies: '@types/hast': 3.0.4 @@ -47960,7 +54371,7 @@ snapshots: transitivePeerDependencies: - supports-color - react-markdown@9.0.3(@types/react@18.2.0)(react@18.2.0): + react-markdown@9.0.1(@types/react@18.2.0)(react@18.2.0): dependencies: '@types/hast': 3.0.4 '@types/react': 18.2.0 @@ -47997,10 +54408,22 @@ snapshots: warning: 4.0.3 optionalDependencies: '@types/react': 18.2.0 - transitivePeerDependencies: - - bare-abort-controller - - bare-buffer - - react-native-b4a + + react-popper-tooltip@3.1.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0): + dependencies: + '@babel/runtime': 7.28.6 + '@popperjs/core': 2.11.8 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + react-popper: 2.3.0(@popperjs/core@2.11.8)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + + react-popper@2.3.0(@popperjs/core@2.11.8)(react-dom@18.2.0(react@18.2.0))(react@18.2.0): + dependencies: + '@popperjs/core': 2.11.8 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + react-fast-compare: 3.2.2 + warning: 4.0.3 react-redux@9.2.0(@types/react@18.2.0)(react@18.2.0)(redux@5.0.1): dependencies: @@ -48013,6 +54436,8 @@ snapshots: react-refresh@0.11.0: {} + react-refresh@0.8.3: {} + react-remove-scroll-bar@2.3.8(@types/react@18.2.0)(react@18.2.0): dependencies: react: 18.2.0 @@ -48081,22 +54506,22 @@ snapshots: optionalDependencies: '@types/react': 18.2.0 - react-scripts-ts@3.1.0(@swc/core@1.15.18(@swc/helpers@0.5.19))(babel-core@7.0.0-bridge.0(@babel/core@7.27.7))(babel-runtime@6.26.0)(typescript@5.8.3)(webpack-cli@6.0.1): + react-scripts-ts@3.1.0(babel-core@7.0.0-bridge.0(@babel/core@7.27.1))(babel-runtime@6.26.0)(typescript@5.8.3): dependencies: autoprefixer: 7.1.6 babel-jest: 20.0.3 - babel-loader: 7.1.2(babel-core@7.0.0-bridge.0(@babel/core@7.27.7))(webpack@5.105.4) + babel-loader: 7.1.2(babel-core@7.0.0-bridge.0(@babel/core@7.27.1))(webpack@3.8.1) babel-preset-react-app: 3.1.2(babel-runtime@6.26.0) case-sensitive-paths-webpack-plugin: 2.1.1 chalk: 1.1.3 css-loader: 0.28.7 dotenv: 4.0.0 dotenv-expand: 4.2.0 - extract-text-webpack-plugin: 3.0.2(webpack@5.105.4) - file-loader: 1.1.5(webpack@5.105.4) - fork-ts-checker-webpack-plugin: 0.2.10(typescript@5.8.3)(webpack@5.105.4) + extract-text-webpack-plugin: 3.0.2(webpack@3.8.1) + file-loader: 1.1.5(webpack@3.8.1) + fork-ts-checker-webpack-plugin: 0.2.10(typescript@5.8.3)(webpack@3.8.1) fs-extra: 3.0.1 - html-webpack-plugin: 2.29.0(webpack@5.105.4) + html-webpack-plugin: 2.29.0(webpack@3.8.1) jest: 20.0.4 object-assign: 4.1.1 postcss-flexbugs-fixes: 3.2.0 @@ -48107,7 +54532,7 @@ snapshots: resolve: 1.6.0 source-map-loader: 0.2.4 style-loader: 0.19.0 - sw-precache-webpack-plugin: 0.11.4(webpack@5.105.4) + sw-precache-webpack-plugin: 0.11.4(webpack@3.8.1) ts-jest: 22.0.1(jest@20.0.4)(typescript@5.8.3) ts-loader: 2.3.7 tsconfig-paths-webpack-plugin: 2.0.0 @@ -48115,42 +54540,34 @@ snapshots: tslint-config-prettier: 1.18.0 tslint-react: 3.6.0(tslint@5.20.1(typescript@5.8.3))(typescript@5.8.3) typescript: 5.8.3 - uglifyjs-webpack-plugin: 1.2.5(webpack@5.105.4) - url-loader: 0.6.2(file-loader@1.1.5(webpack@5.105.4)) - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) - webpack-dev-server: 5.2.3(webpack-cli@6.0.1)(webpack@5.105.4) - webpack-manifest-plugin: 1.3.2(webpack@5.105.4) + uglifyjs-webpack-plugin: 1.2.5(webpack@3.8.1) + url-loader: 0.6.2(file-loader@1.1.5(webpack@3.8.1)) + webpack: 3.8.1 + webpack-dev-server: 2.11.3(webpack@3.8.1) + webpack-manifest-plugin: 1.3.2(webpack@3.8.1) whatwg-fetch: 2.0.3 optionalDependencies: fsevents: 1.2.13 transitivePeerDependencies: - - '@swc/core' - babel-core - babel-runtime - - bufferutil - - debug - - esbuild - - supports-color - - uglify-js - - utf-8-validate - - webpack-cli - react-scripts-ts@3.1.0(babel-core@7.0.0-bridge.0(@babel/core@7.27.7))(babel-runtime@6.26.0)(typescript@5.8.3): + react-scripts-ts@3.1.0(babel-core@7.0.0-bridge.0(@babel/core@7.29.0))(babel-runtime@6.26.0)(typescript@5.8.3): dependencies: autoprefixer: 7.1.6 babel-jest: 20.0.3 - babel-loader: 7.1.2(babel-core@7.0.0-bridge.0(@babel/core@7.27.7))(webpack@5.105.4) + babel-loader: 7.1.2(babel-core@7.0.0-bridge.0(@babel/core@7.29.0))(webpack@3.8.1) babel-preset-react-app: 3.1.2(babel-runtime@6.26.0) case-sensitive-paths-webpack-plugin: 2.1.1 chalk: 1.1.3 css-loader: 0.28.7 dotenv: 4.0.0 dotenv-expand: 4.2.0 - extract-text-webpack-plugin: 3.0.2(webpack@5.105.4) - file-loader: 1.1.5(webpack@5.105.4) - fork-ts-checker-webpack-plugin: 0.2.10(typescript@5.8.3)(webpack@5.105.4) + extract-text-webpack-plugin: 3.0.2(webpack@3.8.1) + file-loader: 1.1.5(webpack@3.8.1) + fork-ts-checker-webpack-plugin: 0.2.10(typescript@5.8.3)(webpack@3.8.1) fs-extra: 3.0.1 - html-webpack-plugin: 2.29.0(webpack@5.105.4) + html-webpack-plugin: 2.29.0(webpack@3.8.1) jest: 20.0.4 object-assign: 4.1.1 postcss-flexbugs-fixes: 3.2.0 @@ -48161,7 +54578,7 @@ snapshots: resolve: 1.6.0 source-map-loader: 0.2.4 style-loader: 0.19.0 - sw-precache-webpack-plugin: 0.11.4(webpack@5.105.4) + sw-precache-webpack-plugin: 0.11.4(webpack@3.8.1) ts-jest: 22.0.1(jest@20.0.4)(typescript@5.8.3) ts-loader: 2.3.7 tsconfig-paths-webpack-plugin: 2.0.0 @@ -48169,31 +54586,36 @@ snapshots: tslint-config-prettier: 1.18.0 tslint-react: 3.6.0(tslint@5.20.1(typescript@5.8.3))(typescript@5.8.3) typescript: 5.8.3 - uglifyjs-webpack-plugin: 1.2.5(webpack@5.105.4) - url-loader: 0.6.2(file-loader@1.1.5(webpack@5.105.4)) - webpack: 5.105.4(webpack-cli@5.1.4) - webpack-dev-server: 5.2.3(webpack@5.105.4) - webpack-manifest-plugin: 1.3.2(webpack@5.105.4) + uglifyjs-webpack-plugin: 1.2.5(webpack@3.8.1) + url-loader: 0.6.2(file-loader@1.1.5(webpack@3.8.1)) + webpack: 3.8.1 + webpack-dev-server: 2.11.3(webpack@3.8.1) + webpack-manifest-plugin: 1.3.2(webpack@3.8.1) whatwg-fetch: 2.0.3 optionalDependencies: fsevents: 1.2.13 transitivePeerDependencies: - - '@swc/core' - babel-core - babel-runtime - - bufferutil - - debug - - esbuild - - supports-color - - uglify-js - - utf-8-validate - - webpack-cli + + react-shallow-renderer@16.15.0(react@18.2.0): + dependencies: + object-assign: 4.1.1 + react: 18.2.0 + react-is: 18.3.1 react-simple-code-editor@0.14.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) + react-sizeme@3.0.2: + dependencies: + element-resize-detector: 1.2.4 + invariant: 2.2.4 + shallowequal: 1.1.0 + throttle-debounce: 3.0.1 + react-split-pane@0.1.92(react-dom@18.2.0(react@18.2.0))(react@18.2.0): dependencies: prop-types: 15.8.1 @@ -48230,7 +54652,16 @@ snapshots: optionalDependencies: '@types/react': 18.2.0 - react-syntax-highlighter@15.6.6(react@18.2.0): + react-syntax-highlighter@13.5.3(react@18.2.0): + dependencies: + '@babel/runtime': 7.28.6 + highlight.js: 10.7.3 + lowlight: 1.20.0 + prismjs: 1.30.0 + react: 18.2.0 + refractor: 3.6.0 + + react-syntax-highlighter@15.6.1(react@18.2.0): dependencies: '@babel/runtime': 7.28.6 highlight.js: 10.7.3 @@ -48240,7 +54671,24 @@ snapshots: react: 18.2.0 refractor: 3.6.0 - react-test-renderer@19.1.5(react@18.2.0): + react-syntax-highlighter@15.6.1(react@19.1.0): + dependencies: + '@babel/runtime': 7.28.6 + highlight.js: 10.7.3 + highlightjs-vue: 1.0.0 + lowlight: 1.20.0 + prismjs: 1.30.0 + react: 19.1.0 + refractor: 3.6.0 + + react-test-renderer@18.3.0(react@18.2.0): + dependencies: + react: 18.2.0 + react-is: 18.3.1 + react-shallow-renderer: 16.15.0(react@18.2.0) + scheduler: 0.23.2 + + react-test-renderer@19.1.0(react@18.2.0): dependencies: react: 18.2.0 react-is: 19.2.4 @@ -48279,6 +54727,11 @@ snapshots: find-up: 1.1.2 read-pkg: 1.1.0 + read-pkg-up@2.0.0: + dependencies: + find-up: 2.1.0 + read-pkg: 2.0.0 + read-pkg-up@7.0.1: dependencies: find-up: 4.1.0 @@ -48297,6 +54750,12 @@ snapshots: normalize-package-data: 2.5.0 path-type: 1.1.0 + read-pkg@2.0.0: + dependencies: + load-json-file: 2.0.0 + normalize-package-data: 2.5.0 + path-type: 2.0.0 + read-pkg@5.2.0: dependencies: '@types/normalize-package-data': 2.4.4 @@ -48362,18 +54821,6 @@ snapshots: string_decoder: 1.3.0 util-deprecate: 1.0.2 - readable-stream@4.7.0: - dependencies: - abort-controller: 3.0.0 - buffer: 6.0.3 - events: 3.3.0 - process: 0.11.10 - string_decoder: 1.3.0 - - readable-web-to-node-stream@3.0.4: - dependencies: - readable-stream: 4.7.0 - readdirp@2.2.1: dependencies: graceful-fs: 4.2.11 @@ -48410,7 +54857,11 @@ snapshots: recursive-readdir@2.2.1: dependencies: - minimatch: 3.1.5 + minimatch: 3.1.4 + + recursive-readdir@2.2.2: + dependencies: + minimatch: 3.1.4 redent@1.0.0: dependencies: @@ -48529,7 +54980,17 @@ snapshots: dependencies: jsesc: 3.1.0 - rehype-raw@6.1.1: + rehype-katex@7.0.1: + dependencies: + '@types/hast': 3.0.4 + '@types/katex': 0.16.8 + hast-util-from-html-isomorphic: 2.0.0 + hast-util-to-text: 4.0.2 + katex: 0.16.38 + unist-util-visit-parents: 6.0.2 + vfile: 6.0.3 + + rehype-raw@6.1.0: dependencies: '@types/hast': 2.3.10 hast-util-raw: 7.2.3 @@ -48546,7 +55007,7 @@ snapshots: remap-istanbul@0.13.0: dependencies: istanbul: 0.4.5 - minimatch: 3.1.5 + minimatch: 3.1.4 plugin-error: 1.0.1 source-map: 0.6.1 through2: 3.0.0 @@ -48578,6 +55039,15 @@ snapshots: transitivePeerDependencies: - supports-color + remark-math@6.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-math: 3.0.0 + micromark-extension-math: 3.1.0 + unified: 11.0.5 + transitivePeerDependencies: + - supports-color + remark-mdx@1.6.22: dependencies: '@babel/core': 7.12.9 @@ -48692,7 +55162,7 @@ snapshots: combined-stream: 1.0.8 extend: 3.0.2 forever-agent: 0.6.1 - form-data: 4.0.5 + form-data: 2.3.3 har-validator: 5.1.5 http-signature: 1.2.0 is-typedarray: 1.0.0 @@ -48701,7 +55171,7 @@ snapshots: mime-types: 2.1.35 oauth-sign: 0.9.0 performance-now: 2.1.0 - qs: 6.5.5 + qs: 6.14.2 safe-buffer: 5.2.1 tough-cookie: 2.5.0 tunnel-agent: 0.6.0 @@ -48713,6 +55183,13 @@ snapshots: require-from-string@2.0.2: {} + require-in-the-middle@8.0.1: + dependencies: + debug: 4.4.3(supports-color@8.1.1) + module-details-from-path: 1.0.4 + transitivePeerDependencies: + - supports-color + require-main-filename@1.0.1: {} require-main-filename@2.0.0: {} @@ -48727,6 +55204,10 @@ snapshots: resolve-alpn@1.2.1: {} + resolve-cwd@2.0.0: + dependencies: + resolve-from: 3.0.0 + resolve-cwd@3.0.0: dependencies: resolve-from: 5.0.0 @@ -48736,6 +55217,8 @@ snapshots: expand-tilde: 2.0.2 global-modules: 1.0.0 + resolve-from@3.0.0: {} + resolve-from@4.0.0: {} resolve-from@5.0.0: {} @@ -48798,6 +55281,10 @@ snapshots: rfdc@1.4.1: {} + right-align@0.1.3: + dependencies: + align-text: 0.1.4 + rimraf@2.6.3: dependencies: glob: 7.2.3 @@ -48810,7 +55297,7 @@ snapshots: dependencies: glob: 7.2.3 - rimraf@5.0.10: + rimraf@5.0.5: dependencies: glob: 10.5.0 @@ -48819,26 +55306,31 @@ snapshots: glob: 11.1.0 package-json-from-dist: 1.0.1 - rollup-plugin-import-css@3.5.8(rollup@4.59.0): + ripemd160@2.0.3: dependencies: - '@rollup/pluginutils': 5.3.0(rollup@4.59.0) - rollup: 4.59.0 + hash-base: 3.1.2 + inherits: 2.0.4 + + rollup-plugin-import-css@3.5.8(rollup@4.41.0): + dependencies: + '@rollup/pluginutils': 5.3.0(rollup@4.41.0) + rollup: 4.41.0 - rollup-plugin-peer-deps-external@2.2.4(rollup@4.59.0): + rollup-plugin-peer-deps-external@2.2.4(rollup@4.41.0): dependencies: - rollup: 4.59.0 + rollup: 4.41.0 - rollup-plugin-postcss@4.0.2(postcss@8.5.8)(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.35)(typescript@5.8.3)): + rollup-plugin-postcss@4.0.2(postcss@8.5.4)(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.24)(typescript@5.8.3)): dependencies: chalk: 4.1.2 concat-with-sourcemaps: 1.1.0 - cssnano: 5.1.15(postcss@8.5.8) + cssnano: 5.1.15(postcss@8.5.4) import-cwd: 3.0.0 p-queue: 6.6.2 pify: 5.0.0 - postcss: 8.5.8 - postcss-load-config: 3.1.4(postcss@8.5.8)(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.35)(typescript@5.8.3)) - postcss-modules: 4.3.1(postcss@8.5.8) + postcss: 8.5.4 + postcss-load-config: 3.1.4(postcss@8.5.4)(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.24)(typescript@5.8.3)) + postcss-modules: 4.3.1(postcss@8.5.4) promise.series: 0.2.0 resolve: 1.22.11 rollup-pluginutils: 2.8.2 @@ -48851,13 +55343,13 @@ snapshots: dependencies: rollup-pluginutils: 2.8.2 - rollup-plugin-sourcemaps@0.6.3(@types/node@22.15.35)(rollup@1.32.1): + rollup-plugin-sourcemaps@0.6.3(@types/node@22.15.21)(rollup@1.32.1): dependencies: '@rollup/pluginutils': 3.1.0(rollup@1.32.1) rollup: 1.32.1 source-map-resolve: 0.6.0 optionalDependencies: - '@types/node': 22.15.35 + '@types/node': 22.15.21 rollup-plugin-svg@2.0.0: dependencies: @@ -48869,7 +55361,7 @@ snapshots: jest-worker: 24.9.0 rollup: 1.32.1 rollup-pluginutils: 2.8.2 - serialize-javascript: 7.0.4 + serialize-javascript: 7.0.3 terser: 4.8.1 rollup-plugin-typescript2@0.27.3(rollup@1.32.1)(typescript@3.9.10): @@ -48882,12 +55374,12 @@ snapshots: tslib: 2.0.1 typescript: 3.9.10 - rollup-plugin-typescript2@0.36.0(rollup@4.59.0)(typescript@5.8.3): + rollup-plugin-typescript2@0.36.0(rollup@4.41.0)(typescript@5.8.3): dependencies: '@rollup/pluginutils': 4.2.1 find-cache-dir: 3.3.2 fs-extra: 10.1.0 - rollup: 4.59.0 + rollup: 4.41.0 semver: 7.7.4 tslib: 2.8.1 typescript: 5.8.3 @@ -48895,7 +55387,7 @@ snapshots: rollup-pluginutils@1.5.2: dependencies: estree-walker: 0.2.1 - minimatch: 3.1.5 + minimatch: 3.1.4 rollup-pluginutils@2.8.2: dependencies: @@ -48904,38 +55396,33 @@ snapshots: rollup@1.32.1: dependencies: '@types/estree': 1.0.8 - '@types/node': 22.15.35 + '@types/node': 22.15.24 acorn: 7.4.1 - rollup@4.59.0: - dependencies: - '@types/estree': 1.0.8 - optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.59.0 - '@rollup/rollup-android-arm64': 4.59.0 - '@rollup/rollup-darwin-arm64': 4.59.0 - '@rollup/rollup-darwin-x64': 4.59.0 - '@rollup/rollup-freebsd-arm64': 4.59.0 - '@rollup/rollup-freebsd-x64': 4.59.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.59.0 - '@rollup/rollup-linux-arm-musleabihf': 4.59.0 - '@rollup/rollup-linux-arm64-gnu': 4.59.0 - '@rollup/rollup-linux-arm64-musl': 4.59.0 - '@rollup/rollup-linux-loong64-gnu': 4.59.0 - '@rollup/rollup-linux-loong64-musl': 4.59.0 - '@rollup/rollup-linux-ppc64-gnu': 4.59.0 - '@rollup/rollup-linux-ppc64-musl': 4.59.0 - '@rollup/rollup-linux-riscv64-gnu': 4.59.0 - '@rollup/rollup-linux-riscv64-musl': 4.59.0 - '@rollup/rollup-linux-s390x-gnu': 4.59.0 - '@rollup/rollup-linux-x64-gnu': 4.59.0 - '@rollup/rollup-linux-x64-musl': 4.59.0 - '@rollup/rollup-openbsd-x64': 4.59.0 - '@rollup/rollup-openharmony-arm64': 4.59.0 - '@rollup/rollup-win32-arm64-msvc': 4.59.0 - '@rollup/rollup-win32-ia32-msvc': 4.59.0 - '@rollup/rollup-win32-x64-gnu': 4.59.0 - '@rollup/rollup-win32-x64-msvc': 4.59.0 + rollup@4.41.0: + dependencies: + '@types/estree': 1.0.7 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.41.0 + '@rollup/rollup-android-arm64': 4.41.0 + '@rollup/rollup-darwin-arm64': 4.41.0 + '@rollup/rollup-darwin-x64': 4.41.0 + '@rollup/rollup-freebsd-arm64': 4.41.0 + '@rollup/rollup-freebsd-x64': 4.41.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.41.0 + '@rollup/rollup-linux-arm-musleabihf': 4.41.0 + '@rollup/rollup-linux-arm64-gnu': 4.41.0 + '@rollup/rollup-linux-arm64-musl': 4.41.0 + '@rollup/rollup-linux-loongarch64-gnu': 4.41.0 + '@rollup/rollup-linux-powerpc64le-gnu': 4.41.0 + '@rollup/rollup-linux-riscv64-gnu': 4.41.0 + '@rollup/rollup-linux-riscv64-musl': 4.41.0 + '@rollup/rollup-linux-s390x-gnu': 4.41.0 + '@rollup/rollup-linux-x64-gnu': 4.41.0 + '@rollup/rollup-linux-x64-musl': 4.41.0 + '@rollup/rollup-win32-arm64-msvc': 4.41.0 + '@rollup/rollup-win32-ia32-msvc': 4.41.0 + '@rollup/rollup-win32-x64-msvc': 4.41.0 fsevents: 2.3.3 rope-sequence@1.3.4: {} @@ -49019,7 +55506,7 @@ snapshots: anymatch: 1.3.2 exec-sh: 0.2.2 fb-watchman: 1.9.2 - minimatch: 3.1.5 + minimatch: 3.1.4 minimist: 1.2.8 walker: 1.0.8 watch: 0.10.0 @@ -49040,21 +55527,22 @@ snapshots: dependencies: truncate-utf8-bytes: 1.0.2 - sass-loader@13.3.3(sass@1.98.0)(webpack@5.105.4): + sass-loader@13.2.0(sass@1.89.0)(webpack@5.104.1): dependencies: + klona: 2.0.6 neo-async: 2.6.2 - webpack: 5.105.4(webpack-cli@5.1.4) + webpack: 5.104.1(webpack-cli@5.1.4) optionalDependencies: - sass: 1.98.0 + sass: 1.89.0 - sass-loader@16.0.7(sass@1.98.0)(webpack@5.105.4): + sass-loader@16.0.5(sass@1.89.0)(webpack@5.104.1): dependencies: neo-async: 2.6.2 optionalDependencies: - sass: 1.98.0 - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) + sass: 1.89.0 + webpack: 5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) - sass@1.98.0: + sass@1.89.0: dependencies: chokidar: 4.0.3 immutable: 3.8.3 @@ -49089,6 +55577,12 @@ snapshots: ajv: 6.14.0 ajv-keywords: 3.5.2(ajv@6.14.0) + schema-utils@1.0.0: + dependencies: + ajv: 6.14.0 + ajv-errors: 1.0.1(ajv@6.14.0) + ajv-keywords: 3.5.2(ajv@6.14.0) + schema-utils@2.7.0: dependencies: '@types/json-schema': 7.0.15 @@ -49140,6 +55634,10 @@ snapshots: - bufferutil - utf-8-validate + selfsigned@1.10.14: + dependencies: + node-forge: 0.10.0 + selfsigned@5.5.0: dependencies: '@peculiar/x509': 1.14.3 @@ -49193,7 +55691,7 @@ snapshots: dependencies: type-fest: 0.20.2 - serialize-javascript@7.0.4: {} + serialize-javascript@7.0.3: {} serve-favicon@2.5.1: dependencies: @@ -49208,7 +55706,7 @@ snapshots: bytes: 3.0.0 content-disposition: 0.5.2 mime-types: 2.1.18 - minimatch: 3.1.5 + minimatch: 3.1.4 path-is-inside: 1.0.2 path-to-regexp: 3.3.0 range-parser: 1.2.0 @@ -49307,6 +55805,8 @@ snapshots: array-reduce: 0.0.0 jsonify: 0.0.1 + shell-quote@1.7.2: {} + shell-quote@1.8.3: {} shelljs@0.8.5: @@ -49389,6 +55889,11 @@ snapshots: astral-regex: 2.0.0 is-fullwidth-code-point: 3.0.0 + slice-ansi@5.0.0: + dependencies: + ansi-styles: 6.2.3 + is-fullwidth-code-point: 4.0.0 + slice-ansi@7.1.2: dependencies: ansi-styles: 6.2.3 @@ -49412,6 +55917,11 @@ snapshots: json3: 3.3.3 url-parse: 1.5.10 + sockjs@0.3.19: + dependencies: + faye-websocket: 0.10.0 + uuid: 3.4.0 + sockjs@0.3.24: dependencies: faye-websocket: 0.11.4 @@ -49446,17 +55956,18 @@ snapshots: async: 2.6.4 loader-utils: 1.4.2 - source-map-loader@4.0.2(webpack@5.105.4): + source-map-loader@4.0.1(webpack@5.104.1): dependencies: + abab: 2.0.6 iconv-lite: 0.6.3 source-map-js: 1.2.1 - webpack: 5.105.4(webpack-cli@5.1.4) + webpack: 5.104.1(webpack-cli@5.1.4) - source-map-loader@5.0.0(webpack@5.105.4): + source-map-loader@5.0.0(webpack@5.104.1): dependencies: iconv-lite: 0.6.3 source-map-js: 1.2.1 - webpack: 5.105.4(webpack-cli@5.1.4) + webpack: 5.104.1(webpack-cli@5.1.4) source-map-resolve@0.6.0: dependencies: @@ -49517,6 +56028,16 @@ snapshots: spdx-license-ids@3.0.23: {} + spdy-transport@2.1.1: + dependencies: + debug: 2.6.9 + detect-node: 2.1.0 + hpack.js: 2.1.6 + obuf: 1.1.2 + readable-stream: 2.3.8 + safe-buffer: 5.2.1 + wbuf: 1.7.3 + spdy-transport@3.0.0: dependencies: debug: 4.4.3(supports-color@8.1.1) @@ -49528,6 +56049,15 @@ snapshots: transitivePeerDependencies: - supports-color + spdy@3.4.7: + dependencies: + debug: 2.6.9 + handle-thing: 1.2.5 + http-deceiver: 1.2.7 + safe-buffer: 5.2.1 + select-hose: 2.0.0 + spdy-transport: 2.1.1 + spdy@4.0.2: dependencies: debug: 4.4.3(supports-color@8.1.1) @@ -49556,6 +56086,10 @@ snapshots: dependencies: safe-buffer: 5.2.1 + ssri@6.0.2: + dependencies: + figgy-pudding: 3.5.2 + ssri@8.0.1: dependencies: minipass: 3.3.6 @@ -49621,9 +56155,19 @@ snapshots: store2@2.14.4: {} - storybook@8.6.18(prettier@3.5.3): + storybook@8.6.13(prettier@3.5.3): + dependencies: + '@storybook/core': 8.6.13(prettier@3.5.3)(storybook@8.6.13(prettier@3.5.3)) + optionalDependencies: + prettier: 3.5.3 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + + storybook@8.6.14(prettier@3.5.3): dependencies: - '@storybook/core': 8.6.18(prettier@3.5.3)(storybook@8.6.18(prettier@3.5.3)) + '@storybook/core': 8.6.14(prettier@3.5.3)(storybook@8.6.14(prettier@3.5.3)) optionalDependencies: prettier: 3.5.3 transitivePeerDependencies: @@ -49631,11 +56175,24 @@ snapshots: - supports-color - utf-8-validate + stream-browserify@2.0.2: + dependencies: + inherits: 2.0.4 + readable-stream: 2.3.8 + stream-each@1.2.3: dependencies: end-of-stream: 1.4.5 stream-shift: 1.0.3 + stream-http@2.8.3: + dependencies: + builtin-status-codes: 3.0.0 + inherits: 2.0.4 + readable-stream: 2.3.8 + to-arraybuffer: 1.0.1 + xtend: 4.0.2 + stream-shift@1.0.3: {} streamroller@3.1.5: @@ -49646,15 +56203,6 @@ snapshots: transitivePeerDependencies: - supports-color - streamx@2.23.0: - dependencies: - events-universal: 1.0.1 - fast-fifo: 1.3.2 - text-decoder: 1.2.7 - transitivePeerDependencies: - - bare-abort-controller - - react-native-b4a - strict-event-emitter@0.4.6: {} strict-uri-encode@1.1.0: {} @@ -49706,11 +56254,6 @@ snapshots: get-east-asian-width: 1.5.0 strip-ansi: 7.2.0 - string-width@8.2.0: - dependencies: - get-east-asian-width: 1.5.0 - strip-ansi: 7.2.0 - string.fromcodepoint@0.2.1: {} string.prototype.codepointat@0.2.1: {} @@ -49807,6 +56350,10 @@ snapshots: dependencies: ansi-regex: 4.1.1 + strip-ansi@6.0.0: + dependencies: + ansi-regex: 5.0.1 + strip-ansi@6.0.1: dependencies: ansi-regex: 5.0.1 @@ -49851,10 +56398,9 @@ snapshots: strnum@2.2.0: {} - strtok3@7.1.1: + strtok3@10.3.4: dependencies: '@tokenizer/token': 0.3.0 - peek-readable: 5.4.2 structured-source@4.0.0: dependencies: @@ -49867,39 +56413,51 @@ snapshots: loader-utils: 1.4.2 schema-utils: 0.3.0 - style-loader@1.3.0(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))): + style-loader@1.3.0(webpack@4.47.0(webpack-cli@4.10.0)): + dependencies: + loader-utils: 2.0.4 + schema-utils: 2.7.1 + webpack: 4.47.0(webpack-cli@4.10.0) + + style-loader@1.3.0(webpack@4.47.0(webpack-cli@6.0.1)): + dependencies: + loader-utils: 2.0.4 + schema-utils: 2.7.1 + webpack: 4.47.0(webpack-cli@6.0.1) + + style-loader@1.3.0(webpack@4.47.0): dependencies: loader-utils: 2.0.4 schema-utils: 2.7.1 - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19)) + webpack: 4.47.0 - style-loader@1.3.0(webpack@5.105.4): + style-loader@1.3.0(webpack@5.104.1): dependencies: loader-utils: 2.0.4 schema-utils: 2.7.1 - webpack: 5.105.4(webpack-cli@5.1.4) + webpack: 5.104.1(webpack-cli@5.1.4) - style-loader@2.0.0(webpack@5.105.4): + style-loader@2.0.0(webpack@5.104.1): dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) + webpack: 5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) - style-loader@3.3.4(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))(esbuild@0.25.12)): + style-loader@3.3.4(webpack@5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))(esbuild@0.25.12)): dependencies: - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))(esbuild@0.25.12) + webpack: 5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))(esbuild@0.25.12) - style-loader@3.3.4(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))): + style-loader@3.3.4(webpack@5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))): dependencies: - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19)) + webpack: 5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19)) - style-loader@3.3.4(webpack@5.105.4): + style-loader@3.3.4(webpack@5.104.1): dependencies: - webpack: 5.105.4(webpack-cli@5.1.4) + webpack: 5.104.1(webpack-cli@5.1.4) - style-loader@4.0.0(webpack@5.105.4): + style-loader@4.0.0(webpack@5.104.1): dependencies: - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) + webpack: 5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) style-mod@4.1.3: {} @@ -49920,25 +56478,24 @@ snapshots: hey-listen: 1.0.8 tslib: 2.8.1 - stylehacks@5.1.1(postcss@8.5.8): + stylehacks@5.1.1(postcss@8.5.4): dependencies: browserslist: 4.28.1 - postcss: 8.5.8 + postcss: 8.5.4 postcss-selector-parser: 6.1.2 - stylelint-config-recommended@16.0.0(stylelint@16.26.1(typescript@5.8.3)): + stylelint-config-recommended@16.0.0(stylelint@16.19.1(typescript@5.8.3)): dependencies: - stylelint: 16.26.1(typescript@5.8.3) + stylelint: 16.19.1(typescript@5.8.3) - stylelint-config-standard@38.0.0(stylelint@16.26.1(typescript@5.8.3)): + stylelint-config-standard@38.0.0(stylelint@16.19.1(typescript@5.8.3)): dependencies: - stylelint: 16.26.1(typescript@5.8.3) - stylelint-config-recommended: 16.0.0(stylelint@16.26.1(typescript@5.8.3)) + stylelint: 16.19.1(typescript@5.8.3) + stylelint-config-recommended: 16.0.0(stylelint@16.19.1(typescript@5.8.3)) - stylelint@16.26.1(typescript@5.8.3): + stylelint@16.19.1(typescript@5.8.3): dependencies: '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-syntax-patches-for-csstree': 1.1.0 '@csstools/css-tokenizer': 3.0.4 '@csstools/media-query-list-parser': 4.0.3(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.1) @@ -49951,7 +56508,7 @@ snapshots: debug: 4.4.3(supports-color@8.1.1) fast-glob: 3.3.3 fastest-levenshtein: 1.0.16 - file-entry-cache: 11.1.2 + file-entry-cache: 10.1.4 global-modules: 2.0.0 globby: 11.1.0 globjoin: 0.1.4 @@ -49959,15 +56516,15 @@ snapshots: ignore: 7.0.5 imurmurhash: 0.1.4 is-plain-object: 5.0.0 - known-css-properties: 0.37.0 + known-css-properties: 0.36.0 mathml-tag-names: 2.1.3 meow: 13.2.0 micromatch: 4.0.8 normalize-path: 3.0.0 picocolors: 1.1.1 - postcss: 8.5.8 + postcss: 8.5.4 postcss-resolve-nested-selector: 0.1.6 - postcss-safe-parser: 7.0.1(postcss@8.5.8) + postcss-safe-parser: 7.0.1(postcss@8.5.4) postcss-selector-parser: 7.1.1 postcss-value-parser: 4.2.0 resolve-from: 5.0.0 @@ -50007,6 +56564,10 @@ snapshots: dependencies: has-flag: 1.0.0 + supports-color@4.5.0: + dependencies: + has-flag: 2.0.0 + supports-color@5.5.0: dependencies: has-flag: 3.0.0 @@ -50043,10 +56604,10 @@ snapshots: svg-tags@1.0.0: {} - svg-url-loader@8.0.0(webpack@5.105.4): + svg-url-loader@8.0.0(webpack@5.104.1): dependencies: - file-loader: 6.2.0(webpack@5.105.4) - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) + file-loader: 6.2.0(webpack@5.104.1) + webpack: 5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) svg2ttf@4.3.0: dependencies: @@ -50055,7 +56616,7 @@ snapshots: lodash: 4.17.23 microbuffer: 1.0.0 svgpath: 2.6.0 - xmldom: '@xmldom/xmldom@0.8.11' + xmldom: '@xmldom/xmldom@0.8.10' svg2ttf@6.0.3: dependencies: @@ -50105,12 +56666,12 @@ snapshots: svgpath@2.6.0: {} - sw-precache-webpack-plugin@0.11.4(webpack@5.105.4): + sw-precache-webpack-plugin@0.11.4(webpack@3.8.1): dependencies: del: 2.2.2 sw-precache: 5.2.1 uglify-js: 3.19.3 - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) + webpack: 3.8.1 sw-precache@5.2.1: dependencies: @@ -50162,7 +56723,7 @@ snapshots: classnames: 2.5.1 css.escape: 1.5.1 deep-extend: 0.6.0 - dompurify: 3.3.3 + dompurify: 3.3.2 ieee754: 1.2.1 immutable: 3.8.3 js-file-download: 0.4.12 @@ -50179,7 +56740,7 @@ snapshots: react-immutable-pure-component: 2.2.2(immutable@3.8.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) react-inspector: 6.0.2(react@18.2.0) react-redux: 9.2.0(@types/react@18.2.0)(react@18.2.0)(redux@5.0.1) - react-syntax-highlighter: 15.6.6(react@18.2.0) + react-syntax-highlighter: 15.6.1(react@18.2.0) redux: 5.0.1 redux-immutable: 4.0.0(immutable@3.8.3) remarkable: 2.0.1 @@ -50203,7 +56764,7 @@ snapshots: classnames: 2.5.1 css.escape: 1.5.1 deep-extend: 0.6.0 - dompurify: 3.3.3 + dompurify: 3.3.2 ieee754: 1.2.1 immutable: 3.8.3 js-file-download: 0.4.12 @@ -50220,7 +56781,7 @@ snapshots: react-immutable-pure-component: 2.2.2(immutable@3.8.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) react-inspector: 6.0.2(react@18.2.0) react-redux: 9.2.0(@types/react@18.2.0)(react@18.2.0)(redux@5.0.1) - react-syntax-highlighter: 15.6.6(react@18.2.0) + react-syntax-highlighter: 15.6.1(react@18.2.0) redux: 5.0.1 redux-immutable: 4.0.0(immutable@3.8.3) remarkable: 2.0.1 @@ -50236,17 +56797,17 @@ snapshots: - '@types/react' - debug - swc-loader@0.2.7(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))): + swc-loader@0.2.7(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack@5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))): dependencies: '@swc/core': 1.15.18(@swc/helpers@0.5.19) '@swc/counter': 0.1.3 - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19)) + webpack: 5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19)) - swc-loader@0.2.7(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack@5.105.4): + swc-loader@0.2.7(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack@5.104.1): dependencies: '@swc/core': 1.15.18(@swc/helpers@0.5.19) '@swc/counter': 0.1.3 - webpack: 5.105.4(webpack-cli@5.1.4) + webpack: 5.104.1(webpack-cli@5.1.4) symbol-tree@3.2.4: {} @@ -50282,7 +56843,7 @@ snapshots: tailwind-merge@2.6.1: {} - tailwindcss@3.4.19(yaml@2.8.2): + tailwindcss@3.4.3(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.24)(typescript@5.8.3)): dependencies: '@alloc/quick-lru': 5.2.0 arg: 5.0.2 @@ -50298,11 +56859,11 @@ snapshots: normalize-path: 3.0.0 object-hash: 3.0.0 picocolors: 1.1.1 - postcss: 8.5.8 - postcss-import: 15.1.0(postcss@8.5.8) - postcss-js: 4.1.0(postcss@8.5.8) - postcss-load-config: 6.0.1(jiti@1.21.7)(postcss@8.5.8)(yaml@2.8.2) - postcss-nested: 6.2.0(postcss@8.5.8) + postcss: 8.5.4 + postcss-import: 15.1.0(postcss@8.5.4) + postcss-js: 4.1.0(postcss@8.5.4) + postcss-load-config: 4.0.2(postcss@8.5.4)(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.24)(typescript@5.8.3)) + postcss-nested: 6.2.0(postcss@8.5.4) postcss-selector-parser: 6.1.2 resolve: 1.22.11 sucrase: 3.35.1 @@ -50310,7 +56871,7 @@ snapshots: - tsx - yaml - tailwindcss@4.2.1: {} + tailwindcss@4.1.7: {} tapable@0.2.9: {} @@ -50318,28 +56879,37 @@ snapshots: tapable@2.3.0: {} - tar-fs@3.1.1: + tar-fs@1.16.6: dependencies: + chownr: 1.1.4 + mkdirp: 0.5.6 + pump: 1.0.3 + tar-stream: 1.6.2 + + tar-fs@2.1.4: + dependencies: + chownr: 1.1.4 + mkdirp-classic: 0.5.3 pump: 3.0.4 - tar-stream: 3.1.8 - optionalDependencies: - bare-fs: 4.5.5 - bare-path: 3.0.0 - transitivePeerDependencies: - - bare-abort-controller - - bare-buffer - - react-native-b4a + tar-stream: 2.2.0 - tar-stream@3.1.8: + tar-stream@1.6.2: dependencies: - b4a: 1.8.0 - bare-fs: 4.5.5 - fast-fifo: 1.3.2 - streamx: 2.23.0 - transitivePeerDependencies: - - bare-abort-controller - - bare-buffer - - react-native-b4a + bl: 1.2.3 + buffer-alloc: 1.2.0 + end-of-stream: 1.4.5 + fs-constants: 1.0.0 + readable-stream: 2.3.8 + to-buffer: 1.2.2 + xtend: 4.0.2 + + tar-stream@2.2.0: + dependencies: + bl: 4.1.0 + end-of-stream: 1.4.5 + fs-constants: 1.0.0 + inherits: 2.0.4 + readable-stream: 3.6.2 tar@2.2.2: dependencies: @@ -50358,11 +56928,7 @@ snapshots: targz@1.0.1: dependencies: - tar-fs: 3.1.1 - transitivePeerDependencies: - - bare-abort-controller - - bare-buffer - - react-native-b4a + tar-fs: 1.16.6 tcp-port-used@1.0.2: dependencies: @@ -50371,12 +56937,16 @@ snapshots: transitivePeerDependencies: - supports-color - teex@1.0.1: + telejson@5.3.3: dependencies: - streamx: 2.23.0 - transitivePeerDependencies: - - bare-abort-controller - - react-native-b4a + '@types/is-function': 1.0.3 + global: 4.4.0 + is-function: 1.0.2 + is-regex: 1.2.1 + is-symbol: 1.1.1 + isobject: 4.0.0 + lodash: 4.17.23 + memoizerific: 1.11.3 telejson@6.0.8: dependencies: @@ -50411,6 +56981,8 @@ snapshots: dependencies: execa: 0.7.0 + term-size@2.2.1: {} + terminal-link@2.1.1: dependencies: ansi-escapes: 4.3.2 @@ -50421,63 +56993,175 @@ snapshots: ansi-escapes: 7.3.0 supports-hyperlinks: 3.2.0 - terser-webpack-plugin@4.2.3(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))): + terser-webpack-plugin@1.4.6(webpack@4.47.0(webpack-cli@4.10.0)): + dependencies: + cacache: 12.0.4 + find-cache-dir: 2.1.0 + is-wsl: 1.1.0 + schema-utils: 1.0.0 + serialize-javascript: 7.0.3 + source-map: 0.6.1 + terser: 4.8.1 + webpack: 4.47.0(webpack-cli@4.10.0) + webpack-sources: 1.4.3 + worker-farm: 1.7.0 + + terser-webpack-plugin@1.4.6(webpack@4.47.0(webpack-cli@6.0.1)): + dependencies: + cacache: 12.0.4 + find-cache-dir: 2.1.0 + is-wsl: 1.1.0 + schema-utils: 1.0.0 + serialize-javascript: 7.0.3 + source-map: 0.6.1 + terser: 4.8.1 + webpack: 4.47.0(webpack-cli@6.0.1) + webpack-sources: 1.4.3 + worker-farm: 1.7.0 + + terser-webpack-plugin@1.4.6(webpack@4.47.0): + dependencies: + cacache: 12.0.4 + find-cache-dir: 2.1.0 + is-wsl: 1.1.0 + schema-utils: 1.0.0 + serialize-javascript: 7.0.3 + source-map: 0.6.1 + terser: 4.8.1 + webpack: 4.47.0 + webpack-sources: 1.4.3 + worker-farm: 1.7.0 + + terser-webpack-plugin@4.2.3(webpack@4.47.0(webpack-cli@4.10.0)): + dependencies: + cacache: 15.3.0 + find-cache-dir: 3.3.2 + jest-worker: 26.6.2 + p-limit: 3.1.0 + schema-utils: 3.3.0 + serialize-javascript: 7.0.3 + source-map: 0.6.1 + terser: 5.46.0 + webpack: 4.47.0(webpack-cli@4.10.0) + webpack-sources: 1.4.3 + + terser-webpack-plugin@4.2.3(webpack@4.47.0(webpack-cli@6.0.1)): dependencies: cacache: 15.3.0 find-cache-dir: 3.3.2 jest-worker: 26.6.2 p-limit: 3.1.0 schema-utils: 3.3.0 - serialize-javascript: 7.0.4 + serialize-javascript: 7.0.3 source-map: 0.6.1 terser: 5.46.0 - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19)) + webpack: 4.47.0(webpack-cli@6.0.1) webpack-sources: 1.4.3 - terser-webpack-plugin@4.2.3(webpack@5.105.4): + terser-webpack-plugin@4.2.3(webpack@4.47.0): dependencies: cacache: 15.3.0 find-cache-dir: 3.3.2 jest-worker: 26.6.2 p-limit: 3.1.0 schema-utils: 3.3.0 - serialize-javascript: 7.0.4 + serialize-javascript: 7.0.3 source-map: 0.6.1 terser: 5.46.0 - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) + webpack: 4.47.0 webpack-sources: 1.4.3 - terser-webpack-plugin@5.4.0(@swc/core@1.15.18(@swc/helpers@0.5.19))(esbuild@0.25.12)(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))(esbuild@0.25.12)): + terser-webpack-plugin@5.3.10(webpack@5.104.1): + dependencies: + '@jridgewell/trace-mapping': 0.3.31 + jest-worker: 27.5.1 + schema-utils: 3.3.0 + serialize-javascript: 7.0.3 + terser: 5.46.0 + webpack: 5.104.1(webpack-cli@6.0.1) + + terser-webpack-plugin@5.3.14(@swc/core@1.15.18(@swc/helpers@0.5.19))(esbuild@0.25.12)(webpack@5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))(esbuild@0.25.12)): + dependencies: + '@jridgewell/trace-mapping': 0.3.31 + jest-worker: 27.5.1 + schema-utils: 4.3.3 + serialize-javascript: 7.0.3 + terser: 5.46.0 + webpack: 5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))(esbuild@0.25.12) + optionalDependencies: + '@swc/core': 1.15.18(@swc/helpers@0.5.19) + esbuild: 0.25.12 + + terser-webpack-plugin@5.3.14(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack@5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))): + dependencies: + '@jridgewell/trace-mapping': 0.3.31 + jest-worker: 27.5.1 + schema-utils: 4.3.3 + serialize-javascript: 7.0.3 + terser: 5.46.0 + webpack: 5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19)) + optionalDependencies: + '@swc/core': 1.15.18(@swc/helpers@0.5.19) + + terser-webpack-plugin@5.3.14(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack@5.104.1): + dependencies: + '@jridgewell/trace-mapping': 0.3.31 + jest-worker: 27.5.1 + schema-utils: 4.3.3 + serialize-javascript: 7.0.3 + terser: 5.46.0 + webpack: 5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) + optionalDependencies: + '@swc/core': 1.15.18(@swc/helpers@0.5.19) + + terser-webpack-plugin@5.3.14(webpack@5.104.1): + dependencies: + '@jridgewell/trace-mapping': 0.3.31 + jest-worker: 27.5.1 + schema-utils: 4.3.3 + serialize-javascript: 7.0.3 + terser: 5.46.0 + webpack: 5.104.1(webpack-cli@6.0.1) + + terser-webpack-plugin@5.3.17(@swc/core@1.15.18(@swc/helpers@0.5.19))(esbuild@0.25.12)(webpack@5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))(esbuild@0.25.12)): dependencies: '@jridgewell/trace-mapping': 0.3.31 jest-worker: 27.5.1 schema-utils: 4.3.3 terser: 5.46.0 - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))(esbuild@0.25.12) + webpack: 5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))(esbuild@0.25.12) optionalDependencies: '@swc/core': 1.15.18(@swc/helpers@0.5.19) esbuild: 0.25.12 - terser-webpack-plugin@5.4.0(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))): + terser-webpack-plugin@5.3.17(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack@5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))): dependencies: '@jridgewell/trace-mapping': 0.3.31 jest-worker: 27.5.1 schema-utils: 4.3.3 terser: 5.46.0 - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19)) + webpack: 5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19)) optionalDependencies: '@swc/core': 1.15.18(@swc/helpers@0.5.19) - terser-webpack-plugin@5.4.0(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack@5.105.4): + terser-webpack-plugin@5.3.17(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack@5.104.1): dependencies: '@jridgewell/trace-mapping': 0.3.31 jest-worker: 27.5.1 schema-utils: 4.3.3 terser: 5.46.0 - webpack: 5.105.4(webpack-cli@5.1.4) + webpack: 5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) optionalDependencies: '@swc/core': 1.15.18(@swc/helpers@0.5.19) + terser-webpack-plugin@5.3.17(webpack@5.104.1): + dependencies: + '@jridgewell/trace-mapping': 0.3.31 + jest-worker: 27.5.1 + schema-utils: 4.3.3 + terser: 5.46.0 + webpack: 5.104.1(webpack-cli@5.1.4) + terser@4.8.1: dependencies: commander: 2.20.3 @@ -50503,19 +57187,13 @@ snapshots: dependencies: '@istanbuljs/schema': 0.1.3 glob: 7.2.3 - minimatch: 3.1.5 + minimatch: 3.1.4 test-exclude@7.0.2: dependencies: '@istanbuljs/schema': 0.1.3 glob: 10.5.0 - minimatch: 10.2.4 - - text-decoder@1.2.7: - dependencies: - b4a: 1.8.0 - transitivePeerDependencies: - - react-native-b4a + minimatch: 10.2.3 text-hex@1.0.0: {} @@ -50541,6 +57219,8 @@ snapshots: throat@5.0.0: {} + throttle-debounce@3.0.1: {} + through2@2.0.5: dependencies: readable-stream: 2.3.8 @@ -50555,12 +57235,15 @@ snapshots: thunky@1.1.0: {} + tiktoken@1.0.22: {} + + time-stamp@2.2.0: {} + timed-out@4.0.1: {} - timers-ext@0.1.8: + timers-browserify@2.0.12: dependencies: - es5-ext: 0.10.64 - next-tick: 1.1.0 + setimmediate: 1.0.5 timezone-support@3.1.0: dependencies: @@ -50592,10 +57275,14 @@ snapshots: dependencies: os-tmpdir: 1.0.2 + tmp@0.2.4: {} + tmp@0.2.5: {} tmpl@1.0.5: {} + to-arraybuffer@1.0.1: {} + to-buffer@1.2.2: dependencies: isarray: 2.0.5 @@ -50623,8 +57310,9 @@ snapshots: toidentifier@1.0.1: {} - token-types@5.0.1: + token-types@6.1.2: dependencies: + '@borewit/text-codec': 0.2.1 '@tokenizer/token': 0.3.0 ieee754: 1.2.1 @@ -50754,12 +57442,12 @@ snapshots: typescript: 3.9.10 yargs-parser: 18.1.3 - ts-jest@29.3.4(@babel/core@7.27.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.27.7))(jest@29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.35)(typescript@5.8.3)))(typescript@5.8.3): + ts-jest@29.3.4(@babel/core@7.27.1)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.27.1))(jest@29.7.0(@types/node@22.15.24)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.24)(typescript@5.8.3)))(typescript@5.8.3): dependencies: bs-logger: 0.2.6 ejs: 3.1.10 fast-json-stable-stringify: 2.1.0 - jest: 29.7.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.35)(typescript@5.8.3)) + jest: 29.7.0(@types/node@22.15.24)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.24)(typescript@5.8.3)) jest-util: 29.7.0 json5: 2.2.3 lodash.memoize: 4.1.2 @@ -50769,17 +57457,17 @@ snapshots: typescript: 5.8.3 yargs-parser: 21.1.1 optionalDependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - babel-jest: 29.7.0(@babel/core@7.27.7) + babel-jest: 29.7.0(@babel/core@7.27.1) - ts-jest@29.3.4(@babel/core@7.27.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@30.3.0(@babel/core@7.27.7))(esbuild@0.25.12)(jest@30.3.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(esbuild-register@3.6.0(esbuild@0.25.12))(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.35)(typescript@5.8.3)))(typescript@5.8.3): + ts-jest@29.3.4(@babel/core@7.27.1)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@30.0.0(@babel/core@7.27.1))(esbuild@0.25.12)(jest@30.0.0(@types/node@22.15.21)(babel-plugin-macros@3.1.0)(esbuild-register@3.6.0(esbuild@0.25.12))(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.21)(typescript@5.8.3)))(typescript@5.8.3): dependencies: bs-logger: 0.2.6 ejs: 3.1.10 fast-json-stable-stringify: 2.1.0 - jest: 30.3.0(@types/node@22.15.35)(babel-plugin-macros@3.1.0)(esbuild-register@3.6.0(esbuild@0.25.12))(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.35)(typescript@5.8.3)) + jest: 30.0.0(@types/node@22.15.21)(babel-plugin-macros@3.1.0)(esbuild-register@3.6.0(esbuild@0.25.12))(ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.21)(typescript@5.8.3)) jest-util: 29.7.0 json5: 2.2.3 lodash.memoize: 4.1.2 @@ -50789,10 +57477,10 @@ snapshots: typescript: 5.8.3 yargs-parser: 21.1.1 optionalDependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - babel-jest: 30.3.0(@babel/core@7.27.7) + babel-jest: 30.0.0(@babel/core@7.27.1) esbuild: 0.25.12 ts-loader@2.3.7: @@ -50802,7 +57490,45 @@ snapshots: loader-utils: 1.4.2 semver: 5.7.2 - ts-loader@9.5.4(typescript@5.8.3)(webpack@5.105.4): + ts-loader@9.4.1(typescript@5.8.3)(webpack@5.104.1): + dependencies: + chalk: 4.1.2 + enhanced-resolve: 5.20.0 + micromatch: 4.0.8 + semver: 7.7.4 + typescript: 5.8.3 + webpack: 5.104.1(webpack-cli@6.0.1) + + ts-loader@9.4.4(typescript@5.8.3)(webpack@5.104.1): + dependencies: + chalk: 4.1.2 + enhanced-resolve: 5.20.0 + micromatch: 4.0.8 + semver: 7.7.4 + typescript: 5.8.3 + webpack: 5.104.1(webpack-cli@5.1.4) + + ts-loader@9.5.0(typescript@5.8.3)(webpack@5.104.1): + dependencies: + chalk: 4.1.2 + enhanced-resolve: 5.20.0 + micromatch: 4.0.8 + semver: 7.7.4 + source-map: 0.7.6 + typescript: 5.8.3 + webpack: 5.104.1(webpack-cli@5.1.4) + + ts-loader@9.5.2(typescript@5.8.3)(webpack@5.104.1): + dependencies: + chalk: 4.1.2 + enhanced-resolve: 5.20.0 + micromatch: 4.0.8 + semver: 7.7.4 + source-map: 0.7.6 + typescript: 5.8.3 + webpack: 5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) + + ts-loader@9.5.4(typescript@5.8.3)(webpack@5.104.1): dependencies: chalk: 4.1.2 enhanced-resolve: 5.20.0 @@ -50810,7 +57536,7 @@ snapshots: semver: 7.7.4 source-map: 0.7.6 typescript: 5.8.3 - webpack: 5.105.4(webpack-cli@5.1.4) + webpack: 5.104.1(webpack-cli@6.0.1) ts-mixer@6.0.4: {} @@ -50844,14 +57570,35 @@ snapshots: optionalDependencies: '@swc/core': 1.15.18(@swc/helpers@0.5.19) - ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.35)(typescript@5.8.3): + ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.21)(typescript@5.8.3): + dependencies: + '@cspotcode/source-map-support': 0.8.1 + '@tsconfig/node10': 1.0.12 + '@tsconfig/node12': 1.0.11 + '@tsconfig/node14': 1.0.3 + '@tsconfig/node16': 1.0.4 + '@types/node': 22.15.21 + acorn: 8.16.0 + acorn-walk: 8.3.5 + arg: 4.1.3 + create-require: 1.1.1 + diff: 8.0.3 + make-error: 1.3.6 + typescript: 5.8.3 + v8-compile-cache-lib: 3.0.1 + yn: 3.1.1 + optionalDependencies: + '@swc/core': 1.15.18(@swc/helpers@0.5.19) + optional: true + + ts-node@10.9.2(@swc/core@1.15.18(@swc/helpers@0.5.19))(@types/node@22.15.24)(typescript@5.8.3): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.12 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 22.15.35 + '@types/node': 22.15.24 acorn: 8.16.0 acorn-walk: 8.3.5 arg: 4.1.3 @@ -50865,9 +57612,9 @@ snapshots: '@swc/core': 1.15.18(@swc/helpers@0.5.19) optional: true - ts-pnp@1.2.0(typescript@4.9.5): + ts-pnp@1.2.0(typescript@4.9.4): optionalDependencies: - typescript: 4.9.5 + typescript: 4.9.4 ts-pnp@1.2.0(typescript@5.8.3): optionalDependencies: @@ -50893,15 +57640,15 @@ snapshots: minimist: 1.2.8 strip-bom: 3.0.0 - tsdx@0.14.1(@types/babel__core@7.20.5)(@types/node@22.15.35)(jiti@2.6.1): + tsdx@0.14.1(@types/babel__core@7.20.5)(@types/node@22.15.21)(jiti@2.6.1): dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.27.1 '@babel/helper-module-imports': 7.28.6 '@babel/parser': 7.29.0 - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.27.7) - '@babel/preset-env': 7.27.2(@babel/core@7.27.7) + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.27.1) + '@babel/preset-env': 7.27.2(@babel/core@7.27.1) '@babel/traverse': 7.29.0 - '@rollup/plugin-babel': 5.3.1(@babel/core@7.27.7)(@types/babel__core@7.20.5)(rollup@1.32.1) + '@rollup/plugin-babel': 5.3.1(@babel/core@7.27.1)(@types/babel__core@7.20.5)(rollup@1.32.1) '@rollup/plugin-commonjs': 11.1.0(rollup@1.32.1) '@rollup/plugin-json': 4.1.0(rollup@1.32.1) '@rollup/plugin-node-resolve': 9.0.0(rollup@1.32.1) @@ -50912,10 +57659,10 @@ snapshots: ansi-escapes: 4.3.2 asyncro: 3.0.0 babel-eslint: 10.1.0(eslint@9.39.4(jiti@2.6.1)) - babel-plugin-annotate-pure-calls: 0.4.0(@babel/core@7.27.7) - babel-plugin-dev-expression: 0.2.3(@babel/core@7.27.7) + babel-plugin-annotate-pure-calls: 0.4.0(@babel/core@7.27.1) + babel-plugin-dev-expression: 0.2.3(@babel/core@7.27.1) babel-plugin-macros: 2.8.0 - babel-plugin-polyfill-regenerator: 0.0.4(@babel/core@7.27.7) + babel-plugin-polyfill-regenerator: 0.0.4(@babel/core@7.27.1) babel-plugin-transform-rename-import: 2.3.0 camelcase: 6.3.0 chalk: 4.1.2 @@ -50941,7 +57688,7 @@ snapshots: progress-estimator: 0.2.2 regenerator-runtime: 0.13.11 rollup: 1.32.1 - rollup-plugin-sourcemaps: 0.6.3(@types/node@22.15.35)(rollup@1.32.1) + rollup-plugin-sourcemaps: 0.6.3(@types/node@22.15.21)(rollup@1.32.1) rollup-plugin-terser: 5.3.1(rollup@1.32.1) rollup-plugin-typescript2: 0.27.3(rollup@1.32.1)(typescript@3.9.10) sade: 1.8.1 @@ -50964,14 +57711,23 @@ snapshots: tslib@2.0.1: {} + tslib@2.1.0: {} + + tslib@2.5.0: {} + tslib@2.8.1: {} tslint-config-prettier@1.18.0: {} - tslint-react-hooks@2.2.2(tslint@6.1.3(typescript@4.9.5))(typescript@4.9.5): + tslint-react-hooks@2.2.2(tslint@6.1.3(typescript@4.2.4))(typescript@4.2.4): + dependencies: + tslint: 6.1.3(typescript@4.2.4) + typescript: 4.2.4 + + tslint-react-hooks@2.2.2(tslint@6.1.3(typescript@4.9.4))(typescript@4.9.4): dependencies: - tslint: 6.1.3(typescript@4.9.5) - typescript: 4.9.5 + tslint: 6.1.3(typescript@4.9.4) + typescript: 4.9.4 tslint-react-hooks@2.2.2(tslint@6.1.3(typescript@5.8.3))(typescript@5.8.3): dependencies: @@ -50984,17 +57740,17 @@ snapshots: tsutils: 2.29.0(typescript@5.8.3) typescript: 5.8.3 - tslint-react@4.2.0(tslint@6.1.3(typescript@4.9.5))(typescript@4.9.5): + tslint-react@4.2.0(tslint@6.1.3(typescript@4.9.4))(typescript@4.9.4): dependencies: - tslint: 6.1.3(typescript@4.9.5) - tsutils: 3.21.0(typescript@4.9.5) - typescript: 4.9.5 + tslint: 6.1.3(typescript@4.9.4) + tsutils: 3.21.0(typescript@4.9.4) + typescript: 4.9.4 - tslint-react@5.0.0(tslint@6.1.3(typescript@4.9.5))(typescript@4.9.5): + tslint-react@5.0.0(tslint@6.1.3(typescript@4.2.4))(typescript@4.2.4): dependencies: - tslint: 6.1.3(typescript@4.9.5) - tsutils: 3.21.0(typescript@4.9.5) - typescript: 4.9.5 + tslint: 6.1.3(typescript@4.2.4) + tsutils: 3.21.0(typescript@4.2.4) + typescript: 4.2.4 tslint-react@5.0.0(tslint@6.1.3(typescript@5.8.3))(typescript@5.8.3): dependencies: @@ -51011,7 +57767,7 @@ snapshots: diff: 8.0.3 glob: 7.2.3 js-yaml: 4.1.1 - minimatch: 3.1.5 + minimatch: 3.1.4 mkdirp: 0.5.6 resolve: 1.6.0 semver: 5.7.2 @@ -51019,7 +57775,7 @@ snapshots: tsutils: 2.29.0(typescript@5.8.3) typescript: 5.8.3 - tslint@6.1.3(typescript@4.9.5): + tslint@6.1.3(typescript@4.2.4): dependencies: '@babel/code-frame': 7.29.0 builtin-modules: 1.1.1 @@ -51028,13 +57784,30 @@ snapshots: diff: 8.0.3 glob: 7.2.3 js-yaml: 4.1.1 - minimatch: 3.1.5 + minimatch: 3.1.4 + mkdirp: 0.5.6 + resolve: 1.22.11 + semver: 5.7.2 + tslib: 1.14.1 + tsutils: 2.29.0(typescript@4.2.4) + typescript: 4.2.4 + + tslint@6.1.3(typescript@4.9.4): + dependencies: + '@babel/code-frame': 7.29.0 + builtin-modules: 1.1.1 + chalk: 2.4.2 + commander: 2.20.3 + diff: 8.0.3 + glob: 7.2.3 + js-yaml: 4.1.1 + minimatch: 3.1.4 mkdirp: 0.5.6 resolve: 1.22.11 semver: 5.7.2 tslib: 1.14.1 - tsutils: 2.29.0(typescript@4.9.5) - typescript: 4.9.5 + tsutils: 2.29.0(typescript@4.9.4) + typescript: 4.9.4 tslint@6.1.3(typescript@5.8.3): dependencies: @@ -51045,7 +57818,7 @@ snapshots: diff: 8.0.3 glob: 7.2.3 js-yaml: 4.1.1 - minimatch: 3.1.5 + minimatch: 3.1.4 mkdirp: 0.5.6 resolve: 1.22.11 semver: 5.7.2 @@ -51053,10 +57826,15 @@ snapshots: tsutils: 2.29.0(typescript@5.8.3) typescript: 5.8.3 - tsutils@2.29.0(typescript@4.9.5): + tsutils@2.29.0(typescript@4.2.4): + dependencies: + tslib: 1.14.1 + typescript: 4.2.4 + + tsutils@2.29.0(typescript@4.9.4): dependencies: tslib: 1.14.1 - typescript: 4.9.5 + typescript: 4.9.4 tsutils@2.29.0(typescript@5.8.3): dependencies: @@ -51068,10 +57846,15 @@ snapshots: tslib: 1.14.1 typescript: 3.9.10 - tsutils@3.21.0(typescript@4.9.5): + tsutils@3.21.0(typescript@4.2.4): dependencies: tslib: 1.14.1 - typescript: 4.9.5 + typescript: 4.2.4 + + tsutils@3.21.0(typescript@4.9.4): + dependencies: + tslib: 1.14.1 + typescript: 4.9.4 tsutils@3.21.0(typescript@5.8.3): dependencies: @@ -51118,6 +57901,8 @@ snapshots: argparse: 2.0.1 pako: 1.0.11 + tty-browserify@0.0.0: {} + tunnel-agent@0.6.0: dependencies: safe-buffer: 5.2.1 @@ -51218,7 +58003,9 @@ snapshots: typescript@3.9.10: {} - typescript@4.9.5: {} + typescript@4.2.4: {} + + typescript@4.9.4: {} typescript@5.8.3: {} @@ -51235,6 +58022,13 @@ snapshots: commander: 2.13.0 source-map: 0.6.1 + uglify-js@2.8.29: + dependencies: + source-map: 0.5.7 + yargs: 3.10.0 + optionalDependencies: + uglify-to-browserify: 1.0.2 + uglify-js@3.19.3: {} uglify-js@3.4.10: @@ -51242,18 +58036,30 @@ snapshots: commander: 2.19.0 source-map: 0.6.1 - uglifyjs-webpack-plugin@1.2.5(webpack@5.105.4): + uglify-to-browserify@1.0.2: + optional: true + + uglifyjs-webpack-plugin@0.4.6(webpack@3.8.1): + dependencies: + source-map: 0.5.7 + uglify-js: 2.8.29 + webpack: 3.8.1 + webpack-sources: 1.4.3 + + uglifyjs-webpack-plugin@1.2.5(webpack@3.8.1): dependencies: cacache: 10.0.4 find-cache-dir: 1.0.0 schema-utils: 0.4.7 - serialize-javascript: 7.0.4 + serialize-javascript: 7.0.3 source-map: 0.6.1 uglify-es: 3.3.9 - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) + webpack: 3.8.1 webpack-sources: 1.4.3 worker-farm: 1.7.0 + uint8array-extras@1.5.0: {} + unbox-primitive@1.1.0: dependencies: call-bound: 1.0.4 @@ -51303,7 +58109,7 @@ snapshots: is-buffer: 2.0.5 is-plain-obj: 4.1.0 trough: 2.2.0 - vfile: 6.0.3 + vfile: 5.3.7 unified@11.0.5: dependencies: @@ -51322,7 +58128,7 @@ snapshots: is-buffer: 2.0.5 is-plain-obj: 2.1.0 trough: 1.0.5 - vfile: 6.0.3 + vfile: 4.2.1 union@0.5.0: dependencies: @@ -51340,6 +58146,8 @@ snapshots: dependencies: unique-slug: 3.0.0 + unique-names-generator@4.7.1: {} + unique-slug@2.0.2: dependencies: imurmurhash: 0.1.4 @@ -51362,6 +58170,11 @@ snapshots: unist-builder@2.0.3: {} + unist-util-find-after@5.0.0: + dependencies: + '@types/unist': 3.0.3 + unist-util-is: 6.0.1 + unist-util-generated@1.1.6: {} unist-util-is@4.1.0: {} @@ -51392,10 +58205,23 @@ snapshots: dependencies: unist-util-visit: 2.0.3 + unist-util-remove-position@5.0.0: + dependencies: + '@types/unist': 3.0.3 + unist-util-visit: 5.1.0 + unist-util-remove@2.1.0: dependencies: unist-util-is: 4.1.0 + unist-util-stringify-position@2.0.3: + dependencies: + '@types/unist': 2.0.11 + + unist-util-stringify-position@3.0.3: + dependencies: + '@types/unist': 2.0.11 + unist-util-stringify-position@4.0.0: dependencies: '@types/unist': 3.0.3 @@ -51450,6 +58276,8 @@ snapshots: acorn: 8.16.0 webpack-virtual-modules: 0.6.2 + unquote@1.1.1: {} + unraw@3.0.0: {} unrs-resolver@1.11.1: @@ -51502,10 +58330,12 @@ snapshots: dependencies: bluebird: 3.7.2 duplexer2: 0.1.4 - fs-extra: 11.3.4 + fs-extra: 11.3.0 graceful-fs: 4.2.11 node-int64: 0.4.0 + upath@1.2.0: {} + upath@2.0.1: {} update-browserslist-db@1.2.3(browserslist@4.28.1): @@ -51539,30 +58369,39 @@ snapshots: url-join@4.0.1: {} - url-loader@0.6.2(file-loader@1.1.5(webpack@5.105.4)): + url-loader@0.6.2(file-loader@1.1.5(webpack@3.8.1)): dependencies: - file-loader: 1.1.5(webpack@5.105.4) + file-loader: 1.1.5(webpack@3.8.1) loader-utils: 1.4.2 mime: 1.6.0 schema-utils: 0.3.0 - url-loader@4.1.1(file-loader@6.2.0(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))))(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))): + url-loader@4.1.1(file-loader@6.2.0(webpack@4.47.0(webpack-cli@4.10.0)))(webpack@4.47.0(webpack-cli@4.10.0)): + dependencies: + loader-utils: 2.0.4 + mime-types: 2.1.35 + schema-utils: 3.3.0 + webpack: 4.47.0(webpack-cli@4.10.0) + optionalDependencies: + file-loader: 6.2.0(webpack@4.47.0(webpack-cli@4.10.0)) + + url-loader@4.1.1(file-loader@6.2.0(webpack@4.47.0))(webpack@4.47.0): dependencies: loader-utils: 2.0.4 mime-types: 2.1.35 schema-utils: 3.3.0 - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19)) + webpack: 4.47.0 optionalDependencies: - file-loader: 6.2.0(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))) + file-loader: 6.2.0(webpack@4.47.0) - url-loader@4.1.1(file-loader@6.2.0(webpack@5.105.4))(webpack@5.105.4): + url-loader@4.1.1(file-loader@6.2.0(webpack@5.104.1))(webpack@4.47.0(webpack-cli@6.0.1)): dependencies: loader-utils: 2.0.4 mime-types: 2.1.35 schema-utils: 3.3.0 - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) + webpack: 4.47.0(webpack-cli@6.0.1) optionalDependencies: - file-loader: 6.2.0(webpack@5.105.4) + file-loader: 6.2.0(webpack@5.104.1) url-parse-lax@1.0.0: dependencies: @@ -51675,6 +58514,10 @@ snapshots: dependencies: inherits: 2.0.3 + util@0.11.1: + dependencies: + inherits: 2.0.3 + util@0.12.5: dependencies: inherits: 2.0.4 @@ -51737,38 +58580,61 @@ snapshots: vfile-location@4.1.0: dependencies: '@types/unist': 2.0.11 - vfile: 6.0.3 + vfile: 5.3.7 vfile-location@5.0.3: dependencies: '@types/unist': 3.0.3 vfile: 6.0.3 + vfile-message@2.0.4: + dependencies: + '@types/unist': 2.0.11 + unist-util-stringify-position: 2.0.3 + + vfile-message@3.1.4: + dependencies: + '@types/unist': 2.0.11 + unist-util-stringify-position: 3.0.3 + vfile-message@4.0.3: dependencies: '@types/unist': 3.0.3 unist-util-stringify-position: 4.0.0 + vfile@4.2.1: + dependencies: + '@types/unist': 2.0.11 + is-buffer: 2.0.5 + unist-util-stringify-position: 2.0.3 + vfile-message: 2.0.4 + + vfile@5.3.7: + dependencies: + '@types/unist': 2.0.11 + is-buffer: 2.0.5 + unist-util-stringify-position: 3.0.3 + vfile-message: 3.1.4 + vfile@6.0.3: dependencies: '@types/unist': 3.0.3 vfile-message: 4.0.3 - vite@6.4.1(@types/node@22.15.35)(jiti@2.6.1)(sass@1.98.0)(terser@5.46.0)(yaml@2.8.2): + vite@6.0.7(@types/node@22.15.24)(jiti@2.6.1)(sass@1.89.0)(terser@5.46.0)(yaml@2.8.0): dependencies: - esbuild: 0.25.12 - fdir: 6.5.0(picomatch@4.0.3) - picomatch: 4.0.3 - postcss: 8.5.8 - rollup: 4.59.0 - tinyglobby: 0.2.15 + esbuild: 0.24.2 + postcss: 8.5.4 + rollup: 4.41.0 optionalDependencies: - '@types/node': 22.15.35 + '@types/node': 22.15.24 fsevents: 2.3.3 jiti: 2.6.1 - sass: 1.98.0 + sass: 1.89.0 terser: 5.46.0 - yaml: 2.8.2 + yaml: 2.8.0 + + vm-browserify@1.1.2: {} vscode-debugadapter-testsupport@1.51.0: dependencies: @@ -51790,18 +58656,18 @@ snapshots: monaco-page-objects: 3.14.1(selenium-webdriver@4.41.0)(typescript@5.8.3) selenium-webdriver: 4.41.0 - vscode-extension-tester@5.10.0(mocha@10.8.2)(typescript@5.8.3): + vscode-extension-tester@5.10.0(mocha@10.2.0)(typescript@5.8.3): dependencies: '@types/selenium-webdriver': 4.35.5 '@vscode/vsce': 2.32.0 commander: 11.1.0 compare-versions: 6.1.1 - fs-extra: 11.3.4 + fs-extra: 11.3.0 glob: 10.5.0 got: 13.0.0 hpagent: 1.2.0 js-yaml: 4.1.1 - mocha: 10.8.2 + mocha: 10.2.0 monaco-page-objects: 3.14.1(selenium-webdriver@4.41.0)(typescript@5.8.3) sanitize-filename: 1.6.3 selenium-webdriver: 4.41.0 @@ -51810,14 +58676,11 @@ snapshots: unzipper: 0.10.14 vscode-extension-tester-locators: 3.12.2(monaco-page-objects@3.14.1(selenium-webdriver@4.41.0)(typescript@5.8.3))(selenium-webdriver@4.41.0) transitivePeerDependencies: - - bare-abort-controller - - bare-buffer - bufferutil - - react-native-b4a - supports-color - utf-8-validate - vscode-extension-tester@8.14.1(mocha@11.7.5)(typescript@5.8.3): + vscode-extension-tester@8.14.1(mocha@11.4.0)(typescript@5.8.3): dependencies: '@redhat-developer/locators': 1.19.1(@redhat-developer/page-objects@1.19.1(selenium-webdriver@4.41.0)(typescript@5.8.3))(selenium-webdriver@4.41.0) '@redhat-developer/page-objects': 1.19.1(selenium-webdriver@4.41.0)(typescript@5.8.3) @@ -51827,7 +58690,34 @@ snapshots: commander: 13.1.0 compare-versions: 6.1.1 find-up: 7.0.0 - fs-extra: 11.3.4 + fs-extra: 11.3.0 + glob: 11.1.0 + got: 14.4.7 + hpagent: 1.2.0 + js-yaml: 4.1.1 + mocha: 11.4.0 + sanitize-filename: 1.6.3 + selenium-webdriver: 4.41.0 + targz: 1.0.1 + typescript: 5.8.3 + unzipper: 0.12.3 + transitivePeerDependencies: + - bufferutil + - monocart-coverage-reports + - supports-color + - utf-8-validate + + vscode-extension-tester@8.14.1(mocha@11.5.0)(typescript@5.8.3): + dependencies: + '@redhat-developer/locators': 1.19.1(@redhat-developer/page-objects@1.19.1(selenium-webdriver@4.41.0)(typescript@5.8.3))(selenium-webdriver@4.41.0) + '@redhat-developer/page-objects': 1.19.1(selenium-webdriver@4.41.0)(typescript@5.8.3) + '@types/selenium-webdriver': 4.35.5 + '@vscode/vsce': 3.7.1 + c8: 10.1.3 + commander: 13.1.0 + compare-versions: 6.1.1 + find-up: 7.0.0 + fs-extra: 11.3.0 glob: 11.1.0 got: 14.4.7 hpagent: 1.2.0 @@ -51839,11 +58729,8 @@ snapshots: typescript: 5.8.3 unzipper: 0.12.3 transitivePeerDependencies: - - bare-abort-controller - - bare-buffer - bufferutil - monocart-coverage-reports - - react-native-b4a - supports-color - utf-8-validate @@ -51857,19 +58744,19 @@ snapshots: vscode-languageclient@7.0.0: dependencies: - minimatch: 3.1.5 + minimatch: 3.1.4 semver: 7.7.4 vscode-languageserver-protocol: 3.16.0 vscode-languageclient@8.1.0: dependencies: - minimatch: 5.1.9 + minimatch: 5.1.8 semver: 7.7.4 vscode-languageserver-protocol: 3.17.3 vscode-languageclient@9.0.1: dependencies: - minimatch: 5.1.9 + minimatch: 5.1.8 semver: 7.7.4 vscode-languageserver-protocol: 3.17.5 @@ -51925,9 +58812,11 @@ snapshots: transitivePeerDependencies: - supports-color + vscode-uri@3.0.8: {} + vscode-uri@3.1.0: {} - vscode-ws-jsonrpc@3.5.0: + vscode-ws-jsonrpc@3.4.0: dependencies: vscode-jsonrpc: 8.2.1 @@ -51959,6 +58848,19 @@ snapshots: watch@0.10.0: {} + watchpack-chokidar2@2.0.1: + dependencies: + chokidar: 2.1.8 + optional: true + + watchpack@1.7.5: + dependencies: + graceful-fs: 4.2.11 + neo-async: 2.6.2 + optionalDependencies: + chokidar: 3.6.0 + watchpack-chokidar2: 2.0.1 + watchpack@2.5.1: dependencies: glob-to-regexp: 0.4.1 @@ -52000,10 +58902,10 @@ snapshots: webidl-conversions@7.0.0: {} - webpack-cli@4.10.0(webpack-dev-server@5.2.3)(webpack@5.105.4): + webpack-cli@4.10.0(webpack-dev-server@5.2.3)(webpack@5.104.1): dependencies: '@discoveryjs/json-ext': 0.5.7 - '@webpack-cli/configtest': 1.2.0(webpack-cli@4.10.0)(webpack@5.105.4) + '@webpack-cli/configtest': 1.2.0(webpack-cli@4.10.0)(webpack@5.104.1) '@webpack-cli/info': 1.5.0(webpack-cli@4.10.0) '@webpack-cli/serve': 1.7.0(webpack-cli@4.10.0)(webpack-dev-server@5.2.3) colorette: 2.0.20 @@ -52013,15 +58915,15 @@ snapshots: import-local: 3.2.0 interpret: 2.2.0 rechoir: 0.7.1 - webpack: 5.105.4(webpack-cli@4.10.0) + webpack: 5.104.1(webpack-cli@4.10.0) webpack-merge: 5.10.0 optionalDependencies: - webpack-dev-server: 5.2.3(webpack-cli@4.10.0)(webpack@5.105.4) + webpack-dev-server: 5.2.3(webpack-cli@4.10.0)(webpack@5.104.1) - webpack-cli@4.10.0(webpack@5.105.4): + webpack-cli@4.10.0(webpack@5.104.1): dependencies: '@discoveryjs/json-ext': 0.5.7 - '@webpack-cli/configtest': 1.2.0(webpack-cli@4.10.0)(webpack@5.105.4) + '@webpack-cli/configtest': 1.2.0(webpack-cli@4.10.0)(webpack@5.104.1) '@webpack-cli/info': 1.5.0(webpack-cli@4.10.0) '@webpack-cli/serve': 1.7.0(webpack-cli@4.10.0) colorette: 2.0.20 @@ -52031,15 +58933,15 @@ snapshots: import-local: 3.2.0 interpret: 2.2.0 rechoir: 0.7.1 - webpack: 5.105.4(webpack-cli@4.10.0) + webpack: 5.104.1(webpack-cli@4.10.0) webpack-merge: 5.10.0 - webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.105.4): + webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1): dependencies: '@discoveryjs/json-ext': 0.5.7 - '@webpack-cli/configtest': 2.1.1(webpack-cli@5.1.4)(webpack@5.105.4) - '@webpack-cli/info': 2.0.2(webpack-cli@5.1.4)(webpack@5.105.4) - '@webpack-cli/serve': 2.0.5(webpack-cli@5.1.4)(webpack-dev-server@5.2.3)(webpack@5.105.4) + '@webpack-cli/configtest': 2.1.1(webpack-cli@5.1.4)(webpack@5.104.1) + '@webpack-cli/info': 2.0.2(webpack-cli@5.1.4)(webpack@5.104.1) + '@webpack-cli/serve': 2.0.5(webpack-cli@5.1.4)(webpack-dev-server@5.2.3)(webpack@5.104.1) colorette: 2.0.20 commander: 10.0.1 cross-spawn: 7.0.6 @@ -52048,17 +58950,17 @@ snapshots: import-local: 3.2.0 interpret: 3.1.1 rechoir: 0.8.0 - webpack: 5.105.4(webpack-cli@5.1.4) + webpack: 5.104.1(webpack-cli@5.1.4) webpack-merge: 5.10.0 optionalDependencies: - webpack-dev-server: 5.2.3(webpack-cli@5.1.4)(webpack@5.105.4) + webpack-dev-server: 5.2.3(webpack-cli@5.1.4)(webpack@5.104.1) - webpack-cli@5.1.4(webpack@5.105.4): + webpack-cli@5.1.4(webpack@5.104.1): dependencies: '@discoveryjs/json-ext': 0.5.7 - '@webpack-cli/configtest': 2.1.1(webpack-cli@5.1.4)(webpack@5.105.4) - '@webpack-cli/info': 2.0.2(webpack-cli@5.1.4)(webpack@5.105.4) - '@webpack-cli/serve': 2.0.5(webpack-cli@5.1.4)(webpack@5.105.4) + '@webpack-cli/configtest': 2.1.1(webpack-cli@5.1.4)(webpack@5.104.1) + '@webpack-cli/info': 2.0.2(webpack-cli@5.1.4)(webpack@5.104.1) + '@webpack-cli/serve': 2.0.5(webpack-cli@5.1.4)(webpack@5.104.1) colorette: 2.0.20 commander: 10.0.1 cross-spawn: 7.0.6 @@ -52067,15 +58969,15 @@ snapshots: import-local: 3.2.0 interpret: 3.1.1 rechoir: 0.8.0 - webpack: 5.105.4(webpack-cli@5.1.4) + webpack: 5.104.1(webpack-cli@5.1.4) webpack-merge: 5.10.0 - webpack-cli@6.0.1(webpack-dev-server@5.2.3)(webpack@5.105.4): + webpack-cli@6.0.1(webpack-dev-server@5.2.3)(webpack@5.104.1): dependencies: '@discoveryjs/json-ext': 0.6.3 - '@webpack-cli/configtest': 3.0.1(webpack-cli@6.0.1)(webpack@5.105.4) - '@webpack-cli/info': 3.0.1(webpack-cli@6.0.1)(webpack@5.105.4) - '@webpack-cli/serve': 3.0.1(webpack-cli@6.0.1)(webpack-dev-server@5.2.3)(webpack@5.105.4) + '@webpack-cli/configtest': 3.0.1(webpack-cli@6.0.1)(webpack@5.104.1) + '@webpack-cli/info': 3.0.1(webpack-cli@6.0.1)(webpack@5.104.1) + '@webpack-cli/serve': 3.0.1(webpack-cli@6.0.1)(webpack-dev-server@5.2.3)(webpack@5.104.1) colorette: 2.0.20 commander: 12.1.0 cross-spawn: 7.0.6 @@ -52084,17 +58986,17 @@ snapshots: import-local: 3.2.0 interpret: 3.1.1 rechoir: 0.8.0 - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) + webpack: 5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) webpack-merge: 6.0.1 optionalDependencies: - webpack-dev-server: 5.2.3(webpack-cli@6.0.1)(webpack@5.105.4) + webpack-dev-server: 5.2.3(webpack-cli@6.0.1)(webpack@5.104.1) - webpack-cli@6.0.1(webpack@5.105.4): + webpack-cli@6.0.1(webpack@5.104.1): dependencies: '@discoveryjs/json-ext': 0.6.3 - '@webpack-cli/configtest': 3.0.1(webpack-cli@6.0.1)(webpack@5.105.4) - '@webpack-cli/info': 3.0.1(webpack-cli@6.0.1)(webpack@5.105.4) - '@webpack-cli/serve': 3.0.1(webpack-cli@6.0.1)(webpack@5.105.4) + '@webpack-cli/configtest': 3.0.1(webpack-cli@6.0.1)(webpack@5.104.1) + '@webpack-cli/info': 3.0.1(webpack-cli@6.0.1)(webpack@5.104.1) + '@webpack-cli/serve': 3.0.1(webpack-cli@6.0.1)(webpack@5.104.1) colorette: 2.0.20 commander: 12.1.0 cross-spawn: 7.0.6 @@ -52103,28 +59005,46 @@ snapshots: import-local: 3.2.0 interpret: 3.1.1 rechoir: 0.8.0 - webpack: 5.105.4(webpack-cli@6.0.1) + webpack: 5.104.1(webpack-cli@6.0.1) webpack-merge: 6.0.1 - webpack-dev-middleware@3.7.3(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))): + webpack-dev-middleware@1.12.2(webpack@3.8.1): + dependencies: + memory-fs: 0.4.1 + mime: 1.6.0 + path-is-absolute: 1.0.1 + range-parser: 1.2.1 + time-stamp: 2.2.0 + webpack: 3.8.1 + + webpack-dev-middleware@3.7.3(webpack@4.47.0(webpack-cli@4.10.0)): + dependencies: + memory-fs: 0.4.1 + mime: 2.6.0 + mkdirp: 0.5.6 + range-parser: 1.2.1 + webpack: 4.47.0(webpack-cli@4.10.0) + webpack-log: 2.0.0 + + webpack-dev-middleware@3.7.3(webpack@4.47.0(webpack-cli@6.0.1)): dependencies: memory-fs: 0.4.1 mime: 2.6.0 mkdirp: 0.5.6 range-parser: 1.2.1 - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19)) + webpack: 4.47.0(webpack-cli@6.0.1) webpack-log: 2.0.0 - webpack-dev-middleware@3.7.3(webpack@5.105.4): + webpack-dev-middleware@3.7.3(webpack@4.47.0): dependencies: memory-fs: 0.4.1 mime: 2.6.0 mkdirp: 0.5.6 range-parser: 1.2.1 - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) + webpack: 4.47.0 webpack-log: 2.0.0 - webpack-dev-middleware@4.3.0(webpack@5.105.4): + webpack-dev-middleware@4.3.0(webpack@5.104.1): dependencies: colorette: 1.4.0 mem: 8.1.1 @@ -52132,9 +59052,9 @@ snapshots: mime-types: 2.1.35 range-parser: 1.2.1 schema-utils: 3.3.0 - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) + webpack: 5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) - webpack-dev-middleware@6.1.3(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))(esbuild@0.25.12)): + webpack-dev-middleware@6.1.3(webpack@5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))(esbuild@0.25.12)): dependencies: colorette: 2.0.20 memfs: 3.5.3 @@ -52142,9 +59062,9 @@ snapshots: range-parser: 1.2.1 schema-utils: 4.3.3 optionalDependencies: - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))(esbuild@0.25.12) + webpack: 5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))(esbuild@0.25.12) - webpack-dev-middleware@6.1.3(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))): + webpack-dev-middleware@6.1.3(webpack@5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))): dependencies: colorette: 2.0.20 memfs: 3.5.3 @@ -52152,9 +59072,9 @@ snapshots: range-parser: 1.2.1 schema-utils: 4.3.3 optionalDependencies: - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19)) + webpack: 5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19)) - webpack-dev-middleware@6.1.3(webpack@5.105.4): + webpack-dev-middleware@6.1.3(webpack@5.104.1): dependencies: colorette: 2.0.20 memfs: 3.5.3 @@ -52162,9 +59082,9 @@ snapshots: range-parser: 1.2.1 schema-utils: 4.3.3 optionalDependencies: - webpack: 5.105.4(webpack-cli@5.1.4) + webpack: 5.104.1(webpack-cli@5.1.4) - webpack-dev-middleware@7.4.5(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))): + webpack-dev-middleware@7.4.5(webpack@5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))): dependencies: colorette: 2.0.20 memfs: 4.56.11 @@ -52173,10 +59093,10 @@ snapshots: range-parser: 1.2.1 schema-utils: 4.3.3 optionalDependencies: - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19)) + webpack: 5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19)) optional: true - webpack-dev-middleware@7.4.5(webpack@5.105.4): + webpack-dev-middleware@7.4.5(webpack@5.104.1): dependencies: colorette: 2.0.20 memfs: 4.56.11 @@ -52185,49 +59105,40 @@ snapshots: range-parser: 1.2.1 schema-utils: 4.3.3 optionalDependencies: - webpack: 5.105.4(webpack-cli@5.1.4) + webpack: 5.104.1(webpack-cli@5.1.4) - webpack-dev-server@5.2.3(webpack-cli@4.10.0)(webpack@5.105.4): + webpack-dev-server@2.11.3(webpack@3.8.1): dependencies: - '@types/bonjour': 3.5.13 - '@types/connect-history-api-fallback': 1.5.4 - '@types/express': 4.17.25 - '@types/express-serve-static-core': 4.19.8 - '@types/serve-index': 1.9.4 - '@types/serve-static': 1.15.10 - '@types/sockjs': 0.3.36 - '@types/ws': 8.18.1 - ansi-html-community: 0.0.8 - bonjour-service: 1.3.0 - chokidar: 3.6.0 - colorette: 2.0.20 + ansi-html: 0.0.7 + array-includes: 3.1.9 + bonjour: 3.5.1 + chokidar: 2.1.8 compression: 1.8.1 - connect-history-api-fallback: 2.0.0 + connect-history-api-fallback: 1.6.0 + debug: 3.2.7 + del: 3.0.0 express: 4.22.1 - graceful-fs: 4.2.11 - http-proxy-middleware: 2.0.9(@types/express@4.17.25) - ipaddr.js: 2.3.0 - launch-editor: 2.13.1 - open: 10.2.0 - p-retry: 6.2.1 - schema-utils: 4.3.3 - selfsigned: 5.5.0 + html-entities: 1.4.0 + http-proxy-middleware: 0.17.4(debug@3.2.7) + import-local: 1.0.0 + internal-ip: 1.2.0 + ip: 1.1.9 + killable: 1.0.1 + loglevel: 1.9.2 + opn: 5.5.0 + portfinder: 1.0.37(supports-color@5.5.0) + selfsigned: 1.10.14 serve-index: 1.9.2 - sockjs: 0.3.24 - spdy: 4.0.2 - webpack-dev-middleware: 7.4.5(webpack@5.105.4) - ws: 8.19.0 - optionalDependencies: - webpack: 5.105.4(webpack-cli@4.10.0) - webpack-cli: 4.10.0(webpack-dev-server@5.2.3)(webpack@5.105.4) - transitivePeerDependencies: - - bufferutil - - debug - - supports-color - - utf-8-validate - optional: true + sockjs: 0.3.19 + sockjs-client: 1.1.5 + spdy: 3.4.7 + strip-ansi: 3.0.1 + supports-color: 5.5.0 + webpack: 3.8.1 + webpack-dev-middleware: 1.12.2(webpack@3.8.1) + yargs: 6.6.0 - webpack-dev-server@5.2.3(webpack-cli@5.1.4)(webpack@5.105.4): + webpack-dev-server@5.2.3(webpack-cli@4.10.0)(webpack@5.104.1): dependencies: '@types/bonjour': 3.5.13 '@types/connect-history-api-fallback': 1.5.4 @@ -52255,18 +59166,19 @@ snapshots: serve-index: 1.9.2 sockjs: 0.3.24 spdy: 4.0.2 - webpack-dev-middleware: 7.4.5(webpack@5.105.4) + webpack-dev-middleware: 7.4.5(webpack@5.104.1) ws: 8.19.0 optionalDependencies: - webpack: 5.105.4(webpack-cli@5.1.4) - webpack-cli: 5.1.4(webpack-dev-server@5.2.3)(webpack@5.105.4) + webpack: 5.104.1(webpack-cli@4.10.0) + webpack-cli: 4.10.0(webpack-dev-server@5.2.3)(webpack@5.104.1) transitivePeerDependencies: - bufferutil - debug - supports-color - utf-8-validate + optional: true - webpack-dev-server@5.2.3(webpack-cli@6.0.1)(webpack@5.105.4): + webpack-dev-server@5.2.3(webpack-cli@5.1.4)(webpack@5.104.1): dependencies: '@types/bonjour': 3.5.13 '@types/connect-history-api-fallback': 1.5.4 @@ -52294,18 +59206,18 @@ snapshots: serve-index: 1.9.2 sockjs: 0.3.24 spdy: 4.0.2 - webpack-dev-middleware: 7.4.5(webpack@5.105.4) + webpack-dev-middleware: 7.4.5(webpack@5.104.1) ws: 8.19.0 optionalDependencies: - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) - webpack-cli: 6.0.1(webpack-dev-server@5.2.3)(webpack@5.105.4) + webpack: 5.104.1(webpack-cli@5.1.4) + webpack-cli: 5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1) transitivePeerDependencies: - bufferutil - debug - supports-color - utf-8-validate - webpack-dev-server@5.2.3(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))): + webpack-dev-server@5.2.3(webpack-cli@6.0.1)(webpack@5.104.1): dependencies: '@types/bonjour': 3.5.13 '@types/connect-history-api-fallback': 1.5.4 @@ -52333,18 +59245,18 @@ snapshots: serve-index: 1.9.2 sockjs: 0.3.24 spdy: 4.0.2 - webpack-dev-middleware: 7.4.5(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))) + webpack-dev-middleware: 7.4.5(webpack@5.104.1) ws: 8.19.0 optionalDependencies: - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19)) + webpack: 5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) + webpack-cli: 6.0.1(webpack-dev-server@5.2.3)(webpack@5.104.1) transitivePeerDependencies: - bufferutil - debug - supports-color - utf-8-validate - optional: true - webpack-dev-server@5.2.3(webpack@5.105.4): + webpack-dev-server@5.2.3(webpack@5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))): dependencies: '@types/bonjour': 3.5.13 '@types/connect-history-api-fallback': 1.5.4 @@ -52372,23 +59284,28 @@ snapshots: serve-index: 1.9.2 sockjs: 0.3.24 spdy: 4.0.2 - webpack-dev-middleware: 7.4.5(webpack@5.105.4) + webpack-dev-middleware: 7.4.5(webpack@5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))) ws: 8.19.0 optionalDependencies: - webpack: 5.105.4(webpack-cli@5.1.4) + webpack: 5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19)) transitivePeerDependencies: - bufferutil - debug - supports-color - utf-8-validate + optional: true + + webpack-filter-warnings-plugin@1.2.1(webpack@4.47.0(webpack-cli@4.10.0)): + dependencies: + webpack: 4.47.0(webpack-cli@4.10.0) - webpack-filter-warnings-plugin@1.2.1(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))): + webpack-filter-warnings-plugin@1.2.1(webpack@4.47.0(webpack-cli@6.0.1)): dependencies: - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19)) + webpack: 4.47.0(webpack-cli@6.0.1) - webpack-filter-warnings-plugin@1.2.1(webpack@5.105.4): + webpack-filter-warnings-plugin@1.2.1(webpack@4.47.0): dependencies: - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) + webpack: 4.47.0 webpack-hot-middleware@2.26.1: dependencies: @@ -52401,11 +59318,11 @@ snapshots: ansi-colors: 3.2.4 uuid: 3.4.0 - webpack-manifest-plugin@1.3.2(webpack@5.105.4): + webpack-manifest-plugin@1.3.2(webpack@3.8.1): dependencies: fs-extra: 0.30.0 lodash: 4.17.23 - webpack: 5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1) + webpack: 3.8.1 webpack-merge@5.10.0: dependencies: @@ -52423,6 +59340,10 @@ snapshots: dependencies: filehound: 1.17.6 + webpack-permissions-plugin@1.0.9: + dependencies: + filehound: 1.17.6 + webpack-sources@1.4.3: dependencies: source-list-map: 2.0.1 @@ -52440,7 +59361,114 @@ snapshots: webpack-virtual-modules@0.6.2: {} - webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19)): + webpack@3.8.1: + dependencies: + acorn: 5.7.4 + acorn-dynamic-import: 2.0.2 + ajv: 5.5.2 + ajv-keywords: 2.1.1(ajv@5.5.2) + async: 2.6.4 + enhanced-resolve: 3.4.1 + escope: 3.6.0 + interpret: 1.4.0 + json-loader: 0.5.7 + json5: 0.5.1 + loader-runner: 2.4.0 + loader-utils: 1.4.2 + memory-fs: 0.4.1 + mkdirp: 0.5.6 + node-libs-browser: 2.2.1 + source-map: 0.5.7 + supports-color: 4.5.0 + tapable: 0.2.9 + uglifyjs-webpack-plugin: 0.4.6(webpack@3.8.1) + watchpack: 1.7.5 + webpack-sources: 1.4.3 + yargs: 8.0.2 + + webpack@4.47.0: + dependencies: + '@webassemblyjs/ast': 1.9.0 + '@webassemblyjs/helper-module-context': 1.9.0 + '@webassemblyjs/wasm-edit': 1.9.0 + '@webassemblyjs/wasm-parser': 1.9.0 + acorn: 6.4.2 + ajv: 6.14.0 + ajv-keywords: 3.5.2(ajv@6.14.0) + chrome-trace-event: 1.0.4 + enhanced-resolve: 4.5.0 + eslint-scope: 4.0.3 + json-parse-better-errors: 1.0.2 + loader-runner: 2.4.0 + loader-utils: 1.4.2 + memory-fs: 0.4.1 + micromatch: 4.0.8 + mkdirp: 0.5.6 + neo-async: 2.6.2 + node-libs-browser: 2.2.1 + schema-utils: 1.0.0 + tapable: 1.1.3 + terser-webpack-plugin: 1.4.6(webpack@4.47.0) + watchpack: 1.7.5 + webpack-sources: 1.4.3 + + webpack@4.47.0(webpack-cli@4.10.0): + dependencies: + '@webassemblyjs/ast': 1.9.0 + '@webassemblyjs/helper-module-context': 1.9.0 + '@webassemblyjs/wasm-edit': 1.9.0 + '@webassemblyjs/wasm-parser': 1.9.0 + acorn: 6.4.2 + ajv: 6.14.0 + ajv-keywords: 3.5.2(ajv@6.14.0) + chrome-trace-event: 1.0.4 + enhanced-resolve: 4.5.0 + eslint-scope: 4.0.3 + json-parse-better-errors: 1.0.2 + loader-runner: 2.4.0 + loader-utils: 1.4.2 + memory-fs: 0.4.1 + micromatch: 4.0.8 + mkdirp: 0.5.6 + neo-async: 2.6.2 + node-libs-browser: 2.2.1 + schema-utils: 1.0.0 + tapable: 1.1.3 + terser-webpack-plugin: 1.4.6(webpack@4.47.0(webpack-cli@4.10.0)) + watchpack: 1.7.5 + webpack-sources: 1.4.3 + optionalDependencies: + webpack-cli: 4.10.0(webpack-dev-server@5.2.3)(webpack@5.104.1) + + webpack@4.47.0(webpack-cli@6.0.1): + dependencies: + '@webassemblyjs/ast': 1.9.0 + '@webassemblyjs/helper-module-context': 1.9.0 + '@webassemblyjs/wasm-edit': 1.9.0 + '@webassemblyjs/wasm-parser': 1.9.0 + acorn: 6.4.2 + ajv: 6.14.0 + ajv-keywords: 3.5.2(ajv@6.14.0) + chrome-trace-event: 1.0.4 + enhanced-resolve: 4.5.0 + eslint-scope: 4.0.3 + json-parse-better-errors: 1.0.2 + loader-runner: 2.4.0 + loader-utils: 1.4.2 + memory-fs: 0.4.1 + micromatch: 4.0.8 + mkdirp: 0.5.6 + neo-async: 2.6.2 + node-libs-browser: 2.2.1 + schema-utils: 1.0.0 + tapable: 1.1.3 + terser-webpack-plugin: 1.4.6(webpack@4.47.0(webpack-cli@6.0.1)) + watchpack: 1.7.5 + webpack-sources: 1.4.3 + optionalDependencies: + webpack-cli: 6.0.1(webpack-dev-server@5.2.3)(webpack@5.104.1) + + webpack@5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19)): dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.8 @@ -52464,7 +59492,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 4.3.3 tapable: 2.3.0 - terser-webpack-plugin: 5.4.0(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))) + terser-webpack-plugin: 5.3.17(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack@5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))) watchpack: 2.5.1 webpack-sources: 3.3.4 transitivePeerDependencies: @@ -52472,7 +59500,7 @@ snapshots: - esbuild - uglify-js - webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))(esbuild@0.25.12): + webpack@5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))(esbuild@0.25.12): dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.8 @@ -52496,7 +59524,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 4.3.3 tapable: 2.3.0 - terser-webpack-plugin: 5.4.0(@swc/core@1.15.18(@swc/helpers@0.5.19))(esbuild@0.25.12)(webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))(esbuild@0.25.12)) + terser-webpack-plugin: 5.3.17(@swc/core@1.15.18(@swc/helpers@0.5.19))(esbuild@0.25.12)(webpack@5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))(esbuild@0.25.12)) watchpack: 2.5.1 webpack-sources: 3.3.4 transitivePeerDependencies: @@ -52504,7 +59532,7 @@ snapshots: - esbuild - uglify-js - webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@5.1.4): + webpack@5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@5.1.4): dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.8 @@ -52528,17 +59556,17 @@ snapshots: neo-async: 2.6.2 schema-utils: 4.3.3 tapable: 2.3.0 - terser-webpack-plugin: 5.4.0(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack@5.105.4) + terser-webpack-plugin: 5.3.17(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack@5.104.1) watchpack: 2.5.1 webpack-sources: 3.3.4 optionalDependencies: - webpack-cli: 5.1.4(webpack@5.105.4) + webpack-cli: 5.1.4(webpack@5.104.1) transitivePeerDependencies: - '@swc/core' - esbuild - uglify-js - webpack@5.105.4(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1): + webpack@5.104.1(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack-cli@6.0.1): dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.8 @@ -52562,17 +59590,17 @@ snapshots: neo-async: 2.6.2 schema-utils: 4.3.3 tapable: 2.3.0 - terser-webpack-plugin: 5.4.0(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack@5.105.4) + terser-webpack-plugin: 5.3.17(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack@5.104.1) watchpack: 2.5.1 webpack-sources: 3.3.4 optionalDependencies: - webpack-cli: 6.0.1(webpack-dev-server@5.2.3)(webpack@5.105.4) + webpack-cli: 6.0.1(webpack-dev-server@5.2.3)(webpack@5.104.1) transitivePeerDependencies: - '@swc/core' - esbuild - uglify-js - webpack@5.105.4(webpack-cli@4.10.0): + webpack@5.104.1(webpack-cli@4.10.0): dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.8 @@ -52596,17 +59624,17 @@ snapshots: neo-async: 2.6.2 schema-utils: 4.3.3 tapable: 2.3.0 - terser-webpack-plugin: 5.4.0(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack@5.105.4) + terser-webpack-plugin: 5.3.17(webpack@5.104.1) watchpack: 2.5.1 webpack-sources: 3.3.4 optionalDependencies: - webpack-cli: 4.10.0(webpack-dev-server@5.2.3)(webpack@5.105.4) + webpack-cli: 4.10.0(webpack-dev-server@5.2.3)(webpack@5.104.1) transitivePeerDependencies: - '@swc/core' - esbuild - uglify-js - webpack@5.105.4(webpack-cli@5.1.4): + webpack@5.104.1(webpack-cli@5.1.4): dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.8 @@ -52630,17 +59658,17 @@ snapshots: neo-async: 2.6.2 schema-utils: 4.3.3 tapable: 2.3.0 - terser-webpack-plugin: 5.4.0(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack@5.105.4) + terser-webpack-plugin: 5.3.17(webpack@5.104.1) watchpack: 2.5.1 webpack-sources: 3.3.4 optionalDependencies: - webpack-cli: 5.1.4(webpack@5.105.4) + webpack-cli: 5.1.4(webpack@5.104.1) transitivePeerDependencies: - '@swc/core' - esbuild - uglify-js - webpack@5.105.4(webpack-cli@6.0.1): + webpack@5.104.1(webpack-cli@6.0.1): dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.8 @@ -52664,11 +59692,11 @@ snapshots: neo-async: 2.6.2 schema-utils: 4.3.3 tapable: 2.3.0 - terser-webpack-plugin: 5.4.0(@swc/core@1.15.18(@swc/helpers@0.5.19))(webpack@5.105.4) + terser-webpack-plugin: 5.3.17(webpack@5.104.1) watchpack: 2.5.1 webpack-sources: 3.3.4 optionalDependencies: - webpack-cli: 6.0.1(webpack@5.105.4) + webpack-cli: 6.0.1(webpack@5.104.1) transitivePeerDependencies: - '@swc/core' - esbuild @@ -52802,6 +59830,8 @@ snapshots: wildcard@2.0.1: {} + window-size@0.1.0: {} + winston-transport@4.6.0: dependencies: logform: 2.7.0 @@ -52824,6 +59854,8 @@ snapshots: word-wrap@1.2.5: {} + wordwrap@0.0.2: {} + wordwrap@1.0.0: {} worker-farm@1.7.0: @@ -52834,6 +59866,8 @@ snapshots: dependencies: microevent.ts: 0.1.1 + workerpool@6.2.1: {} + workerpool@6.5.1: {} workerpool@9.3.4: {} @@ -52976,22 +60010,34 @@ snapshots: yaml@1.10.2: {} - yaml@2.8.2: {} + yaml@2.6.0: {} + + yaml@2.8.0: {} yargs-parser@18.1.3: dependencies: camelcase: 5.3.1 decamelize: 1.2.0 + yargs-parser@20.2.4: {} + yargs-parser@20.2.9: {} yargs-parser@21.1.1: {} + yargs-parser@4.2.1: + dependencies: + camelcase: 3.0.0 + yargs-parser@5.0.1: dependencies: camelcase: 3.0.0 object.assign: 4.1.7 + yargs-parser@7.0.0: + dependencies: + camelcase: 4.1.0 + yargs-parser@8.1.0: dependencies: camelcase: 4.1.0 @@ -53052,6 +60098,29 @@ snapshots: y18n: 5.0.8 yargs-parser: 21.1.1 + yargs@3.10.0: + dependencies: + camelcase: 1.2.1 + cliui: 2.1.0 + decamelize: 1.2.0 + window-size: 0.1.0 + + yargs@6.6.0: + dependencies: + camelcase: 3.0.0 + cliui: 3.2.0 + decamelize: 1.2.0 + get-caller-file: 1.0.3 + os-locale: 1.4.0 + read-pkg-up: 1.0.1 + require-directory: 2.1.1 + require-main-filename: 1.0.1 + set-blocking: 2.0.0 + string-width: 1.0.2 + which-module: 1.0.0 + y18n: 3.2.2 + yargs-parser: 4.2.1 + yargs@7.1.2: dependencies: camelcase: 3.0.0 @@ -53068,7 +60137,23 @@ snapshots: y18n: 3.2.2 yargs-parser: 5.0.1 - yarn@1.22.22: {} + yargs@8.0.2: + dependencies: + camelcase: 4.1.0 + cliui: 3.2.0 + decamelize: 1.2.0 + get-caller-file: 1.0.3 + os-locale: 2.1.0 + read-pkg-up: 2.0.0 + require-directory: 2.1.1 + require-main-filename: 1.0.1 + set-blocking: 2.0.0 + string-width: 2.1.1 + which-module: 2.0.1 + y18n: 3.2.2 + yargs-parser: 7.0.0 + + yarn@1.22.19: {} yauzl@2.10.0: dependencies: @@ -53103,21 +60188,31 @@ snapshots: zenscroll@4.0.2: {} - zod-to-json-schema@3.25.1(zod@3.25.76): + zod-to-json-schema@3.25.1(zod@4.1.11): dependencies: - zod: 3.25.76 + zod: 4.1.11 + + zod@3.22.4: {} zod@3.25.76: {} zod@4.1.11: {} - zustand@5.0.11(@types/react@18.2.0)(react@18.2.0)(use-sync-external-store@1.6.0(react@18.2.0)): + zod@4.1.8: {} + + zustand@5.0.4(@types/react@18.2.0)(react@18.2.0)(use-sync-external-store@1.6.0(react@18.2.0)): + optionalDependencies: + '@types/react': 18.2.0 + react: 18.2.0 + use-sync-external-store: 1.6.0(react@18.2.0) + + zustand@5.0.5(@types/react@18.2.0)(react@18.2.0)(use-sync-external-store@1.6.0(react@18.2.0)): optionalDependencies: '@types/react': 18.2.0 react: 18.2.0 use-sync-external-store: 1.6.0(react@18.2.0) - zustand@5.0.11(@types/react@18.2.0)(react@19.1.0)(use-sync-external-store@1.6.0(react@19.1.0)): + zustand@5.0.5(@types/react@18.2.0)(react@19.1.0)(use-sync-external-store@1.6.0(react@19.1.0)): optionalDependencies: '@types/react': 18.2.0 react: 19.1.0 diff --git a/common/config/rush/repo-state.json b/common/config/rush/repo-state.json index a757ff003cb..0e7b144099d 100644 --- a/common/config/rush/repo-state.json +++ b/common/config/rush/repo-state.json @@ -1,4 +1,4 @@ // DO NOT MODIFY THIS FILE MANUALLY BUT DO COMMIT IT. It is generated and used by Rush. { - "preferredVersionsHash": "44915d299b520d57a3ac8e149acc86ae20a338f9" + "preferredVersionsHash": "bf21a9e8fbc5a3846fb05b4fa0859e0917b2202f" } diff --git a/common/scripts/install-git-hooks.js b/common/scripts/install-git-hooks.js new file mode 100755 index 00000000000..b4d1aac6e41 --- /dev/null +++ b/common/scripts/install-git-hooks.js @@ -0,0 +1,41 @@ +#!/usr/bin/env node + +/** + * This script initializes Husky git hooks after Rush installation. + * It should be run as part of the postRushInstall event hook. + */ + +const { execSync } = require('child_process'); +const path = require('path'); +const fs = require('fs'); + +const repoRoot = path.resolve(__dirname, '../..'); +const huskyPath = path.join(repoRoot, 'node_modules', 'husky', 'bin.js'); + +console.log('Initializing Husky git hooks...'); + +// Check if husky is installed +if (!fs.existsSync(huskyPath)) { + console.log('Installing root dependencies first...'); + try { + execSync('pnpm install --ignore-workspace', { + cwd: repoRoot, + stdio: 'inherit' + }); + } catch (error) { + console.error('Failed to install root dependencies:', error.message); + process.exit(1); + } +} + +// Now initialize husky +try { + execSync(`node "${huskyPath}" install`, { + cwd: repoRoot, + stdio: 'inherit' + }); + console.log('✅ Husky git hooks initialized successfully'); +} catch (error) { + console.error('❌ Failed to initialize Husky:', error.message); + process.exit(1); +} diff --git a/common/scripts/validate-package-versions.js b/common/scripts/validate-package-versions.js new file mode 100755 index 00000000000..573ec2bdcfe --- /dev/null +++ b/common/scripts/validate-package-versions.js @@ -0,0 +1,132 @@ +#!/usr/bin/env node + +/** + * This script validates that all package.json files use strict versioning + * (no ^ or ~ prefixes) for dependencies. + * + * Usage: node validate-package-versions.js [files...] + * + * Exit codes: + * - 0: All package.json files use strict versioning + * - 1: One or more package.json files have non-strict versions + */ + +const fs = require('fs'); +const path = require('path'); + +/** + * Validates if a version string uses strict versioning (no ^ or ~ prefixes) + */ +function isStrictVersion(version) { + if (!version || typeof version !== 'string') { + return true; // Skip non-string values + } + + // Allow workspace protocol, file protocol, git urls, etc. + if (version.startsWith('workspace:') || + version.startsWith('file:') || + version.startsWith('link:') || + version.startsWith('git+') || + version.startsWith('http://') || + version.startsWith('https://') || + version.startsWith('npm:') || + version === '*' || + version === 'latest') { + return true; + } + + // Check for ^ or ~ prefixes + return !version.startsWith('^') && !version.startsWith('~'); +} + +/** + * Validates dependencies in a package.json object + */ +function validateDependencies(packageJson, filePath) { + const errors = []; + const sections = [ + 'dependencies', + 'devDependencies', + 'peerDependencies', + 'optionalDependencies' + ]; + + for (const section of sections) { + if (packageJson[section]) { + for (const [pkg, version] of Object.entries(packageJson[section])) { + if (!isStrictVersion(version)) { + errors.push({ + file: filePath, + section, + package: pkg, + version + }); + } + } + } + } + + return errors; +} + +/** + * Main function to validate package.json files + */ +function main() { + const args = process.argv.slice(2); + + // Filter to only process package.json files + const packageJsonFiles = args.filter(file => { + return file.endsWith('package.json') && fs.existsSync(file); + }); + + if (packageJsonFiles.length === 0) { + console.log('No package.json files to validate.'); + process.exit(0); + } + + let allErrors = []; + + for (const file of packageJsonFiles) { + try { + const content = fs.readFileSync(file, 'utf8'); + const packageJson = JSON.parse(content); + const errors = validateDependencies(packageJson, file); + allErrors = allErrors.concat(errors); + } catch (error) { + console.error(`Error processing ${file}: ${error.message}`); + process.exit(1); + } + } + + if (allErrors.length > 0) { + console.error('\n❌ Found non-strict version declarations:\n'); + + // Group errors by file + const errorsByFile = {}; + for (const error of allErrors) { + if (!errorsByFile[error.file]) { + errorsByFile[error.file] = []; + } + errorsByFile[error.file].push(error); + } + + for (const [file, errors] of Object.entries(errorsByFile)) { + console.error(`📄 ${file}:`); + for (const error of errors) { + console.error(` - ${error.section}: "${error.package}": "${error.version}"`); + } + console.error(''); + } + + console.error('âš ī¸ All dependencies must use strict versioning (without ^ or ~ prefixes).'); + console.error(' Replace versions like "^1.2.3" or "~1.2.3" with "1.2.3".\n'); + + process.exit(1); + } + + console.log('✅ All package.json files use strict versioning.'); + process.exit(0); +} + +main(); diff --git a/docs/git-hooks.md b/docs/git-hooks.md new file mode 100644 index 00000000000..399d65480d1 --- /dev/null +++ b/docs/git-hooks.md @@ -0,0 +1,139 @@ +# Git Pre-Commit Hooks + +This repository uses [Husky](https://typicode.github.io/husky/) to manage git hooks and enforce code quality standards before commits. + +## Current Checks + +### Strict Version Validation + +All `package.json` files must use **strict versioning** for npm dependencies. This means: + +- ❌ **Not allowed**: `^1.2.3`, `~1.2.3` (caret and tilde prefixes) +- ✅ **Allowed**: `1.2.3` (exact version) + +Special version formats that are allowed: +- `workspace:*`, `workspace:^`, `workspace:~` (pnpm workspace protocol) +- `file:../path/to/package` (local file dependencies) +- `link:../path/to/package` (symlinked packages) +- `npm:package@version` (npm alias) +- `git+https://...` (git URLs) +- `http://...`, `https://...` (tarball URLs) +- `*`, `latest` (special version keywords) + +### How It Works + +When you attempt to commit changes that include modifications to any `package.json` file, the pre-commit hook will: + +1. Identify all staged `package.json` files +2. Validate that all dependency versions use strict versioning +3. Block the commit if non-strict versions are found +4. Display which files and dependencies need to be fixed + +## Example + +### ❌ This will be blocked: + +```json +{ + "dependencies": { + "express": "^4.18.0", + "lodash": "~4.17.21" + } +} +``` + +### ✅ This will pass: + +```json +{ + "dependencies": { + "express": "4.18.0", + "lodash": "4.17.21" + } +} +``` + +## Manual Validation + +You can manually run the validation script at any time: + +```bash +node common/scripts/validate-package-versions.js path/to/package.json +``` + +Or validate multiple files: + +```bash +node common/scripts/validate-package-versions.js workspaces/*/package.json +``` + +## Bypassing the Hook (Not Recommended) + +In exceptional circumstances, you can bypass the pre-commit hook: + +```bash +git commit --no-verify -m "your message" +``` + +**Warning**: Bypassing hooks should only be done when absolutely necessary and with good reason. + +## Setup for Contributors + +The hooks are automatically installed when you run: + +```bash +pnpm install +``` + +This triggers the `prepare` script which initializes Husky. + +## Troubleshooting + +### Hook not running + +If the pre-commit hook isn't running: + +1. Ensure you're in a git repository: `git status` +2. Check that Husky is installed: `ls .husky` +3. Reinstall hooks: `pnpm run prepare` +4. Verify git hooks are enabled: `git config core.hooksPath` + +### Permission issues + +If you get permission errors: + +```bash +chmod +x .husky/pre-commit +chmod +x common/scripts/validate-package-versions.js +``` + +## Adding More Checks + +To add additional pre-commit checks: + +1. Edit `.husky/pre-commit` +2. Add your validation logic +3. Ensure the script exits with code 1 on failure, 0 on success + +Example: + +```bash +#!/usr/bin/env sh +. "$(dirname -- "$0")/_/husky.sh" + +# Existing validation... + +# Add new validation +echo "🔍 Running lint checks..." +pnpm run lint +if [ $? -ne 0 ]; then + echo "❌ Lint failed" + exit 1 +fi +``` + +## Related Tools + +- [Husky](https://typicode.github.io/husky/) - Git hooks management +- [Rush](https://rushjs.io/) - Monorepo build orchestrator +- [pnpm](https://pnpm.io/) - Package manager diff --git a/package.json b/package.json index 8a972dd8c3d..818f530ff3e 100644 --- a/package.json +++ b/package.json @@ -1,68 +1,39 @@ { - "name": "ballerina-vscode-extensions-mono-repo", - "pnpm": { - "overrides": { - "@modelcontextprotocol/sdk": "^1.26.0", - "@isaacs/brace-expansion": "5.0.2", - "axios": "^1.13.5", - "http-proxy": "^1.18.1", - "prismjs": "^1.30.0", - "webpack": "^5.94.0", - "webpack-dev-server": "^5.2.1", - "braces": "^3.0.3", - "js-yaml": "^4.1.1", - "micromatch": "^4.0.8", - "esbuild": "^0.25.0", - "xmldom": "npm:@xmldom/xmldom@^0.8.10", - "@eslint/plugin-kit": "^0.3.4", - "on-headers": "^1.1.0", - "form-data": "^4.0.4", - "tmp": "^0.2.4", - "express": "^4.22.1", - "qs": "^6.14.2", - "diff": "^8.0.3", - "undici": "^7.18.2", - "lodash": "4.17.23", - "hono": "^4.12.4", - "@hono/node-server": "^1.19.10", - "fast-xml-parser": "5.3.8", - "@tootallnate/once": "^3.0.1", - "dompurify": "^3.3.2", - "express-rate-limit": "^8.2.2", - "immutable": "^3.8.3", - "serialize-javascript": "^7.0.3" - } - }, - "scripts": { - "prebuild": "pnpm run init-submodules && rush install", - "init-submodules": "git submodule update --init --recursive && git submodule foreach git pull origin master", - "build:wso2PlatformWebviews": "rush build -o @wso2/wso2-platform-vscode-webviews", - "build:choreoWebviews": "rush build -o @wso2/choreo-vscode-webviews", - "build:dataMapper": "rush build -o @wso2/ballerina-data-mapper", - "build:graphql": "rush build -o graphqlview-lib", - "build:lcd": "rush build -o @wso2/ballerina-low-code-diagram", - "build:visualizer": "rush build -o @wso2/ballerina-visualizer", - "build:overview": "rush build -o @wso2/overview-view", - "build:lcec": "rush build -o @wso2/ballerina-low-code-edtior-commons", - "build:lcTests": "rush build -o @wso2/ballerina-low-code-integration-tests", - "build:lceUi": "rush build -o @wso2/ballerina-low-code-edtior-ui-components", - "build:syntaxTree": "rush build -o @wso2/syntax-tree", - "build:se": "rush build -o @wso2/ballerina-statement-editor", - "build:perf": "rush build -o perf", - "build:designDiagram": "rush build -o project-design-diagrams", - "build:swagger": "rush build -o swaggerview-lib", - "build:variableView": "rush build -o variableview-lib", - "build:choreoExtention": "rush build -o choreo", - "build:wso2-platform-ext": "rush build -o wso2-platform", - "build:ballerinExtension": "rush build -o ballerina", - "build:fhirToolsExtension": "rush build -o fhir-tools", - "build": "rush build", - "build:ballerina": "rush build --to ballerina", - "build:choreo": "rush build --to choreo", - "build:wso2-platform": "rush build --to wso2-platform", - "build:mi": "rush build --to micro-integrator", - "build:api-designer": "rush build --to api-designer", - "setup-e2e-test-debug": "workspaces/ballerina/ballerina-extension/node_modules/vscode-extension-tester/out/cli.js get-vscode && workspaces/ballerina/ballerina-extension/node_modules/vscode-extension-tester/out/cli.js get-chromedriver", - "ui-toolkit-stories": "npm run --prefix ./workspaces/common-libs/ui-toolkit serve-storybook" - } + "name": "ballerina-vscode-extensions-mono-repo", + "scripts": { + "prebuild": "pnpm run init-submodules && rush install", + "init-submodules": "git submodule update --init --recursive && git submodule foreach git pull origin master", + "build:wso2PlatformWebviews": "rush build -o @wso2/wso2-platform-vscode-webviews", + "build:choreoWebviews": "rush build -o @wso2/choreo-vscode-webviews", + "build:dataMapper": "rush build -o @wso2/ballerina-data-mapper", + "build:graphql": "rush build -o graphqlview-lib", + "build:lcd": "rush build -o @wso2/ballerina-low-code-diagram", + "build:visualizer": "rush build -o @wso2/ballerina-visualizer", + "build:overview": "rush build -o @wso2/overview-view", + "build:lcec": "rush build -o @wso2/ballerina-low-code-edtior-commons", + "build:lcTests": "rush build -o @wso2/ballerina-low-code-integration-tests", + "build:lceUi": "rush build -o @wso2/ballerina-low-code-edtior-ui-components", + "build:syntaxTree": "rush build -o @wso2/syntax-tree", + "build:se": "rush build -o @wso2/ballerina-statement-editor", + "build:perf": "rush build -o perf", + "build:designDiagram": "rush build -o project-design-diagrams", + "build:swagger": "rush build -o swaggerview-lib", + "build:variableView": "rush build -o variableview-lib", + "build:choreoExtention": "rush build -o choreo", + "build:wso2-platform-ext": "rush build -o wso2-platform", + "build:ballerinExtension": "rush build -o ballerina", + "build:fhirToolsExtension": "rush build -o fhir-tools", + "build": "rush build", + "build:ballerina": "rush build --to ballerina", + "build:choreo": "rush build --to choreo", + "build:wso2-platform": "rush build --to wso2-platform", + "build:mi": "rush build --to micro-integrator", + "build:api-designer": "rush build --to api-designer", + "setup-e2e-test-debug": "workspaces/ballerina/ballerina-extension/node_modules/vscode-extension-tester/out/cli.js get-vscode && workspaces/ballerina/ballerina-extension/node_modules/vscode-extension-tester/out/cli.js get-chromedriver", + "ui-toolkit-stories": "npm run --prefix ./workspaces/common-libs/ui-toolkit serve-storybook", + "prepare": "husky" + }, + "devDependencies": { + "husky": "9.1.7" + } } diff --git a/rush.bi.json b/rush.bi.json new file mode 100644 index 00000000000..d933aef11c4 --- /dev/null +++ b/rush.bi.json @@ -0,0 +1,174 @@ +/** + * rush.bi.json — Ballerina Integrator Rush configuration + * + * This file is the canonical Rush configuration for Ballerina Integrator–specific + * setups. It contains only the projects required for the BI development workflow. + */ + + { + "$schema": "https://developer.microsoft.com/json-schemas/rush/v5/rush.schema.json", + "rushVersion": "5.155.1", + "pnpmVersion": "10.11.0", + "nodeSupportedVersionRange": ">=20.0.0 <23.0.0", + "projectFolderMinDepth": 2, + "projectFolderMaxDepth": 3, + "gitPolicy": {}, + "repository": {}, + "eventHooks": { + "preRushInstall": [], + "postRushInstall": [ + "node common/scripts/install-git-hooks.js" + ], + "preRushBuild": [ + "npm run init-submodules" + ], + "postRushBuild": [ + "cd workspaces/ballerina/ballerina-extension && pnpm run copyVSIXToRoot", + "cd workspaces/wso2-platform/wso2-platform-extension && pnpm run copyVSIXToRoot", + "cd workspaces/bi/bi-extension && pnpm run copyVSIXToRoot" + ] + }, + "variants": [], + "projects": [ + { + "packageName": "@wso2/font-wso2-vscode", + "projectFolder": "workspaces/common-libs/font-wso2-vscode", + "versionPolicyName": "font-wso2-vscode" + }, + { + "packageName": "@wso2/ui-toolkit", + "projectFolder": "workspaces/common-libs/ui-toolkit", + "versionPolicyName": "ui-toolkit" + }, + { + "packageName": "@wso2/service-designer", + "projectFolder": "workspaces/common-libs/service-designer", + "versionPolicyName": "service-designer" + }, + { + "packageName": "@wso2/wso2-platform-core", + "projectFolder": "workspaces/wso2-platform/wso2-platform-core", + "versionPolicyName": "wso2-platform-extension" + }, + { + "packageName": "wso2-platform", + "projectFolder": "workspaces/wso2-platform/wso2-platform-extension", + "versionPolicyName": "wso2-platform-extension" + }, + { + "packageName": "@wso2/wso2-platform-vscode-webviews", + "projectFolder": "workspaces/wso2-platform/wso2-platform-webviews", + "versionPolicyName": "wso2-platform-extension" + }, + { + "packageName": "@wso2/playwright-vscode-tester", + "projectFolder": "workspaces/common-libs/playwright-vscode-tester", + "versionPolicyName": "choreo-extension" + }, + { + "packageName": "graphqlview-lib", + "projectFolder": "workspaces/ballerina/graphql", + "versionPolicyName": "ballerina-extension" + }, + { + "packageName": "@wso2/ballerina-graphql-design-diagram", + "projectFolder": "workspaces/ballerina/graphql-design-diagram", + "versionPolicyName": "ballerina-extension" + }, + { + "packageName": "@wso2/ballerina-low-code-diagram", + "projectFolder": "workspaces/ballerina/ballerina-low-code-diagram", + "versionPolicyName": "ballerina-extension" + }, + { + "packageName": "@wso2/ballerina-side-panel", + "projectFolder": "workspaces/ballerina/ballerina-side-panel", + "versionPolicyName": "ballerina-extension" + }, + { + "packageName": "@wso2/ballerina-core", + "projectFolder": "workspaces/ballerina/ballerina-core", + "versionPolicyName": "ballerina-extension" + }, + { + "packageName": "@wso2/ballerina-rpc-client", + "projectFolder": "workspaces/ballerina/ballerina-rpc-client", + "versionPolicyName": "ballerina-extension" + }, + { + "packageName": "@wso2/ballerina-visualizer", + "projectFolder": "workspaces/ballerina/ballerina-visualizer", + "versionPolicyName": "ballerina-extension" + }, + { + "packageName": "@wso2/trace-visualizer", + "projectFolder": "workspaces/ballerina/trace-visualizer", + "versionPolicyName": "ballerina-extension" + }, + { + "packageName": "@wso2/overview-view", + "projectFolder": "workspaces/ballerina/overview-view", + "versionPolicyName": "ballerina-extension" + }, + { + "packageName": "@wso2/ballerina-data-mapper", + "projectFolder": "workspaces/ballerina/data-mapper", + "versionPolicyName": "ballerina-extension" + }, + { + "packageName": "@wso2/persist-layer-diagram", + "projectFolder": "workspaces/ballerina/persist-layer-diagram", + "versionPolicyName": "ballerina-extension" + }, + { + "packageName": "@wso2/type-diagram", + "projectFolder": "workspaces/ballerina/type-diagram", + "versionPolicyName": "ballerina-extension" + }, + { + "packageName": "@wso2/ballerina-statement-editor", + "projectFolder": "workspaces/ballerina/statement-editor", + "versionPolicyName": "ballerina-extension" + }, + { + "packageName": "@wso2/syntax-tree", + "projectFolder": "workspaces/ballerina/syntax-tree", + "versionPolicyName": "ballerina-extension" + }, + { + "packageName": "ballerina", + "projectFolder": "workspaces/ballerina/ballerina-extension", + "versionPolicyName": "ballerina-extension" + }, + { + "packageName": "ballerina-integrator", + "projectFolder": "workspaces/bi/bi-extension", + "versionPolicyName": "ballerina-extension" + }, + { + "packageName": "@wso2/bi-diagram", + "projectFolder": "workspaces/ballerina/bi-diagram", + "versionPolicyName": "ballerina-extension" + }, + { + "packageName": "@wso2/sequence-diagram", + "projectFolder": "workspaces/ballerina/sequence-diagram", + "versionPolicyName": "ballerina-extension" + }, + { + "packageName": "@wso2/component-diagram", + "projectFolder": "workspaces/ballerina/component-diagram", + "versionPolicyName": "ballerina-extension" + }, + { + "packageName": "@wso2/record-creator", + "projectFolder": "workspaces/ballerina/record-creator", + "versionPolicyName": "ballerina-extension" + }, + { + "packageName": "@wso2/type-editor", + "projectFolder": "workspaces/ballerina/type-editor", + "versionPolicyName": "ballerina-extension" + } + ] +} diff --git a/rush.json b/rush.json index 33a7790dbd0..906772b44fa 100644 --- a/rush.json +++ b/rush.json @@ -232,7 +232,9 @@ /** * The list of shell commands to run after the Rush installation finishes */ - "postRushInstall": [], + "postRushInstall": [ + "node common/scripts/install-git-hooks.js" + ], /** * The list of shell commands to run before the Rush build command starts */ diff --git a/workspaces/api-designer/api-designer-core/package.json b/workspaces/api-designer/api-designer-core/package.json index ae549f7b49f..2bd6d2f016f 100644 --- a/workspaces/api-designer/api-designer-core/package.json +++ b/workspaces/api-designer/api-designer-core/package.json @@ -18,8 +18,8 @@ "eslint": "9.27.0" }, "dependencies": { - "@types/vscode-webview": "^1.57.3", - "vscode-messenger-common": "^0.4.5" + "@types/vscode-webview": "1.57.3", + "vscode-messenger-common": "0.4.5" }, "repository": { "type": "git", diff --git a/workspaces/api-designer/api-designer-extension/package.json b/workspaces/api-designer/api-designer-extension/package.json index 8913558fba7..7cf55d39eb9 100644 --- a/workspaces/api-designer/api-designer-extension/package.json +++ b/workspaces/api-designer/api-designer-extension/package.json @@ -98,44 +98,44 @@ "postbuild": "pnpm run copyVSIX" }, "devDependencies": { - "@types/vscode": "^1.81.0", + "@types/vscode": "1.81.0", "@types/node": "16.x", "@typescript-eslint/eslint-plugin": "8.32.1", "@typescript-eslint/parser": "8.32.1", "eslint": "9.27.0", "typescript": "5.8.3", - "ts-loader": "^9.4.4", - "webpack": "^5.88.2", - "webpack-cli": "^5.1.4", - "@vscode/test-electron": "^2.3.4", - "rimraf": "~5.0.5", - "@types/js-yaml": "~4.0.9" + "ts-loader": "9.4.4", + "webpack": "5.104.1", + "webpack-cli": "5.1.4", + "@vscode/test-electron": "2.3.4", + "rimraf": "5.0.5", + "@types/js-yaml": "4.0.9" }, "dependencies": { - "copyfiles": "^2.4.1", - "@vscode/vsce": "^3.7.0", - "vscode-messenger": "^0.4.5", - "vscode-messenger-common": "^0.4.5", + "copyfiles": "2.4.1", + "@vscode/vsce": "3.7.0", + "vscode-messenger": "0.4.5", + "vscode-messenger-common": "0.4.5", "@wso2/api-designer-core": "workspace:*", "@wso2/api-designer-rpc-client": "workspace:*", "@wso2/api-designer-visualizer": "workspace:*", "@wso2/font-wso2-vscode": "workspace:*", - "@types/xml2js": "~0.4.12", - "jsonix": "~3.0.0", + "@types/xml2js": "0.4.12", + "jsonix": "3.0.0", "lodash": "4.17.23", - "axios": "~1.12.0", - "@types/lodash": "~4.14.199", - "xstate": "^4.38.3", - "node-fetch": "~2.6.2", - "node-loader": "~2.0.0", + "axios": "1.13.5", + "@types/lodash": "4.14.199", + "xstate": "4.38.3", + "node-fetch": "2.6.7", + "node-loader": "2.0.0", "to-json-schema": "0.2.5", - "@babel/core": "^7.24.4", + "@babel/core": "7.24.4", "@types/json-schema": "7.0.15", "json-schema": "0.4.0", - "portfinder": "^1.0.32", - "cors-anywhere": "^0.4.4", + "portfinder": "1.0.32", + "cors-anywhere": "0.4.4", "@apidevtools/json-schema-ref-parser": "11.6.1", - "adm-zip": "~0.5.14", - "js-yaml": "~4.1.1" + "adm-zip": "0.5.14", + "js-yaml": "4.1.1" } } diff --git a/workspaces/api-designer/api-designer-rpc-client/package.json b/workspaces/api-designer/api-designer-rpc-client/package.json index e89db7812a1..29f80631861 100644 --- a/workspaces/api-designer/api-designer-rpc-client/package.json +++ b/workspaces/api-designer/api-designer-rpc-client/package.json @@ -20,9 +20,9 @@ "eslint": "9.27.0" }, "dependencies": { - "@types/vscode-webview": "^1.57.3", - "vscode-messenger-common": "^0.4.5", - "vscode-messenger-webview": "^0.4.5", + "@types/vscode-webview": "1.57.3", + "vscode-messenger-common": "0.4.5", + "vscode-messenger-webview": "0.4.5", "@wso2/api-designer-core": "workspace:*", "react": "18.2.0", "react-dom": "18.2.0" diff --git a/workspaces/api-designer/api-designer-visualizer/package.json b/workspaces/api-designer/api-designer-visualizer/package.json index 48eae5014a5..f1a0c8cb822 100644 --- a/workspaces/api-designer/api-designer-visualizer/package.json +++ b/workspaces/api-designer/api-designer-visualizer/package.json @@ -15,52 +15,52 @@ "author": "wso2", "license": "Apache-2.0", "dependencies": { - "@emotion/css": "^11.10.5", - "@emotion/react": "^11.9.3", - "@emotion/styled": "^11.11.0", - "@vscode/webview-ui-toolkit": "^1.2.0", + "@emotion/css": "11.10.5", + "@emotion/react": "11.9.3", + "@emotion/styled": "11.11.0", + "@vscode/webview-ui-toolkit": "1.2.0", "@wso2/api-designer-core": "workspace:*", "@wso2/api-designer-rpc-client": "workspace:*", "@wso2/ui-toolkit": "workspace:*", "react": "18.2.0", "@wso2/font-wso2-vscode": "workspace:*", "react-dom": "18.2.0", - "react-markdown": "~9.0.1", - "js-yaml": "~4.1.1", - "process": "~0.11.10", - "path": "~0.12.7", - "@hookform/resolvers": "~3.3.4", - "yup": "~1.4.0", + "react-markdown": "9.0.1", + "js-yaml": "4.1.1", + "process": "0.11.10", + "path": "0.12.7", + "@hookform/resolvers": "3.3.4", + "yup": "1.4.0", "react-hook-form": "7.56.4", "lodash": "4.17.23", - "@tanstack/react-query": "4.0.10", - "@tanstack/query-core": "^4.0.0-beta.1", - "@mdxeditor/editor": "~3.14.0" + "@tanstack/react-query": "5.77.1", + "@tanstack/query-core": "5.77.1", + "@mdxeditor/editor": "3.14.0" }, "devDependencies": { - "@storybook/addon-actions": "~7.4.0", - "@storybook/addon-essentials": "~7.4.0", - "@storybook/cli": "^7.6.10", - "@storybook/react": "~7.4.0", - "@storybook/react-webpack5": "~7.4.0", - "webpack": "~5.88.2", - "webpack-cli": "~5.1.4", - "webpack-dev-server": "~4.15.1", - "@babel/preset-typescript": "~7.22.11", - "@babel/plugin-syntax-flow": "~7.22.5", - "@types/lodash": "~4.14.198", - "@types/vscode-webview": "~1.57.2", - "@types/js-yaml": "~4.0.9", - "css-loader": "^5.2.7", - "sass-loader": "^13.2.0", - "source-map-loader": "^4.0.1", - "style-loader": "^1.3.0", - "ts-loader": "^9.5.0", + "@storybook/addon-actions": "7.4.0", + "@storybook/addon-essentials": "7.4.0", + "@storybook/cli": "7.6.10", + "@storybook/react": "7.4.0", + "@storybook/react-webpack5": "7.4.0", + "webpack": "5.104.1", + "webpack-cli": "5.1.4", + "webpack-dev-server": "5.2.3", + "@babel/preset-typescript": "7.22.11", + "@babel/plugin-syntax-flow": "7.22.5", + "@types/lodash": "4.14.198", + "@types/vscode-webview": "1.57.2", + "@types/js-yaml": "4.0.9", + "css-loader": "5.2.7", + "sass-loader": "13.2.0", + "source-map-loader": "4.0.1", + "style-loader": "1.3.0", + "ts-loader": "9.5.0", "typescript": "5.8.3", - "@types/node": "^20.10.6", + "@types/node": "20.10.6", "@types/react": "18.2.0", "@types/react-dom": "18.2.0", "@vscode/codicons": "0.0.44", - "copyfiles": "^2.4.1" + "copyfiles": "2.4.1" } } diff --git a/workspaces/api-designer/api-designer-visualizer/src/index.tsx b/workspaces/api-designer/api-designer-visualizer/src/index.tsx index 8d1f05837f3..763b183f9be 100644 --- a/workspaces/api-designer/api-designer-visualizer/src/index.tsx +++ b/workspaces/api-designer/api-designer-visualizer/src/index.tsx @@ -27,7 +27,7 @@ const queryClient = new QueryClient({ retry: false, refetchOnWindowFocus: false, staleTime: 1000, - cacheTime: 1000, + gcTime: 1000, }, }, }); diff --git a/workspaces/api-designer/api-designer-visualizer/webpack.config.js b/workspaces/api-designer/api-designer-visualizer/webpack.config.js index 0128d5dafcb..0e5a268a9e1 100644 --- a/workspaces/api-designer/api-designer-visualizer/webpack.config.js +++ b/workspaces/api-designer/api-designer-visualizer/webpack.config.js @@ -16,7 +16,8 @@ module.exports = { 'react': path.resolve(__dirname, 'node_modules/react'), 'react-dom': path.resolve(__dirname, 'node_modules/react-dom') }, - fallback: { 'process/browser': require.resolve('process/browser'), } + fallback: { 'process/browser': require.resolve('process/browser'), }, + fullySpecified: false }, module: { rules: [ @@ -25,6 +26,12 @@ module.exports = { loader: "ts-loader", exclude: '/node_modules/', }, + { + test: /\.m?js$/, + resolve: { + fullySpecified: false + } + }, { enforce: "pre", test: /\.js$/, diff --git a/workspaces/apk/apk-extension/package.json b/workspaces/apk/apk-extension/package.json index 970d889c9a1..6169eaccbf5 100644 --- a/workspaces/apk/apk-extension/package.json +++ b/workspaces/apk/apk-extension/package.json @@ -57,19 +57,20 @@ "copyVSIXToRoot": "copyfiles -f ./vsix/* ../../.." }, "devDependencies": { - "@types/glob": "^8.0.0", - "@types/mocha": "^10.0.1", - "@types/node": "^18.11.19", - "@types/vscode": "^1.63.0", + "@types/glob": "8.0.0", + "@types/minimatch": "5.1.2", + "@types/mocha": "10.0.1", + "@types/node": "18.11.19", + "@types/vscode": "1.63.0", "@typescript-eslint/eslint-plugin": "8.32.1", "@typescript-eslint/parser": "8.32.1", - "@vscode/test-electron": "^2.3.2", + "@vscode/test-electron": "2.3.2", "eslint": "9.27.0", - "glob": "^11.1.0", - "mocha": "^10.2.0", + "glob": "11.1.0", + "mocha": "10.2.0", "typescript": "5.8.3", - "copyfiles": "^2.4.1", - "@vscode/vsce": "^3.7.0" + "copyfiles": "2.4.1", + "@vscode/vsce": "3.7.0" } } diff --git a/workspaces/apk/apk-extension/tsconfig.json b/workspaces/apk/apk-extension/tsconfig.json index b695825b2c7..56baceb8850 100644 --- a/workspaces/apk/apk-extension/tsconfig.json +++ b/workspaces/apk/apk-extension/tsconfig.json @@ -6,6 +6,7 @@ "lib": [ "ES2020" ], + "skipLibCheck": true, "sourceMap": true, "rootDir": "src", "strict": true /* enable all strict type-checking options */ diff --git a/workspaces/ballerina/ballerina-core/package.json b/workspaces/ballerina/ballerina-core/package.json index e57eb2e1ec9..6cdc7184063 100644 --- a/workspaces/ballerina/ballerina-core/package.json +++ b/workspaces/ballerina/ballerina-core/package.json @@ -14,28 +14,28 @@ }, "dependencies": { "@wso2/syntax-tree": "workspace:*", - "vscode-languageserver-protocol": "^3.17.5", - "vscode-languageserver-types": "^3.17.5", - "vscode-messenger-common": "^0.5.1", - "vscode-ws-jsonrpc": "^3.4.0", - "isomorphic-ws": "^5.0.0", - "vscode-jsonrpc": "^8.2.1", - "@types/vscode-webview": "^1.57.3", - "handlebars": "~4.7.8", - "mousetrap": "^1.6.5", + "vscode-languageserver-protocol": "3.17.5", + "vscode-languageserver-types": "3.17.5", + "vscode-messenger-common": "0.5.1", + "vscode-ws-jsonrpc": "3.4.0", + "isomorphic-ws": "5.0.0", + "vscode-jsonrpc": "8.2.1", + "@types/vscode-webview": "1.57.3", + "handlebars": "4.7.8", + "mousetrap": "1.6.5", "react": "18.2.0", - "tree-kill": "^1.2.2", - "vscode-uri": "^3.0.8", - "@types/mousetrap": "~1.6.11", - "@types/ws": "^8.2.1" + "tree-kill": "1.2.2", + "vscode-uri": "3.0.8", + "@types/mousetrap": "1.6.11", + "@types/ws": "8.2.1" }, "devDependencies": { - "@types/node": "^22.15.21", - "@types/vscode": "^1.83.1", + "@types/node": "22.15.21", + "@types/vscode": "1.100.0", "@typescript-eslint/eslint-plugin": "8.32.1", "@typescript-eslint/parser": "8.32.1", "@types/react": "18.2.0", - "copyfiles": "^2.4.1", + "copyfiles": "2.4.1", "eslint": "9.27.0", "typescript": "5.8.3" }, diff --git a/workspaces/ballerina/ballerina-core/src/interfaces/bi.ts b/workspaces/ballerina/ballerina-core/src/interfaces/bi.ts index dc30f1f89da..d2d8f2462c9 100644 --- a/workspaces/ballerina/ballerina-core/src/interfaces/bi.ts +++ b/workspaces/ballerina/ballerina-core/src/interfaces/bi.ts @@ -154,7 +154,9 @@ export type FormFieldInputType = "TEXT" | "DM_JOIN_CLAUSE_RHS_EXPRESSION" | "RECORD_MAP_EXPRESSION" | "PROMPT" | - "SQL_QUERY"; + "SQL_QUERY" | + "CLAUSE_EXPRESSION" | + "SLIDER"; export interface BaseType { fieldType: FormFieldInputType; @@ -349,6 +351,7 @@ export interface ProjectStructure { projectName: string; projectPath?: string; projectTitle?: string; + isLibrary?: boolean; directoryMap: ProjectDirectoryMap; } @@ -465,8 +468,10 @@ export type FieldScope = "Global" | "Local" | "Object"; export type NodeKind = | "ACTION_OR_EXPRESSION" + | "AGENTS" | "AGENT" | "AGENT_CALL" + | "AGENT_RUN" | "ASSIGN" | "AUTOMATION" | "BODY" @@ -480,6 +485,7 @@ export type NodeKind = | "CONTINUE" | "DATA_MAPPER_CALL" | "DATA_MAPPER_DEFINITION" + | "DATA_MAPPER_CREATION" | "DRAFT" | "ELSE" | "EMPTY" @@ -492,6 +498,7 @@ export type NodeKind = | "FUNCTION" | "FUNCTION_CALL" | "FUNCTION_DEFINITION" + | "FUNCTION_CREATION" | "IF" | "INCLUDED_FIELD" | "LOCK" diff --git a/workspaces/ballerina/ballerina-core/src/interfaces/common.ts b/workspaces/ballerina/ballerina-core/src/interfaces/common.ts index dff221f99f2..68b6a2d1c5e 100644 --- a/workspaces/ballerina/ballerina-core/src/interfaces/common.ts +++ b/workspaces/ballerina/ballerina-core/src/interfaces/common.ts @@ -2,6 +2,7 @@ import { STNode } from "@wso2/syntax-tree"; import { FlowNode, RecordTypeField } from "./bi"; +import { MACHINE_VIEW } from ".."; /** * Copyright (c) 2025, WSO2 LLC. (https://www.wso2.com) All Rights Reserved. @@ -35,12 +36,17 @@ export enum SubPanelView { UNDEFINED = undefined, } -export enum DataMapperDisplayMode { +export enum EditorDisplayMode { NONE = "none", POPUP = "popup", VIEW = "view", } +export interface EditorConfig { + view: MACHINE_VIEW; + displayMode: EditorDisplayMode; +} + export interface DocumentIdentifier { uri: string; } diff --git a/workspaces/ballerina/ballerina-core/src/interfaces/constants.ts b/workspaces/ballerina/ballerina-core/src/interfaces/constants.ts index 41ed5834e5d..a0b7cf6ff8c 100644 --- a/workspaces/ballerina/ballerina-core/src/interfaces/constants.ts +++ b/workspaces/ballerina/ballerina-core/src/interfaces/constants.ts @@ -48,7 +48,9 @@ export const BI_COMMANDS = { ADD_DATA_MAPPER: 'BI.project-explorer.add-data-mapper', BI_EDIT_TEST_FUNCTION: 'BI.test.edit.function', BI_ADD_TEST_FUNCTION: 'BI.test.add.function', + BI_ADD_AI_EVALUATION: 'BI.test.add.ai.evaluation', BI_EDIT_TEST_FUNCTION_DEF: 'BI.test.edit.function.def', + BI_DELETE_TEST_FUNCTION: 'BI.test.delete.function', ADD_NATURAL_FUNCTION: 'BI.project-explorer.add-natural-function', TOGGLE_TRACE_LOGS: 'BI.toggle.trace.logs', DEVANT_PUSH_TO_CLOUD: 'BI.devant.push.cloud', diff --git a/workspaces/ballerina/ballerina-core/src/interfaces/extended-lang-client.ts b/workspaces/ballerina/ballerina-core/src/interfaces/extended-lang-client.ts index ebb2a08d09d..618125eb4a1 100644 --- a/workspaces/ballerina/ballerina-core/src/interfaces/extended-lang-client.ts +++ b/workspaces/ballerina/ballerina-core/src/interfaces/extended-lang-client.ts @@ -29,7 +29,7 @@ import { SqFlow } from "../rpc-types/sequence-diagram/interfaces"; import { FieldType, FunctionModel, ListenerModel, ServiceClassModel, ServiceInitModel, ServiceModel } from "./service"; import { CDModel } from "./component-diagram"; import { DMModel, ExpandedDMModel, IntermediateClause, Mapping, VisualizableField, FnMetadata, ResultClauseType, IOType } from "./data-mapper"; -import { DataMapperMetadata, SCOPE } from "../state-machine-types"; +import { ArtifactData, DataMapperMetadata, SCOPE } from "../state-machine-types"; import { ToolParameters } from "../rpc-types/ai-agent/interfaces"; export interface DidOpenParams { @@ -836,6 +836,7 @@ export interface BIFlowModelRequest { startLine?: LinePosition; endLine?: LinePosition; forceAssign?: boolean; + useFileSchema?: boolean; } export interface BISuggestedFlowModelRequest extends BIFlowModelRequest { @@ -855,6 +856,7 @@ export interface BISourceCodeRequest { isConnector?: boolean; isFunctionNodeUpdate?: boolean; isHelperPaneChange?: boolean; + artifactData?: ArtifactData; } export type BISourceCodeResponse = { @@ -968,6 +970,7 @@ export type BIGetEnclosedFunctionRequest = { filePath: string; position: LinePosition; findClass?: boolean; + useFileSchema?: boolean; } export type BIGetEnclosedFunctionResponse = { @@ -1058,6 +1061,7 @@ export interface BICopilotContextResponse { export interface BIDesignModelRequest { projectPath?: string; + useFileSchema?: boolean; } export type BIDesignModelResponse = { @@ -1509,6 +1513,7 @@ export interface GetGraphqlTypeResponse { export interface GetTypesRequest { filePath: string; + useFileSchema?: boolean; } export interface GetTypeRequest { diff --git a/workspaces/ballerina/ballerina-core/src/rpc-types/agent-chat/index.ts b/workspaces/ballerina/ballerina-core/src/rpc-types/agent-chat/index.ts index cafce784a40..b46c7372b21 100644 --- a/workspaces/ballerina/ballerina-core/src/rpc-types/agent-chat/index.ts +++ b/workspaces/ballerina/ballerina-core/src/rpc-types/agent-chat/index.ts @@ -16,16 +16,17 @@ * under the License. */ -import { ChatReqMessage, ChatRespMessage, TraceInput, TraceStatus, ChatHistoryResponse, AgentStatusResponse, ClearChatResponse } from "./interfaces"; +import { ChatReqMessage, ChatRespMessage, TraceInput, TraceStatus, ChatHistoryResponse, AgentStatusResponse, ClearChatResponse, ExecutionStep, SessionInput } from "./interfaces"; export interface AgentChatAPI { getChatMessage: (params: ChatReqMessage) => Promise; abortChatRequest: () => void; getTracingStatus: () => Promise; showTraceView: (params: TraceInput) => Promise; + showSessionOverview: (params: SessionInput) => Promise; getChatHistory: () => Promise; clearChatHistory: () => Promise; getAgentStatus: () => Promise; } -export type { ChatReqMessage, ChatRespMessage, TraceInput, TraceStatus, ChatHistoryResponse, AgentStatusResponse, ClearChatResponse }; +export type { ChatReqMessage, ChatRespMessage, TraceInput, TraceStatus, ChatHistoryResponse, AgentStatusResponse, ClearChatResponse, ExecutionStep, SessionInput }; diff --git a/workspaces/ballerina/ballerina-core/src/rpc-types/agent-chat/interfaces.ts b/workspaces/ballerina/ballerina-core/src/rpc-types/agent-chat/interfaces.ts index c6880ffae53..ca6143f8fda 100644 --- a/workspaces/ballerina/ballerina-core/src/rpc-types/agent-chat/interfaces.ts +++ b/workspaces/ballerina/ballerina-core/src/rpc-types/agent-chat/interfaces.ts @@ -22,6 +22,19 @@ export interface ChatReqMessage { export interface ChatRespMessage { message: string; + traceId?: string; + executionSteps?: ExecutionStep[]; +} + +export interface ExecutionStep { + spanId: string; + operationType: 'invoke' | 'chat' | 'tool' | 'other'; + name: string; + fullName: string; + duration: number; + startTime?: string; + endTime?: string; + hasError?: boolean; } export interface TraceStatus { @@ -29,7 +42,10 @@ export interface TraceStatus { } export interface TraceInput { - message: string; + message?: string; + traceId?: string; + focusSpanId?: string; + sessionId?: string; } export interface ChatHistoryMessage { @@ -37,6 +53,7 @@ export interface ChatHistoryMessage { text: string; isUser: boolean; traceId?: string; + executionSteps?: ExecutionStep[]; } export interface ChatHistoryResponse { @@ -51,3 +68,7 @@ export interface AgentStatusResponse { export interface ClearChatResponse { newSessionId: string; } + +export interface SessionInput { + sessionId?: string; +} diff --git a/workspaces/ballerina/ballerina-core/src/rpc-types/agent-chat/rpc-type.ts b/workspaces/ballerina/ballerina-core/src/rpc-types/agent-chat/rpc-type.ts index 932beb1c1a3..b3f92098658 100644 --- a/workspaces/ballerina/ballerina-core/src/rpc-types/agent-chat/rpc-type.ts +++ b/workspaces/ballerina/ballerina-core/src/rpc-types/agent-chat/rpc-type.ts @@ -17,7 +17,7 @@ * * THIS FILE INCLUDES AUTO GENERATED CODE */ -import { ChatReqMessage, ChatRespMessage, TraceInput, TraceStatus, ChatHistoryResponse, AgentStatusResponse, ClearChatResponse } from "./interfaces"; +import { ChatReqMessage, ChatRespMessage, TraceInput, TraceStatus, ChatHistoryResponse, AgentStatusResponse, ClearChatResponse, SessionInput } from "./interfaces"; import { RequestType, NotificationType } from "vscode-messenger-common"; const _preFix = "agent-chat"; @@ -25,6 +25,7 @@ export const getChatMessage: RequestType = { me export const abortChatRequest: NotificationType = { method: `${_preFix}/abortChatRequest` }; export const getTracingStatus: RequestType = { method: `${_preFix}/getTracingStatus` }; export const showTraceView: NotificationType = { method: `${_preFix}/showTraceView` }; +export const showSessionOverview: NotificationType = { method: `${_preFix}/showSessionOverview` }; export const getChatHistory: RequestType = { method: `${_preFix}/getChatHistory` }; export const clearChatHistory: RequestType = { method: `${_preFix}/clearChatHistory` }; export const getAgentStatus: RequestType = { method: `${_preFix}/getAgentStatus` }; diff --git a/workspaces/ballerina/ballerina-core/src/rpc-types/ai-panel/index.ts b/workspaces/ballerina/ballerina-core/src/rpc-types/ai-panel/index.ts index 3235186fc43..db39742c0b4 100644 --- a/workspaces/ballerina/ballerina-core/src/rpc-types/ai-panel/index.ts +++ b/workspaces/ballerina/ballerina-core/src/rpc-types/ai-panel/index.ts @@ -39,6 +39,8 @@ import { TaskDeclineRequest, ConnectorSpecRequest, ConnectorSpecCancelRequest, + ConfigurationProvideRequest, + ConfigurationCancelRequest, UIChatMessage, CheckpointInfo, AbortAIGenerationRequest, @@ -93,6 +95,8 @@ export interface AIPanelAPI { declineTask: (params: TaskDeclineRequest) => Promise; provideConnectorSpec: (params: ConnectorSpecRequest) => Promise; cancelConnectorSpec: (params: ConnectorSpecCancelRequest) => Promise; + provideConfiguration: (params: ConfigurationProvideRequest) => Promise; + cancelConfiguration: (params: ConfigurationCancelRequest) => Promise; // ================================== // Chat State Management // ================================== diff --git a/workspaces/ballerina/ballerina-core/src/rpc-types/ai-panel/interfaces.ts b/workspaces/ballerina/ballerina-core/src/rpc-types/ai-panel/interfaces.ts index 85f647e0fce..f82730c9259 100644 --- a/workspaces/ballerina/ballerina-core/src/rpc-types/ai-panel/interfaces.ts +++ b/workspaces/ballerina/ballerina-core/src/rpc-types/ai-panel/interfaces.ts @@ -306,7 +306,7 @@ export interface GenerateAgentCodeRequest { codeContext?: CodeContext; } -export type LibraryMode = "CORE" | "HEALTHCARE"; +export type LibraryMode = "CORE" | "HEALTHCARE" | "ALL"; export interface CopilotAllLibrariesRequest { mode: LibraryMode; @@ -321,13 +321,20 @@ export interface CopilotCompactLibrariesResponse { export interface CopilotFilterLibrariesRequest { libNames: string[]; - mode: LibraryMode; } export interface CopilotFilterLibrariesResponse { libraries: any[]; } +export interface CopilotSearchLibrariesBySearchRequest { + keywords: string[]; +} + +export interface CopilotSearchLibrariesBySearchResponse { + libraries: MinifiedLibrary[]; +} + // ================================== // Doc Generation Related Interfaces // ================================== @@ -377,8 +384,9 @@ export interface SemanticDiffRequest { // Numeric enum values from the API export enum ChangeTypeEnum { ADDITION = 0, - MODIFICATION = 1, - DELETION = 2 + DELETION = 1, + MODIFICATION = 2, + } export type ChangeType = "ADDITION" | "MODIFICATION" | "DELETION"; @@ -429,6 +437,16 @@ export interface ConnectorSpecCancelRequest { comment?: string; } +export interface ConfigurationProvideRequest { + requestId: string; + configValues: Record; +} + +export interface ConfigurationCancelRequest { + requestId: string; + comment?: string; +} + export type ErrorCode = { code: number; message: string; diff --git a/workspaces/ballerina/ballerina-core/src/rpc-types/ai-panel/rpc-type.ts b/workspaces/ballerina/ballerina-core/src/rpc-types/ai-panel/rpc-type.ts index 6742364ca36..9cadd3e9462 100644 --- a/workspaces/ballerina/ballerina-core/src/rpc-types/ai-panel/rpc-type.ts +++ b/workspaces/ballerina/ballerina-core/src/rpc-types/ai-panel/rpc-type.ts @@ -41,6 +41,8 @@ import { TaskDeclineRequest, ConnectorSpecRequest, ConnectorSpecCancelRequest, + ConfigurationProvideRequest, + ConfigurationCancelRequest, UIChatMessage, CheckpointInfo, AbortAIGenerationRequest, @@ -85,6 +87,8 @@ export const approveTask: RequestType = { method: `${_ export const declineTask: RequestType = { method: `${_preFix}/declineTask` }; export const provideConnectorSpec: RequestType = { method: `${_preFix}/provideConnectorSpec` }; export const cancelConnectorSpec: RequestType = { method: `${_preFix}/cancelConnectorSpec` }; +export const provideConfiguration: RequestType = { method: `${_preFix}/provideConfiguration` }; +export const cancelConfiguration: RequestType = { method: `${_preFix}/cancelConfiguration` }; export const getChatMessages: NotificationType = { method: `${_preFix}/getChatMessages` }; export const getCheckpoints: NotificationType = { method: `${_preFix}/getCheckpoints` }; export const restoreCheckpoint: RequestType = { method: `${_preFix}/restoreCheckpoint` }; diff --git a/workspaces/ballerina/ballerina-core/src/rpc-types/bi-diagram/index.ts b/workspaces/ballerina/ballerina-core/src/rpc-types/bi-diagram/index.ts index 117e6ef986f..89f86b680ba 100644 --- a/workspaces/ballerina/ballerina-core/src/rpc-types/bi-diagram/index.ts +++ b/workspaces/ballerina/ballerina-core/src/rpc-types/bi-diagram/index.ts @@ -132,6 +132,7 @@ export interface BIDiagramAPI { deleteFlowNode: (params: BISourceCodeRequest) => Promise; deleteByComponentInfo: (params: BIDeleteByComponentInfoRequest) => Promise; getAvailableNodes: (params: BIAvailableNodesRequest) => Promise; + getAvailableAgents: (params: BIAvailableNodesRequest) => Promise; getAvailableModelProviders: (params: BIAvailableNodesRequest) => Promise; getAvailableVectorStores: (params: BIAvailableNodesRequest) => Promise; getAvailableEmbeddingProviders: (params: BIAvailableNodesRequest) => Promise; diff --git a/workspaces/ballerina/ballerina-core/src/rpc-types/bi-diagram/interfaces.ts b/workspaces/ballerina/ballerina-core/src/rpc-types/bi-diagram/interfaces.ts index 69509acac1b..2a81c68bfe5 100644 --- a/workspaces/ballerina/ballerina-core/src/rpc-types/bi-diagram/interfaces.ts +++ b/workspaces/ballerina/ballerina-core/src/rpc-types/bi-diagram/interfaces.ts @@ -31,6 +31,7 @@ export interface ProjectRequest { workspaceName?: string; orgName?: string; version?: string; + isLibrary?: boolean; } export interface AddProjectToWorkspaceRequest { @@ -41,6 +42,7 @@ export interface AddProjectToWorkspaceRequest { workspaceName?: string; orgName?: string; version?: string; + isLibrary?: boolean; } export interface WorkspacesResponse { diff --git a/workspaces/ballerina/ballerina-core/src/rpc-types/bi-diagram/rpc-type.ts b/workspaces/ballerina/ballerina-core/src/rpc-types/bi-diagram/rpc-type.ts index 18b39538b8b..b16443a2094 100644 --- a/workspaces/ballerina/ballerina-core/src/rpc-types/bi-diagram/rpc-type.ts +++ b/workspaces/ballerina/ballerina-core/src/rpc-types/bi-diagram/rpc-type.ts @@ -135,6 +135,7 @@ export const getSourceCode: RequestType = { method: `${_preFix}/deleteFlowNode` }; export const deleteByComponentInfo: RequestType = { method: `${_preFix}/deleteByComponentInfo` }; export const getAvailableNodes: RequestType = { method: `${_preFix}/getAvailableNodes` }; +export const getAvailableAgents: RequestType = { method: `${_preFix}/getAvailableAgents` }; export const getAvailableModelProviders: RequestType = { method: `${_preFix}/getAvailableModelProviders` }; export const getAvailableVectorStores: RequestType = { method: `${_preFix}/getAvailableVectorStores` }; export const getAvailableEmbeddingProviders: RequestType = { method: `${_preFix}/getAvailableEmbeddingProviders` }; diff --git a/workspaces/ballerina/ballerina-core/src/rpc-types/common/interfaces.ts b/workspaces/ballerina/ballerina-core/src/rpc-types/common/interfaces.ts index 26ffcf79e1d..680777cceaf 100644 --- a/workspaces/ballerina/ballerina-core/src/rpc-types/common/interfaces.ts +++ b/workspaces/ballerina/ballerina-core/src/rpc-types/common/interfaces.ts @@ -100,6 +100,7 @@ export interface TomlPackage { name: string; version: string; title: string; + library?: boolean; } export interface WorkspaceTomlValues { diff --git a/workspaces/ballerina/ballerina-core/src/rpc-types/test-manager/index.ts b/workspaces/ballerina/ballerina-core/src/rpc-types/test-manager/index.ts index 041654b7922..3d1363d4d94 100644 --- a/workspaces/ballerina/ballerina-core/src/rpc-types/test-manager/index.ts +++ b/workspaces/ballerina/ballerina-core/src/rpc-types/test-manager/index.ts @@ -18,9 +18,11 @@ import { GetTestFunctionRequest, GetTestFunctionResponse, AddOrUpdateTestFunctionRequest } from "../../interfaces/extended-lang-client"; import { SourceUpdateResponse } from "../service-designer/interfaces"; +import { GetEvalsetsRequest, GetEvalsetsResponse } from "./rpc-type"; -export interface TestManagerServiceAPI { +export interface TestManagerServiceAPI { updateTestFunction: (params: AddOrUpdateTestFunctionRequest) => Promise; addTestFunction: (params: AddOrUpdateTestFunctionRequest) => Promise; getTestFunction: (params: GetTestFunctionRequest) => Promise; + getEvalsets: (params: GetEvalsetsRequest) => Promise; } diff --git a/workspaces/ballerina/ballerina-core/src/rpc-types/test-manager/rpc-type.ts b/workspaces/ballerina/ballerina-core/src/rpc-types/test-manager/rpc-type.ts index 2b2b93031b3..606be83b1c2 100644 --- a/workspaces/ballerina/ballerina-core/src/rpc-types/test-manager/rpc-type.ts +++ b/workspaces/ballerina/ballerina-core/src/rpc-types/test-manager/rpc-type.ts @@ -20,9 +20,28 @@ import { RequestType } from "vscode-messenger-common"; import { SourceUpdateResponse } from "../service-designer/interfaces"; const _preFix = "test-manager"; -export const getTestFunction: RequestType = +export const getTestFunction: RequestType = { method: `${_preFix}/getTestFunction` }; -export const addTestFunction: RequestType = +export const addTestFunction: RequestType = { method: `${_preFix}/addTestFunction` }; -export const updateTestFunction: RequestType = +export const updateTestFunction: RequestType = { method: `${_preFix}/updateTestFunction` }; + +export interface EvalsetItem { + id: string; + name: string; + filePath: string; + threadCount: number; + description?: string; +} + +export interface GetEvalsetsRequest { + projectPath?: string; +} + +export interface GetEvalsetsResponse { + evalsets: EvalsetItem[]; +} + +export const getEvalsets: RequestType = +{ method: `${_preFix}/getEvalsets` }; diff --git a/workspaces/ballerina/ballerina-core/src/rpc-types/visualizer/index.ts b/workspaces/ballerina/ballerina-core/src/rpc-types/visualizer/index.ts index cbfefe9d229..529f9571b1f 100644 --- a/workspaces/ballerina/ballerina-core/src/rpc-types/visualizer/index.ts +++ b/workspaces/ballerina/ballerina-core/src/rpc-types/visualizer/index.ts @@ -19,7 +19,7 @@ import { HistoryEntry } from "../../history"; import { ProjectStructureArtifactResponse, UpdatedArtifactsResponse } from "../../interfaces/bi"; import { ColorThemeKind } from "../../state-machine-types"; -import { AddToUndoStackRequest, JoinProjectPathRequest, JoinProjectPathResponse, OpenViewRequest, UndoRedoStateResponse } from "./interfaces"; +import { AddToUndoStackRequest, HandleApprovalPopupCloseRequest, JoinProjectPathRequest, JoinProjectPathResponse, OpenViewRequest, ReopenApprovalViewRequest, UndoRedoStateResponse, SaveEvalThreadRequest, SaveEvalThreadResponse } from "./interfaces"; export interface VisualizerAPI { openView: (params: OpenViewRequest) => void; @@ -37,4 +37,7 @@ export interface VisualizerAPI { getThemeKind: () => Promise; updateCurrentArtifactLocation: (params: UpdatedArtifactsResponse) => Promise; reviewAccepted: () => void; + handleApprovalPopupClose: (params: HandleApprovalPopupCloseRequest) => void; + reopenApprovalView: (params: ReopenApprovalViewRequest) => void; + saveEvalThread: (params: SaveEvalThreadRequest) => Promise; } diff --git a/workspaces/ballerina/ballerina-core/src/rpc-types/visualizer/interfaces.ts b/workspaces/ballerina/ballerina-core/src/rpc-types/visualizer/interfaces.ts index dd0301a1fec..8f5a2e52bba 100644 --- a/workspaces/ballerina/ballerina-core/src/rpc-types/visualizer/interfaces.ts +++ b/workspaces/ballerina/ballerina-core/src/rpc-types/visualizer/interfaces.ts @@ -17,7 +17,7 @@ */ import { CodeData } from "../../interfaces/bi"; -import { EVENT_TYPE, PopupVisualizerLocation, VisualizerLocation } from "../../state-machine-types"; +import { EVENT_TYPE, EvalSet, PopupVisualizerLocation, VisualizerLocation } from "../../state-machine-types"; export interface UpdateUndoRedoMangerRequest { filePath: string; @@ -59,3 +59,21 @@ export interface JoinProjectPathResponse { filePath: string; projectPath: string; } + +export interface HandleApprovalPopupCloseRequest { + requestId: string; +} + +export interface ReopenApprovalViewRequest { + requestId: string; +} + +export interface SaveEvalThreadRequest { + filePath: string; + updatedEvalSet: EvalSet; +} + +export interface SaveEvalThreadResponse { + success: boolean; + error?: string; +} diff --git a/workspaces/ballerina/ballerina-core/src/rpc-types/visualizer/rpc-type.ts b/workspaces/ballerina/ballerina-core/src/rpc-types/visualizer/rpc-type.ts index ba0722f647e..696f97d3f5a 100644 --- a/workspaces/ballerina/ballerina-core/src/rpc-types/visualizer/rpc-type.ts +++ b/workspaces/ballerina/ballerina-core/src/rpc-types/visualizer/rpc-type.ts @@ -19,8 +19,8 @@ */ import { HistoryEntry } from "../../history"; import { ProjectStructureArtifactResponse, UpdatedArtifactsResponse } from "../../interfaces/bi"; -import { ColorThemeKind } from "../../state-machine-types"; -import { AddToUndoStackRequest, JoinProjectPathRequest, JoinProjectPathResponse, OpenViewRequest, UndoRedoStateResponse } from "./interfaces"; +import { ColorThemeKind, EvalSet } from "../../state-machine-types"; +import { AddToUndoStackRequest, HandleApprovalPopupCloseRequest, JoinProjectPathRequest, JoinProjectPathResponse, OpenViewRequest, ReopenApprovalViewRequest, UndoRedoStateResponse, SaveEvalThreadRequest, SaveEvalThreadResponse } from "./interfaces"; import { NotificationType, RequestType } from "vscode-messenger-common"; const _preFix = "visualizer"; @@ -40,3 +40,6 @@ export const getThemeKind: RequestType = { method: `${_pre export const updateCurrentArtifactLocation: RequestType = { method: `${_preFix}/updateCurrentArtifactLocation` }; export const reviewAccepted: NotificationType = { method: `${_preFix}/reviewAccepted` }; export const refreshReviewMode: NotificationType = { method: `${_preFix}/refreshReviewMode` }; +export const handleApprovalPopupClose: NotificationType = { method: `${_preFix}/handleApprovalPopupClose` }; +export const reopenApprovalView: NotificationType = { method: `${_preFix}/reopenApprovalView` }; +export const saveEvalThread: RequestType = { method: `${_preFix}/saveEvalThread` }; diff --git a/workspaces/ballerina/ballerina-core/src/state-machine-types.ts b/workspaces/ballerina/ballerina-core/src/state-machine-types.ts index 465de5ecf14..de8db4f6184 100644 --- a/workspaces/ballerina/ballerina-core/src/state-machine-types.ts +++ b/workspaces/ballerina/ballerina-core/src/state-machine-types.ts @@ -90,6 +90,7 @@ export enum MACHINE_VIEW { BIFunctionForm = "Add Function SKIP", BINPFunctionForm = "Add Natural Function SKIP", BITestFunctionForm = "Add Test Function SKIP", + BIAIEvaluationForm = "AI Evaluation SKIP", BIServiceWizard = "Service Wizard SKIP", BIServiceConfigView = "Service Config View", BIListenerConfigView = "Listener Config View", @@ -101,7 +102,9 @@ export enum MACHINE_VIEW { ResolveMissingDependencies = "Resolve Missing Dependencies", ServiceFunctionForm = "Service Function Form", BISamplesView = "BI Samples View", - ReviewMode = "Review Mode SKIP" + ReviewMode = "Review Mode SKIP", + EvalsetViewer = "Evalset Viewer SKIP", + ConfigurationCollector = "Configuration Collector" } export interface MachineEvent { @@ -141,6 +144,7 @@ export interface VisualizerLocation { isGraphql?: boolean; rootDiagramId?: string; metadata?: VisualizerMetadata; + agentMetadata?: AgentMetadata; scope?: SCOPE; projectStructure?: ProjectStructureResponse; org?: string; @@ -150,6 +154,7 @@ export interface VisualizerLocation { dataMapperMetadata?: DataMapperMetadata; artifactInfo?: ArtifactInfo; reviewData?: ReviewModeData; + evalsetData?: EvalsetData; } export interface ArtifactInfo { @@ -164,12 +169,36 @@ export interface ArtifactData { identifier?: string; } +export interface ConfigurationCollectorMetadata { + requestId: string; + variables: Array<{ + name: string; + description: string; + type?: "string" | "int"; + }>; + existingValues?: Record; + message: string; + isTestConfig?: boolean; +} + +export interface AgentMetadata { + configurationCollector?: ConfigurationCollectorMetadata; +} + +export interface ApprovalOverlayState { + show: boolean; + message?: string; +} + export interface VisualizerMetadata { haveLS?: boolean; isBISupported?: boolean; recordFilePath?: string; enableSequenceDiagram?: boolean; // Enable sequence diagram view target?: LinePosition; + featureSupport?: { + aiEvaluation?: boolean; + }; } export interface DataMapperMetadata { @@ -192,6 +221,88 @@ export interface ReviewModeData { onReject?: string; } +// --- Evalset Trace Types --- +export type EvalRole = 'system' | 'user' | 'assistant' | 'function'; + +export interface EvalChatUserMessage { + role: 'user'; + content: string | any; + name?: string; +} + +export interface EvalChatSystemMessage { + role: 'system'; + content: string | any; + name?: string; +} + +export interface EvalChatAssistantMessage { + role: 'assistant'; + content?: string | null; + name?: string; + toolCalls?: EvalFunctionCall[]; +} + +export interface EvalChatFunctionMessage { + role: 'function'; + content?: string | null; + name: string; + id?: string; +} + +export type EvalChatMessage = EvalChatUserMessage | EvalChatSystemMessage | EvalChatAssistantMessage | EvalChatFunctionMessage; + +export interface EvalFunctionCall { + name: string; + arguments?: { [key: string]: any }; + id?: string; +} + +export interface EvalToolSchema { + name: string; + description: string; + parametersSchema?: { [key: string]: any }; +} + +export interface EvalIteration { + history: EvalChatMessage[]; + output: EvalChatAssistantMessage | EvalChatFunctionMessage | any; + startTime: string; + endTime: string; +} + +export interface EvalsetTrace { + id: string; + userMessage: EvalChatUserMessage; + iterations: EvalIteration[]; + output: EvalChatAssistantMessage | any; + tools: EvalToolSchema[]; + toolCalls?: EvalFunctionCall[]; + startTime: string; + endTime: string; +} + +export interface EvalThread { + id: string; + name: string; + traces: EvalsetTrace[]; + created_on: string; +} + +export interface EvalSet { + id: string; + name?: string; + description?: string; + threads: EvalThread[]; + created_on: string; +} + +export interface EvalsetData { + filePath: string; + content: EvalSet; + threadId?: string; +} + export interface PopupVisualizerLocation extends VisualizerLocation { recentIdentifier?: string; artifactType?: DIRECTORY_MAP; @@ -229,6 +340,7 @@ export type ChatNotify = | TaskApprovalRequest | GeneratedSourcesEvent | ConnectorGenerationNotification + | ConfigurationCollectionEvent | CodeReviewActions | PlanUpdated; @@ -283,12 +395,14 @@ export interface ToolCall { type: "tool_call"; toolName: string; toolInput?: any; + toolCallId?: string; } export interface ToolResult { type: "tool_result"; toolName: string; toolOutput?: any; + toolCallId?: string; } export interface EvalsToolResult { @@ -347,6 +461,24 @@ export interface ConnectorGenerationNotification { message: string; } +export interface ConfigurationCollectionEvent { + type: "configuration_collection_event"; + requestId: string; + stage: "creating_file" | "collecting" | "done" | "skipped" | "error"; + variables?: Array<{ + name: string; + description: string; + type?: "string" | "int"; + }>; + existingValues?: Record; + message: string; + isTestConfig?: boolean; + error?: { + message: string; + code: string; + }; +} + export interface CodeReviewActions { type: "review_actions"; } @@ -379,6 +511,7 @@ export const popupStateChanged: NotificationType = { met export const getPopupVisualizerState: RequestType = { method: 'getPopupVisualizerState' }; export const breakpointChanged: NotificationType = { method: 'breakpointChanged' }; +export const approvalOverlayState: NotificationType = { method: 'approvalOverlayState' }; // ------------------> AI Related state types <----------------------- export type AIMachineStateValue = @@ -567,7 +700,7 @@ export enum TaskTypes { export interface Task { description: string; status: TaskStatus; - type : TaskTypes; + type: TaskTypes; } export interface Plan { diff --git a/workspaces/ballerina/ballerina-extension/package.json b/workspaces/ballerina/ballerina-extension/package.json index 0d68a46c64a..3dcab6393b4 100644 --- a/workspaces/ballerina/ballerina-extension/package.json +++ b/workspaces/ballerina/ballerina-extension/package.json @@ -15,7 +15,7 @@ "theme": "light" }, "engines": { - "vscode": "^1.83.1" + "vscode": "^1.100.0" }, "categories": [ "Programming Languages", @@ -588,7 +588,7 @@ { "command": "BI.test.edit.function", "title": "View test flow", - "icon": "$(distro-design-view)", + "icon": "$(type-hierarchy)", "category": "BI" }, { @@ -599,11 +599,23 @@ }, { "command": "BI.test.add.function", - "title": "Add test case", + "title": "Add New Test", "icon": "$(add)", "category": "BI", "enablement": "isSupportedProject" }, + { + "command": "BI.test.add.ai.evaluation", + "title": "Add AI Evaluation", + "category": "BI", + "enablement": "isSupportedProject" + }, + { + "command": "BI.test.delete.function", + "title": "Delete test function", + "icon": "$(trash)", + "category": "BI" + }, { "command": "BI.view.typeDiagram", "title": "Type Diagram", @@ -722,27 +734,58 @@ }, { "command": "ballerina.enableTracing", - "title": "Enable Tracing (Experimental)", + "title": "Enable Tracing", "category": "Ballerina", "enablement": "isSupportedProject" }, { "command": "ballerina.disableTracing", - "title": "Disable Tracing (Experimental)", + "title": "Disable Tracing", "category": "Ballerina", "icon": "$(circle-slash)", "enablement": "isSupportedProject" }, { "command": "ballerina.clearTraces", - "title": "Clear Traces (Experimental)", + "title": "Clear Traces", "category": "Ballerina", "icon": "$(clear-all)", "hidden": true, "enablement": "isSupportedProject" + }, + { + "command": "ballerina.createNewEvalset", + "title": "Create New Evalset", + "category": "Ballerina", + "icon": "$(add)" + }, + { + "command": "ballerina.createNewThread", + "title": "Add Thread", + "category": "Ballerina", + "icon": "$(add)" + }, + { + "command": "ballerina.deleteEvalset", + "title": "Delete Evalset", + "category": "Ballerina", + "icon": "$(trash)" + }, + { + "command": "ballerina.deleteThread", + "title": "Delete Thread", + "category": "Ballerina", + "icon": "$(trash)" } ], "views": { + "test": [ + { + "id": "ballerina-evalsets", + "name": "Evalsets", + "when": "isBIProject || isBallerinaProject" + } + ], "ballerina-traceView": [ { "id": "ballerina-traceView", @@ -776,6 +819,11 @@ "view": "testing", "contents": "[Add Unit Test](command:BI.test.add.function)", "when": "isBIProject || isBallerinaProject" + }, + { + "view": "testing", + "contents": "[Add AI Evaluation](command:BI.test.add.ai.evaluation)", + "when": "isBIProject || isBallerinaProject" } ], "viewsContainers": { @@ -793,6 +841,13 @@ } ] }, + "submenus": [ + { + "id": "BI.test.add.submenu", + "label": "Add Test", + "icon": "$(add)" + } + ], "menus": { "testing/item/context": [ { @@ -806,9 +861,9 @@ "when": "testId not in testGroups" }, { - "command": "BI.test.add.function", + "command": "BI.test.delete.function", "group": "inline", - "when": "testId in testGroups" + "when": "testId not in testGroups" } ], "view/title": [ @@ -818,7 +873,7 @@ "group": "navigation" }, { - "command": "BI.test.add.function", + "submenu": "BI.test.add.submenu", "when": "(isBIProject || isBallerinaProject) && view == workbench.view.testing", "group": "navigation" }, @@ -833,6 +888,38 @@ "when": "view == ballerina-traceView && ballerina.tracingEnabled && !ballerina.tracesEmpty", "group": "navigation", "title": "Clear Traces" + }, + { + "command": "ballerina.createNewEvalset", + "when": "view == ballerina-evalsets", + "group": "navigation" + } + ], + "view/item/context": [ + { + "command": "ballerina.createNewThread", + "when": "view == ballerina-evalsets && viewItem == evalsetFile", + "group": "inline" + }, + { + "command": "ballerina.deleteEvalset", + "when": "view == ballerina-evalsets && viewItem == evalsetFile", + "group": "inline" + }, + { + "command": "ballerina.deleteThread", + "when": "view == ballerina-evalsets && viewItem == evalsetThread", + "group": "inline" + } + ], + "BI.test.add.submenu": [ + { + "command": "BI.test.add.function", + "group": "1@1" + }, + { + "command": "BI.test.add.ai.evaluation", + "group": "1@2" } ], "editor/title": [ @@ -950,6 +1037,10 @@ "command": "BI.test.edit.function", "when": "false" }, + { + "command": "BI.test.delete.function", + "when": "false" + }, { "command": "BI.project-explorer.delete", "when": "false" @@ -1046,7 +1137,7 @@ "description": "start", "default": { "fontPath": "./resources/font-wso2-vscode/dist/wso2-vscode.woff", - "fontCharacter": "\\f11c" + "fontCharacter": "\\f21f" } }, "distro-debug": { @@ -1067,7 +1158,7 @@ "description": "persist-diagram", "default": { "fontPath": "./resources/font-wso2-vscode/dist/wso2-vscode.woff", - "fontCharacter": "\\f136" + "fontCharacter": "\\f1f9" } }, "distro-cached-rounded": { @@ -1200,7 +1291,7 @@ "test": "pnpm run test-compile && node ./out/test/runTest.js", "test:ai": "pnpm run test-compile && node ./out/test/runAiTest.js", "test:libs-integration": "pnpm run test-compile && node ./out/test/runLibsIntegrationTest.js", - "e2e-test-setup": "npx extest get-vscode -c 1.83.1 && npx extest get-chromedriver -c 1.83.1 && npx extest install-vsix -f $(ls vsix/*.vsix)", + "e2e-test-setup": "npx extest get-vscode -c 1.100.0 && npx extest get-chromedriver -c 1.100.0 && npx extest install-vsix -f $(ls vsix/*.vsix)", "preui-test": "node -e \"const fs = require('fs'); if (fs.existsSync('test-resou')) { fs.unlinkSync('test-resou'); }\"", "e2e-test": "pnpm run test-compile && npx extest run-tests 'out/ui-test/*.test.js' --mocha_config ui-test/.mocharc.js -o ui-test/settings.json", "test-coverage": "cross-env COVER_CONFIG=html pnpm run test", @@ -1214,88 +1305,86 @@ "download-ls:prerelease": "node scripts/download-ls.js --prerelease --replace", "build": "pnpm run compile && pnpm run lint && pnpm run postbuild", "rebuild": "pnpm run clean && pnpm run compile && pnpm run postbuild", - "postbuild": "if [ \"$isPreRelease\" = \"true\" ]; then pnpm run download-ls --prerelease; else pnpm run download-ls; fi && pnpm run copyFonts && pnpm run copyJSLibs && pnpm run package && pnpm run copyVSIX", + "postbuild": "pnpm run download-ls && pnpm run copyFonts && pnpm run copyJSLibs && pnpm run package && pnpm run copyVSIX", "copyJSLibs": "copyfiles -f ../ballerina-visualizer/build/*.js resources/jslibs && copyfiles -f ../trace-visualizer/build/*.js resources/jslibs" }, "dependencies": { - "@ai-sdk/amazon-bedrock": "^4.0.4", - "@ai-sdk/anthropic": "^3.0.2", - "@iarna/toml": "^2.2.5", - "@types/lodash": "^4.14.200", - "@vscode/test-electron": "^2.5.2", - "@vscode/vsce": "^3.7.0", + "@ai-sdk/amazon-bedrock": "4.0.4", + "@ai-sdk/anthropic": "3.0.2", + "@iarna/toml": "2.2.5", + "@types/lodash": "4.14.200", + "@vscode/test-electron": "2.5.2", + "@vscode/vsce": "3.7.0", "@wso2/ballerina-core": "workspace:*", "@wso2/ballerina-visualizer": "workspace:*", "@wso2/font-wso2-vscode": "workspace:*", "@wso2/syntax-tree": "workspace:*", "@wso2/trace-visualizer": "workspace:*", "@wso2/wso2-platform-core": "workspace:*", - "ai": "^6.0.7", - "cors-anywhere": "^0.4.4", - "del-cli": "^5.1.0", - "dotenv": "~16.5.0", - "file-uri-to-path": "^2.0.0", - "glob": "^11.1.0", - "handlebars": "~4.7.8", - "jwt-decode": "^4.0.0", + "ai": "6.0.7", + "cors-anywhere": "0.4.4", + "del-cli": "5.1.0", + "dotenv": "16.5.0", + "file-uri-to-path": "2.0.0", + "glob": "11.1.0", + "handlebars": "4.7.8", + "jwt-decode": "4.0.0", "lodash": "4.17.23", "monaco-languageclient": "0.13.1-next.9", - "node-fetch": "^3.3.2", - "node-schedule": "^2.1.1", - "portfinder": "^1.0.32", - "protobufjs": "^7.2.5", - "source-map-support": "^0.5.21", - "unzipper": "~0.12.3", - "uuid": "^11.1.0", - "vscode-debugadapter": "^1.51.0", - "vscode-debugprotocol": "^1.51.0", - "vscode-extension-telemetry": "^0.1.7", - "vscode-languageclient": "^8.1.0", - "vscode-languageserver-protocol": "^3.17.5", - "vscode-languageserver-types": "^3.17.5", - "vscode-messenger": "^0.4.5", - "vscode-messenger-common": "^0.4.5", - "vscode-test": "^1.6.1", - "vscode-uri": "^3.0.8", - "xml-js": "^1.6.11", - "xstate": "^4.38.3", - "zod": "^4.1.8" + "node-fetch": "3.3.2", + "node-schedule": "2.1.1", + "portfinder": "1.0.32", + "protobufjs": "7.2.5", + "source-map-support": "0.5.21", + "unzipper": "0.12.3", + "uuid": "11.1.0", + "vscode-debugadapter": "1.51.0", + "vscode-debugprotocol": "1.51.0", + "vscode-extension-telemetry": "0.1.7", + "vscode-languageclient": "8.1.0", + "vscode-languageserver-protocol": "3.17.5", + "vscode-languageserver-types": "3.17.5", + "vscode-messenger": "0.4.5", + "vscode-messenger-common": "0.4.5", + "vscode-test": "1.6.1", + "vscode-uri": "3.0.8", + "xml-js": "1.6.11", + "xstate": "4.38.3", + "zod": "4.1.8" }, "devDependencies": { - "@sentry/webpack-plugin": "^1.20.1", - "@types/chai": "^4.3.9", - "@types/mocha": "~10.0.3", - "@types/node": "^18.18.7", - "@types/tcp-port-used": "^1.0.3", - "@types/vscode": "^1.83.1", - "@types/vscode-notebook-renderer": "~1.72.2", - "adm-zip": "^0.5.16", - "axios": "^1.12.0", - "chai": "^4.3.10", - "copyfiles": "^2.4.1", - "cross-env": "^7.0.3", - "decache": "^4.6.2", - "express": "^4.22.1", - "istanbul": "^0.4.5", - "js-yaml": "^4.1.1", - "jwt-decode": "^3.1.2", - "keytar": "^7.9.0", + "@sentry/webpack-plugin": "1.20.1", + "@types/chai": "4.3.9", + "@types/mocha": "10.0.3", + "@types/node": "18.18.7", + "@types/tcp-port-used": "1.0.3", + "@types/vscode": "1.100.0", + "@types/vscode-notebook-renderer": "1.72.2", + "adm-zip": "0.5.16", + "axios": "1.13.5", + "chai": "4.3.10", + "copyfiles": "2.4.1", + "cross-env": "7.0.3", + "decache": "4.6.2", + "express": "4.22.1", + "istanbul": "0.4.5", + "js-yaml": "4.1.1", + "keytar": "7.9.0", "kill-port": "2.0.1", - "mocha": "^10.2.0", - "pako": "^2.1.0", - "pkce-challenge": "^3.1.0", - "remap-istanbul": "^0.13.0", - "rimraf": "^3.0.2", - "tcp-port-used": "^1.0.2", - "ts-loader": "^9.5.0", - "tslint": "^6.1.3", + "mocha": "10.2.0", + "pako": "2.1.0", + "pkce-challenge": "3.1.0", + "remap-istanbul": "0.13.0", + "rimraf": "3.0.2", + "tcp-port-used": "1.0.2", + "ts-loader": "9.5.0", + "tslint": "6.1.3", "typescript": "5.8.3", - "vscode-debugadapter-testsupport": "^1.51.0", - "vscode-extension-tester": "^5.10.0", - "vscode-messenger": "^0.4.4", - "webpack": "^5.89.0", - "webpack-cli": "^6.0.1", - "yarn": "^1.22.19" + "vscode-debugadapter-testsupport": "1.51.0", + "vscode-extension-tester": "5.10.0", + "webpack": "5.104.1", + "webpack-cli": "6.0.1", + "yarn": "1.22.19" }, "extensionPack": [ "be5invis.toml" diff --git a/workspaces/ballerina/ballerina-extension/src/RPCLayer.ts b/workspaces/ballerina/ballerina-extension/src/RPCLayer.ts index a43b3b1cfeb..8528bf94c3f 100644 --- a/workspaces/ballerina/ballerina-extension/src/RPCLayer.ts +++ b/workspaces/ballerina/ballerina-extension/src/RPCLayer.ts @@ -19,7 +19,7 @@ import { WebviewView, WebviewPanel, window } from 'vscode'; import { Messenger } from 'vscode-messenger'; import { StateMachine } from './stateMachine'; -import { stateChanged, getVisualizerLocation, VisualizerLocation, projectContentUpdated, aiStateChanged, sendAIStateEvent, popupStateChanged, getPopupVisualizerState, PopupVisualizerLocation, breakpointChanged, AIMachineEventType, ArtifactData, onArtifactUpdatedNotification, onArtifactUpdatedRequest, currentThemeChanged, AIMachineSendableEvent, checkpointCaptured, CheckpointCapturedPayload, promptUpdated } from '@wso2/ballerina-core'; +import { stateChanged, getVisualizerLocation, VisualizerLocation, projectContentUpdated, aiStateChanged, sendAIStateEvent, popupStateChanged, getPopupVisualizerState, PopupVisualizerLocation, breakpointChanged, AIMachineEventType, ArtifactData, onArtifactUpdatedNotification, onArtifactUpdatedRequest, currentThemeChanged, AIMachineSendableEvent, checkpointCaptured, CheckpointCapturedPayload, promptUpdated, approvalOverlayState, ApprovalOverlayState } from '@wso2/ballerina-core'; import { VisualizerWebview } from './views/visualizer/webview'; import { registerVisualizerRpcHandlers } from './rpc-managers/visualizer/rpc-handler'; import { registerLangClientRpcHandlers } from './rpc-managers/lang-client/rpc-handler'; @@ -143,14 +143,17 @@ async function getContext(): Promise { haveLS: StateMachine.langClient() && true, recordFilePath: context.projectPath ? path.join(context.projectPath, "types.bal") : undefined, enableSequenceDiagram: extension.ballerinaExtInstance.enableSequenceDiagramView(), - target: context.metadata?.target + target: context.metadata?.target, + featureSupport: context.metadata?.featureSupport }, scope: context.scope, org: context.org, package: context.package, dataMapperMetadata: context.dataMapperMetadata, artifactInfo: context.artifactInfo, - reviewData: context.reviewData + reviewData: context.reviewData, + agentMetadata: context.agentMetadata, + evalsetData: context.evalsetData }); }); } @@ -164,6 +167,7 @@ async function getPopupContext(): Promise { recentIdentifier: context.recentIdentifier, identifier: context.identifier, metadata: context.metadata, + agentMetadata: context.agentMetadata, dataMapperMetadata: context.dataMapperMetadata }); }); @@ -193,3 +197,7 @@ export function notifyBreakpointChange() { export function notifyCheckpointCaptured(payload: CheckpointCapturedPayload) { RPCLayer._messenger.sendNotification(checkpointCaptured, { type: 'webview', webviewType: AiPanelWebview.viewType }, payload); } + +export function notifyApprovalOverlayState(state: ApprovalOverlayState) { + RPCLayer._messenger.sendNotification(approvalOverlayState, { type: 'webview', webviewType: AiPanelWebview.viewType }, state); +} diff --git a/workspaces/ballerina/ballerina-extension/src/core/extended-language-client.ts b/workspaces/ballerina/ballerina-extension/src/core/extended-language-client.ts index 6838b76d00f..d1f9514532f 100644 --- a/workspaces/ballerina/ballerina-extension/src/core/extended-language-client.ts +++ b/workspaces/ballerina/ballerina-extension/src/core/extended-language-client.ts @@ -227,7 +227,6 @@ import { DeleteConfigVariableRequestV2, DeleteConfigVariableResponseV2, ResourceReturnTypesRequest, - ResourceReturnTypesResponse, JsonToTypeRequest, JsonToTypeResponse, McpToolsRequest, @@ -283,7 +282,9 @@ import { PersistClientGenerateRequest, PersistClientGenerateResponse, WSDLApiClientGenerationRequest, - WSDLApiClientGenerationResponse + WSDLApiClientGenerationResponse, + CopilotSearchLibrariesBySearchRequest, + CopilotSearchLibrariesBySearchResponse } from "@wso2/ballerina-core"; import { BallerinaExtension } from "./index"; import { debug, handlePullModuleProgress } from "../utils"; @@ -353,6 +354,7 @@ enum EXTENDED_APIS { BI_VERIFY_TYPE_DELETE = 'typesManager/verifyTypeDelete', BI_DELETE_TYPE = 'typesManager/deleteType', BI_AVAILABLE_NODES = 'flowDesignService/getAvailableNodes', + BI_AVAILABLE_AGENTS = 'flowDesignService/getAvailableAgents', BI_AVAILABLE_MODEL_PROVIDERS = 'flowDesignService/getAvailableModelProviders', BI_AVAILABLE_VECTOR_STORES = 'flowDesignService/getAvailableVectorStores', BI_AVAILABLE_EMBEDDING_PROVIDERS = 'flowDesignService/getAvailableEmbeddingProviders', @@ -475,6 +477,7 @@ enum EXTENDED_APIS { PUBLISH_ARTIFACTS = 'designModelService/publishArtifacts', COPILOT_ALL_LIBRARIES = 'copilotLibraryManager/getLibrariesList', COPILOT_FILTER_LIBRARIES = 'copilotLibraryManager/getFilteredLibraries', + COPILOT_SEARCH_LIBRARIES = 'copilotLibraryManager/getLibrariesBySearch', GET_MIGRATION_TOOLS = 'projectService/getMigrationTools', TIBCO_TO_BI = 'projectService/importTibco', MULE_TO_BI = 'projectService/importMule', @@ -1089,6 +1092,10 @@ export class ExtendedLangClient extends LanguageClient implements ExtendedLangCl return this.sendRequest(EXTENDED_APIS.BI_AVAILABLE_NODES, params); } + async getAvailableAgents(params: BIAvailableNodesRequest): Promise { + return this.sendRequest(EXTENDED_APIS.BI_AVAILABLE_AGENTS, params); + } + async getAvailableModelProviders(params: BIAvailableNodesRequest): Promise { return this.sendRequest(EXTENDED_APIS.BI_AVAILABLE_MODEL_PROVIDERS, params); } @@ -1430,6 +1437,10 @@ export class ExtendedLangClient extends LanguageClient implements ExtendedLangCl return this.sendRequest(EXTENDED_APIS.COPILOT_FILTER_LIBRARIES, params); } + async getCopilotLibrariesBySearch(params: CopilotSearchLibrariesBySearchRequest): Promise { + return this.sendRequest(EXTENDED_APIS.COPILOT_SEARCH_LIBRARIES, params); + } + async getMigrationTools(): Promise { return this.sendRequest(EXTENDED_APIS.GET_MIGRATION_TOOLS); } diff --git a/workspaces/ballerina/ballerina-extension/src/features/ai/activator.ts b/workspaces/ballerina/ballerina-extension/src/features/ai/activator.ts index 2f94ce15d58..c6c49ed911b 100644 --- a/workspaces/ballerina/ballerina-extension/src/features/ai/activator.ts +++ b/workspaces/ballerina/ballerina-extension/src/features/ai/activator.ts @@ -116,12 +116,12 @@ export function activateAIFeatures(ballerinaExternalInstance: BallerinaExtension getSelectedLibraries, getRelevantLibrariesAndFunctions, GenerationType - } = require('./utils/libraries'); + } = require('./utils/libs/libraries'); const { selectRequiredFunctions, getMaximizedSelectedLibs, toMaximizedLibrariesFromLibJson - } = require('./utils/function-registry'); + } = require('./utils/libs/function-registry'); commands.registerCommand('ballerina.test.ai.getAllLibraries', async (generationType: typeof GenerationType) => { return await getAllLibraries(generationType); diff --git a/workspaces/ballerina/ballerina-extension/src/features/ai/agent/AgentExecutor.ts b/workspaces/ballerina/ballerina-extension/src/features/ai/agent/AgentExecutor.ts index b2aa831b853..d330e6ce1cf 100644 --- a/workspaces/ballerina/ballerina-extension/src/features/ai/agent/AgentExecutor.ts +++ b/workspaces/ballerina/ballerina-extension/src/features/ai/agent/AgentExecutor.ts @@ -17,23 +17,35 @@ */ import { AICommandExecutor, AICommandConfig, AIExecutionResult } from '../executors/base/AICommandExecutor'; -import { Command, GenerateAgentCodeRequest, ProjectSource, EVENT_TYPE, MACHINE_VIEW, refreshReviewMode, ExecutionContext } from '@wso2/ballerina-core'; +import { Command, GenerateAgentCodeRequest, ProjectSource, MACHINE_VIEW, refreshReviewMode, ExecutionContext } from '@wso2/ballerina-core'; import { ModelMessage, stepCountIs, streamText, TextStreamPart } from 'ai'; import { getAnthropicClient, getProviderCacheControl, ANTHROPIC_SONNET_4 } from '../utils/ai-client'; import { populateHistoryForAgent, getErrorMessage } from '../utils/ai-utils'; import { sendAgentDidOpenForFreshProjects } from '../utils/project/ls-schema-notifications'; import { getSystemPrompt, getUserPrompt } from './prompts'; -import { GenerationType, getAllLibraries } from '../utils/libs/libraries'; +import { GenerationType } from '../utils/libs/libraries'; import { createToolRegistry } from './tool-registry'; import { getProjectSource, cleanupTempProject } from '../utils/project/temp-project'; import { StreamContext } from './stream-handlers/stream-context'; import { checkCompilationErrors } from './tools/diagnostics-utils'; import { updateAndSaveChat } from '../utils/events'; import { chatStateStorage } from '../../../views/ai-panel/chatStateStorage'; -import { openView } from '../../../stateMachine'; import { RPCLayer } from '../../../RPCLayer'; import { VisualizerWebview } from '../../../views/visualizer/webview'; import * as path from 'path'; +import { approvalViewManager } from '../state/ApprovalViewManager'; +import { + sendTelemetryEvent, + sendTelemetryException, + TM_EVENT_BALLERINA_AI_GENERATION_COMPLETED, + TM_EVENT_BALLERINA_AI_GENERATION_ABORTED, + TM_EVENT_BALLERINA_AI_GENERATION_FAILED, + CMP_BALLERINA_AI_GENERATION +} from "../../telemetry"; +import { extension } from "../../../BalExtensionContext"; +import { getProjectMetrics } from "../../telemetry/common/project-metrics"; +import { getHashedProjectId } from "../../telemetry/common/project-id"; +import { workspace } from 'vscode'; /** * Determines which packages have been affected by analyzing modified files @@ -70,7 +82,7 @@ function determineAffectedPackages( for (const project of projects) { if (project.packagePath === "") { // Root package in workspace (edge case) - if (!modifiedFile.includes('/') || + if (!modifiedFile.includes('/') || !projects.some(p => p.packagePath && modifiedFile.startsWith(p.packagePath + '/'))) { // Root package is at the temp project path directly affectedPackages.add(tempProjectPath); @@ -80,7 +92,7 @@ function determineAffectedPackages( } } else { // Package with a specific path in workspace - if (modifiedFile.startsWith(project.packagePath + '/') || + if (modifiedFile.startsWith(project.packagePath + '/') || modifiedFile === project.packagePath) { // Map to temp package path: tempProjectPath + relative package path const tempPackagePath = path.join(tempProjectPath, project.packagePath); @@ -136,6 +148,8 @@ export class AgentExecutor extends AICommandExecutor { const tempProjectPath = this.config.executionContext.tempProjectPath!; const params = this.config.params; // Access params from config const modifiedFiles: string[] = []; + const generationStartTime = Date.now(); + const projectId = await getHashedProjectId(this.config.executionContext.projectPath); try { // 1. Get project sources from temp directory @@ -181,19 +195,12 @@ export class AgentExecutor extends AICommandExecutor { }, ]; - // Get libraries for library provider tool - const allLibraries = await getAllLibraries(GenerationType.CODE_GENERATION); - const libraryDescriptions = allLibraries.length > 0 - ? allLibraries.map((lib) => `- ${lib.name}: ${lib.description}`).join("\n") - : "- No libraries available"; - // Create tools const tools = createToolRegistry({ eventHandler: this.config.eventHandler, tempProjectPath, modifiedFiles, projects, - libraryDescriptions, generationType: GenerationType.CODE_GENERATION, workspaceId: this.config.executionContext.projectPath, generationId: this.config.generationId, @@ -201,7 +208,7 @@ export class AgentExecutor extends AICommandExecutor { }); // Stream LLM response - const { fullStream, response } = streamText({ + const { fullStream, response, usage } = streamText({ model: await getAnthropicClient(ANTHROPIC_SONNET_4), maxOutputTokens: 8192, temperature: 0, @@ -223,7 +230,10 @@ export class AgentExecutor extends AICommandExecutor { messageId: this.config.generationId, userMessageContent, response, + usage, ctx: this.config.executionContext, + generationStartTime, + projectId, }; // Process stream events - NATIVE V6 PATTERN @@ -279,6 +289,21 @@ Generation stopped by user. The last in-progress task was not saved. Files have chatStateStorage.declineAllReviews(workspaceId, threadId); } + // Send telemetry for generation abort + const abortTime = Date.now(); + sendTelemetryEvent( + extension.ballerinaExtInstance, + TM_EVENT_BALLERINA_AI_GENERATION_ABORTED, + CMP_BALLERINA_AI_GENERATION, + { + 'message.id': this.config.generationId, + 'project.id': projectId, + 'generation.start_time': generationStartTime.toString(), + 'generation.abort_time': abortTime.toString(), + 'generation.modified_files_count': modifiedFiles.length.toString(), + } + ); + // Note: Abort event is sent by base class handleExecutionError() } @@ -298,7 +323,7 @@ Generation stopped by user. The last in-progress task was not saved. Files have this.config.eventHandler({ type: "error", - content: "An error occurred during agent execution. Plese check the logs for details." + content: "An error occurred during agent execution. Please check the logs for details." }); // For other errors, return result with error @@ -373,6 +398,25 @@ Generation stopped by user. The last in-progress task was not saved. Files have }); } + // Send telemetry for generation failed + const errorTime = Date.now(); + sendTelemetryException( + extension.ballerinaExtInstance, + error, + CMP_BALLERINA_AI_GENERATION, + { + 'event.name': TM_EVENT_BALLERINA_AI_GENERATION_FAILED, + 'message.id': context.messageId, + 'project.id': context.projectId, + 'error.message': getErrorMessage(error), + 'error.type': error.name || 'Unknown', + 'error.code': (error as any)?.code || 'N/A', + 'generation.start_time': context.generationStartTime.toString(), + 'generation.error_time': errorTime.toString(), + 'generation.duration_ms': (errorTime - context.generationStartTime).toString(), + } + ); + context.eventHandler({ type: "error", content: getErrorMessage(error) @@ -394,6 +438,37 @@ Generation stopped by user. The last in-progress task was not saved. Files have diagnostics: finalDiagnostics.diagnostics }); + // Send telemetry for generation completion + const generationEndTime = Date.now(); + const isPlanModeEnabled = workspace.getConfiguration('ballerina.ai').get('planMode', false); + const finalProjectMetrics = await getProjectMetrics(tempProjectPath); + + // Get token usage from streamText result + const tokenUsage = await context.usage; + const inputTokens = tokenUsage.inputTokens || 0; + const outputTokens = tokenUsage.outputTokens || 0; + const totalTokens = tokenUsage.totalTokens || 0; + + // Send telemetry for generation complete + sendTelemetryEvent( + extension.ballerinaExtInstance, + TM_EVENT_BALLERINA_AI_GENERATION_COMPLETED, + CMP_BALLERINA_AI_GENERATION, + { + 'message.id': context.messageId, + 'project.id': context.projectId, + 'generation.modified_files_count': context.modifiedFiles.length.toString(), + 'generation.start_time': context.generationStartTime.toString(), + 'generation.end_time': generationEndTime.toString(), + 'plan_mode': isPlanModeEnabled.toString(), + 'project.files_after': finalProjectMetrics.fileCount.toString(), + 'project.lines_after': finalProjectMetrics.lineCount.toString(), + 'tokens.input': inputTokens.toString(), + 'tokens.output': outputTokens.toString(), + 'tokens.total': totalTokens.toString(), + } + ); + // Update chat state storage await this.updateChatState(context, assistantMessages, tempProjectPath); @@ -456,9 +531,8 @@ Generation stopped by user. The last in-progress task was not saved. Files have affectedPackagePaths: affectedPackagePaths, }); - // Automatically open review mode - openView(EVENT_TYPE.OPEN_VIEW, { view: MACHINE_VIEW.ReviewMode }); - console.log("[AgentExecutor] Automatically opened review mode"); + // Open ReviewMode + approvalViewManager.openView(MACHINE_VIEW.ReviewMode); // Notify ReviewMode component to refresh its data setTimeout(() => { diff --git a/workspaces/ballerina/ballerina-extension/src/features/ai/agent/index.ts b/workspaces/ballerina/ballerina-extension/src/features/ai/agent/index.ts index a4178bce660..94222509d10 100644 --- a/workspaces/ballerina/ballerina-extension/src/features/ai/agent/index.ts +++ b/workspaces/ballerina/ballerina-extension/src/features/ai/agent/index.ts @@ -21,6 +21,14 @@ import { chatStateStorage } from '../../../views/ai-panel/chatStateStorage'; import { AICommandConfig } from "../executors/base/AICommandExecutor"; import { createWebviewEventHandler } from "../utils/events"; import { AgentExecutor } from './AgentExecutor'; +import { + sendTelemetryEvent, + TM_EVENT_BALLERINA_AI_GENERATION_SUBMITTED, + CMP_BALLERINA_AI_GENERATION +} from "../../telemetry"; +import { extension } from "../../../BalExtensionContext"; +import { getProjectMetrics } from "../../telemetry/common/project-metrics"; +import { getHashedProjectId } from "../../telemetry/common/project-id"; // ================================== // Agent Generation Functions @@ -83,6 +91,29 @@ export async function generateAgent(params: GenerateAgentCodeRequest): Promise 0).toString(), + 'chat.has_history': (chatHistory.length > 0).toString(), + 'chat.history_length': chatHistory.length.toString(), + } + ); + await new AgentExecutor(config).run(); return true; diff --git a/workspaces/ballerina/ballerina-extension/src/features/ai/agent/np/prompts.ts b/workspaces/ballerina/ballerina-extension/src/features/ai/agent/np/prompts.ts index 5a74ec2e419..f241e52f691 100644 --- a/workspaces/ballerina/ballerina-extension/src/features/ai/agent/np/prompts.ts +++ b/workspaces/ballerina/ballerina-extension/src/features/ai/agent/np/prompts.ts @@ -14,6 +14,8 @@ // specific language governing permissions and limitations // under the License. +import { CONFIG_COLLECTOR_TOOL } from "../tools/config-collector"; + export const REQUIREMENTS_DOCUMENT_KEY: string = "user_requirements_file"; export function getRequirementAnalysisCodeGenPrefix(requirementAnalysisDocument: string) { @@ -93,6 +95,12 @@ You are an expert test automation engineer specializing in generating test artif 2. Create Ballerina test module with: - Network client configurations (if required, e.g., HTTP, GraphQL, WebSocket, etc.) + - Setup test configuration (if main code uses it): + * If main code uses configuration values (API keys, tokens, passwords), use ${CONFIG_COLLECTOR_TOOL} + * Set mode: "collect", isTestConfig: true + * Tell user: "Setting up test configuration based on main configuration" + * The tool will automatically handle reading from main config and saving to tests/Config.toml + * Example: { mode: "collect", variables: [{ name: "API_KEY", description: "Stripe API key", type: "string" }], isTestConfig: true } - Test data factories - Reusable validation functions diff --git a/workspaces/ballerina/ballerina-extension/src/features/ai/agent/prompts.ts b/workspaces/ballerina/ballerina-extension/src/features/ai/agent/prompts.ts index af8bb6f8bf0..45321533fcc 100644 --- a/workspaces/ballerina/ballerina-extension/src/features/ai/agent/prompts.ts +++ b/workspaces/ballerina/ballerina-extension/src/features/ai/agent/prompts.ts @@ -15,10 +15,12 @@ // under the License. import { DIAGNOSTICS_TOOL_NAME } from "./tools/diagnostics"; -import { LIBRARY_PROVIDER_TOOL } from "../utils/libs/libraries"; +import { LIBRARY_GET_TOOL } from "./tools/library-get"; +import { LIBRARY_SEARCH_TOOL } from "./tools/library-search"; import { TASK_WRITE_TOOL_NAME } from "./tools/task-writer"; import { FILE_BATCH_EDIT_TOOL_NAME, FILE_SINGLE_EDIT_TOOL_NAME, FILE_WRITE_TOOL_NAME } from "./tools/text-editor"; import { CONNECTOR_GENERATOR_TOOL } from "./tools/connector-generator"; +import { CONFIG_COLLECTOR_TOOL } from "./tools/config-collector"; import { getLanglibInstructions } from "../utils/libs/langlibs"; import { formatCodebaseStructure, formatCodeContext } from "./utils"; import { GenerateAgentCodeRequest, OperationType, ProjectSource } from "@wso2/ballerina-core"; @@ -92,8 +94,9 @@ This plan will be visible to the user and the execution will be guided on the ta - Mark task as in_progress using ${TASK_WRITE_TOOL_NAME} and immediately start implementation in parallel (single message with multiple tool calls) - Implement the task completely (write the Ballerina code) - When implementing external API integrations: - - First check ${LIBRARY_PROVIDER_TOOL} for known services (Stripe, GitHub, etc.) - - If NOT available, call ${CONNECTOR_GENERATOR_TOOL} to generate connector from OpenAPI spec + - First use ${LIBRARY_SEARCH_TOOL} with relevant keywords to discover available libraries + - Then use ${LIBRARY_GET_TOOL} to fetch full details for the discovered libraries + - If NO suitable library is found, call ${CONNECTOR_GENERATOR_TOOL} to generate connector from OpenAPI spec - Before marking the task as completed, use the ${DIAGNOSTICS_TOOL_NAME} tool to check for compilation errors and fix them. Introduce a a new subtask if needed to fix errors. - Mark task as completed using ${TASK_WRITE_TOOL_NAME} (send ALL tasks) - The tool will wait for TASK COMPLETION APPROVAL from the user @@ -113,8 +116,8 @@ In the tags, you will see if Edit mode is enabled. When its en ### Step 1: Create High-Level Design Create a very high-level and concise design plan for the given user requirement. Avoid using ${TASK_WRITE_TOOL_NAME} tool in this mode. -### Step 2: Identify nescessary libraries -Identify the libraries required to implement the user requirement. Use the ${LIBRARY_PROVIDER_TOOL} tool to get the information about the libraries. +### Step 2: Identify necessary libraries +Identify the libraries required to implement the user requirement. Use ${LIBRARY_SEARCH_TOOL} to discover relevant libraries, then use ${LIBRARY_GET_TOOL} to fetch their full details. ### Step 3: Write the code Write/modify the Ballerina code to implement the user requirement. Use the ${FILE_BATCH_EDIT_TOOL_NAME}, ${FILE_SINGLE_EDIT_TOOL_NAME}, ${FILE_WRITE_TOOL_NAME} tools to write/modify the code. @@ -131,8 +134,8 @@ Once the code is written and validated, provide a very concise summary of the ov When generating Ballerina code strictly follow these syntax and structure guidelines: ## Library Usage and Importing libraries -- Only use the libraries received from user query or the ${LIBRARY_PROVIDER_TOOL} tool or langlibs. -- Examine the library API documentation provided by the ${LIBRARY_PROVIDER_TOOL} carefully. Strictly follow the type definitions, function signatures, and all the other details provided when writing the code. +- Only use the libraries received from user query or discovered via ${LIBRARY_SEARCH_TOOL} and fetched via ${LIBRARY_GET_TOOL}, or langlibs. +- Examine the library API documentation provided by ${LIBRARY_GET_TOOL} carefully. Strictly follow the type definitions, function signatures, and all the other details provided when writing the code. - Each .bal file must include its own import statements for any external library references. - Do not import default langlibs (lang.string, lang.boolean, lang.float, lang.decimal, lang.int, lang.map). - For packages with dots in names, use aliases: \`import org/package.one as one;\` @@ -150,6 +153,11 @@ ${getLanglibInstructions()} ## Code Structure - Define required configurables for the query. Use only string, int, decimal, boolean types in configurable variables. +- For sensitive configuration values (API keys, tokens, passwords), use ${CONFIG_COLLECTOR_TOOL} in COLLECT mode. Variable names are converted to lowercase without underscores in Config.toml. You MUST use the exact Config.toml names in your Ballerina configurables to avoid runtime errors. +- When generating tests that need configuration values: + - Use COLLECT mode with isTestConfig: true + - The tool will automatically read existing values from Config.toml (if exists), ask user to reuse or modify for testing, and save to tests/Config.toml + - Example: { mode: "collect", variables: [...], isTestConfig: true } - Initialize any necessary clients with the correct configuration based on the retrieved libraries at the module level (before any function or service declarations). - Implement the main function OR service to address the query requirements. @@ -179,7 +187,7 @@ ${getLanglibInstructions()} )} tools. The complete existing source code will be provided in the section of the user prompt. - When making replacements inside an existing file, provide the **exact old string** and the **exact new string** with all newlines, spaces, and indentation, being mindful to replace nearby occurrences together to minimize the number of tool calls. - Do NOT create a new markdown file to document each change or summarize your work unless specifically requested by the user. -- Do not add/modify toml files (Config.toml/Ballerina.toml/Dependencies.toml) as you don't have access to those files. +- Do not manually add/modify toml files (Ballerina.toml/Dependencies.toml). For Config.toml configuration management, use ${CONFIG_COLLECTOR_TOOL}. - Prefer modifying existing bal files over creating new files unless explicitly asked to create a new file in the query. ${getNPSuffix(projects, op)} diff --git a/workspaces/ballerina/ballerina-extension/src/features/ai/agent/stream-handlers/stream-context.ts b/workspaces/ballerina/ballerina-extension/src/features/ai/agent/stream-handlers/stream-context.ts index d78bd5d737d..21b2e74abff 100644 --- a/workspaces/ballerina/ballerina-extension/src/features/ai/agent/stream-handlers/stream-context.ts +++ b/workspaces/ballerina/ballerina-extension/src/features/ai/agent/stream-handlers/stream-context.ts @@ -38,6 +38,13 @@ export interface StreamContext { // Response promise (for message history and abort/finish handling) response: StreamTextResult['response']; + // Token usage promise (for telemetry) + usage: StreamTextResult['usage']; + // Execution context (for workspace integration) ctx: ExecutionContext; + + // Telemetry tracking + generationStartTime: number; + projectId: string; } diff --git a/workspaces/ballerina/ballerina-extension/src/features/ai/agent/tool-registry.ts b/workspaces/ballerina/ballerina-extension/src/features/ai/agent/tool-registry.ts index 9de1be76dd7..003b2a3ce37 100644 --- a/workspaces/ballerina/ballerina-extension/src/features/ai/agent/tool-registry.ts +++ b/workspaces/ballerina/ballerina-extension/src/features/ai/agent/tool-registry.ts @@ -35,17 +35,18 @@ import { FILE_SINGLE_EDIT_TOOL_NAME, FILE_WRITE_TOOL_NAME } from './tools/text-editor'; -import { getLibraryProviderTool } from './tools/library-provider'; -import { LIBRARY_PROVIDER_TOOL, GenerationType } from '../utils/libs/libraries'; +import { getLibraryGetTool, LIBRARY_GET_TOOL } from './tools/library-get'; +import { GenerationType } from '../utils/libs/libraries'; import { getHealthcareLibraryProviderTool, HEALTHCARE_LIBRARY_PROVIDER_TOOL } from './tools/healthcare-library'; import { createConnectorGeneratorTool, CONNECTOR_GENERATOR_TOOL } from './tools/connector-generator'; +import { LIBRARY_SEARCH_TOOL, getLibrarySearchTool } from './tools/library-search'; +import { createConfigCollectorTool, CONFIG_COLLECTOR_TOOL } from './tools/config-collector'; export interface ToolRegistryOptions { eventHandler: CopilotEventHandler; tempProjectPath: string; modifiedFiles: string[]; projects: ProjectSource[]; - libraryDescriptions: string; generationType: GenerationType; workspaceId: string; generationId: string; @@ -53,7 +54,7 @@ export interface ToolRegistryOptions { } export function createToolRegistry(opts: ToolRegistryOptions) { - const { eventHandler, tempProjectPath, modifiedFiles, projects, libraryDescriptions, generationType, workspaceId, generationId, threadId } = opts; + const { eventHandler, tempProjectPath, modifiedFiles, projects, generationType, workspaceId, generationId, threadId } = opts; return { [TASK_WRITE_TOOL_NAME]: createTaskWriteTool( eventHandler, @@ -63,13 +64,14 @@ export function createToolRegistry(opts: ToolRegistryOptions) { generationId, threadId || 'default' ), - [LIBRARY_PROVIDER_TOOL]: getLibraryProviderTool( - libraryDescriptions, + [LIBRARY_GET_TOOL]: getLibraryGetTool( generationType, eventHandler ), + [LIBRARY_SEARCH_TOOL]: getLibrarySearchTool( + eventHandler + ), [HEALTHCARE_LIBRARY_PROVIDER_TOOL]: getHealthcareLibraryProviderTool( - libraryDescriptions, eventHandler ), [CONNECTOR_GENERATOR_TOOL]: createConnectorGeneratorTool( @@ -78,6 +80,14 @@ export function createToolRegistry(opts: ToolRegistryOptions) { projects[0].projectName, modifiedFiles ), + [CONFIG_COLLECTOR_TOOL]: createConfigCollectorTool( + eventHandler, + { + tempPath: tempProjectPath, + workspacePath: workspaceId + }, + modifiedFiles + ), [FILE_WRITE_TOOL_NAME]: createWriteTool( createWriteExecute(eventHandler, tempProjectPath, modifiedFiles) ), diff --git a/workspaces/ballerina/ballerina-extension/src/features/ai/agent/tools/config-collector.ts b/workspaces/ballerina/ballerina-extension/src/features/ai/agent/tools/config-collector.ts new file mode 100644 index 00000000000..062ee98273a --- /dev/null +++ b/workspaces/ballerina/ballerina-extension/src/features/ai/agent/tools/config-collector.ts @@ -0,0 +1,602 @@ +// Copyright (c) 2026, WSO2 LLC. (https://www.wso2.com/) All Rights Reserved. + +// WSO2 LLC. licenses this file to you under the Apache License, +// Version 2.0 (the "License"); you may not use this file except +// in compliance with the License. +// You may obtain a copy of the License at + +// http://www.apache.org/licenses/LICENSE-2.0 + +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +import { tool } from "ai"; +import * as crypto from "crypto"; +import * as fs from "fs"; +import * as path from "path"; +import { z } from "zod"; +import { CopilotEventHandler } from "../../utils/events"; +import { approvalManager } from "../../state/ApprovalManager"; +import { + ConfigVariable, + createConfigWithPlaceholders, + getAllConfigStatus, + validateVariableName, + writeConfigValuesToConfig, + createStatusMetadata, + readExistingConfigValues, +} from "../../../../utils/toml-utils"; + +export const CONFIG_COLLECTOR_TOOL = "ConfigCollector"; + +// Constants for config file paths +const CONFIG_FILE_PATH = "Config.toml"; +const TEST_CONFIG_FILE_PATH = "tests/Config.toml"; + +const ConfigVariableSchema = z.object({ + name: z.string().describe("Variable name (e.g., API_KEY)"), + description: z.string().describe("Human-readable description"), + type: z.enum(["string", "int"]).optional().describe("Data type: string (default) or int"), +}); + +const ConfigCollectorSchema = z.object({ + mode: z.enum(["create", "create_and_collect", "collect", "check"]).describe("Operation mode"), + filePath: z.string().optional().describe("Path to config file (for check mode)"), + variables: z.array(ConfigVariableSchema).optional().describe("Configuration variables"), + variableNames: z.array(z.string()).optional().describe("Variable names for check mode"), + isTestConfig: z.boolean().optional().describe("Set to true when collecting configuration for tests. Tool will automatically read from Config.toml and write to tests/Config.toml"), +}); + +interface ConfigCollectorInput { + mode: "create" | "create_and_collect" | "collect" | "check"; + filePath?: string; + variables?: ConfigVariable[]; + variableNames?: string[]; + isTestConfig?: boolean; +} + +export interface ConfigCollectorResult { + success: boolean; + message: string; + status?: Record; + error?: string; + errorCode?: string; +} + +export interface ConfigCollectorPaths { + tempPath: string; + workspacePath: string; +} + +// Helper functions +function getConfigPath(basePath: string, isTestConfig?: boolean): string { + return isTestConfig + ? path.join(basePath, "tests", "Config.toml") + : path.join(basePath, "Config.toml"); +} + +function getConfigFileName(isTestConfig?: boolean): string { + return isTestConfig ? TEST_CONFIG_FILE_PATH : CONFIG_FILE_PATH; +} + +function validateConfigVariables( + variables: ConfigVariable[] +): ConfigCollectorResult | null { + for (const variable of variables) { + if (!validateVariableName(variable.name)) { + return createErrorResult( + "INVALID_VARIABLE_NAME", + `Invalid variable name: ${variable.name}. Use uppercase with underscores (e.g., API_KEY)` + ); + } + } + return null; // Valid +} + +function createErrorResult(errorCode: string, message: string): ConfigCollectorResult { + return { + success: false, + message, + error: message, + errorCode, + }; +} + +export function createConfigCollectorTool( + eventHandler: CopilotEventHandler, + paths: ConfigCollectorPaths, + modifiedFiles?: string[] +) { + return tool({ + description: ` +Manages configuration values in Config.toml for Ballerina integrations securely. Use this tool when user requirements involve API keys, passwords, database credentials, or other sensitive configuration. + +IMPORTANT: Before calling COLLECT or CREATE_AND_COLLECT modes, briefly tell the user what configuration values you need and why. + +Operation Modes: +1. CREATE: Create Config.toml with placeholder variables only + - If file already exists, returns current variable status (same as check mode) instead of overwriting + - Use when you need to set up config structure before collecting configuration values + - Example: { mode: "create", variables: [{ name: "API_KEY", description: "Stripe API key", type: "string" }] } + +2. CREATE_AND_COLLECT: Create config AND immediately request configuration values (most efficient) + - If file already exists, skips create and goes straight to collect + - Use for new integrations that need configuration values right away + - Tell user first what you need + - Example: { mode: "create_and_collect", variables: [{ name: "API_KEY", description: "Stripe API key", type: "string" }] } + +3. COLLECT: Request configuration values from user + - Creates Config.toml if it doesn't exist + - Pre-populates existing values for easy editing + - Use when Config.toml already exists and needs configuration values + - Tell user first what you need + - Example: { mode: "collect", variables: [{ name: "API_KEY", description: "Stripe API key", type: "string" }] } + +4. CHECK: Check which configuration values are filled/missing + - Returns status metadata only, NEVER actual configuration values + - Example: { mode: "check", variableNames: ["API_KEY", "DB_PASSWORD"], filePath: "Config.toml" } + - Returns: { success: true, status: { API_KEY: "filled", DB_PASSWORD: "missing" } } + +5. COLLECT with isTestConfig: Request configuration values for test Config.toml + - Use when generating tests that need configuration values + - Set isTestConfig: true + - Tool automatically: + * Reads existing configuration from Config.toml (if exists) + * Writes to tests/Config.toml + * Creates tests/ directory if needed + - UI behavior depends on what's in main config: + * If placeholders found: Shows "Configuration values needed" + * If actual values found: Shows "Found existing values. You can reuse or update them for testing." + * If mixed: Shows "Complete the remaining configuration values" + - Works even if main Config.toml doesn't exist (shows empty form) + - Example: { mode: "collect", variables: [{ name: "API_KEY", description: "Stripe API key", type: "string" }], isTestConfig: true } + +IMPORTANT: When generating tests that use configurables, ALWAYS use isTestConfig: true. +This ensures tests have their own Config.toml in the tests/ directory. + +VARIABLE NAMING (CRITICAL): +Variable names are converted: API_KEY → apikey, DB_HOST → dbhost (lowercase, no underscores). +You MUST use identical names in Config.toml and Ballerina code. + +Correct: + Tool: { name: "DB_HOST" } + Config.toml: dbhost = "localhost" + Code: configurable string dbhost = ?; + +Incorrect (DO NOT DO): + Tool: { name: "DB_HOST" } + Config.toml: dbhost = "localhost" + Code: configurable string dbHost = ?; // WRONG - mismatch causes runtime error + +SECURITY: +- You NEVER see actual configuration values +- Tool returns only status: { API_KEY: "filled" } +- NEVER hardcode configuration values in code`, + inputSchema: ConfigCollectorSchema, + execute: async (input) => { + return await ConfigCollectorTool( + input as ConfigCollectorInput, + eventHandler, + paths, + modifiedFiles + ); + }, + }); +} + +/** + * Analyze existing configuration values to determine their status and appropriate UI message + */ +function analyzeExistingConfig( + existingValues: Record, + variableNames: string[] +): { + hasActualValues: boolean; + hasPlaceholders: boolean; + filledCount: number; + message: string; +} { + let filledCount = 0; + let placeholderCount = 0; + + for (const name of variableNames) { + const value = existingValues[name]; + if (value && !value.startsWith('${')) { + filledCount++; + } else { + placeholderCount++; + } + } + + let message = ""; + if (filledCount === 0) { + message = "Configuration values needed"; + } else if (placeholderCount === 0) { + message = "Found existing values. You can reuse or update them."; + } else { + message = "Complete the remaining configuration values"; + } + + return { + hasActualValues: filledCount > 0, + hasPlaceholders: placeholderCount > 0, + filledCount, + message + }; +} + +export async function ConfigCollectorTool( + input: ConfigCollectorInput, + eventHandler: CopilotEventHandler, + paths: ConfigCollectorPaths, + modifiedFiles?: string[] +): Promise { + if (!eventHandler) { + return createErrorResult("INVALID_INPUT", "Event handler is required"); + } + + const requestId = crypto.randomUUID(); + + try { + switch (input.mode) { + case "create": + return await handleCreateMode( + input.variables, + paths, + eventHandler, + requestId, + input.isTestConfig, + modifiedFiles + ); + + case "create_and_collect": + return await handleCreateAndCollectMode( + input.variables, + paths, + eventHandler, + requestId, + input.isTestConfig, + modifiedFiles + ); + + case "collect": + return await handleCollectMode( + input.variables, + paths, + eventHandler, + requestId, + input.isTestConfig, + modifiedFiles + ); + + case "check": + return await handleCheckMode( + input.variableNames, + input.filePath, + paths, + input.isTestConfig + ); + + default: + // TypeScript should prevent this with discriminated unions + return createErrorResult("INVALID_MODE", `Unknown mode: ${(input as any).mode}`); + } + } catch (error: any) { + return handleError(error, requestId, eventHandler); + } +} + +async function handleCreateMode( + variables: ConfigVariable[], + paths: ConfigCollectorPaths, + eventHandler: CopilotEventHandler, + requestId: string, + isTestConfig?: boolean, + modifiedFiles?: string[] +): Promise { + // Validate variable names + const validationError = validateConfigVariables(variables); + if (validationError) { return validationError; } + + const configPath = getConfigPath(paths.tempPath, isTestConfig); + const configFileName = getConfigFileName(isTestConfig); + + // If file already exists, delegate to check mode to inform the agent of current status + if (fs.existsSync(configPath)) { + console.log(`[ConfigCollector] CREATE mode - ${configFileName} already exists, delegating to check mode`); + const variableNames = variables.map((v) => v.name); + const checkResult = await handleCheckMode(variableNames, undefined, paths, isTestConfig); + return { + ...checkResult, + message: `${configFileName} already exists. ${checkResult.message}. Use collect mode to update values.`, + }; + } + + console.log(`[ConfigCollector] CREATE mode - Creating ${configFileName} with placeholders`); + + eventHandler({ + type: "configuration_collection_event", + requestId, + stage: "creating_file", + message: isTestConfig + ? "Creating configuration file for tests..." + : "Creating configuration file...", + isTestConfig, + }); + + createConfigWithPlaceholders(configPath, variables, false); + + if (modifiedFiles && !modifiedFiles.includes(configFileName)) { + modifiedFiles.push(configFileName); + } + + eventHandler({ + type: "configuration_collection_event", + requestId, + stage: "done", + message: isTestConfig + ? "Configuration file for tests created" + : "Configuration file created", + isTestConfig, + }); + + return { + success: true, + message: `Created ${configFileName} with ${variables.length} placeholder variable(s). Use collect mode to request configuration values from user.`, + }; +} + +async function handleCreateAndCollectMode( + variables: ConfigVariable[], + paths: ConfigCollectorPaths, + eventHandler: CopilotEventHandler, + requestId: string, + isTestConfig?: boolean, + modifiedFiles?: string[] +): Promise { + const configPath = getConfigPath(paths.tempPath, isTestConfig); + + // If file already exists, skip create and go straight to collect + if (!fs.existsSync(configPath)) { + const createResult = await handleCreateMode( + variables, + paths, + eventHandler, + requestId, + isTestConfig, + modifiedFiles + ); + if (!createResult.success) { + return createResult; + } + } + + return await handleCollectMode( + variables, + paths, + eventHandler, + requestId, + isTestConfig, + modifiedFiles + ); +} + +async function handleCollectMode( + variables: ConfigVariable[], + paths: ConfigCollectorPaths, + eventHandler: CopilotEventHandler, + requestId: string, + isTestConfig?: boolean, + modifiedFiles?: string[] +): Promise { + // Validate variable names + const validationError = validateConfigVariables(variables); + if (validationError) { return validationError; } + + // Determine paths based on isTestConfig flag + const configPath = getConfigPath(paths.tempPath, isTestConfig); + + // Priority: tests/Config.toml → Config.toml → empty + const mainConfigPath = path.join(paths.tempPath, "Config.toml"); + const sourceConfigPath = isTestConfig + ? (fs.existsSync(configPath) ? configPath : mainConfigPath) + : configPath; + + // Capture whether the test config already existed + const testConfigPreExisted = isTestConfig && fs.existsSync(configPath); + + // Create config file if it doesn't exist + if (!fs.existsSync(configPath)) { + console.log(`[ConfigCollector] Creating ${getConfigFileName(isTestConfig)}`); + + // Emit creating_file stage + eventHandler({ + type: "configuration_collection_event", + requestId, + stage: "creating_file", + message: isTestConfig + ? "Setting up tests/Config.toml..." + : "Setting up Config.toml...", + isTestConfig, + }); + + createConfigWithPlaceholders(configPath, variables, false); + + // Track modified file + if (modifiedFiles) { + const configFileName = getConfigFileName(isTestConfig); + if (!modifiedFiles.includes(configFileName)) { + modifiedFiles.push(configFileName); + } + } + } + + // Read existing configuration values from source config (if they exist) + const existingValues = readExistingConfigValues( + sourceConfigPath, + variables.map(v => v.name) + ); + + // Analyze existing values to determine appropriate messaging + const analysis = analyzeExistingConfig( + existingValues, + variables.map(v => v.name) + ); + + console.log(`[ConfigCollector] ${isTestConfig ? 'Test' : 'Main'} configuration: ${analysis.filledCount} filled`); + + // Determine the message to show to user + const userMessage = isTestConfig + ? (analysis.hasActualValues + ? (testConfigPreExisted + ? "Found existing test values. You can update them." + : "Found values from main config. You can reuse or update them for testing.") + : "Test configuration values needed") + : (analysis.hasActualValues + ? "Update configuration values" + : "Configuration values needed"); + + // Request configuration values from user via ApprovalManager + // This returns ACTUAL values (not exposed to agent) + const userResponse = await approvalManager.requestConfiguration( + requestId, + variables, + existingValues, + eventHandler, + isTestConfig, + userMessage + ); + + if (!userResponse.provided) { + // User cancelled + const configFileName = getConfigFileName(isTestConfig); + eventHandler({ + type: "configuration_collection_event", + requestId, + stage: "skipped", + message: `Configuration collection skipped${userResponse.comment ? ": " + userResponse.comment : ""}`, + isTestConfig, + }); + + return { + success: false, + message: `User cancelled configuration collection${userResponse.comment ? ": " + userResponse.comment : ""}. ${configFileName} has placeholder values. You can ask user to provide values later using collect mode.`, + error: `User cancelled${userResponse.comment ? ": " + userResponse.comment : ""}`, + errorCode: "USER_CANCELLED", + }; + } + + // Write actual configuration values to determined config path + writeConfigValuesToConfig(configPath, userResponse.configValues!, variables); + + // Track modified file for syncing to workspace + if (modifiedFiles) { + const configFileName = getConfigFileName(isTestConfig); + if (!modifiedFiles.includes(configFileName)) { + modifiedFiles.push(configFileName); + } + } + + // Convert to status metadata (filled/missing) - NEVER return actual values to agent + const statusMetadata = createStatusMetadata(userResponse.configValues!); + + // Clear values from memory + userResponse.configValues = undefined; + + // Success - configuration values were collected and written + const configFileName = getConfigFileName(isTestConfig); + eventHandler({ + type: "configuration_collection_event", + requestId, + stage: "done", + message: isTestConfig + ? "Test configuration saved to tests/Config.toml" + : "Configuration saved to Config.toml", + isTestConfig, + }); + + return { + success: true, + message: `Successfully collected ${variables.length} configuration value(s) and saved to ${configFileName}${userResponse.comment ? ". User note: " + userResponse.comment : ""}`, + status: statusMetadata, + }; +} + +async function handleCheckMode( + variableNames: string[], + filePath: string | undefined, + paths: ConfigCollectorPaths, + isTestConfig?: boolean +): Promise { + let configPath: string; + let configFileName: string; + if (filePath) { + configPath = path.join(paths.tempPath, filePath); + configFileName = path.basename(filePath); + } else { + configPath = getConfigPath(paths.tempPath, isTestConfig); + configFileName = getConfigFileName(isTestConfig); + } + + if (!fs.existsSync(configPath)) { + return { + success: false, + message: `${configFileName} not found. Use create or collect mode to create it.`, + error: "FILE_NOT_FOUND", + errorCode: "FILE_NOT_FOUND", + }; + } + + // Read all variables from the file + const status = getAllConfigStatus(configPath); + + // Any requested variable names not found in file → mark as missing + for (const name of variableNames) { + if (!(name in status)) { + status[name] = "missing"; + } + } + + const filledCount = Object.values(status).filter((s) => s === "filled").length; + const missingCount = Object.values(status).filter((s) => s === "missing").length; + const totalCount = filledCount + missingCount; + + return { + success: true, + message: `${configFileName} has ${totalCount} variable(s): ${filledCount} filled, ${missingCount} with placeholder`, + status, + }; +} + +function handleError( + error: any, + requestId: string, + eventHandler: CopilotEventHandler +): ConfigCollectorResult { + const message = (error && typeof error.message === "string" && error.message) || String(error) || "Unknown error"; + const code = (error && error.code) || "UNKNOWN_ERROR"; + + console.error("[ConfigCollector] Error:", error); + + eventHandler({ + type: "configuration_collection_event", + requestId, + stage: "error", + message: `Error: ${message}`, + error: { + message, + code, + }, + }); + + return { + success: false, + message: `Failed to manage configuration: ${message}`, + error: message, + errorCode: code, + }; +} diff --git a/workspaces/ballerina/ballerina-extension/src/features/ai/agent/tools/connector-generator.ts b/workspaces/ballerina/ballerina-extension/src/features/ai/agent/tools/connector-generator.ts index c87a4f64a11..87c5721d891 100644 --- a/workspaces/ballerina/ballerina-extension/src/features/ai/agent/tools/connector-generator.ts +++ b/workspaces/ballerina/ballerina-extension/src/features/ai/agent/tools/connector-generator.ts @@ -32,9 +32,10 @@ import { import { CopilotEventHandler } from "../../utils/events"; import { langClient } from "../../activator"; import { applyTextEdits } from "../utils"; -import { LIBRARY_PROVIDER_TOOL } from "../../utils/libs/libraries"; +import { LIBRARY_GET_TOOL } from "./library-get"; import { approvalManager } from '../../state/ApprovalManager'; import { sendAiSchemaDidOpen } from "../../utils/project/ls-schema-notifications"; +import { LIBRARY_SEARCH_TOOL } from "./library-search"; export const CONNECTOR_GENERATOR_TOOL = "ConnectorGeneratorTool"; @@ -43,14 +44,19 @@ const SpecFetcherInputSchema = z.object({ serviceDescription: z.string().optional().describe("Optional description of what the service is for"), }); + + export function createConnectorGeneratorTool(eventHandler: CopilotEventHandler, tempProjectPath: string, projectName?: string, modifiedFiles?: string[]) { return tool({ + // TODO: Since LIBRARY_SEARCH_TOOL and LIBRARY_GET_TOOL workflow changed, verify this tool's use case ordering aligns with agent behavior description: ` -Generates a connector for an external service by deriving the service contract from user-provided specifications. Use this tool only when the service contract is unclear or missing, and the target service is not a well-established platform with an existing SDK or connector +Generates a connector for an external service by deriving the service contract from user-provided OpenAPI specifications. Use this tool when: -1. The target service is custom, internal, or niche, and unlikely to be covered by existing libraries. -2. When the ${LIBRARY_PROVIDER_TOOL} does not have a connector for the target service. +1. Target service is custom, internal, or niche +2. User request is ambiguous and needs a SaaS connector +3. User explicitly requests to create a SaaS connector +4. After searching with ${LIBRARY_SEARCH_TOOL}, no suitable connector is found The tool will: 1. Request OpenAPI spec from user (supports JSON and YAML formats) diff --git a/workspaces/ballerina/ballerina-extension/src/features/ai/agent/tools/healthcare-library.ts b/workspaces/ballerina/ballerina-extension/src/features/ai/agent/tools/healthcare-library.ts index 1f6047caee3..61cb3c7aa1b 100644 --- a/workspaces/ballerina/ballerina-extension/src/features/ai/agent/tools/healthcare-library.ts +++ b/workspaces/ballerina/ballerina-extension/src/features/ai/agent/tools/healthcare-library.ts @@ -15,7 +15,8 @@ // under the License. import { generateObject, ModelMessage, tool } from "ai"; -import { GenerationType, getAllLibraries, LIBRARY_PROVIDER_TOOL } from "../../utils/libs/libraries"; +import { GenerationType, getAllLibraries } from "../../utils/libs/libraries"; +import { LIBRARY_GET_TOOL } from "./library-get"; import { jsonSchema } from "ai"; import { Library } from "../../utils/libs/library-types"; import { selectRequiredFunctions } from "../../utils/libs/function-registry"; @@ -95,14 +96,13 @@ export async function HealthcareLibraryProviderTool( //TODO: Improve this description export function getHealthcareLibraryProviderTool( - _libraryDescriptions: string, eventHandler: CopilotEventHandler ) { return tool({ description: `Fetches detailed information about healthcare-specific Ballerina libraries along with their API documentation, including services, clients, functions, and filtered type definitions. ** NOTE: -1. This Tool only has knowledge on healthcare libraries, you want general libraries, use ${LIBRARY_PROVIDER_TOOL} to retrieve those. +1. This Tool only has knowledge on healthcare libraries, you want general libraries, use ${LIBRARY_GET_TOOL} to retrieve those. This tool is specifically designed for healthcare integration use cases (FHIR, HL7v2, etc.) and provides: 1. **Automatically includes mandatory healthcare libraries** (FHIR R4, HL7v2 commons, etc.) even if not explicitly requested @@ -163,8 +163,8 @@ export async function getRelevantLibrariesAndFunctions( return relevantTrimmedFuncs; } -export async function getSelectedLibraries(prompt: string, generationType: GenerationType): Promise { - const allLibraries = await getAllLibraries(generationType); +export async function getSelectedLibraries(prompt: string, libraryType: GenerationType): Promise { + const allLibraries = await getAllLibraries(libraryType); if (allLibraries.length === 0) { return []; } diff --git a/workspaces/ballerina/ballerina-extension/src/features/ai/agent/tools/library-provider.ts b/workspaces/ballerina/ballerina-extension/src/features/ai/agent/tools/library-get.ts similarity index 63% rename from workspaces/ballerina/ballerina-extension/src/features/ai/agent/tools/library-provider.ts rename to workspaces/ballerina/ballerina-extension/src/features/ai/agent/tools/library-get.ts index 49b85d1da8e..ad80cc2a92d 100644 --- a/workspaces/ballerina/ballerina-extension/src/features/ai/agent/tools/library-provider.ts +++ b/workspaces/ballerina/ballerina-extension/src/features/ai/agent/tools/library-get.ts @@ -1,4 +1,4 @@ -// Copyright (c) 2025, WSO2 LLC. (https://www.wso2.com/) All Rights Reserved. +// Copyright (c) 2026, WSO2 LLC. (https://www.wso2.com/) All Rights Reserved. // WSO2 LLC. licenses this file to you under the Apache License, // Version 2.0 (the "License"); you may not use this file except @@ -20,16 +20,18 @@ import { jsonSchema } from "ai"; import { Library } from "../../utils/libs/library-types"; import { selectRequiredFunctions } from "../../utils/libs/function-registry"; import { CopilotEventHandler } from "../../utils/events"; -import { LIBRARY_PROVIDER_TOOL } from "../../utils/libs/libraries"; + +export const LIBRARY_GET_TOOL = "LibraryGetTool"; /** - * Emits tool_result event for library provider with filtering + * Emits tool_result event for library get with filtering */ function emitLibraryToolResult( eventHandler: CopilotEventHandler, toolName: string, libraries: Library[], - requestedLibraryNames: string[] + requestedLibraryNames: string[], + toolCallId: string ): void { const libraryNames = libraries.map(lib => lib.name); const filteredNames = libraryNames.filter(name => requestedLibraryNames.includes(name)); @@ -37,11 +39,12 @@ function emitLibraryToolResult( eventHandler({ type: "tool_result", toolName, - toolOutput: filteredNames + toolOutput: filteredNames, + toolCallId }); } -const LibraryProviderToolSchema = jsonSchema<{ +const LibraryGetToolSchema = jsonSchema<{ libraryNames: string[]; userPrompt: string; }>({ @@ -60,46 +63,48 @@ const LibraryProviderToolSchema = jsonSchema<{ required: ["libraryNames", "userPrompt"], }); -export async function LibraryProviderTool( +export async function LibraryGetTool( params: { libraryNames: string[]; userPrompt: string }, generationType: GenerationType, - eventHandler: CopilotEventHandler + eventHandler: CopilotEventHandler, + toolCallId: string ): Promise { try { - // Emit tool_call event + // Emit tool_call event with ID from AI SDK eventHandler({ type: "tool_call", - toolName: LIBRARY_PROVIDER_TOOL, + toolName: LIBRARY_GET_TOOL, + toolCallId }); const startTime = Date.now(); const libraries = await selectRequiredFunctions(params.userPrompt, params.libraryNames, generationType); console.log( - `[LibraryProviderTool] Fetched ${libraries.length} libraries: ${libraries + `[LibraryGetTool] Fetched ${libraries.length} libraries: ${libraries .map((lib) => lib.name) .join(", ")}, took ${(Date.now() - startTime) / 1000}s` ); - // Emit tool_result event with filtered library names - emitLibraryToolResult(eventHandler, LIBRARY_PROVIDER_TOOL, libraries, params.libraryNames); + // Emit tool_result event with filtered library names and ID + emitLibraryToolResult(eventHandler, LIBRARY_GET_TOOL, libraries, params.libraryNames, toolCallId); return libraries; } catch (error) { - console.error(`[LibraryProviderTool] Error fetching libraries: ${error}`); + console.error(`[LibraryGetTool] Error fetching libraries: ${error}`); - // Emit error result + // Emit error result with same ID eventHandler({ type: "tool_result", - toolName: LIBRARY_PROVIDER_TOOL, - toolOutput: [] + toolName: LIBRARY_GET_TOOL, + toolOutput: [], + toolCallId }); return []; } } -export function getLibraryProviderTool( - libraryDescriptions: string, +export function getLibraryGetTool( generationType: GenerationType, eventHandler: CopilotEventHandler ) { @@ -107,34 +112,33 @@ export function getLibraryProviderTool( description: `Fetches detailed information about Ballerina libraries along with their API documentation, including services, clients, functions, and types. This tool analyzes a user query and returns **only the relevant** services, clients, functions, and types from the selected Ballerina libraries based on the provided user prompt. -Available libraries: - -${libraryDescriptions} - - Before calling this tool: -- Review all library names and their descriptions. -- Analyze the user query provided in the user message to identify the relevant Ballerina libraries which can be utilized to fulfill the query. -- Select the minimal set of libraries that can fulfill the query based on their descriptions. +- First use LibrarySearchTool to discover available libraries based on keywords +- Review the library names and descriptions returned from the search +- Analyze the user query to identify the relevant Ballerina libraries which can be utilized to fulfill the query +- Select the minimal set of libraries that can fulfill the query based on their descriptions # Example **Query**: Write an integration to read GitHub issues, summarize them, and post the summary to a Slack channel. -**Tool Call**: Call with libraryNames: ["ballerinax/github", "ballerinax/slack", "ballerinax/azure.openai.chat"] - +**Step 1**: Call LibrarySearchTool with keywords: ["GitHub", "Slack", "OpenAI"] +**Step 2**: Call this tool with libraryNames: ["ballerinax/github", "ballerinax/slack", "ballerinax/azure.openai.chat"] Tool Response: Tool responds with the following information about the requested libraries: name, description, type definitions (records, objects, enums, type aliases), clients (if any), functions and services (if any). `, - inputSchema: LibraryProviderToolSchema, - execute: async (input: { libraryNames: string[]; userPrompt: string }) => { + inputSchema: LibraryGetToolSchema, + execute: async (input: { libraryNames: string[]; userPrompt: string }, context?: { toolCallId?: string }) => { + // Extract toolCallId from AI SDK context + const toolCallId = context?.toolCallId || `fallback-${Date.now()}`; + console.log( - `[LibraryProviderTool] Called with ${input.libraryNames.length} libraries: ${input.libraryNames.join( + `[LibraryGetTool] Called with ${input.libraryNames.length} libraries: ${input.libraryNames.join( ", " - )} and prompt: ${input.userPrompt}` + )} and prompt: ${input.userPrompt} [toolCallId: ${toolCallId}]` ); - return await LibraryProviderTool(input, generationType, eventHandler); + return await LibraryGetTool(input, generationType, eventHandler, toolCallId); }, }); } diff --git a/workspaces/ballerina/ballerina-extension/src/features/ai/agent/tools/library-search.ts b/workspaces/ballerina/ballerina-extension/src/features/ai/agent/tools/library-search.ts new file mode 100644 index 00000000000..e47a3b00672 --- /dev/null +++ b/workspaces/ballerina/ballerina-extension/src/features/ai/agent/tools/library-search.ts @@ -0,0 +1,210 @@ +// Copyright (c) 2026, WSO2 LLC. (https://www.wso2.com/) All Rights Reserved. + +// WSO2 LLC. licenses this file to you under the Apache License, +// Version 2.0 (the "License"); you may not use this file except +// in compliance with the License. +// You may obtain a copy of the License at + +// http://www.apache.org/licenses/LICENSE-2.0 + +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +import { tool, jsonSchema } from "ai"; +import { CopilotEventHandler } from "../../utils/events"; +import { langClient } from "../../activator"; +import { CopilotSearchLibrariesBySearchRequest, CopilotSearchLibrariesBySearchResponse, MinifiedLibrary } from "@wso2/ballerina-core"; + +export const LIBRARY_SEARCH_TOOL = "LibrarySearchTool"; + +// Maximum number of keywords allowed for library search +const MAX_SEARCH_KEYWORDS = 10; + +const LibrarySearchToolSchema = jsonSchema<{ + keywords: string[]; + searchDescription?: string; +}>({ + type: "object", + properties: { + keywords: { + type: "array", + items: { type: "string" }, + description: `Array of search keywords to find relevant Ballerina libraries. Keywords are weighted by order - first keyword has highest weight, subsequent keywords have decreasing weight. Maximum ${MAX_SEARCH_KEYWORDS} keywords allowed. Examples: ["GitHub", "API", "integration"], ["Stripe", "payment", "gateway"], ["HTTP", "REST", "service"]`, + minItems: 1, + maxItems: MAX_SEARCH_KEYWORDS, + }, + searchDescription: { + type: "string", + description: "Optional user-friendly description of what libraries are being searched for (e.g., 'payment processing libraries', 'GitHub API connectors', 'email sending services'). This will be shown to the user during the search to provide context about what is being looked for.", + }, + }, + required: ["keywords"], +}); + +function emitLibrarySearchResult( + eventHandler: CopilotEventHandler, + toolName: string, + libraries: MinifiedLibrary[], + toolCallId: string, + searchDescription?: string +): void { + const libraryNames = libraries.map(lib => lib.name); + eventHandler({ + type: "tool_result", + toolName, + toolOutput: { + libraries: libraryNames, + searchDescription + }, + toolCallId + }); +} + +export async function LibrarySearchTool( + params: { keywords: string[]; searchDescription?: string }, + eventHandler: CopilotEventHandler, + toolCallId: string +): Promise { + try { + // Emit tool_call event with ID and description + eventHandler({ + type: "tool_call", + toolName: LIBRARY_SEARCH_TOOL, + toolInput: { + keywords: params.keywords, + searchDescription: params.searchDescription + }, + toolCallId + }); + + const startTime = Date.now(); + + // Validate keyword count + const keywords = params.keywords.slice(0, MAX_SEARCH_KEYWORDS); + if (keywords.length === 0) { + console.warn(`[LibrarySearchTool] No keywords provided`); + return { libraries: [] }; + } + + const request: CopilotSearchLibrariesBySearchRequest = { + keywords + }; + + const response: CopilotSearchLibrariesBySearchResponse = + await langClient.getCopilotLibrariesBySearch(request); + + const libraryNames = response.libraries.map(lib => lib.name); + console.log( + `[LibrarySearchTool] Searched with keywords: [${keywords.join(", ")}], found ${response.libraries.length} libraries: ${libraryNames.join( + ", " + )}, took ${(Date.now() - startTime) / 1000}s` + ); + + // Emit tool_result event with same ID and description + emitLibrarySearchResult(eventHandler, LIBRARY_SEARCH_TOOL, response.libraries, toolCallId, params.searchDescription); + + return { libraries: response.libraries }; + } catch (error) { + console.error(`[LibrarySearchTool] Error searching libraries: ${error}`); + + // Emit error result with same ID and description + eventHandler({ + type: "tool_result", + toolName: LIBRARY_SEARCH_TOOL, + toolOutput: { + libraries: [], + searchDescription: params.searchDescription + }, + toolCallId + }); + + return { libraries: [] }; + } +} + +export function getLibrarySearchTool( + eventHandler: CopilotEventHandler +) { + return tool({ + description: `Searches for Ballerina libraries from Ballerina Central based on weighted keywords. + +**Purpose:** +This tool discovers relevant Ballerina libraries using keyword-based search. It searches against library names, descriptions, and function names. Keywords are weighted by order - the first keyword has the highest weight, with decreasing weight for subsequent keywords. + +**Scope - ALL Ballerina Libraries:** +- **ballerina/*** - Standard/core libraries (e.g., ballerina/http, ballerina/io, ballerina/sql) +- **ballerinax/*** - Extended/connector packages (e.g., ballerinax/stripe, ballerinax/aws.s3, ballerinax/github) +- **xlibb/*** - C library bindings (e.g., xlibb/docreader) +- Other organization packages available in Ballerina Central + +**Keyword Guidelines:** +- Provide 1-${MAX_SEARCH_KEYWORDS} keywords ordered by importance +- First keyword = most important (highest weight in search) +- Subsequent keywords = less important (decreasing weight) +- Use specific terms (e.g., "Stripe", "GitHub", "PostgreSQL") before generic ones (e.g., "payment", "API", "database") + +**When to use this tool:** +- To discover which libraries are available for a specific use case or integration +- Before calling LibraryProviderTool to retrieve full library details +- When the user query mentions integrations, services, connectors, or specific functionality +- Whenever you need to find relevant libraries but don't know the exact library names + +**Important - Two-Step Workflow:** +1. First, call THIS tool (LibrarySearchTool) with weighted keywords to discover relevant libraries +2. Review the returned library names and descriptions +3. Select the most appropriate libraries (typically 1-5 libraries) +4. Then, call LibraryProviderTool with the selected library names to get detailed API documentation (functions, types, clients, services, etc.) + +**Example Workflows:** + +Example 1 - Stripe Integration: +User query: "I need to integrate with Stripe payment gateway" +Keywords: ["Stripe", "payment", "gateway"] // "Stripe" has highest weight +Call LibrarySearchTool with keywords: ["Stripe", "payment", "gateway"] +→ Returns: [ + { name: "ballerinax/stripe", description: "Connects to Stripe API for payment processing" } + ] +Then call LibraryProviderTool with libraryNames: ["ballerinax/stripe"] + +Example 2 - GitHub API: +User query: "Create a GitHub integration to list issues" +Keywords: ["GitHub", "API", "issues"] // "GitHub" has highest weight +Call LibrarySearchTool with keywords: ["GitHub", "API", "issues"] +→ Returns: [ + { name: "ballerinax/github", description: "GitHub API connector for repository management" } + ] +Then call LibraryProviderTool with libraryNames: ["ballerinax/github"] + +Example 3 - HTTP Service: +User query: "Create a REST API" +Keywords: ["HTTP", "REST", "API"] // "HTTP" has highest weight +Call LibrarySearchTool with keywords: ["HTTP", "REST", "API"] +→ Returns: [ + { name: "ballerina/http", description: "HTTP client and server implementation" } + ] +Then call LibraryProviderTool with libraryNames: ["ballerina/http"] + +**Tool Response Format:** +Returns an array of library objects, each containing name and description: +[ + { name: "ballerinax/stripe", description: "Stripe payment connector for processing payments..." }, + { name: "ballerinax/aws.s3", description: "AWS S3 connector for object storage operations..." }, + { name: "ballerina/http", description: "HTTP client and server implementation..." } +] +`, + inputSchema: LibrarySearchToolSchema, + execute: async (input: { keywords: string[]; searchDescription?: string }, context?: { toolCallId?: string }) => { + // Extract toolCallId from AI SDK context + const toolCallId = context?.toolCallId || `fallback-${Date.now()}`; + + console.log( + `[LibrarySearchTool] Called with keywords: [${input.keywords.join(", ")}] [toolCallId: ${toolCallId}] [description: ${input.searchDescription || 'none'}]` + ); + return await LibrarySearchTool(input, eventHandler, toolCallId); + }, + }); +} diff --git a/workspaces/ballerina/ballerina-extension/src/features/ai/state/ApprovalManager.ts b/workspaces/ballerina/ballerina-extension/src/features/ai/state/ApprovalManager.ts index c61dcf4d2f5..aadec4204e8 100644 --- a/workspaces/ballerina/ballerina-extension/src/features/ai/state/ApprovalManager.ts +++ b/workspaces/ballerina/ballerina-extension/src/features/ai/state/ApprovalManager.ts @@ -16,8 +16,11 @@ * under the License. */ -import { Task } from '@wso2/ballerina-core/lib/state-machine-types'; -import { CopilotEventHandler } from '../utils/events'; +import { Task, MACHINE_VIEW } from "@wso2/ballerina-core/lib/state-machine-types"; +import { CopilotEventHandler } from "../utils/events"; +import { ConfigVariable } from "../../../utils/toml-utils"; +import { StateMachine } from "../../../stateMachine"; +import { approvalViewManager } from './ApprovalViewManager'; /** * Plan approval response @@ -45,6 +48,15 @@ export interface ConnectorSpecResponse { comment?: string; } +/** + * Configuration response containing actual values (converted to metadata before exposing to agent) + */ +export interface ConfigurationResponse { + provided: boolean; + configValues?: Record; + comment?: string; +} + /** * Generic promise resolver for approval requests */ @@ -67,6 +79,7 @@ export class ApprovalManager { private planApprovals = new Map>(); private taskApprovals = new Map>(); private connectorSpecs = new Map>(); + private configurationRequests = new Map>(); // Default timeout for abandoned approvals (30 minutes) private readonly DEFAULT_TIMEOUT_MS = 30 * 60 * 1000; @@ -98,7 +111,7 @@ export class ApprovalManager { requestPlanApproval( requestId: string, tasks: Task[], - eventHandler: CopilotEventHandler + eventHandler: CopilotEventHandler, ): Promise { console.log(`[ApprovalManager] Requesting plan approval: ${requestId}`); @@ -108,7 +121,7 @@ export class ApprovalManager { requestId: requestId, approvalType: "plan", tasks: tasks, - message: "Please review the implementation plan" + message: "Please review the implementation plan", }); // Create promise that will be resolved by resolvePlanApproval() @@ -168,7 +181,7 @@ export class ApprovalManager { requestId: string, taskDescription: string, tasks: Task[], - eventHandler: CopilotEventHandler + eventHandler: CopilotEventHandler, ): Promise { console.log(`[ApprovalManager] Requesting task approval: ${requestId}`); @@ -179,7 +192,7 @@ export class ApprovalManager { approvalType: "completion", tasks: tasks, taskDescription: taskDescription, - message: `Please verify the completed work for: ${taskDescription}` + message: `Please verify the completed work for: ${taskDescription}`, }); // Create promise that will be resolved by resolveTaskApproval() @@ -205,7 +218,7 @@ export class ApprovalManager { requestId: string, approved: boolean, comment?: string, - approvedTaskDescription?: string + approvedTaskDescription?: string, ): void { const resolver = this.taskApprovals.get(requestId); if (!resolver) { @@ -239,10 +252,7 @@ export class ApprovalManager { * @param eventHandler - Event handler to emit spec request * @returns Promise that resolves when user provides/cancels spec */ - requestConnectorSpec( - requestId: string, - eventHandler: CopilotEventHandler - ): Promise { + requestConnectorSpec(requestId: string, eventHandler: CopilotEventHandler): Promise { console.log(`[ApprovalManager] Requesting connector spec: ${requestId}`); // Emit event to frontend @@ -250,7 +260,7 @@ export class ApprovalManager { type: "connector_generation_notification", requestId: requestId, stage: "requesting_input", - message: "Please provide the OpenAPI specification" + message: "Please provide the OpenAPI specification", }); // Create promise that will be resolved by resolveConnectorSpec() @@ -272,12 +282,7 @@ export class ApprovalManager { * @param spec - The OpenAPI spec (if provided) * @param comment - Optional comment from user */ - resolveConnectorSpec( - requestId: string, - provided: boolean, - spec?: any, - comment?: string - ): void { + resolveConnectorSpec(requestId: string, provided: boolean, spec?: any, comment?: string): void { const resolver = this.connectorSpecs.get(requestId); if (!resolver) { console.warn(`[ApprovalManager] No pending connector spec request for: ${requestId}`); @@ -298,6 +303,107 @@ export class ApprovalManager { this.connectorSpecs.delete(requestId); } + // ============================================ + // Configuration Collection + // ============================================ + + /** + * Request configuration values from user + * Returns actual configuration values to tool (tool converts to metadata for agent) + * Opens a popup in the BI Visualizer for user input + * + * @param isTestConfig - Flag to indicate this is for test configuration (affects UI messaging) + * @param message - Custom message from configuration collector (includes smart analysis for test mode) + */ + requestConfiguration( + requestId: string, + variables: ConfigVariable[], + existingValues: Record, + eventHandler: CopilotEventHandler, + isTestConfig?: boolean, + message?: string + ): Promise { + console.log(`[ApprovalManager] Requesting ${isTestConfig ? 'test ' : ''}configuration: ${requestId}`); + + // Use provided message or generate default + const displayMessage = message || `Please provide ${variables.length} configuration value(s)`; + + // Emit collecting stage to AI Panel + eventHandler({ + type: "configuration_collection_event", + requestId, + stage: "collecting", + variables, + existingValues, + message: displayMessage, + isTestConfig, + }); + + const { projectPath } = StateMachine.context(); + + // Open configuration collector view + approvalViewManager.openApprovalViewPopup( + requestId, + 'configuration', + { + view: MACHINE_VIEW.ConfigurationCollector, + projectPath, + agentMetadata: { + configurationCollector: { + requestId, + variables, + existingValues, + message: displayMessage, + isTestConfig, + }, + }, + } + ); + + // Create promise that will be resolved by resolveConfiguration() + return new Promise((resolve, reject) => { + const timeoutId = setTimeout(() => { + this.configurationRequests.delete(requestId); + reject(new Error(`Configuration request timeout for request ${requestId}`)); + }, this.DEFAULT_TIMEOUT_MS); + + this.configurationRequests.set(requestId, { resolve, reject, timeoutId }); + }); + } + + /** + * Resolve configuration request (called by RPC method when user responds) + * Contains actual configuration values - tool will convert to metadata for agent + */ + resolveConfiguration( + requestId: string, + provided: boolean, + configValues?: Record, + comment?: string, + ): void { + const resolver = this.configurationRequests.get(requestId); + if (!resolver) { + console.warn(`[ApprovalManager] No pending configuration request for: ${requestId}`); + return; + } + + console.log(`[ApprovalManager] Resolving configuration request: ${requestId}, provided: ${provided}`); + + // Clear timeout + if (resolver.timeoutId) { + clearTimeout(resolver.timeoutId); + } + + // Resolve promise with actual configuration values (tool will sanitize before returning to agent) + resolver.resolve({ provided, configValues, comment }); + + // Cleanup + this.configurationRequests.delete(requestId); + + // Cleanup view and clear state machine metadata + approvalViewManager.cleanupView(requestId, true); + } + // ============================================ // Cleanup // ============================================ @@ -310,6 +416,9 @@ export class ApprovalManager { cancelAllPending(reason: string): void { console.log(`[ApprovalManager] Cancelling all pending approvals: ${reason}`); + // Cleanup all approval views + approvalViewManager.cleanupAllViews(); + const error = new Error(reason); // Cancel plan approvals @@ -338,16 +447,26 @@ export class ApprovalManager { resolver.reject(error); } this.connectorSpecs.clear(); + + // Cancel configuration requests + for (const [requestId, resolver] of this.configurationRequests.entries()) { + if (resolver.timeoutId) { + clearTimeout(resolver.timeoutId); + } + resolver.reject(error); + } + this.configurationRequests.clear(); } /** * Get count of pending approvals (useful for debugging) */ - getPendingCount(): { plans: number; tasks: number; connectorSpecs: number } { + getPendingCount(): { plans: number; tasks: number; connectorSpecs: number; configurations: number } { return { plans: this.planApprovals.size, tasks: this.taskApprovals.size, - connectorSpecs: this.connectorSpecs.size + connectorSpecs: this.connectorSpecs.size, + configurations: this.configurationRequests.size, }; } } diff --git a/workspaces/ballerina/ballerina-extension/src/features/ai/state/ApprovalViewManager.ts b/workspaces/ballerina/ballerina-extension/src/features/ai/state/ApprovalViewManager.ts new file mode 100644 index 00000000000..f88f14010f5 --- /dev/null +++ b/workspaces/ballerina/ballerina-extension/src/features/ai/state/ApprovalViewManager.ts @@ -0,0 +1,336 @@ +/** + * Copyright (c) 2026, WSO2 LLC. (https://www.wso2.com) All Rights Reserved. + * + * WSO2 LLC. licenses this file to you under the Apache License, + * Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import { MACHINE_VIEW, EVENT_TYPE, VisualizerLocation, PopupVisualizerLocation, AgentMetadata } from '@wso2/ballerina-core'; +import { AiPanelWebview } from '../../../views/ai-panel/webview'; +import { VisualizerWebview } from '../../../views/visualizer/webview'; +import { openView as openMainView, StateMachine } from '../../../stateMachine'; +import { openPopupView, StateMachinePopup } from '../../../stateMachinePopup'; +import { notifyApprovalOverlayState } from '../../../RPCLayer'; + +export type ApprovalType = 'configuration' | 'task' | 'plan' | 'connector_spec'; + +interface OpenedApprovalView { + requestId: string; + viewType: 'popup' | 'main' | 'inline'; + approvalType: ApprovalType; + machineView: MACHINE_VIEW | null; + isAutoOpened: boolean; + hadExistingVisualizer: boolean; + timestamp: number; + isClosed?: boolean; + projectPath?: string; + agentMetadata?: AgentMetadata; +} + +/** + * Centralized manager for approval view lifecycles. + * Handles opening, tracking, and cleanup of approval views with chat overlay coordination. + */ +export class ApprovalViewManager { + private static instance: ApprovalViewManager; + private openedViews = new Map(); + + private constructor() {} + + static getInstance(): ApprovalViewManager { + if (!this.instance) { + this.instance = new ApprovalViewManager(); + } + return this.instance; + } + + /** + * Register an inline approval shown in chat without opening a separate view. + */ + registerInlineApproval( + requestId: string, + approvalType: ApprovalType + ): void { + console.log(`[ApprovalViewManager] Registering inline ${approvalType} approval:`, requestId); + + this.openedViews.set(requestId, { + requestId, + viewType: 'inline', + approvalType, + machineView: null, + isAutoOpened: true, + hadExistingVisualizer: false, + timestamp: Date.now() + }); + } + + /** + * Open an approval view as popup (or main view if no visualizer exists). + */ + openApprovalViewPopup( + requestId: string, + approvalType: ApprovalType, + viewLocation: VisualizerLocation | PopupVisualizerLocation + ): void { + const isAutoOpened = true; + const machineView = viewLocation.view!; + const projectPath = viewLocation.projectPath; + const agentMetadata = 'agentMetadata' in viewLocation ? viewLocation.agentMetadata : undefined; + + const { viewType, hadExistingVisualizer } = this._openApprovalViewPopup( + machineView, + projectPath, + agentMetadata + ); + + console.log(`[ApprovalViewManager] Opening ${approvalType} view:`, { + requestId, + machineView, + viewType, + isAutoOpened, + hadExistingVisualizer + }); + + this.openedViews.set(requestId, { + requestId, + viewType, + approvalType, + machineView, + isAutoOpened, + hadExistingVisualizer, + timestamp: Date.now(), + projectPath, + agentMetadata + }); + + const overlayMessage = this.getOverlayMessage(approvalType); + this.sendChatOverlayNotification(true, overlayMessage); + } + + private sendChatOverlayNotification(show: boolean, message?: string): void { + try { + notifyApprovalOverlayState({ show, message }); + console.log(`[ApprovalViewManager] Chat overlay ${show ? 'enabled' : 'disabled'}`, message ? `with message: ${message}` : ''); + } catch (error) { + console.error('[ApprovalViewManager] Failed to send chat overlay notification:', error); + } + } + + private getOverlayMessage(approvalType: ApprovalType): string { + const messages: Record = { + 'configuration': 'Waiting for configuration...', + 'task': 'Waiting for task approval...', + 'plan': 'Waiting for plan approval...', + 'connector_spec': 'Waiting for connector spec approval...' + }; + return messages[approvalType]; + } + + getView(requestId: string): OpenedApprovalView | undefined { + return this.openedViews.get(requestId); + } + + /** + * Check if there are any active approval views requiring chat overlay. + */ + hasActiveApprovals(): boolean { + return Array.from(this.openedViews.values()).some(view => !view.isClosed); + } + + /** + * Handle popup close by user. Preserves metadata for reopening and manages navigation. + */ + handlePopupClosed(requestId: string): void { + const view = this.openedViews.get(requestId); + if (!view) { return; } + + console.log(`[ApprovalViewManager] Popup closed by user:`, { + requestId, + hadExistingVisualizer: view.hadExistingVisualizer + }); + + view.isClosed = true; + + if (!this.hasActiveApprovals()) { + this.sendChatOverlayNotification(false); + } + + if (!view.hadExistingVisualizer) { + const ctx = StateMachine.context(); + openMainView(EVENT_TYPE.OPEN_VIEW, { + view: MACHINE_VIEW.PackageOverview, + projectPath: ctx.projectPath + }); + } + } + + cleanupView(requestId: string, clearMetadata: boolean = true): void { + const view = this.openedViews.get(requestId); + if (!view) { return; } + + console.log(`[ApprovalViewManager] Cleaning up ${view.approvalType} view:`, requestId); + + if (clearMetadata) { + this.clearViewMetadata(view); + } + + this.openedViews.delete(requestId); + this.sendChatOverlayNotification(false); + } + + cleanupAllViews(): void { + console.log('[ApprovalViewManager] Cleaning up all approval views'); + + const allViews = Array.from(this.openedViews.values()); + + for (const view of allViews) { + this.clearViewMetadata(view); + } + + this.openedViews.clear(); + this.sendChatOverlayNotification(false); + } + + private clearViewMetadata(view: OpenedApprovalView): void { + console.log(`[ApprovalViewManager] Clearing metadata for ${view.approvalType}:`, view.requestId); + + if (view.viewType === 'inline') { + return; + } + + if (view.viewType === 'popup') { + const ctx = StateMachinePopup.context(); + + if (ctx.view === view.machineView) { + StateMachinePopup.sendEvent(EVENT_TYPE.CLOSE_VIEW, { + view: null, + agentMetadata: undefined + }); + } + } else if (view.viewType === 'main') { + const ctx = StateMachine.context(); + + if (ctx.view === view.machineView) { + openMainView(EVENT_TYPE.OPEN_VIEW, { + view: MACHINE_VIEW.PackageOverview, + projectPath: ctx.projectPath + }); + } + } + } + + onVisualizerClosed(): void { + if (!this.hasActiveApprovals()) { + return; + } + + console.log('[ApprovalViewManager] VisualizerWebview closed, marking all views as closed'); + + for (const view of this.openedViews.values()) { + view.isClosed = true; + } + + this.sendChatOverlayNotification(false); + } + + getOpenViews(): OpenedApprovalView[] { + return Array.from(this.openedViews.values()); + } + + /** + * Opens approval view as popup if visualizer exists, otherwise as main view. + */ + private _openApprovalViewPopup( + machineView: MACHINE_VIEW, + projectPath: string, + agentMetadata?: AgentMetadata + ): { viewType: 'popup' | 'main', hadExistingVisualizer: boolean } { + const hadExistingVisualizer = !!VisualizerWebview.currentPanel; + const viewType: 'popup' | 'main' = hadExistingVisualizer ? 'popup' : 'main'; + + if (viewType === 'popup') { + openPopupView(EVENT_TYPE.OPEN_VIEW, { + view: machineView, + projectPath, + agentMetadata + }); + } else { + openMainView(EVENT_TYPE.OPEN_VIEW, { + view: machineView, + projectPath, + agentMetadata + }); + } + + return { viewType, hadExistingVisualizer }; + } + + /** + * Reopen a previously closed approval view. + */ + reopenApprovalViewPopup(requestId: string): void { + const view = this.openedViews.get(requestId); + + if (!view) { + console.error('[ApprovalViewManager] Cannot reopen - approval view not found:', requestId); + return; + } + + if (view.viewType === 'inline') { + console.log('[ApprovalViewManager] Inline approval - no view to reopen'); + return; + } + + if (!view.projectPath || !view.machineView) { + console.error('[ApprovalViewManager] Cannot reopen - missing required metadata:', requestId); + return; + } + + console.log(`[ApprovalViewManager] Reopening ${view.approvalType} view:`, { + requestId, + wasClosed: view.isClosed, + viewType: view.viewType + }); + + view.isClosed = false; + view.isAutoOpened = false; + + const overlayMessage = this.getOverlayMessage(view.approvalType); + this.sendChatOverlayNotification(true, overlayMessage); + + const { viewType, hadExistingVisualizer } = this._openApprovalViewPopup( + view.machineView, + view.projectPath, + view.agentMetadata + ); + view.viewType = viewType; + view.hadExistingVisualizer = hadExistingVisualizer; + } + + /** + * Open a view in main view (not as popup, no tracking). + * Only opens if AI panel is active. + */ + openView(machineView: MACHINE_VIEW): void { + if (!AiPanelWebview.currentPanel) { + console.log(`[ApprovalViewManager] Skipping ${machineView} open (AI panel closed)`); + return; + } + + console.log(`[ApprovalViewManager] Opening ${machineView} in main view`); + openMainView(EVENT_TYPE.OPEN_VIEW, { view: machineView }); + } +} + +export const approvalViewManager = ApprovalViewManager.getInstance(); diff --git a/workspaces/ballerina/ballerina-extension/src/features/ai/utils/ai-utils.ts b/workspaces/ballerina/ballerina-extension/src/features/ai/utils/ai-utils.ts index 9a1c1c0aa18..83f59b21e9f 100644 --- a/workspaces/ballerina/ballerina-extension/src/features/ai/utils/ai-utils.ts +++ b/workspaces/ballerina/ballerina-extension/src/features/ai/utils/ai-utils.ts @@ -233,20 +233,22 @@ export function sendIntermidateStateNotification(intermediaryState: Documentatio sendAIPanelNotification(msg); } -export function sendToolCallNotification(toolName: string, toolInput?: any): void { +export function sendToolCallNotification(toolName: string, toolInput?: any, toolCallId?: string): void { const msg: ToolCall = { type: "tool_call", toolName: toolName, toolInput: toolInput, + toolCallId: toolCallId, }; sendAIPanelNotification(msg); } -export function sendToolResultNotification(toolName: string, toolOutput?: any): void { +export function sendToolResultNotification(toolName: string, toolOutput?: any, toolCallId?: string): void { const msg: ToolResult = { type: "tool_result", toolName: toolName, toolOutput: toolOutput, + toolCallId: toolCallId, }; sendAIPanelNotification(msg); } @@ -292,6 +294,10 @@ export function sendConnectorGenerationNotification(event: ChatNotify & { type: sendAIPanelNotification(event); } +export function sendConfigurationCollectionNotification(event: ChatNotify & { type: "configuration_collection_event" }): void { + sendAIPanelNotification(event); +} + function sendAIPanelNotification(msg: ChatNotify): void { RPCLayer._messenger.sendNotification(onChatNotify, { type: "webview", webviewType: AiPanelWebview.viewType }, msg); } diff --git a/workspaces/ballerina/ballerina-extension/src/features/ai/utils/events.ts b/workspaces/ballerina/ballerina-extension/src/features/ai/utils/events.ts index f4893ac6c28..e2d68b3c377 100644 --- a/workspaces/ballerina/ballerina-extension/src/features/ai/utils/events.ts +++ b/workspaces/ballerina/ballerina-extension/src/features/ai/utils/events.ts @@ -30,6 +30,7 @@ import { sendAbortNotification, sendSaveChatNotification, sendConnectorGenerationNotification, + sendConfigurationCollectionNotification, sendReviewActionsNotification, } from "./ai-utils"; @@ -75,10 +76,10 @@ export function createWebviewEventHandler(command: Command): CopilotEventHandler sendMessagesNotification(event.messages); break; case "tool_call": - sendToolCallNotification(event.toolName, event.toolInput); + sendToolCallNotification(event.toolName, event.toolInput, event.toolCallId); break; case "tool_result": - sendToolResultNotification(event.toolName, event.toolOutput); + sendToolResultNotification(event.toolName, event.toolOutput, event.toolCallId); break; case "task_approval_request": console.log("[Event Handler] Task approval request received:", event); @@ -103,6 +104,9 @@ export function createWebviewEventHandler(command: Command): CopilotEventHandler case "connector_generation_notification": sendConnectorGenerationNotification(event); break; + case "configuration_collection_event": + sendConfigurationCollectionNotification(event); + break; default: console.warn(`Unhandled event type: ${event}`); break; diff --git a/workspaces/ballerina/ballerina-extension/src/features/ai/utils/feedback.ts b/workspaces/ballerina/ballerina-extension/src/features/ai/utils/feedback.ts new file mode 100644 index 00000000000..3f4bfe6ce4b --- /dev/null +++ b/workspaces/ballerina/ballerina-extension/src/features/ai/utils/feedback.ts @@ -0,0 +1,52 @@ +// Copyright (c) 2026, WSO2 LLC. (https://www.wso2.com/) All Rights Reserved. + +// WSO2 LLC. licenses this file to you under the Apache License, +// Version 2.0 (the "License"); you may not use this file except +// in compliance with the License. +// You may obtain a copy of the License at + +// http://www.apache.org/licenses/LICENSE-2.0 + +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +import { SubmitFeedbackRequest } from "@wso2/ballerina-core"; +import { extension } from "../../../BalExtensionContext"; +import { StateMachine } from "../../../stateMachine"; +import { sendTelemetryEvent, TM_EVENT_BALLERINA_AI_GENERATION_FEEDBACK, CMP_BALLERINA_AI_GENERATION } from "../../telemetry"; +import { getHashedProjectId } from "../../telemetry/common/project-id"; + +/** + * Submits user feedback for AI-generated content to the backend. + * + * @param content - The feedback request payload + * @returns True if feedback was submitted successfully, false otherwise + */ +export async function submitFeedback(content: SubmitFeedbackRequest): Promise { + try { + const projectPath = StateMachine.context()?.projectPath || ''; + const projectId = await getHashedProjectId(projectPath); + + sendTelemetryEvent( + extension.ballerinaExtInstance, + TM_EVENT_BALLERINA_AI_GENERATION_FEEDBACK, + CMP_BALLERINA_AI_GENERATION, + { + 'project.id': projectId, + 'feedback.type': content.positive ? 'positive' : 'negative', + 'feedback.message': content.feedbackText || '', + 'feedback.has_text': content.feedbackText ? 'true' : 'false', + 'feedback.text_length': content.feedbackText?.length.toString() || '0', + 'chat.has_thread': content.messages.length > 0 ? 'true' : 'false', + 'chat.thread': JSON.stringify(content.messages), + } + ); + } catch (error) { + console.error("Error submitting feedback:", error); + return false; + } +} diff --git a/workspaces/ballerina/ballerina-extension/src/features/ai/utils/generation-response.ts b/workspaces/ballerina/ballerina-extension/src/features/ai/utils/generation-response.ts new file mode 100644 index 00000000000..9db4adb1a2f --- /dev/null +++ b/workspaces/ballerina/ballerina-extension/src/features/ai/utils/generation-response.ts @@ -0,0 +1,65 @@ +// Copyright (c) 2026, WSO2 LLC. (https://www.wso2.com/) All Rights Reserved. + +// WSO2 LLC. licenses this file to you under the Apache License, +// Version 2.0 (the "License"); you may not use this file except +// in compliance with the License. +// You may obtain a copy of the License at + +// http://www.apache.org/licenses/LICENSE-2.0 + +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +import { extension } from "../../../BalExtensionContext"; +import { StateMachine } from "../../../stateMachine"; +import { + sendTelemetryEvent, + TM_EVENT_BALLERINA_AI_GENERATION_KEPT, + TM_EVENT_BALLERINA_AI_GENERATION_DISCARD, + CMP_BALLERINA_AI_GENERATION +} from "../../telemetry"; +import { getHashedProjectId } from "../../telemetry/common/project-id"; + +/** + * Sends a telemetry event when the user keeps an AI-generated response. + * + * @param messageId - The message identifier for the kept generation + */ +export async function sendGenerationKeptTelemetry(messageId: string): Promise { + const projectPath = StateMachine.context()?.projectPath || ''; + const projectId = await getHashedProjectId(projectPath); + + sendTelemetryEvent( + extension.ballerinaExtInstance, + TM_EVENT_BALLERINA_AI_GENERATION_KEPT, + CMP_BALLERINA_AI_GENERATION, + { + 'message.id': messageId, + 'project.id': projectId, + } + ); +} + +/** + * Sends a telemetry event when the user discard an AI-generated response. + * + * @param messageId - The message identifier for the discarded generation + */ +export async function sendGenerationDiscardTelemetry(messageId: string): Promise { + const projectPath = StateMachine.context()?.projectPath || ''; + const projectId = await getHashedProjectId(projectPath); + + sendTelemetryEvent( + extension.ballerinaExtInstance, + TM_EVENT_BALLERINA_AI_GENERATION_DISCARD, + CMP_BALLERINA_AI_GENERATION, + { + 'message.id': messageId, + 'project.id': projectId, + } + ); +} diff --git a/workspaces/ballerina/ballerina-extension/src/features/ai/utils/libs/function-registry.ts b/workspaces/ballerina/ballerina-extension/src/features/ai/utils/libs/function-registry.ts index 1aafd49085e..6b22595c509 100644 --- a/workspaces/ballerina/ballerina-extension/src/features/ai/utils/libs/function-registry.ts +++ b/workspaces/ballerina/ballerina-extension/src/features/ai/utils/libs/function-registry.ts @@ -32,14 +32,13 @@ import { getAnthropicClient, ANTHROPIC_HAIKU } from "../ai-client"; import { GenerationType } from "./libraries"; // import { getRequiredTypesFromLibJson } from "../healthcare/healthcare"; import { langClient } from "../../activator"; -import { getGenerationMode } from "../ai-utils"; // Constants for type definitions const TYPE_RECORD = 'Record'; const TYPE_CONSTRUCTOR = 'Constructor'; export async function selectRequiredFunctions(prompt: string, selectedLibNames: string[], generationType: GenerationType): Promise { - const selectedLibs: Library[] = await getMaximizedSelectedLibs(selectedLibNames, generationType); + const selectedLibs: Library[] = await getMaximizedSelectedLibs(selectedLibNames); const functionsResponse: GetFunctionResponse[] = await getRequiredFunctions(selectedLibNames, prompt, selectedLibs, generationType); let typeLibraries: Library[] = []; if (generationType === GenerationType.HEALTHCARE_GENERATION) { @@ -201,9 +200,11 @@ async function getSuggestedFunctions( const getLibSystemPrompt = `You are an AI assistant tasked with filtering and removing unwanted functions and clients from a provided set of libraries and clients based on a user query. The provided libraries are a subset of the full requirements for the query. Your goal is to return ONLY the relevant libraries, clients, and functions from the provided context that match the user's needs. -Rules: -1. Use ONLY the libraries listed in Library_Context_JSON. -2. Do NOT create or infer new libraries or functions.`; +CRITICAL RULES: +1. Use ONLY items from Library_Context_JSON - do not create or infer new ones. +2. Your ONLY task is selection - include or exclude items, NEVER modify field values. +3. Copy all field values EXACTLY as provided - preserve every character including backslashes and special characters. +4. For resource functions: "accessor" and "paths" are SEPARATE fields - NEVER combine them.`; const getLibUserPrompt = `You will be provided with a list of libraries, clients, and their functions, and a user query. @@ -221,9 +222,16 @@ To process the user query and filter the libraries, clients, and functions, foll 2. Review the provided libraries, clients, and functions in Library_Context_JSON. 3. Select only the libraries, clients, and functions that directly match the query's needs. 4. Exclude any irrelevant libraries, clients, or functions. -5. If no relevant functions are found, return an empty array for the libraries. +5. If no relevant functions are found, return an empty array for libraries. 6. Organize the remaining relevant information. +CRITICAL - Field Preservation: +- For resource functions: "accessor" contains ONLY the HTTP method (e.g., "post", "get") - do NOT put path info in it. +- The "paths" field is separate - do NOT merge with accessor. +- Copy all values exactly - preserve backslashes, dots, and special characters. + +Return the filtered subset with IDENTICAL field values. + Now, based on the provided libraries, clients, and functions, and the user query, please filter and return the relevant information. `; @@ -332,12 +340,22 @@ function filteredNormalFunctions(functions?: RemoteFunction[], generationType?: })); } -export async function getMaximizedSelectedLibs(libNames: string[], generationType: GenerationType): Promise { +export async function getMaximizedSelectedLibs(libNames: string[]): Promise { const result = (await langClient.getCopilotFilteredLibraries({ - libNames: libNames, - mode: getGenerationMode(generationType), + libNames: libNames })) as { libraries: Library[] }; - return result.libraries as Library[]; + const normalizedLibraries: Library[] = result.libraries.map(lib => { + return { + name: lib.name, + description: lib.description, + clients: lib.clients ? lib.clients : [], + functions: lib.functions ? lib.functions : [], + typeDefs: lib.typeDefs ? lib.typeDefs : [], + services: lib.services ? lib.services : [], + }; + }); + + return normalizedLibraries; } export async function toMaximizedLibrariesFromLibJson( @@ -711,8 +729,7 @@ async function getExternalRecords( if (!library) { console.warn(`Library ${libName} is not found in the context. Fetching library details.`); const result = (await langClient.getCopilotFilteredLibraries({ - libNames: [libName], - mode: getGenerationMode(GenerationType.CODE_GENERATION), + libNames: [libName] })) as { libraries: Library[] }; if (result.libraries && result.libraries.length > 0) { library = result.libraries[0]; diff --git a/workspaces/ballerina/ballerina-extension/src/features/ai/utils/libs/libraries.ts b/workspaces/ballerina/ballerina-extension/src/features/ai/utils/libs/libraries.ts index ce9be84388b..f380a729e56 100644 --- a/workspaces/ballerina/ballerina-extension/src/features/ai/utils/libs/libraries.ts +++ b/workspaces/ballerina/ballerina-extension/src/features/ai/utils/libs/libraries.ts @@ -14,14 +14,11 @@ // specific language governing permissions and limitations // under the License. -import { MinifiedLibrary } from "@wso2/ballerina-core"; +import { LibraryMode, MinifiedLibrary } from "@wso2/ballerina-core"; import { langClient } from "../../activator"; import { getGenerationMode } from "../ai-utils"; - -export const LIBRARY_PROVIDER_TOOL = "LibraryProviderTool"; - // export async function getRelevantLibs(params: GenerateCodeParams): Promise { // // const prompt = getReadmeQuery(params); // const selectedLibs: string[] = await getSelectedLibraries(prompt); @@ -31,11 +28,24 @@ export const LIBRARY_PROVIDER_TOOL = "LibraryProviderTool"; export enum GenerationType { CODE_GENERATION = "CODE_GENERATION", HEALTHCARE_GENERATION = "HEALTHCARE_GENERATION", + ALL = "ALL" +} + +export function getLibraryModeFromGenerationType(generationType: GenerationType): LibraryMode { + switch (generationType) { + case GenerationType.CODE_GENERATION: + return "CORE"; + case GenerationType.HEALTHCARE_GENERATION: + return "HEALTHCARE"; + case GenerationType.ALL: + default: + return "ALL"; + } } export async function getAllLibraries(generationType: GenerationType): Promise { const result = (await langClient.getCopilotCompactLibraries({ - mode: getGenerationMode(generationType), + mode: getLibraryModeFromGenerationType(generationType), })) as { libraries: MinifiedLibrary[] }; return result.libraries as MinifiedLibrary[]; } diff --git a/workspaces/ballerina/ballerina-extension/src/features/telemetry/activator.ts b/workspaces/ballerina/ballerina-extension/src/features/telemetry/activator.ts index 6b989cf1e25..c6b18be8998 100644 --- a/workspaces/ballerina/ballerina-extension/src/features/telemetry/activator.ts +++ b/workspaces/ballerina/ballerina-extension/src/features/telemetry/activator.ts @@ -35,25 +35,28 @@ export function activate(ballerinaExtInstance: BallerinaExtension) { const langClient = ballerinaExtInstance.langClient; // Start listening telemtry events from language server - langClient.onNotification('telemetry/event', (event: LSTelemetryEvent) => { + langClient.onNotification('telemetry/event', async (event: LSTelemetryEvent) => { let props: { [key: string]: string; }; switch (event.type) { case TM_EVENT_TYPE_ERROR: const errorEvent: LSErrorTelemetryEvent = event; - props = getTelemetryProperties(ballerinaExtInstance, event.component, getMessageObject(TM_EVENT_TYPE_ERROR)); + props = await getTelemetryProperties(ballerinaExtInstance, event.component, + getMessageObject(TM_EVENT_TYPE_ERROR)); props["ballerina.langserver.error.description"] = errorEvent.message; props["ballerina.langserver.error.stacktrace"] = errorEvent.errorStackTrace; props["ballerina.langserver.error.message"] = errorEvent.errorMessage; - reporter.sendTelemetryEvent(TM_ERROR_LANG_SERVER, props); + // TODO: Enable once when the language server telemerty complete + // reporter.sendTelemetryEvent(TM_ERROR_LANG_SERVER, props); break; case TM_EVENT_TYPE_FEATURE_USAGE: const usageEvent: LSFeatureUsageTelemetryEvent = event; - props = getTelemetryProperties(ballerinaExtInstance, event.component, + props = await getTelemetryProperties(ballerinaExtInstance, event.component, getMessageObject(TM_EVENT_TYPE_FEATURE_USAGE)); props["ballerina.langserver.feature.name"] = usageEvent.featureName; props["ballerina.langserver.feature.class"] = usageEvent.featureClass; props["ballerina.langserver.feature.message"] = usageEvent.featureMessage; - reporter.sendTelemetryEvent(TM_FEATURE_USAGE_LANG_SERVER, props); + // TODO: Enable once when the language server telemerty complete + // reporter.sendTelemetryEvent(TM_FEATURE_USAGE_LANG_SERVER, props); break; default: // Do nothing diff --git a/workspaces/ballerina/ballerina-extension/src/features/telemetry/common/project-id.ts b/workspaces/ballerina/ballerina-extension/src/features/telemetry/common/project-id.ts new file mode 100644 index 00000000000..f228b7bae9b --- /dev/null +++ b/workspaces/ballerina/ballerina-extension/src/features/telemetry/common/project-id.ts @@ -0,0 +1,61 @@ +// Copyright (c) 2026, WSO2 LLC. (https://www.wso2.com/) All Rights Reserved. + +// WSO2 LLC. licenses this file to you under the Apache License, +// Version 2.0 (the "License"); you may not use this file except +// in compliance with the License. +// You may obtain a copy of the License at + +// http://www.apache.org/licenses/LICENSE-2.0 + +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +import * as crypto from 'crypto'; +import * as fs from 'fs'; +import * as path from 'path'; +import { parseTomlToConfig } from '../../config-generator/utils'; +import { BALLERINA_TOML } from '../../../utils/project-utils'; + +const projectIdCache = new Map(); + +/** + * Generates a stable, anonymized project identifier by hashing + * the project path combined with the package name from Ballerina.toml. + * + * @param projectPath - Absolute path to the Ballerina project + * @returns SHA-256 hashed project ID, or empty string if projectPath is falsy + */ +export async function getHashedProjectId(projectPath: string): Promise { + if (!projectPath) { + return ''; + } + + const cached = projectIdCache.get(projectPath); + if (cached) { + return cached; + } + + let packageName = ''; + const ballerinaTomlPath = path.join(projectPath, 'Ballerina.toml'); + + try { + if (fs.existsSync(ballerinaTomlPath)) { + const tomlContent = await fs.promises.readFile(ballerinaTomlPath, 'utf-8'); + const tomlObj: BALLERINA_TOML = parseTomlToConfig(tomlContent) as BALLERINA_TOML; + packageName = tomlObj?.package?.name || ''; + } + } catch (error) { + console.warn(`[project-id] Failed to read Ballerina.toml from ${projectPath}:`, error); + } + + const hashInput = projectPath + packageName; + const hashedId = crypto.createHash('sha256').update(hashInput).digest('hex'); + + projectIdCache.set(projectPath, hashedId); + + return hashedId; +} diff --git a/workspaces/ballerina/ballerina-extension/src/features/telemetry/common/project-metrics.ts b/workspaces/ballerina/ballerina-extension/src/features/telemetry/common/project-metrics.ts new file mode 100644 index 00000000000..ecd8378a4e6 --- /dev/null +++ b/workspaces/ballerina/ballerina-extension/src/features/telemetry/common/project-metrics.ts @@ -0,0 +1,49 @@ +// Copyright (c) 2026, WSO2 LLC. (https://www.wso2.com/) All Rights Reserved. + +// WSO2 LLC. licenses this file to you under the Apache License, +// Version 2.0 (the "License"); you may not use this file except +// in compliance with the License. +// You may obtain a copy of the License at + +// http://www.apache.org/licenses/LICENSE-2.0 + +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +import * as vscode from 'vscode'; +import * as fs from 'fs'; + +export interface ProjectMetrics { + fileCount: number; + lineCount: number; +} + +export async function getProjectMetrics(workspacePath?: string): Promise { + const includePattern = workspacePath + ? new vscode.RelativePattern(workspacePath, '**/*.bal') + : '**/*.bal'; + const excludePattern = workspacePath + ? new vscode.RelativePattern(workspacePath, '**/target/**') + : '**/target/**'; + + const files = await vscode.workspace.findFiles(includePattern, excludePattern); + + let totalLineCount = 0; + for (const fileUri of files) { + try { + const fileContent = await fs.promises.readFile(fileUri.fsPath, 'utf8'); + totalLineCount += fileContent.split('\n').length; + } catch (error) { + console.warn(`Failed to read file ${fileUri.fsPath}:`, error); + } + } + + return { + fileCount: files.length, + lineCount: totalLineCount + }; +} \ No newline at end of file diff --git a/workspaces/ballerina/ballerina-extension/src/features/telemetry/components.ts b/workspaces/ballerina/ballerina-extension/src/features/telemetry/components.ts index d4bd5337dca..58446de600e 100644 --- a/workspaces/ballerina/ballerina-extension/src/features/telemetry/components.ts +++ b/workspaces/ballerina/ballerina-extension/src/features/telemetry/components.ts @@ -45,3 +45,5 @@ export const CMP_CHOREO_AUTHENTICATION = "component.choreo.authentication"; export const CMP_PERF_ANALYZER = "component.perf.analyzer"; export const CMP_NOTEBOOK = "component.notebook"; export const CMP_OPEN_VSCODE_URL = "component.open.vscode.url"; + +export const CMP_BALLERINA_AI_GENERATION = "ballerina.ai.generation"; \ No newline at end of file diff --git a/workspaces/ballerina/ballerina-extension/src/features/telemetry/events.ts b/workspaces/ballerina/ballerina-extension/src/features/telemetry/events.ts index 0fd9cb3b98b..a9e7168dbdb 100644 --- a/workspaces/ballerina/ballerina-extension/src/features/telemetry/events.ts +++ b/workspaces/ballerina/ballerina-extension/src/features/telemetry/events.ts @@ -122,3 +122,13 @@ export const TM_EVENT_OPEN_REPO_CHANGE_PATH = "vscode.open.repo.change.path"; export const TM_EVENT_OPEN_REPO_CANCELED = "vscode.open.repo.canceled"; export const TM_EVENT_OPEN_REPO_NEW_FOLDER = "vscode.open.exist.repo.new.folder"; export const TM_EVENT_OPEN_REPO_SAME_FOLDER = "vscode.open.exist.repo.same.folder"; + + +// events for AI features +export const TM_EVENT_BALLERINA_AI_GENERATION_SUBMITTED = "ballerina.ai.generation.submitted"; +export const TM_EVENT_BALLERINA_AI_GENERATION_COMPLETED = "ballerina.ai.generation.completed"; +export const TM_EVENT_BALLERINA_AI_GENERATION_FAILED = "ballerina.ai.generation.failed"; +export const TM_EVENT_BALLERINA_AI_GENERATION_ABORTED = "ballerina.ai.generation.aborted"; +export const TM_EVENT_BALLERINA_AI_GENERATION_KEPT = "ballerina.ai.generation.kept"; +export const TM_EVENT_BALLERINA_AI_GENERATION_DISCARD = "ballerina.ai.generation.discard"; +export const TM_EVENT_BALLERINA_AI_GENERATION_FEEDBACK = "ballerina.ai.generation.feedback"; \ No newline at end of file diff --git a/workspaces/ballerina/ballerina-extension/src/features/telemetry/index.ts b/workspaces/ballerina/ballerina-extension/src/features/telemetry/index.ts index 1b7ebd0bb55..14834db27ba 100644 --- a/workspaces/ballerina/ballerina-extension/src/features/telemetry/index.ts +++ b/workspaces/ballerina/ballerina-extension/src/features/telemetry/index.ts @@ -18,6 +18,7 @@ import TelemetryReporter from "vscode-extension-telemetry"; import { BallerinaExtension } from "../../core"; +import { getLoginMethod, getBiIntelId } from "../../utils/ai/auth"; //Ballerina-VSCode-Extention repo key as default const DEFAULT_KEY = "3a82b093-5b7b-440c-9aa2-3b8e8e5704e7"; @@ -29,6 +30,20 @@ const CHOREO_COMPONENT_ID = process.env.VSCODE_CHOREO_COMPONENT_ID ? process.env const CHOREO_PROJECT_ID = process.env.VSCODE_CHOREO_PROJECT_ID ? process.env.VSCODE_CHOREO_PROJECT_ID : ''; const CHOREO_ORG_ID = process.env.VSCODE_CHOREO_ORG_ID ? process.env.VSCODE_CHOREO_ORG_ID : ''; +// Whitelist of component names +const WHITELISTED_COMPONENTS = new Set([ + 'ballerina.ai.generation', +]); + +// Whitelist of specific event names +const WHITELISTED_EVENTS = new Set([ + 'editor-workspace-ballerina-extension-activate', +]); + +export function shouldSendToAppInsights(eventName: string, componentName: string): boolean { + return WHITELISTED_EVENTS.has(eventName) || WHITELISTED_COMPONENTS.has(componentName); +} + export function createTelemetryReporter(ext: BallerinaExtension): TelemetryReporter { const reporter = new TelemetryReporter(ext.getID(), ext.getVersion(), INSTRUMENTATION_KEY); if (ext.context) { @@ -37,26 +52,36 @@ export function createTelemetryReporter(ext: BallerinaExtension): TelemetryRepor return reporter; } -export function sendTelemetryEvent(extension: BallerinaExtension, eventName: string, componentName: string, +export async function sendTelemetryEvent(extension: BallerinaExtension, eventName: string, componentName: string, customDimensions: { [key: string]: string; } = {}, measurements: { [key: string]: number; } = {}) { // temporarily disabled in codeserver due to GDPR issue if (extension.isTelemetryEnabled() && !extension.getCodeServerContext().codeServerEnv) { - extension.telemetryReporter.sendTelemetryEvent(eventName, getTelemetryProperties(extension, componentName, - customDimensions), measurements); + // Only send whitelisted AI telemetry events to Application Insights + if (shouldSendToAppInsights(eventName, componentName)) { + extension.telemetryReporter.sendTelemetryEvent(eventName, await getTelemetryProperties(extension, componentName, + customDimensions), measurements); + } } } -export function sendTelemetryException(extension: BallerinaExtension, error: Error, componentName: string, +export async function sendTelemetryException(extension: BallerinaExtension, error: Error, componentName: string, params: { [key: string]: string } = {}) { // temporarily disabled in codeserver due to GDPR issue if (extension.isTelemetryEnabled() && !extension.getCodeServerContext().codeServerEnv) { - extension.telemetryReporter.sendTelemetryException(error, getTelemetryProperties(extension, componentName, - params)); + // Only send whitelisted AI telemetry exceptions to Application Insights + if (shouldSendToAppInsights('', componentName)) { + extension.telemetryReporter.sendTelemetryException(error, await getTelemetryProperties(extension, componentName, + params)); + } } } -export function getTelemetryProperties(extension: BallerinaExtension, component: string, params: { [key: string]: string; } = {}) - : { [key: string]: string; } { +export async function getTelemetryProperties(extension: BallerinaExtension, component: string, params: { [key: string]: string; } = {}) + : Promise<{ [key: string]: string; }> { + + const userType = await getLoginMethod(); + const biIntelId = await getBiIntelId(); + return { ...params, 'ballerina.version': extension ? extension.ballerinaVersion : '', @@ -69,6 +94,8 @@ export function getTelemetryProperties(extension: BallerinaExtension, component: 'component': CHOREO_COMPONENT_ID, 'project': CHOREO_PROJECT_ID, 'org': CHOREO_ORG_ID, + 'user.login_method': userType ?? '', + 'user.bi_intel_id': biIntelId ?? '', }; } diff --git a/workspaces/ballerina/ballerina-extension/src/features/test-explorer/activator.ts b/workspaces/ballerina/ballerina-extension/src/features/test-explorer/activator.ts index ce5727aed37..6ca3ec97975 100644 --- a/workspaces/ballerina/ballerina-extension/src/features/test-explorer/activator.ts +++ b/workspaces/ballerina/ballerina-extension/src/features/test-explorer/activator.ts @@ -17,18 +17,72 @@ * under the License. */ -import { tests, workspace, TestRunProfileKind, TestController, Uri } from "vscode"; +import { tests, workspace, TestRunProfileKind, TestController, Uri, window, commands } from "vscode"; import { BallerinaExtension } from "../../core"; import { runHandler } from "./runner"; import { activateEditBiTest } from "./commands"; +import { createNewEvalset, createNewThread, deleteEvalset, deleteThread } from "./evalset-commands"; import { discoverTestFunctionsInProject, handleFileChange as handleTestFileUpdate, handleFileDelete as handleTestFileDelete } from "./discover"; import { getCurrentBallerinaProject, getWorkspaceRoot } from "../../utils/project-utils"; import { checkIsBallerinaPackage, checkIsBallerinaWorkspace } from "../../utils"; import { PROJECT_TYPE } from "../project"; +import { EvalsetTreeDataProvider } from "./evalset-tree-view"; +import { openView } from "../../stateMachine"; +import { EvalSet, EVENT_TYPE, MACHINE_VIEW } from "@wso2/ballerina-core"; +import * as fs from 'fs'; export let testController: TestController; +export const EVALUATION_GROUP = 'evaluations'; + export async function activate(ballerinaExtInstance: BallerinaExtension) { + // Register command to open evalset viewer + const openEvalsetCommand = commands.registerCommand('ballerina.openEvalsetViewer', async (uri: Uri, threadId?: string) => { + try { + const content = await fs.promises.readFile(uri.fsPath, 'utf-8'); + const evalsetData = JSON.parse(content) as EvalSet; + + openView(EVENT_TYPE.OPEN_VIEW, { + view: MACHINE_VIEW.EvalsetViewer, + evalsetData: { + filePath: uri.fsPath, + content: evalsetData, + threadId: threadId + } + }); + } catch (error) { + console.error('Error opening evalset:', error); + window.showErrorMessage(`Failed to open evalset: ${error}`); + } + }); + + // Register command to save evalset changes + const saveEvalThreadCommand = commands.registerCommand('ballerina.saveEvalThread', async (data: { filePath: string, updatedEvalSet: EvalSet }) => { + try { + const { filePath, updatedEvalSet } = data; + + // Write the updated evalset back to the file + await fs.promises.writeFile( + filePath, + JSON.stringify(updatedEvalSet, null, 2), + 'utf-8' + ); + + window.showInformationMessage('Evalset saved successfully'); + return { success: true }; + } catch (error) { + console.error('Error saving evalset:', error); + window.showErrorMessage(`Failed to save evalset: ${error}`); + return { success: false, error: String(error) }; + } + }); + + // Register commands for creating evalsets and threads + const createEvalsetCommand = commands.registerCommand('ballerina.createNewEvalset', createNewEvalset); + const createThreadCommand = commands.registerCommand('ballerina.createNewThread', createNewThread); + const deleteEvalsetCommand = commands.registerCommand('ballerina.deleteEvalset', deleteEvalset); + const deleteThreadCommand = commands.registerCommand('ballerina.deleteThread', deleteThread); + testController = tests.createTestController('ballerina-integrator-tests', 'WSO2 Integrator: BI Tests'); const workspaceRoot = getWorkspaceRoot(); @@ -46,6 +100,13 @@ export async function activate(ballerinaExtInstance: BallerinaExtension) { return; } + // Create and register Evalset TreeView + const evalsetTreeDataProvider = new EvalsetTreeDataProvider(); + const evalsetTreeView = window.createTreeView('ballerina-evalsets', { + treeDataProvider: evalsetTreeDataProvider, + showCollapseAll: true + }); + // Create test profiles to display. testController.createRunProfile('Run Tests', TestRunProfileKind.Run, runHandler, true); testController.createRunProfile('Debug Tests', TestRunProfileKind.Debug, runHandler, true); @@ -62,9 +123,9 @@ export async function activate(ballerinaExtInstance: BallerinaExtension) { discoverTestFunctionsInProject(ballerinaExtInstance, testController); // Register the test controller and file watcher with the extension context - ballerinaExtInstance.context?.subscriptions.push(testController, fileWatcher); + ballerinaExtInstance.context?.subscriptions.push(testController, fileWatcher, evalsetTreeView, evalsetTreeDataProvider, openEvalsetCommand, saveEvalThreadCommand, createEvalsetCommand, createThreadCommand, deleteEvalsetCommand, deleteThreadCommand); - activateEditBiTest(); + activateEditBiTest(ballerinaExtInstance); } diff --git a/workspaces/ballerina/ballerina-extension/src/features/test-explorer/commands.ts b/workspaces/ballerina/ballerina-extension/src/features/test-explorer/commands.ts index 10c7126cea6..ebac3176b1a 100644 --- a/workspaces/ballerina/ballerina-extension/src/features/test-explorer/commands.ts +++ b/workspaces/ballerina/ballerina-extension/src/features/test-explorer/commands.ts @@ -17,9 +17,9 @@ * under the License. */ -import { commands, TestItem, window } from "vscode"; +import { commands, TestItem, window, workspace, WorkspaceEdit, Uri, Range } from "vscode"; import { openView, StateMachine, history } from "../../stateMachine"; -import { BI_COMMANDS, EVENT_TYPE, MACHINE_VIEW } from "@wso2/ballerina-core"; +import { BI_COMMANDS, EVENT_TYPE, MACHINE_VIEW, Annotation, ValueProperty, GetTestFunctionResponse, ComponentInfo } from "@wso2/ballerina-core"; import { isTestFunctionItem } from "./discover"; import path from "path"; import { promises as fs } from 'fs'; @@ -28,9 +28,19 @@ import { VisualizerWebview } from "../../views/visualizer/webview"; import { getCurrentProjectRoot, tryGetCurrentBallerinaFile } from "../../utils/project-utils"; import { findBallerinaPackageRoot } from "../../utils"; import { MESSAGES } from "../project"; -import { findWorkspaceTypeFromWorkspaceFolders } from "../../rpc-managers/common/utils"; +import { BallerinaExtension } from "../../core"; +import { isSupportedSLVersion, createVersionNumber } from "../../utils/config"; +import { EVALUATION_GROUP } from "./activator"; -export function activateEditBiTest() { +export function activateEditBiTest(ballerinaExtInstance: BallerinaExtension) { + // Check if AI Evaluation features are supported + const isAIEvaluationSupported = isSupportedSLVersion( + ballerinaExtInstance, + createVersionNumber(2201, 13, 2) + ); + + // Set VS Code context for UI visibility control + commands.executeCommand('setContext', 'ballerina.ai.evaluationSupported', isAIEvaluationSupported); // register run project tests handler commands.registerCommand(BI_COMMANDS.BI_EDIT_TEST_FUNCTION, async (entry: TestItem) => { const projectPath = await findProjectPath(entry.uri?.fsPath); @@ -44,15 +54,21 @@ export function activateEditBiTest() { return; } - const fileName = entry.id.split(":")[1]; + const fileName = entry.id.split(":")[2]; const fileUri = path.resolve(projectPath, `tests`, fileName); if (fileUri) { const range = entry.range; - openView(EVENT_TYPE.OPEN_VIEW, { documentUri: fileUri, - position: { startLine: range.start.line, startColumn: range.start.character, - endLine: range.end.line, endColumn: range.end.character } }); + openView(EVENT_TYPE.OPEN_VIEW, { + view: MACHINE_VIEW.BIDiagram, + documentUri: fileUri, + identifier: entry.label, + position: { + startLine: range.start.line, startColumn: range.start.character, + endLine: range.end.line, endColumn: range.end.character + } + }); history.clear(); - } + } }); commands.registerCommand(BI_COMMANDS.BI_ADD_TEST_FUNCTION, async (entry?: TestItem) => { @@ -65,8 +81,33 @@ export function activateEditBiTest() { const fileUri = path.resolve(projectPath, `tests`, `tests.bal`); ensureFileExists(fileUri); - openView(EVENT_TYPE.OPEN_VIEW, { view: MACHINE_VIEW.BITestFunctionForm, - documentUri: fileUri, identifier: '', serviceType: 'ADD_NEW_TEST' }); + openView(EVENT_TYPE.OPEN_VIEW, { + view: MACHINE_VIEW.BITestFunctionForm, + documentUri: fileUri, identifier: '', serviceType: 'ADD_NEW_TEST' + }); + }); + + commands.registerCommand(BI_COMMANDS.BI_ADD_AI_EVALUATION, async (entry?: TestItem) => { + const projectPath = await findProjectPath(entry?.uri?.fsPath); + + if (!projectPath) { + window.showErrorMessage(MESSAGES.NO_PROJECT_FOUND); + return; + } + + const fileUri = path.resolve(projectPath, `tests`, `tests.bal`); + ensureFileExists(fileUri); + openView(EVENT_TYPE.OPEN_VIEW, { + view: MACHINE_VIEW.BIAIEvaluationForm, + documentUri: fileUri, + identifier: '', + serviceType: 'ADD_NEW_TEST', + metadata: { + featureSupport: { + aiEvaluation: isAIEvaluationSupported + } + } + }); }); commands.registerCommand(BI_COMMANDS.BI_EDIT_TEST_FUNCTION_DEF, async (entry: TestItem) => { @@ -81,21 +122,211 @@ export function activateEditBiTest() { return; } - openView(EVENT_TYPE.OPEN_VIEW, { view: MACHINE_VIEW.BITestFunctionForm, - documentUri: fileUri, identifier: entry.label, serviceType: 'UPDATE_TEST' }); + if (fileUri) { + const range = entry.range; + + // Fetch the test function to check if it belongs to the "evaluations" group + let viewToOpen = MACHINE_VIEW.BITestFunctionForm; // Default to regular test form + + try { + const response = await ballerinaExtInstance.langClient?.getTestFunction({ + functionName: entry.label, + filePath: fileUri + }); + if (response && isValidTestFunctionResponse(response) && response.function) { + const isEvaluation = hasEvaluationGroup(response.function); + if (isEvaluation) { + viewToOpen = MACHINE_VIEW.BIAIEvaluationForm; + } + } + } catch (error) { + console.warn('Failed to fetch test function, defaulting to regular test form:', error); + // Continue with default form if fetching fails + } + + openView(EVENT_TYPE.OPEN_VIEW, { + view: viewToOpen, + documentUri: fileUri, + identifier: entry.label, + position: { + startLine: range.start.line, + startColumn: range.start.character, + endLine: range.end.line, + endColumn: range.end.character + }, + serviceType: 'UPDATE_TEST', + metadata: { + featureSupport: { + aiEvaluation: isAIEvaluationSupported + } + } + }); + } }); + + commands.registerCommand(BI_COMMANDS.BI_DELETE_TEST_FUNCTION, async (entry: TestItem) => { + const projectPath = await findProjectPath(entry.uri?.fsPath); + + if (!projectPath) { + window.showErrorMessage(MESSAGES.NO_PROJECT_FOUND); + return; + } + + if (!isTestFunctionItem(entry)) { + window.showErrorMessage('Invalid test item. Please select a test function to delete.'); + return; + } + + // Parse test ID: test:${projectPath}:${fileName}:${functionName} + const idParts = entry.id.split(":"); + if (idParts.length < 4) { + window.showErrorMessage('Unable to parse test item ID.'); + return; + } + + const fileName = idParts[2]; + const functionName = idParts[3]; + const fileUri = path.resolve(projectPath, `tests`, fileName); + + // Determine test type for confirmation message + let testType = "test function"; + try { + const response = await ballerinaExtInstance.langClient?.getTestFunction({ + functionName: entry.label, + filePath: fileUri + }); + + if (response && isValidTestFunctionResponse(response) && response.function) { + const isEvaluation = hasEvaluationGroup(response.function); + if (isEvaluation) { + testType = "AI evaluation test"; + } + } + } catch (error) { + console.warn('Failed to determine test type, proceeding with default:', error); + } + + // Confirmation dialog + const confirmation = await window.showWarningMessage( + `Are you sure you want to delete ${testType} '${functionName}'?`, + { modal: true }, + 'Delete' + ); + + if (confirmation !== 'Delete') { + return; + } + + try { + if (!entry.range) { + window.showErrorMessage('Test function range not available. Cannot delete.'); + return; + } + + // Create ComponentInfo from TestItem range + const component: ComponentInfo = { + name: functionName, + filePath: fileUri, + startLine: entry.range.start.line, + startColumn: entry.range.start.character, + endLine: entry.range.end.line, + endColumn: entry.range.end.character + }; + + // Call language server to delete the component + const response = await ballerinaExtInstance.langClient?.deleteByComponentInfo({ + filePath: fileUri, + component: component + }); + + if (!response || !response.textEdits) { + window.showErrorMessage('Failed to delete test function. No response from language server.'); + return; + } + + // Apply the text edits returned by language server + const edit = new WorkspaceEdit(); + + for (const [filePath, edits] of Object.entries(response.textEdits)) { + const uri = Uri.file(filePath); + for (const textEdit of edits) { + edit.replace( + uri, + new Range( + textEdit.range.start.line, + textEdit.range.start.character, + textEdit.range.end.line, + textEdit.range.end.character + ), + textEdit.newText + ); + } + } + + const success = await workspace.applyEdit(edit); + + if (success) { + window.showInformationMessage(`Test function '${functionName}' deleted successfully.`); + // File watcher automatically triggers test rediscovery + } else { + window.showErrorMessage(`Failed to apply deletion edits for test function '${functionName}'.`); + } + } catch (error) { + window.showErrorMessage(`Error deleting test function: ${error}`); + console.error('Delete test function error:', error); + } + }); +} + +/** + * Type guard to check if response is a valid GetTestFunctionResponse + * @param response The response to check + * @returns true if response is GetTestFunctionResponse, false if NOT_SUPPORTED_TYPE + */ +function isValidTestFunctionResponse(response: any): response is GetTestFunctionResponse { + return 'function' in response || 'errorMsg' in response || 'stacktrace' in response; +} + +/** + * Check if a test function belongs to the "evaluations" group + * @param testFunction The test function to check + * @returns true if the function has "evaluations" in its groups, false otherwise + */ +function hasEvaluationGroup(testFunction: any): boolean { + if (!testFunction?.annotations) { return false; } + + // Find the Config annotation + const configAnnotation = testFunction.annotations.find( + (annotation: Annotation) => annotation.name === 'Config' + ); + + if (!configAnnotation?.fields) { return false; } + + // Find the groups field + const groupsField = configAnnotation.fields.find( + (field: ValueProperty) => field.originalName === 'groups' + ); + + if (!groupsField?.value) { return false; } + if (!Array.isArray(groupsField.value)) { return false; } + + // Check if "evaluations" is in the groups array + const hasEvaluation = groupsField.value.some((group: string) => { + return group === EVALUATION_GROUP; + }); + return hasEvaluation; } async function ensureFileExists(filePath: string) { - try { - await fs.access(filePath); - } catch { - // Ensure the directory exists - await fs.mkdir(path.dirname(filePath), { recursive: true }); - - await fs.writeFile(filePath, '', 'utf8'); - console.log('File created:', filePath); - } + try { + await fs.access(filePath); + } catch { + // Ensure the directory exists + await fs.mkdir(path.dirname(filePath), { recursive: true }); + + await fs.writeFile(filePath, '', 'utf8'); + console.log('File created:', filePath); + } } async function findProjectPath(filePath?: string): Promise { diff --git a/workspaces/ballerina/ballerina-extension/src/features/test-explorer/discover.ts b/workspaces/ballerina/ballerina-extension/src/features/test-explorer/discover.ts index 98d80744175..cfffe73c28e 100644 --- a/workspaces/ballerina/ballerina-extension/src/features/test-explorer/discover.ts +++ b/workspaces/ballerina/ballerina-extension/src/features/test-explorer/discover.ts @@ -119,6 +119,8 @@ function createTests(response: TestsDiscoveryResponse, testController: TestContr // Iterate over the result map (test groups) for (const [group, testFunctions] of entries) { let groupItem: TestItem | undefined; + // Remove leading/trailing quotes from group name for display + const cleanedGroupName = group.replace(/^["']|["']$/g, ''); // For workspace context with DEFAULT_GROUP, skip the group level and add tests directly to project if (isWorkspaceContext && group === 'DEFAULT_GROUP' && projectGroupItem) { @@ -128,7 +130,7 @@ function createTests(response: TestsDiscoveryResponse, testController: TestContr const groupId = `group:${path.basename(projectPath)}:${group}`; groupItem = projectGroupItem.children.get(groupId); if (!groupItem) { - groupItem = testController.createTestItem(groupId, group); + groupItem = testController.createTestItem(groupId, cleanedGroupName); projectGroupItem.children.add(groupItem); groups.push(groupId); } @@ -137,7 +139,7 @@ function createTests(response: TestsDiscoveryResponse, testController: TestContr const groupId = `group:${group}`; groupItem = testController.items.get(groupId); if (!groupItem) { - groupItem = testController.createTestItem(groupId, group); + groupItem = testController.createTestItem(groupId, cleanedGroupName); testController.items.add(groupItem); groups.push(groupId); } diff --git a/workspaces/ballerina/ballerina-extension/src/features/test-explorer/evalset-commands.ts b/workspaces/ballerina/ballerina-extension/src/features/test-explorer/evalset-commands.ts new file mode 100644 index 00000000000..42a909dddc9 --- /dev/null +++ b/workspaces/ballerina/ballerina-extension/src/features/test-explorer/evalset-commands.ts @@ -0,0 +1,267 @@ +/** + * Copyright (c) 2026, WSO2 LLC. (https://www.wso2.com) All Rights Reserved. + * + * WSO2 LLC. licenses this file to you under the Apache License, + * Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import * as vscode from 'vscode'; +import * as path from 'path'; +import * as crypto from 'crypto'; +import * as fs from 'fs'; +import { EvalSet, EvalThread, EvalsetTrace } from '@wso2/ballerina-core'; +import { ensureEvalsetsDirectory, validateEvalsetName, validateThreadName } from './evalset-utils'; + +export async function createNewEvalset(): Promise { + try { + // 1. Ensure evalsets directory exists + const evalsetsDir = await ensureEvalsetsDirectory(); + + // 2. Prompt for name + const name = await vscode.window.showInputBox({ + prompt: 'Enter evalset name', + placeHolder: 'my-evalset', + validateInput: (value) => validateEvalsetName(value, evalsetsDir) + }); + + if (!name) { return; } // User cancelled + + // 3. Create EvalSet with empty threads array + const evalset: EvalSet = { + id: crypto.randomUUID(), + name: name, + threads: [], + created_on: new Date().toISOString() + }; + + // 4. Write file + const filePath = path.join(evalsetsDir, `${name}.evalset.json`); + const jsonContent = JSON.stringify(evalset, null, 2); + const fileUri = vscode.Uri.file(filePath); + + await vscode.workspace.fs.writeFile(fileUri, new TextEncoder().encode(jsonContent)); + + // 5. Success message with Open option + const action = await vscode.window.showInformationMessage( + `Evalset created: ${name}.evalset.json`, + 'Open' + ); + + if (action === 'Open') { + vscode.commands.executeCommand('ballerina.openEvalsetViewer', fileUri); + } + + } catch (error) { + const errorMessage = error instanceof Error ? error.message : String(error); + vscode.window.showErrorMessage(`Failed to create evalset: ${errorMessage}`); + } +} + +export async function createNewThread(evalsetFileNode?: any, autoRefresh?: boolean): Promise { + try { + // Validate that this was called from tree view with proper node + if (!evalsetFileNode || !evalsetFileNode.uri) { + vscode.window.showErrorMessage('Please use the + button next to an evalset in the tree view'); + return; + } + + const filePath = evalsetFileNode.uri.fsPath; + + // 1. Read existing evalset file + const fileContent = await fs.promises.readFile(filePath, 'utf8'); + let evalset: EvalSet; + + try { + evalset = JSON.parse(fileContent); + } catch (parseError) { + vscode.window.showErrorMessage('Failed to parse evalset file: Invalid JSON'); + return; + } + + // 2. Validate evalset structure + if (!evalset.threads || !Array.isArray(evalset.threads)) { + vscode.window.showErrorMessage('Invalid evalset file: missing threads array'); + return; + } + + // 3. Prompt for thread name + const threadCount = evalset.threads.length; + const defaultName = `Thread ${threadCount + 1}`; + + const threadName = await vscode.window.showInputBox({ + prompt: 'Enter thread name', + placeHolder: defaultName, + value: defaultName, + validateInput: (value) => validateThreadName(value) + }); + + if (!threadName) { return; } // User cancelled + + // 4. Create default trace with empty message turn + const now = new Date().toISOString(); + const defaultTrace: EvalsetTrace = { + id: crypto.randomUUID(), + userMessage: { + role: 'user', + content: 'User message' + }, + iterations: [], + output: { + role: 'assistant', + content: 'Agent response' + }, + tools: [], + startTime: now, + endTime: now + }; + + // 5. Create new thread with default trace + const newThread: EvalThread = { + id: crypto.randomUUID(), + name: threadName, + traces: [defaultTrace], + created_on: new Date().toISOString() + }; + + // 6. Add to evalset and write file + evalset.threads.push(newThread); + const jsonContent = JSON.stringify(evalset, null, 2); + const fileUri = vscode.Uri.file(filePath); + + await vscode.workspace.fs.writeFile(fileUri, new TextEncoder().encode(jsonContent)); + + // 7. Handle UI refresh based on where the command was called from + if (autoRefresh) { + // Called from evalset viewer - refresh immediately to show new thread in list + vscode.commands.executeCommand('ballerina.openEvalsetViewer', fileUri); + + // Show non-blocking notification + vscode.window.showInformationMessage( + `Thread "${threadName}" added to evalset`, + 'Open' + ).then((action) => { + if (action === 'Open') { + vscode.commands.executeCommand('ballerina.openEvalsetViewer', fileUri, newThread.id); + } + }); + } else { + // Called from tree view - use original behavior with blocking notification + const action = await vscode.window.showInformationMessage( + `Thread "${threadName}" added to evalset`, + 'Open' + ); + + if (action === 'Open') { + vscode.commands.executeCommand('ballerina.openEvalsetViewer', fileUri, newThread.id); + } + } + + } catch (error) { + const errorMessage = error instanceof Error ? error.message : String(error); + vscode.window.showErrorMessage(`Failed to create thread: ${errorMessage}`); + } +} + +export async function deleteEvalset(evalsetFileNode?: any): Promise { + try { + // Validate that this was called from tree view with proper node + if (!evalsetFileNode || !evalsetFileNode.uri) { + vscode.window.showErrorMessage('Please use the delete button on an evalset in the tree view'); + return; + } + + const filePath = evalsetFileNode.uri.fsPath; + const fileName = path.basename(filePath); + + // Confirm deletion + const confirmation = await vscode.window.showWarningMessage( + `Are you sure you want to delete "${fileName}"? This action cannot be undone.`, + { modal: true }, + 'Delete' + ); + + if (confirmation !== 'Delete') { + return; // User cancelled + } + + // Delete the file + await vscode.workspace.fs.delete(evalsetFileNode.uri); + + vscode.window.showInformationMessage(`Evalset "${fileName}" deleted successfully`); + + } catch (error) { + const errorMessage = error instanceof Error ? error.message : String(error); + vscode.window.showErrorMessage(`Failed to delete evalset: ${errorMessage}`); + } +} + +export async function deleteThread(threadNode?: any, autoRefresh?: boolean): Promise { + try { + // Validate that this was called from tree view with proper node + if (!threadNode || !threadNode.parentUri || !threadNode.threadId) { + vscode.window.showErrorMessage('Please use the delete button on a thread in the tree view'); + return; + } + + const filePath = threadNode.parentUri.fsPath; + const threadId = threadNode.threadId; + + // Read existing evalset file + const fileContent = await fs.promises.readFile(filePath, 'utf8'); + let evalset: EvalSet; + + try { + evalset = JSON.parse(fileContent); + } catch (parseError) { + vscode.window.showErrorMessage('Failed to parse evalset file: Invalid JSON'); + return; + } + + // Find the thread to get its name for confirmation + const threadToDelete = evalset.threads.find(t => t.id === threadId); + if (!threadToDelete) { + vscode.window.showErrorMessage('Thread not found in evalset'); + return; + } + + // Confirm deletion + const confirmation = await vscode.window.showWarningMessage( + `Are you sure you want to delete thread "${threadToDelete.name}"? This action cannot be undone.`, + { modal: true }, + 'Delete' + ); + + if (confirmation !== 'Delete') { + return; // User cancelled + } + + // Remove the thread from evalset + evalset.threads = evalset.threads.filter(t => t.id !== threadId); + + // Write updated evalset back to file + const jsonContent = JSON.stringify(evalset, null, 2); + const fileUri = vscode.Uri.file(filePath); + await vscode.workspace.fs.writeFile(fileUri, new TextEncoder().encode(jsonContent)); + + // Handle UI refresh based on where the command was called from + if (autoRefresh) { + vscode.commands.executeCommand('ballerina.openEvalsetViewer', fileUri); + } + vscode.window.showInformationMessage(`Thread "${threadToDelete.name}" deleted successfully`); + + } catch (error) { + const errorMessage = error instanceof Error ? error.message : String(error); + vscode.window.showErrorMessage(`Failed to delete thread: ${errorMessage}`); + } +} diff --git a/workspaces/ballerina/ballerina-extension/src/features/test-explorer/evalset-tree-view.ts b/workspaces/ballerina/ballerina-extension/src/features/test-explorer/evalset-tree-view.ts new file mode 100644 index 00000000000..9c73b33d07a --- /dev/null +++ b/workspaces/ballerina/ballerina-extension/src/features/test-explorer/evalset-tree-view.ts @@ -0,0 +1,229 @@ +/** + * Copyright (c) 2026, WSO2 LLC. (https://www.wso2.com) All Rights Reserved. + * + * WSO2 LLC. licenses this file to you under the Apache License, + * Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import * as vscode from 'vscode'; +import * as fs from 'fs'; +import * as path from 'path'; + +// Interface matching the EvalThread object structure +interface EvalThreadJson { + id: string; + name: string; + traces: any[]; +} + +// Interface matching the new EvalSet JSON structure +interface EvalSetJson { + id: string; + name?: string; + description?: string; + threads: EvalThreadJson[]; // Array of Thread objects + created_on?: number; +} + +/** + * Represents an evalset file node in the tree view + */ +class EvalsetFileNode { + constructor( + public readonly uri: vscode.Uri, + public readonly label: string, + public readonly threadCount: number, + public readonly description?: string + ) { } +} + +/** + * Represents a single thread within an evalset + */ +class EvalsetThreadNode { + constructor( + public readonly parentUri: vscode.Uri, + public readonly threadIndex: number, + public readonly label: string, + public readonly threadId: string, + public readonly traceCount: number + ) { } +} + +type EvalsetNode = EvalsetFileNode | EvalsetThreadNode; + +/** + * TreeDataProvider for displaying evalsets + */ +export class EvalsetTreeDataProvider implements vscode.TreeDataProvider { + private _onDidChangeTreeData: vscode.EventEmitter = + new vscode.EventEmitter(); + readonly onDidChangeTreeData: vscode.Event = + this._onDidChangeTreeData.event; + + private fileWatcher: vscode.FileSystemWatcher | undefined; + + constructor() { + this.setupFileWatcher(); + } + + private setupFileWatcher(): void { + const workspaceFolders = vscode.workspace.workspaceFolders; + if (!workspaceFolders || workspaceFolders.length === 0) { + return; + } + + // Watch all evalset files in workspace + const pattern = '**/evalsets/**/*.evalset.json'; + this.fileWatcher = vscode.workspace.createFileSystemWatcher(pattern); + + // Refresh on file changes + this.fileWatcher.onDidCreate(() => this.refresh()); + this.fileWatcher.onDidChange(() => this.refresh()); + this.fileWatcher.onDidDelete(() => this.refresh()); + } + + refresh(): void { + this._onDidChangeTreeData.fire(); + } + + getTreeItem(element: EvalsetNode): vscode.TreeItem { + if (element instanceof EvalsetFileNode) { + const item = new vscode.TreeItem( + element.label, + vscode.TreeItemCollapsibleState.Collapsed + ); + item.tooltip = element.description || `EvalSet with ${element.threadCount} threads`; + item.description = `${element.threadCount} thread${element.threadCount !== 1 ? 's' : ''}`; + item.iconPath = new vscode.ThemeIcon('collection'); + item.contextValue = 'evalsetFile'; + item.resourceUri = element.uri; + item.command = { + command: 'ballerina.openEvalsetViewer', + title: 'Open Evalset', + arguments: [element.uri] + }; + return item; + } else { + const item = new vscode.TreeItem( + element.label, + vscode.TreeItemCollapsibleState.None + ); + item.tooltip = `Thread ID: ${element.threadId} (${element.traceCount} traces)`; + + item.iconPath = new vscode.ThemeIcon('file-text'); + item.contextValue = 'evalsetThread'; + item.resourceUri = element.parentUri; + + item.command = { + command: 'ballerina.openEvalsetViewer', + title: 'Open Evalset Thread', + arguments: [element.parentUri, element.threadId] + }; + return item; + } + } + + async getChildren(element?: EvalsetNode): Promise { + if (!element) { + // Root level - return all evalset files + return this.getEvalsetFiles(); + } else if (element instanceof EvalsetFileNode) { + // Return threads for this evalset file + return this.getThreadsForFile(element.uri); + } + + return []; + } + + /** + * Get all evalset files in the workspace + */ + private async getEvalsetFiles(): Promise { + const workspaceFolders = vscode.workspace.workspaceFolders; + if (!workspaceFolders || workspaceFolders.length === 0) { + return []; + } + + const evalsetFiles = await vscode.workspace.findFiles('**/evalsets/**/*.evalset.json'); + const nodes: EvalsetFileNode[] = []; + + for (const uri of evalsetFiles) { + try { + const content = await fs.promises.readFile(uri.fsPath, 'utf-8'); + const evalsetData: EvalSetJson = JSON.parse(content); + + // Validation for new format + if (!evalsetData.threads || !Array.isArray(evalsetData.threads)) { + continue; + } + + const threadCount = evalsetData.threads.length; + const label = evalsetData.name || path.basename(uri.fsPath, '.evalset.json'); + const description = evalsetData.description || ''; + + nodes.push(new EvalsetFileNode(uri, label, threadCount, description)); + } catch (error) { + console.error(`Failed to parse evalset file ${uri.fsPath}:`, error); + } + } + + return nodes; + } + + /** + * Get threads for a specific evalset file + */ + private async getThreadsForFile(uri: vscode.Uri): Promise { + try { + const content = await fs.promises.readFile(uri.fsPath, 'utf-8'); + const evalsetData: EvalSetJson = JSON.parse(content); + const nodes: EvalsetThreadNode[] = []; + + if (!evalsetData.threads || !Array.isArray(evalsetData.threads)) { + return []; + } + + evalsetData.threads.forEach((threadObj: EvalThreadJson, index: number) => { + // Ensure traces is an array + const traceCount = Array.isArray(threadObj.traces) ? threadObj.traces.length : 0; + + // Use the name defined in the thread object, fallback to generated name + const label = threadObj.name || `Thread ${index + 1}`; + const threadId = threadObj.id || `thread-${index + 1}`; + + nodes.push(new EvalsetThreadNode( + uri, + index, + label, + threadId, + traceCount + )); + }); + + return nodes; + } catch (error) { + console.error(`Failed to get threads for ${uri.fsPath}:`, error); + return []; + } + } + + /** + * Dispose resources + */ + dispose(): void { + this.fileWatcher?.dispose(); + this._onDidChangeTreeData.dispose(); + } +} diff --git a/workspaces/ballerina/ballerina-extension/src/features/test-explorer/evalset-utils.ts b/workspaces/ballerina/ballerina-extension/src/features/test-explorer/evalset-utils.ts new file mode 100644 index 00000000000..30f26f60b41 --- /dev/null +++ b/workspaces/ballerina/ballerina-extension/src/features/test-explorer/evalset-utils.ts @@ -0,0 +1,90 @@ +/** + * Copyright (c) 2026, WSO2 LLC. (https://www.wso2.com) All Rights Reserved. + * + * WSO2 LLC. licenses this file to you under the Apache License, + * Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import * as vscode from 'vscode'; +import * as path from 'path'; +import * as fs from 'fs'; +import { getCurrentProjectRoot } from '../../utils/project-utils'; + +export async function ensureEvalsetsDirectory(): Promise { + // Check if workspace is open + if (!vscode.workspace.workspaceFolders || vscode.workspace.workspaceFolders.length === 0) { + throw new Error('Please open a workspace first'); + } + + let projectRoot: string; + try { + projectRoot = await getCurrentProjectRoot(); + } catch (error) { + // Fallback to workspace root if project root cannot be determined + projectRoot = vscode.workspace.workspaceFolders[0].uri.fsPath; + } + + const evalsetsDir = path.join(projectRoot, 'evalsets'); + const evalsetsDirUri = vscode.Uri.file(evalsetsDir); + + try { + await vscode.workspace.fs.createDirectory(evalsetsDirUri); + } catch (e) { + // Directory might exist, ignore + } + + return evalsetsDir; +} + +export function validateEvalsetName(name: string, evalsetsDir: string): string | null { + if (!name || name.trim().length === 0) { + return 'Evalset name cannot be empty'; + } + if (!/^[a-zA-Z0-9-_]+$/.test(name)) { + return 'Name can only contain letters, numbers, hyphens, and underscores'; + } + if (name.length > 100) { + return 'Name is too long (max 100 characters)'; + } + const filePath = path.join(evalsetsDir, `${name}.evalset.json`); + if (fs.existsSync(filePath)) { + return 'An evalset with this name already exists'; + } + return null; // Valid +} + +export function validateThreadName(name: string): string | null { + if (!name || name.trim().length === 0) { + return 'Thread name cannot be empty'; + } + if (name.length > 100) { + return 'Thread name is too long (max 100 characters)'; + } + return null; // Valid +} + +export async function findExistingEvalsets(evalsetsDir: string): Promise> { + const pattern = new vscode.RelativePattern(evalsetsDir, '*.evalset.json'); + const files = await vscode.workspace.findFiles(pattern); + + return files.map(uri => ({ + label: path.basename(uri.fsPath, '.evalset.json'), + description: uri.fsPath, + filePath: uri.fsPath + })); +} diff --git a/workspaces/ballerina/ballerina-extension/src/features/test-explorer/runner.ts b/workspaces/ballerina/ballerina-extension/src/features/test-explorer/runner.ts index c1d6aafd496..796559a5497 100644 --- a/workspaces/ballerina/ballerina-extension/src/features/test-explorer/runner.ts +++ b/workspaces/ballerina/ballerina-extension/src/features/test-explorer/runner.ts @@ -19,7 +19,7 @@ import { exec } from 'child_process'; import { CancellationToken, TestRunRequest, TestMessage, TestRun, TestItem, debug, Uri, WorkspaceFolder, DebugConfiguration, workspace, TestRunProfileKind } from 'vscode'; -import { testController } from './activator'; +import { EVALUATION_GROUP, testController } from './activator'; import { StateMachine } from "../../stateMachine"; import { isTestFunctionItem, isTestGroupItem, isProjectGroupItem } from './discover'; import { extension } from '../../BalExtensionContext'; @@ -35,7 +35,7 @@ function getProjectPathFromTestItem(test: TestItem): string | undefined { if (isTestFunctionItem(test)) { // Extract from test ID: test:${projectPath}:${fileName}:${functionName} const parts = test.id.split(':'); - if (parts.length >= 2 && parts[0] === 'test') { + if (parts.length >= 2 && parts[0] === 'test') { return parts[1]; } } else if (isProjectGroupItem(test)) { @@ -84,6 +84,49 @@ function getProjectNameIfWorkspace(projectPath: string): string | undefined { return undefined; } +function isAiEvaluations(test: TestItem): boolean { + // Check if the test item itself is the evaluations group + if (isTestGroupItem(test) && test.label === EVALUATION_GROUP) { + return true; + } + + // Check if the test function's parent is the evaluations group + if (isTestFunctionItem(test) && test.parent && test.parent.label === EVALUATION_GROUP) { + return true; + } + + // Check if the project group contains only evaluations groups + if (isProjectGroupItem(test)) { + // Return true only if all children are evaluation groups + let allChildrenAreEvaluations = true; + let hasChildren = false; + + test.children.forEach((child) => { + hasChildren = true; + if (!isTestGroupItem(child) || child.label !== EVALUATION_GROUP) { + allChildrenAreEvaluations = false; + } + }); + + return hasChildren && allChildrenAreEvaluations; + } + + return false; +} + +function buildTestCommand(test: TestItem, executor: string, projectName: string | undefined, testCaseNames?: string[]): string { + if (isAiEvaluations(test)) { + // Evaluations tests use group-based execution with test report + const projectPart = projectName ? ` ${projectName}` : ''; + return `${executor} test --groups ${EVALUATION_GROUP} --test-report --test-report-dir=evaluation-reports${projectPart}`; + } else { + // Standard tests use code coverage and optional test filtering + const testsPart = testCaseNames && testCaseNames.length > 0 ? ` --tests ${testCaseNames.join(',')}` : ''; + const projectPart = projectName ? ` ${projectName}` : ''; + return `${executor} test --code-coverage${testsPart}${projectPart}`; + } +} + export async function runHandler(request: TestRunRequest, token: CancellationToken) { if (!request.include) { return; @@ -153,17 +196,7 @@ export async function runHandler(request: TestRunRequest, token: CancellationTok } }); - if (projectName) { - // Workspace context - include project name in command - command = testCaseNames.length > 0 - ? `${executor} test --code-coverage --tests ${testCaseNames.join(',')} ${projectName}` - : `${executor} test --code-coverage ${projectName}`; - } else { - // Single project context - command = testCaseNames.length > 0 - ? `${executor} test --code-coverage --tests ${testCaseNames.join(',')}` - : `${executor} test --code-coverage`; - } + command = buildTestCommand(test, executor, projectName, testCaseNames.length > 0 ? testCaseNames : undefined); const startTime = Date.now(); // For workspace, run from workspace root; for single project, run from project path @@ -197,13 +230,7 @@ export async function runHandler(request: TestRunRequest, token: CancellationTok run.started(child); }); - if (projectName) { - // Workspace context - include project name in command - command = `${executor} test --code-coverage --tests ${testCaseNames.join(',')} ${projectName}`; - } else { - // Single project context - command = `${executor} test --code-coverage --tests ${testCaseNames.join(',')}`; - } + command = buildTestCommand(test, executor, projectName, testCaseNames); const startTime = Date.now(); // For workspace, run from workspace root; for single project, run from project path @@ -228,13 +255,7 @@ export async function runHandler(request: TestRunRequest, token: CancellationTok }); }); } else if (isTestFunctionItem(test)) { - if (projectName) { - // Workspace context - include project name in command - command = `${executor} test --code-coverage --tests ${test.label} ${projectName}`; - } else { - // Single project context - command = `${executor} test --code-coverage --tests ${test.label}`; - } + command = buildTestCommand(test, executor, projectName, [test.label]); const parentGroup = test.parent; let testItems: TestItem[] = []; diff --git a/workspaces/ballerina/ballerina-extension/src/features/tracing/activate.ts b/workspaces/ballerina/ballerina-extension/src/features/tracing/activate.ts index d33bf3c59f6..bfa627a7d66 100644 --- a/workspaces/ballerina/ballerina-extension/src/features/tracing/activate.ts +++ b/workspaces/ballerina/ballerina-extension/src/features/tracing/activate.ts @@ -92,8 +92,8 @@ export function activateTracing(ballerinaExtInstance: BallerinaExtension) { const showTraceDetailsCommand = vscode.commands.registerCommand( SHOW_TRACE_DETAILS_COMMAND, - (trace: Trace) => { - showTraceDetails(trace); + (trace: Trace, focusSpanId?: string) => { + showTraceDetails(trace, focusSpanId); } ); @@ -192,9 +192,9 @@ async function showTraceWindow(): Promise { /** * Show trace details in a webview */ -function showTraceDetails(trace: Trace): void { +function showTraceDetails(trace: Trace, focusSpanId?: string): void { try { - TraceDetailsWebview.show(trace); + TraceDetailsWebview.show(trace, false, focusSpanId); } catch (error) { const message = error instanceof Error ? error.message : String(error); vscode.window.showErrorMessage(`Failed to show trace details: ${message}`); diff --git a/workspaces/ballerina/ballerina-extension/src/features/tracing/trace-converter.ts b/workspaces/ballerina/ballerina-extension/src/features/tracing/trace-converter.ts new file mode 100644 index 00000000000..777a69c73c6 --- /dev/null +++ b/workspaces/ballerina/ballerina-extension/src/features/tracing/trace-converter.ts @@ -0,0 +1,329 @@ +/** + * Copyright (c) 2026, WSO2 LLC. (https://www.wso2.com) All Rights Reserved. + * + * WSO2 LLC. licenses this file to you under the Apache License, + * Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import { + EvalChatUserMessage as ChatUserMessage, + EvalChatAssistantMessage as ChatAssistantMessage, + EvalChatMessage as ChatMessage, + EvalToolSchema as ToolSchema, + EvalIteration as Iteration, + EvalsetTrace, + EvalFunctionCall +} from '@wso2/ballerina-core'; + +// TraceData interface (from trace-details-webview.ts) +interface TraceData { + traceId: string; + spans: SpanData[]; + resource: ResourceData; + scope: ScopeData; + firstSeen: string; + lastSeen: string; +} + +interface SpanData { + spanId: string; + traceId: string; + parentSpanId: string; + name: string; + kind: string | number; + startTime?: string; + endTime?: string; + attributes?: AttributeData[]; +} + +interface ResourceData { + name: string; + attributes: AttributeData[]; +} + +interface ScopeData { + name: string; + version?: string; + attributes?: AttributeData[]; +} + +interface AttributeData { + key: string; + value: string; +} + +// --- Helper Functions --- + +/** + * Helper to extract a value from the span's attribute list by key. + */ +function getAttribute(span: SpanData, key: string): string | null { + if (!span.attributes) { return null; } + const attr = span.attributes.find((a: AttributeData) => a.key === key); + return attr ? attr.value : null; +} + +/** + * Parses a JSON string safely, returning null or a default if parsing fails. + */ +function safeJsonParse(jsonString: string | null): any { + if (!jsonString) { return null; } + try { + return JSON.parse(jsonString); + } catch (e) { + // If it's not JSON, return the raw string or handle appropriately + return jsonString; + } +} + +// --- Main Conversion Logic --- + +/** + * Converts a TraceData object to an EvalsetTrace format. + */ +export function convertTraceToEvalset(traceData: TraceData): EvalsetTrace { + const spans = traceData.spans; + const rootSpan = spans.find((s: SpanData) => s.kind === 2 || s.kind === '2'); + + // Find all chat spans that contain conversation history + const chatSpans = spans.filter((s: SpanData) => + s.name.startsWith('chat') && s.attributes?.some((a: AttributeData) => a.key === 'gen_ai.input.messages') + ); + + // Find all tool spans in the trace + const toolSpans = spans.filter((s: SpanData) => + s.name.startsWith('execute_tool') + ); + + // Sort tool spans by start time to process in order + toolSpans.sort((a, b) => { + const timeA = a.startTime || ''; + const timeB = b.startTime || ''; + return timeA.localeCompare(timeB); + }); + + // Sort chat spans by start time to process in order + chatSpans.sort((a, b) => { + const timeA = a.startTime || ''; + const timeB = b.startTime || ''; + return timeA.localeCompare(timeB); + }); + + if (!rootSpan || chatSpans.length === 0) { + throw new Error("Could not find required Root span or chat spans in trace."); + } + + // Extract Data + const traceId = traceData.traceId; + const startTime = rootSpan.startTime || traceData.firstSeen; + const endTime = rootSpan.endTime || traceData.lastSeen; + + // Extract Tools (look in any span that has gen_ai.input.tools) + const toolSpan = spans.find((s: SpanData) => + s.attributes?.some((a: AttributeData) => a.key === 'gen_ai.input.tools') + ); + const tools: ToolSchema[] = []; + + if (toolSpan) { + const toolsStr = getAttribute(toolSpan, 'gen_ai.input.tools'); + if (toolsStr && toolsStr.trim() !== '') { + const toolsData = safeJsonParse(toolsStr); + if (Array.isArray(toolsData)) { + toolsData.forEach((t: any) => { + tools.push({ + name: t.name, + description: t.description, + parametersSchema: t.parameters + }); + }); + } + } + } + + // Helper function to parse messages + const parseMessages = (messagesStr: string | null): ChatMessage[] => { + if (!messagesStr) { + return []; + } + + let rawMessages = safeJsonParse(messagesStr); + + // Handle case where messages might be a single string + if (typeof rawMessages === 'string') { + rawMessages = [{ role: 'user', content: rawMessages }]; + } + + // Ensure we have an array + if (!Array.isArray(rawMessages)) { + console.warn('Expected array of messages, got:', typeof rawMessages); + return []; + } + + // Map raw OpenAI-style messages to our ChatMessage types + return rawMessages.map((msg: any) => { + const base: any = { + role: msg.role, + content: msg.content ?? null + }; + + if (msg.name) { base.name = msg.name; } + + // Only include toolCalls for assistant messages + if (msg.role === 'assistant') { + if (msg.tool_calls) { + base.toolCalls = msg.tool_calls.map((tc: any) => ({ + id: tc.id, + name: tc.function?.name || tc.name, + arguments: typeof tc.function?.arguments === 'string' + ? safeJsonParse(tc.function.arguments) + : tc.function?.arguments || tc.arguments + })); + } else if (msg.toolCalls) { + base.toolCalls = msg.toolCalls; + } else { + base.toolCalls = null; + } + } + + if (msg.id) { base.id = msg.id; } + + return base as ChatMessage; + }); + }; + + // Helper function to parse a single output message + const parseOutputMessage = (messageStr: string | null): ChatMessage => { + if (!messageStr) { + return { + role: 'assistant', + content: 'No output available', + toolCalls: null + }; + } + + const rawMessage = safeJsonParse(messageStr); + + // If it's already a properly formatted message object + if (rawMessage && typeof rawMessage === 'object' && rawMessage.role) { + const base: any = { + role: rawMessage.role, + content: rawMessage.content ?? null + }; + + if (rawMessage.name) { base.name = rawMessage.name; } + + // Only include toolCalls for assistant messages + if (rawMessage.role === 'assistant') { + if (rawMessage.tool_calls) { + base.toolCalls = rawMessage.tool_calls.map((tc: any) => ({ + id: tc.id, + name: tc.function?.name || tc.name, + arguments: typeof tc.function?.arguments === 'string' + ? safeJsonParse(tc.function.arguments) + : tc.function?.arguments || tc.arguments + })); + } else if (rawMessage.toolCalls) { + base.toolCalls = rawMessage.toolCalls; + } else { + base.toolCalls = null; + } + } + + if (rawMessage.id) { base.id = rawMessage.id; } + + return base as ChatMessage; + } + + // Fallback: treat as plain content + return { + role: 'assistant', + content: typeof rawMessage === 'string' ? rawMessage : JSON.stringify(rawMessage), + toolCalls: null + }; + }; + + // Build iterations from chat spans + const iterations: Iteration[] = []; + + for (let i = 0; i < chatSpans.length; i++) { + const chatSpan = chatSpans[i]; + const isLastSpan = i === chatSpans.length - 1; + + const inputMessagesStr = getAttribute(chatSpan, 'gen_ai.input.messages'); + const outputMessageStr = getAttribute(chatSpan, 'gen_ai.output.messages'); + + const inputMessages = parseMessages(inputMessagesStr); + const iterationHistory = [...inputMessages]; + + // Parse output message (single object) + const output = parseOutputMessage(outputMessageStr); + + if (!isLastSpan) { + iterationHistory.push(output); + } + + // Create iteration + iterations.push({ + history: iterationHistory, + output: output as ChatAssistantMessage, + startTime: chatSpan.startTime || startTime, + endTime: chatSpan.endTime || endTime + }); + } + + // Determine User Message (Trigger) + const firstChatInputStr = getAttribute(chatSpans[0], 'gen_ai.input.messages'); + const firstInputMessages = parseMessages(firstChatInputStr); + const lastUserMsg = [...firstInputMessages].reverse().find(m => m.role === 'user'); + const userMessage: ChatUserMessage = lastUserMsg + ? (lastUserMsg as ChatUserMessage) + : { role: 'user', content: 'Unknown input' }; + + const lastIteration = iterations[iterations.length - 1]; + const finalOutputToolCalls: EvalFunctionCall[] = []; + + for (let i = 0; i < toolSpans.length; i++) { + const toolSpan = toolSpans[i]; + const toolCallsStr = getAttribute(toolSpan, 'gen_ai.tool.arguments'); + const toolCallsData = safeJsonParse(toolCallsStr); + finalOutputToolCalls.push({ + name: getAttribute(toolSpan, 'gen_ai.tool.name') || 'unknown_tool', + arguments: toolCallsData + }); + } + + // Final output is the last iteration's output + const finalOutput: ChatAssistantMessage = lastIteration.output; + + // Assemble Final Trace Object + const evalsetTrace: EvalsetTrace = { + id: traceId, + userMessage: userMessage, + iterations: iterations, + output: finalOutput, + tools: tools, + ...(finalOutputToolCalls.length > 0 && { toolCalls: finalOutputToolCalls }), + startTime: startTime, + endTime: endTime + }; + + return evalsetTrace; +} + +/** + * Converts multiple TraceData objects to a combined evalset format. + */ +export function convertTracesToEvalset(traces: TraceData[]): EvalsetTrace[] { + return traces.map(trace => convertTraceToEvalset(trace)); +} diff --git a/workspaces/ballerina/ballerina-extension/src/features/tracing/trace-details-webview.ts b/workspaces/ballerina/ballerina-extension/src/features/tracing/trace-details-webview.ts index 4d80bdb88fd..bddd5a0fcba 100644 --- a/workspaces/ballerina/ballerina-extension/src/features/tracing/trace-details-webview.ts +++ b/workspaces/ballerina/ballerina-extension/src/features/tracing/trace-details-webview.ts @@ -18,10 +18,17 @@ import * as vscode from 'vscode'; import * as path from 'path'; +import * as os from 'os'; +import * as fs from 'fs'; +import * as crypto from 'crypto'; import { Uri, ViewColumn, Webview } from 'vscode'; import { extension } from '../../BalExtensionContext'; -import { Trace } from './trace-server'; +import { Trace, TraceServer } from './trace-server'; import { getLibraryWebViewContent, getComposerWebViewOptions, WebViewOptions } from '../../utils/webview-utils'; +import { convertTraceToEvalset, convertTracesToEvalset } from './trace-converter'; +import { EvalThread, EvalSet } from '@wso2/ballerina-core'; +import { getCurrentProjectRoot } from '../../utils/project-utils'; +import { ensureEvalsetsDirectory, validateEvalsetName, findExistingEvalsets } from '../test-explorer/evalset-utils'; // TraceData interface matching the trace-visualizer component interface TraceData { @@ -66,11 +73,15 @@ export class TraceDetailsWebview { private _disposables: vscode.Disposable[] = []; private _trace: Trace | undefined; private _isAgentChat: boolean = false; + private _focusSpanId: string | undefined; + private _sessionId: string | undefined; + private _traceUpdateUnsubscribe: (() => void) | undefined; private constructor() { this._panel = TraceDetailsWebview.createWebview(); this._panel.onDidDispose(() => this.dispose(), null, this._disposables); this.setupMessageHandler(); + this.subscribeToTraceUpdates(); } private setupMessageHandler(): void { @@ -79,7 +90,7 @@ export class TraceDetailsWebview { } this._panel.webview.onDidReceiveMessage( - (message) => { + async (message) => { switch (message.command) { case 'requestTraceData': if (this._trace) { @@ -88,9 +99,36 @@ export class TraceDetailsWebview { command: 'traceData', data: traceData, isAgentChat: this._isAgentChat, + focusSpanId: this._focusSpanId, + sessionId: this._sessionId, }); } break; + case 'exportTrace': + if (message.data) { + await this.exportTrace(message.data); + } + break; + case 'requestSessionTraces': + if (message.sessionId) { + await this.handleSessionTracesRequest(message.sessionId); + } + break; + case 'exportSession': + if (message.data) { + await this.exportSession(message.data.sessionTraces, message.data.sessionId); + } + break; + case 'exportTraceAsEvalset': + if (message.data) { + await this.exportTraceAsEvalset(message.data); + } + break; + case 'exportSessionAsEvalset': + if (message.data) { + await this.exportSessionAsEvalset(message.data.sessionTraces, message.data.sessionId); + } + break; } }, null, @@ -98,11 +136,41 @@ export class TraceDetailsWebview { ); } + private subscribeToTraceUpdates(): void { + this._traceUpdateUnsubscribe = TraceServer.onTracesUpdated(() => { + if (!this._trace && this._sessionId && this._panel) { + this.refreshSessionTraces(); + } + }); + } + + private async refreshSessionTraces(): Promise { + if (!this._sessionId || !this._panel) { + return; + } + + try { + const sessionTraces = TraceServer.getTracesBySessionId(this._sessionId); + const traces = sessionTraces.map(trace => this.convertTraceToTraceData(trace)); + + // Send updated traces to the webview with isUpdate flag + // This prevents forcing the view mode change on updates + this._panel.webview.postMessage({ + command: 'sessionTraces', + traces, + sessionId: this._sessionId, + isUpdate: true + }); + } catch (error) { + console.error('Failed to refresh session traces:', error); + } + } + private static createWebview(): vscode.WebviewPanel { const panel = vscode.window.createWebviewPanel( 'ballerina.trace-details', 'Trace Details', - ViewColumn.Active, + ViewColumn.One, { enableScripts: true, localResourceRoots: [ @@ -119,7 +187,7 @@ export class TraceDetailsWebview { return panel; } - public static show(trace: Trace, isAgentChat: boolean = false): void { + public static show(trace: Trace, isAgentChat: boolean = false, focusSpanId?: string, sessionId?: string): void { if (!TraceDetailsWebview.instance || !TraceDetailsWebview.instance._panel) { // Create new instance if it doesn't exist or was disposed TraceDetailsWebview.instance = new TraceDetailsWebview(); @@ -129,18 +197,39 @@ export class TraceDetailsWebview { const instance = TraceDetailsWebview.instance; instance._trace = trace; instance._isAgentChat = isAgentChat; + instance._focusSpanId = focusSpanId; + instance._sessionId = sessionId; // Update title based on isAgentChat flag if (instance._panel) { - instance._panel.title = isAgentChat ? 'Agent Chat Logs' : 'Trace Details'; + instance._panel.title = 'Trace Logs'; + } + + vscode.commands.executeCommand('workbench.action.closeSidebar'); + + instance._panel!.reveal(ViewColumn.One); + instance.updateWebview(); + } + + public static async showSessionOverview(sessionId: string): Promise { + // Create or reuse webview instance + if (!TraceDetailsWebview.instance || !TraceDetailsWebview.instance._panel) { + TraceDetailsWebview.instance = new TraceDetailsWebview(); } - instance._panel!.reveal(); + const instance = TraceDetailsWebview.instance; + instance._trace = null; + instance._isAgentChat = true; + instance._sessionId = sessionId; + + vscode.commands.executeCommand('workbench.action.closeSidebar'); + + instance._panel!.reveal(ViewColumn.One); instance.updateWebview(); } private updateWebview(): void { - if (!this._panel || !this._trace) { + if (!this._panel) { return; } @@ -148,11 +237,13 @@ export class TraceDetailsWebview { // Send trace data immediately after updating HTML (in case webview is already loaded) // The webview will also request it if needed - const traceData = this.convertTraceToTraceData(this._trace); + const traceData = this._trace ? this.convertTraceToTraceData(this._trace) : null; this._panel.webview.postMessage({ command: 'traceData', data: traceData, isAgentChat: this._isAgentChat, + focusSpanId: this._focusSpanId, + sessionId: this._sessionId }); } @@ -183,7 +274,453 @@ export class TraceDetailsWebview { }; } - private getWebviewContent(trace: Trace, webView: Webview): string { + private async exportTrace(traceData: TraceData): Promise { + try { + const fileName = `trace-${traceData.traceId}.json`; + // Default to ./traces inside the first workspace folder; fallback to home directory + const wf = vscode.workspace.workspaceFolders && vscode.workspace.workspaceFolders[0]; + let defaultUri: vscode.Uri; + + if (wf) { + const tracesDirPath = path.join(wf.uri.fsPath, 'traces'); + const tracesDirUri = vscode.Uri.file(tracesDirPath); + try { + // Ensure the traces directory exists (create if missing) + await vscode.workspace.fs.createDirectory(tracesDirUri); + } catch (e) { + // Ignore errors and fall back to workspace root below + } + + defaultUri = vscode.Uri.file(path.join(tracesDirPath, fileName)); + } else { + defaultUri = vscode.Uri.file(path.join(os.homedir(), fileName)); + } + + const fileUri = await vscode.window.showSaveDialog({ + defaultUri, + filters: { + 'JSON Files': ['json'], + 'All Files': ['*'] + } + }); + + if (fileUri) { + const jsonContent = JSON.stringify(traceData, null, 2); + await vscode.workspace.fs.writeFile(fileUri, Buffer.from(jsonContent, 'utf8')); + vscode.window.showInformationMessage(`Trace exported to ${fileUri.fsPath}`); + } + } catch (error) { + vscode.window.showErrorMessage(`Failed to export trace: ${error}`); + } + } + + private async handleSessionTracesRequest(sessionId: string): Promise { + try { + const sessionTraces = TraceServer.getTracesBySessionId(sessionId); + + // Convert to TraceData format + const traces = sessionTraces.map(trace => this.convertTraceToTraceData(trace)); + + // Send to webview + this._panel?.webview.postMessage({ + command: 'sessionTraces', + traces, + sessionId + }); + } catch (error) { + vscode.window.showErrorMessage(`Failed to fetch session traces: ${error}`); + } + } + + private async exportSession(sessionTraces: TraceData[], sessionId: string): Promise { + try { + const fileName = `session-${sessionId}.json`; + const wf = vscode.workspace.workspaceFolders && vscode.workspace.workspaceFolders[0]; + let defaultUri: vscode.Uri; + + if (wf) { + const tracesDirPath = path.join(wf.uri.fsPath, 'traces'); + const tracesDirUri = vscode.Uri.file(tracesDirPath); + try { + await vscode.workspace.fs.createDirectory(tracesDirUri); + } catch (e) { + // Ignore errors + } + + defaultUri = vscode.Uri.file(path.join(tracesDirPath, fileName)); + } else { + defaultUri = vscode.Uri.file(path.join(os.homedir(), fileName)); + } + + const fileUri = await vscode.window.showSaveDialog({ + defaultUri, + filters: { + 'JSON Files': ['json'], + 'All Files': ['*'] + } + }); + + if (fileUri) { + const jsonContent = JSON.stringify({ + sessionId, + traces: sessionTraces + }, null, 2); + await vscode.workspace.fs.writeFile(fileUri, Buffer.from(jsonContent, 'utf8')); + vscode.window.showInformationMessage(`Session exported to ${fileUri.fsPath}`); + } + } catch (error) { + vscode.window.showErrorMessage(`Failed to export session: ${error}`); + } + } + + private async exportTraceAsEvalset(traceData: TraceData): Promise { + const mode = await this.promptExportMode(); + if (!mode) { return; } + + if (mode === 'new') { + await this.createNewEvalsetFromTrace(traceData); + } else { + await this.appendTraceToExistingEvalset(traceData); + } + } + + /** + * Creates thread from traces + */ + private createThreadFromTraces( + sessionTraces: TraceData[], + sessionId: string, + threadName?: string + ): EvalThread { + const evalsetTraces = convertTracesToEvalset(sessionTraces); + + return { + id: crypto.randomUUID(), + name: threadName || `Thread - ${sessionId.substring(0, 8)}`, + traces: evalsetTraces, + created_on: new Date().toISOString() + }; + } + + /** + * Creates thread from a single trace + */ + private createThreadFromTrace( + traceData: TraceData, + threadName?: string + ): EvalThread { + const evalsetTrace = convertTraceToEvalset(traceData); + + return { + id: crypto.randomUUID(), + name: threadName || `Thread - ${traceData.traceId.substring(0, 8)}`, + traces: [evalsetTrace], + created_on: new Date().toISOString() + }; + } + + /** + * Prompt for export mode (new vs append) + */ + private async promptExportMode(): Promise<'new' | 'append' | undefined> { + const mode = await vscode.window.showQuickPick([ + { label: 'Create new evalset', value: 'new' as const }, + { label: 'Append to existing evalset', value: 'append' as const } + ], { + placeHolder: 'How would you like to export this session?' + }); + + return mode?.value; + } + + /** + * Creates a new evalset + */ + private async createNewEvalset( + sessionTraces: TraceData[], + sessionId: string + ): Promise { + try { + // 1. Ensure evalsets directory exists + const evalsetsDir = await ensureEvalsetsDirectory(); + + // 2. Prompt for name + const name = await vscode.window.showInputBox({ + prompt: 'Enter evalset name', + placeHolder: `session-${sessionId.substring(0, 8)}`, + value: `session-${sessionId.substring(0, 8)}`, + validateInput: (value) => validateEvalsetName(value, evalsetsDir) + }); + + if (!name) { return; } // User cancelled + + // 3. Create EvalSet with single thread + const thread = this.createThreadFromTraces(sessionTraces, sessionId); + const evalset: EvalSet = { + id: crypto.randomUUID(), + name: name, + description: `Session export`, + threads: [thread], + created_on: new Date().toISOString() + }; + + // 4. Write file + const filePath = path.join(evalsetsDir, `${name}.evalset.json`); + const jsonContent = JSON.stringify(evalset, null, 2); + const fileUri = vscode.Uri.file(filePath); + + await vscode.workspace.fs.writeFile(fileUri, Buffer.from(jsonContent, 'utf8')); + + // 5. Success message with View option + const action = await vscode.window.showInformationMessage( + `Evalset created: ${name}.evalset.json`, + 'View' + ); + + if (action === 'View') { + vscode.commands.executeCommand('ballerina.openEvalsetViewer', fileUri, thread.id); + } + + } catch (error) { + const errorMessage = error instanceof Error ? error.message : String(error); + vscode.window.showErrorMessage(`Failed to create evalset: ${errorMessage}`); + } + } + + /** + * Creates a new evalset from a single trace + */ + private async createNewEvalsetFromTrace( + traceData: TraceData + ): Promise { + try { + // 1. Ensure evalsets directory exists + const evalsetsDir = await ensureEvalsetsDirectory(); + + // 2. Prompt for name + const name = await vscode.window.showInputBox({ + prompt: 'Enter evalset name', + placeHolder: `trace-${traceData.traceId.substring(0, 8)}`, + value: `trace-${traceData.traceId.substring(0, 8)}`, + validateInput: (value) => validateEvalsetName(value, evalsetsDir) + }); + + if (!name) { return; } // User cancelled + + // 3. Create EvalSet with single thread + const thread = this.createThreadFromTrace(traceData); + const evalset: EvalSet = { + id: crypto.randomUUID(), + name: name, + description: `Single trace export`, + threads: [thread], + created_on: new Date().toISOString() + }; + + // 4. Write file + const filePath = path.join(evalsetsDir, `${name}.evalset.json`); + const jsonContent = JSON.stringify(evalset, null, 2); + const fileUri = vscode.Uri.file(filePath); + + await vscode.workspace.fs.writeFile(fileUri, Buffer.from(jsonContent, 'utf8')); + + // 5. Success message with View option + const action = await vscode.window.showInformationMessage( + `Evalset created: ${name}.evalset.json`, + 'View' + ); + + if (action === 'View') { + vscode.commands.executeCommand('ballerina.openEvalsetViewer', fileUri, thread.id); + } + + } catch (error) { + const errorMessage = error instanceof Error ? error.message : String(error); + vscode.window.showErrorMessage(`Failed to create evalset: ${errorMessage}`); + } + } + + /** + * Appends a single trace to an existing evalset as a new thread + */ + private async appendTraceToExistingEvalset( + traceData: TraceData + ): Promise { + try { + // 1. Ensure evalsets directory and find files + const evalsetsDir = await ensureEvalsetsDirectory(); + const existingEvalsets = await findExistingEvalsets(evalsetsDir); + + if (existingEvalsets.length === 0) { + vscode.window.showErrorMessage('No evalsets found. Create a new one first.'); + return; + } + + // 2. Select evalset + const selected = await vscode.window.showQuickPick(existingEvalsets, { + placeHolder: 'Select an evalset to append to' + }); + + if (!selected) { return; } // User cancelled + + // 3. Prompt for thread name (quick pick: auto vs custom) + const nameChoice = await vscode.window.showQuickPick([ + { label: 'Auto-generate thread name', value: 'auto' as const }, + { label: 'Enter custom thread name', value: 'custom' as const } + ], { + placeHolder: 'How would you like to name the new thread?' + }); + + if (!nameChoice) { return; } // User cancelled + + let threadName: string | undefined; + if (nameChoice.value === 'custom') { + threadName = await vscode.window.showInputBox({ + prompt: 'Enter thread name', + value: `Thread - ${traceData.traceId.substring(0, 8)}`, + placeHolder: `Thread - ${traceData.traceId.substring(0, 8)}` + }); + + if (!threadName) { return; } // User cancelled + } + + // 4. Read existing evalset + const fileUri = vscode.Uri.file(selected.filePath); + let evalset: EvalSet; + + try { + const content = await vscode.workspace.fs.readFile(fileUri); + evalset = JSON.parse(Buffer.from(content).toString('utf8')); + } catch (parseError) { + throw new Error('Invalid evalset file: corrupted or invalid JSON'); + } + + // Validate schema + if (!evalset.threads || !Array.isArray(evalset.threads)) { + throw new Error('Invalid evalset format: missing threads array'); + } + + // 5. Add new thread + const newThread = this.createThreadFromTrace(traceData, threadName); + evalset.threads.push(newThread); + + // 6. Write back + const jsonContent = JSON.stringify(evalset, null, 2); + await vscode.workspace.fs.writeFile(fileUri, Buffer.from(jsonContent, 'utf8')); + + // 7. Success message with View option + const action = await vscode.window.showInformationMessage( + `Thread added to ${selected.label}.evalset.json`, + 'View' + ); + + if (action === 'View') { + vscode.commands.executeCommand('ballerina.openEvalsetViewer', fileUri, newThread.id); + } + + } catch (error) { + const errorMessage = error instanceof Error ? error.message : String(error); + vscode.window.showErrorMessage(`Failed to append to evalset: ${errorMessage}`); + } + } + + /** + * Appends traces to an existing evalset as a new thread + */ + private async appendToExistingEvalset( + sessionTraces: TraceData[], + sessionId: string + ): Promise { + try { + // 1. Ensure evalsets directory and find files + const evalsetsDir = await ensureEvalsetsDirectory(); + const existingEvalsets = await findExistingEvalsets(evalsetsDir); + + if (existingEvalsets.length === 0) { + vscode.window.showErrorMessage('No evalsets found. Create a new one first.'); + return; + } + + // 2. Select evalset + const selected = await vscode.window.showQuickPick(existingEvalsets, { + placeHolder: 'Select an evalset to append to' + }); + + if (!selected) { return; } // User cancelled + + // 3. Prompt for thread name (quick pick: auto vs custom) + const nameChoice = await vscode.window.showQuickPick([ + { label: 'Auto-generate thread name', value: 'auto' }, + { label: 'Enter custom thread name', value: 'custom' } + ], { + placeHolder: 'How would you like to name the new thread?' + }); + + if (!nameChoice) { return; } // User cancelled + + let threadName: string | undefined; + if (nameChoice.value === 'custom') { + threadName = await vscode.window.showInputBox({ + prompt: 'Enter thread name', + value: `Thread - ${sessionId.substring(0, 8)}`, + placeHolder: `Thread - ${sessionId.substring(0, 8)}` + }); + + if (!threadName) { return; } // User cancelled + } + + // 4. Read existing evalset + const fileUri = vscode.Uri.file(selected.filePath); + let evalset: EvalSet; + + try { + const content = await vscode.workspace.fs.readFile(fileUri); + evalset = JSON.parse(Buffer.from(content).toString('utf8')); + } catch (parseError) { + throw new Error('Invalid evalset file: corrupted or invalid JSON'); + } + + // Validate schema + if (!evalset.threads || !Array.isArray(evalset.threads)) { + throw new Error('Invalid evalset format: missing threads array'); + } + + // 5. Add new thread + const newThread = this.createThreadFromTraces(sessionTraces, sessionId, threadName); + evalset.threads.push(newThread); + + // 6. Write back + const jsonContent = JSON.stringify(evalset, null, 2); + await vscode.workspace.fs.writeFile(fileUri, Buffer.from(jsonContent, 'utf8')); + + // 7. Success message with View option + const action = await vscode.window.showInformationMessage( + `Thread added to ${selected.label}.evalset.json`, + 'View' + ); + + if (action === 'View') { + vscode.commands.executeCommand('ballerina.openEvalsetViewer', fileUri, newThread.id); + } + + } catch (error) { + const errorMessage = error instanceof Error ? error.message : String(error); + vscode.window.showErrorMessage(`Failed to append to evalset: ${errorMessage}`); + } + } + + private async exportSessionAsEvalset(sessionTraces: TraceData[], sessionId: string): Promise { + const mode = await this.promptExportMode(); + if (!mode) { return; } + + if (mode === 'new') { + await this.createNewEvalset(sessionTraces, sessionId); + } else { + await this.appendToExistingEvalset(sessionTraces, sessionId); + } + } + + private getWebviewContent(trace: Trace | null, webView: Webview): string { const body = `
`; const bodyCss = ``; const styles = ` @@ -195,17 +732,54 @@ export class TraceDetailsWebview { `; const scripts = ` const vscode = acquireVsCodeApi(); + window.vscode = vscode; // Make vscode API available globally let traceData = null; let isAgentChat = false; + let focusSpanId = undefined; + let sessionId = false; + + // Expose API for React components to communicate with extension + window.traceVisualizerAPI = { + requestSessionTraces: (sessionId) => { + vscode.postMessage({ + command: 'requestSessionTraces', + sessionId: sessionId + }); + }, + exportSession: (sessionTraces, sessionId) => { + vscode.postMessage({ + command: 'exportSession', + data: { sessionTraces, sessionId } + }); + }, + exportTrace: (traceData) => { + vscode.postMessage({ + command: 'exportTrace', + data: traceData + }); + }, + exportTraceAsEvalset: (traceData) => { + vscode.postMessage({ + command: 'exportTraceAsEvalset', + data: traceData + }); + }, + exportSessionAsEvalset: (sessionTraces, sessionId) => { + vscode.postMessage({ + command: 'exportSessionAsEvalset', + data: { sessionTraces, sessionId } + }); + } + }; function renderTraceDetails() { - if (window.traceVisualizer && window.traceVisualizer.renderWebview && traceData) { + if (window.traceVisualizer && window.traceVisualizer.renderWebview) { const container = document.getElementById("webview-container"); if (container) { - window.traceVisualizer.renderWebview(traceData, isAgentChat, container); + window.traceVisualizer.renderWebview(traceData, isAgentChat, container, focusSpanId, sessionId); } - } else if (!traceData) { - // Request trace data from extension + } else if (!traceData && !sessionId) { + // Request trace data from extension only if we don't have sessionId vscode.postMessage({ command: 'requestTraceData' }); } else { console.error("TraceVisualizer not loaded"); @@ -220,11 +794,59 @@ export class TraceDetailsWebview { case 'traceData': traceData = message.data; isAgentChat = message.isAgentChat || false; + focusSpanId = message.focusSpanId; + sessionId = message.sessionId || false; renderTraceDetails(); break; } }); + // Listen for export requests from React component + window.addEventListener('exportTrace', (event) => { + if (event.detail && event.detail.traceData) { + vscode.postMessage({ + command: 'exportTrace', + data: event.detail.traceData + }); + } + }); + + // Listen for session export requests from React component + window.addEventListener('exportSession', (event) => { + if (event.detail && event.detail.sessionTraces && event.detail.currentSessionId) { + vscode.postMessage({ + command: 'exportSession', + data: { + sessionTraces: event.detail.sessionTraces, + sessionId: event.detail.currentSessionId + } + }); + } + }); + + // Listen for evalset export requests from React component + window.addEventListener('exportTraceAsEvalset', (event) => { + if (event.detail && event.detail.traceData) { + vscode.postMessage({ + command: 'exportTraceAsEvalset', + data: event.detail.traceData + }); + } + }); + + // Listen for session evalset export requests from React component + window.addEventListener('exportSessionAsEvalset', (event) => { + if (event.detail && event.detail.sessionTraces && event.detail.currentSessionId) { + vscode.postMessage({ + command: 'exportSessionAsEvalset', + data: { + sessionTraces: event.detail.sessionTraces, + sessionId: event.detail.currentSessionId + } + }); + } + }); + function loadedScript() { // Request trace data when script is loaded vscode.postMessage({ command: 'requestTraceData' }); @@ -244,6 +866,12 @@ export class TraceDetailsWebview { public dispose(): void { + // Unsubscribe from trace updates + if (this._traceUpdateUnsubscribe) { + this._traceUpdateUnsubscribe(); + this._traceUpdateUnsubscribe = undefined; + } + this._panel?.dispose(); while (this._disposables.length) { @@ -255,11 +883,10 @@ export class TraceDetailsWebview { this._panel = undefined; this._trace = undefined; - + // Clear the static instance when disposed if (TraceDetailsWebview.instance === this) { TraceDetailsWebview.instance = undefined; } } } - diff --git a/workspaces/ballerina/ballerina-extension/src/features/tracing/trace-server.ts b/workspaces/ballerina/ballerina-extension/src/features/tracing/trace-server.ts index d29a8fb1f8f..f73e3d4a9bf 100644 --- a/workspaces/ballerina/ballerina-extension/src/features/tracing/trace-server.ts +++ b/workspaces/ballerina/ballerina-extension/src/features/tracing/trace-server.ts @@ -70,6 +70,8 @@ export interface TraceServer { getTraceByLastSeen(lastSeen: Date): Trace; onTracesUpdated(callback: () => void): () => void; onTracesCleared(callback: () => void): () => void; + getTracesBySessionId(sessionId: string): Trace[]; + getSessionIds(): string[]; } @@ -339,7 +341,7 @@ app.post('/v1/traces', async (req, res) => { const extractResourceName = (resource: any): string => { if (resource.name) { return resource.name; } if (resource.attributes) { - const serviceNameAttr = resource.attributes.find((attr: any) => + const serviceNameAttr = resource.attributes.find((attr: any) => attr.key === 'service.name' || attr.key === 'service_name' ); if (serviceNameAttr) { @@ -350,7 +352,7 @@ app.post('/v1/traces', async (req, res) => { }; // Helper function to process resource attributes - const processAttributes = (attributes: any[]): Array<{key: string; value: string}> => { + const processAttributes = (attributes: any[]): Array<{ key: string; value: string }> => { if (!attributes || !Array.isArray(attributes)) { return []; } return attributes.map((attr: any) => ({ key: attr.key || '', @@ -369,7 +371,7 @@ app.post('/v1/traces', async (req, res) => { // Process resource and scope const resourceName = extractResourceName(resourceSpan.resource); const scopeName = scopeSpan.scope?.name || 'Unknown Scope'; - + traceMap.set(traceId, { spans: [], resource: { @@ -465,7 +467,7 @@ export const TraceServer: TraceServer = { resolve(); return; } - + server = app.listen(port, () => { resolve(); }); @@ -522,5 +524,29 @@ export const TraceServer: TraceServer = { onTracesCleared: (callback: () => void) => { traceEvents.on('tracesCleared', callback); return () => traceEvents.off('tracesCleared', callback); + }, + getTracesBySessionId: (sessionId: string) => { + return Array.from(traceStore.values()).filter(trace => + trace.spans.some(span => { + const conversationId = span.attributes?.find( + attr => attr.key === 'gen_ai.conversation.id' + )?.value; + return conversationId === sessionId; + }) + ); + }, + getSessionIds: () => { + const sessionIds = new Set(); + for (const trace of traceStore.values()) { + for (const span of trace.spans) { + const conversationId = span.attributes?.find( + attr => attr.key === 'gen_ai.conversation.id' + )?.value; + if (conversationId) { + sessionIds.add(conversationId); + } + } + } + return Array.from(sessionIds); } }; \ No newline at end of file diff --git a/workspaces/ballerina/ballerina-extension/src/features/tracing/trace-tree-view.ts b/workspaces/ballerina/ballerina-extension/src/features/tracing/trace-tree-view.ts index aa2bee9098f..86e8cd2cafd 100644 --- a/workspaces/ballerina/ballerina-extension/src/features/tracing/trace-tree-view.ts +++ b/workspaces/ballerina/ballerina-extension/src/features/tracing/trace-tree-view.ts @@ -120,6 +120,18 @@ export class TraceTreeDataProvider implements vscode.TreeDataProvider t.traceId === element.traceId); + if (trace) { + item.command = { + command: 'ballerina.showTraceDetails', + title: 'Show Trace Details', + arguments: [trace, element.span.spanId] + }; + } + return item; } } diff --git a/workspaces/ballerina/ballerina-extension/src/features/tryit/activator.ts b/workspaces/ballerina/ballerina-extension/src/features/tryit/activator.ts index a6e97d9bf65..02132b2b7ab 100644 --- a/workspaces/ballerina/ballerina-extension/src/features/tryit/activator.ts +++ b/workspaces/ballerina/ballerina-extension/src/features/tryit/activator.ts @@ -89,7 +89,7 @@ async function openTryItView(withNotice: boolean = false, resourceMetadata?: Res // Check if service is already running BEFORE we potentially start it // This will be used to determine if we should reuse the session ID for AI Agent service - const wasServiceAlreadyRunning = await isServiceAlreadyRunning(projectPath); + let wasServiceAlreadyRunning = await isServiceAlreadyRunning(projectPath); if (withNotice) { const selection = await vscode.window.showInformationMessage( @@ -101,6 +101,8 @@ async function openTryItView(withNotice: boolean = false, resourceMetadata?: Res if (selection !== "Test") { return; } + + wasServiceAlreadyRunning = false; } else { const processesRunning = await checkBallerinaProcessRunning(projectPath); if (!processesRunning) { diff --git a/workspaces/ballerina/ballerina-extension/src/rpc-managers/agent-chat/rpc-handler.ts b/workspaces/ballerina/ballerina-extension/src/rpc-managers/agent-chat/rpc-handler.ts index b92592eb749..458cec8ffb3 100644 --- a/workspaces/ballerina/ballerina-extension/src/rpc-managers/agent-chat/rpc-handler.ts +++ b/workspaces/ballerina/ballerina-extension/src/rpc-managers/agent-chat/rpc-handler.ts @@ -23,7 +23,9 @@ import { getChatMessage, getTracingStatus, showTraceView, + showSessionOverview, TraceInput, + SessionInput, getChatHistory, clearChatHistory, getAgentStatus @@ -37,6 +39,7 @@ export function registerAgentChatRpcHandlers(messenger: Messenger) { messenger.onNotification(abortChatRequest, () => rpcManger.abortChatRequest()); messenger.onRequest(getTracingStatus, () => rpcManger.getTracingStatus()); messenger.onNotification(showTraceView, (args: TraceInput) => rpcManger.showTraceView(args)); + messenger.onNotification(showSessionOverview, (args: SessionInput) => rpcManger.showSessionOverview(args)); messenger.onRequest(getChatHistory, () => rpcManger.getChatHistory()); messenger.onRequest(clearChatHistory, () => rpcManger.clearChatHistory()); messenger.onRequest(getAgentStatus, () => rpcManger.getAgentStatus()); diff --git a/workspaces/ballerina/ballerina-extension/src/rpc-managers/agent-chat/rpc-manager.ts b/workspaces/ballerina/ballerina-extension/src/rpc-managers/agent-chat/rpc-manager.ts index 031e10b92eb..4e019e1a629 100644 --- a/workspaces/ballerina/ballerina-extension/src/rpc-managers/agent-chat/rpc-manager.ts +++ b/workspaces/ballerina/ballerina-extension/src/rpc-managers/agent-chat/rpc-manager.ts @@ -20,12 +20,14 @@ import { AgentChatAPI, ChatReqMessage, ChatRespMessage, + ExecutionStep, TraceInput, TraceStatus, ChatHistoryMessage, ChatHistoryResponse, AgentStatusResponse, - ClearChatResponse + ClearChatResponse, + SessionInput } from "@wso2/ballerina-core"; import * as vscode from 'vscode'; import { extension } from '../../BalExtensionContext'; @@ -66,7 +68,6 @@ export class AgentChatRpcManager implements AgentChatAPI { this.currentAbortController = new AbortController(); const payload = { sessionId: extension.agentChatContext.chatSessionId, ...params }; - console.log('[Agent Chat] Sending message with session ID:', payload.sessionId); const response = await this.fetchTestData( extension.agentChatContext.chatEp, @@ -75,21 +76,23 @@ export class AgentChatRpcManager implements AgentChatAPI { ); if (response && response.message) { // Find trace and extract tool calls and execution steps - const trace = this.findTraceForMessage(params.message); - - const chatResponse: ChatRespMessage = { - message: response.message - }; + const trace = this.findTraceForMessage(extension.agentChatContext.chatSessionId, params.message); + const executionSteps = trace ? this.extractExecutionSteps(trace) : undefined; // Store agent response in history this.addMessageToHistory(sessionId, { type: 'message', text: response.message, isUser: false, - traceId: trace?.traceId + traceId: trace?.traceId, + executionSteps }); - resolve(chatResponse); + resolve({ + message: response.message, + traceId: trace?.traceId, + executionSteps + } as ChatRespMessage); } else { reject(new Error("Invalid response format:", response)); } @@ -101,15 +104,31 @@ export class AgentChatRpcManager implements AgentChatAPI { : "An unknown error occurred"; const sessionId = extension.agentChatContext?.chatSessionId; + let traceId: string | undefined; + let executionSteps: ExecutionStep[] | undefined; + if (sessionId) { + const trace = this.findTraceForMessage(extension.agentChatContext.chatSessionId, params.message); + traceId = trace?.traceId; + executionSteps = trace ? this.extractExecutionSteps(trace) : undefined; + this.addMessageToHistory(sessionId, { type: 'error', text: errorMessage, - isUser: false + isUser: false, + traceId, + executionSteps }); } - reject(error); + // Embed trace information in the error for RPC transmission + const traceInfo = { traceId, executionSteps }; + const errorWithTrace = new Error(JSON.stringify({ + message: errorMessage, + traceInfo: traceInfo + })); + + reject(errorWithTrace); } finally { this.currentAbortController = null; } @@ -152,6 +171,7 @@ export class AgentChatRpcManager implements AgentChatAPI { }); if (!response.ok) { + const errorData = await response.json(); switch (response.status) { case 400: throw new Error("Bad Request: The server could not understand the request."); @@ -203,13 +223,23 @@ export class AgentChatRpcManager implements AgentChatAPI { /** * Find the trace that corresponds to a chat message by matching span attributes + * @param sessionId The chat session ID * @param userMessage The user's input message * @returns The matching trace or undefined if not found */ - findTraceForMessage(userMessage: string): Trace | undefined { + findTraceForMessage(sessionId: string, userMessage: string): Trace | undefined { // Get all traces from the TraceServer const traces = TraceServer.getTraces(); + // Sort traces from most recent to least recent based on lastSeen timestamp + traces.sort((a, b) => { + const timeA = a.lastSeen.getTime(); + const timeB = b.lastSeen.getTime(); + + // Sort in descending order (most recent first) + return timeB - timeA; + }); + // Helper function to extract string value from attribute value const extractValue = (value: any): string => { if (typeof value === 'string') { @@ -229,6 +259,7 @@ export class AgentChatRpcManager implements AgentChatAPI { // 1. span.type === "ai" // 2. gen_ai.operation.name === "invoke_agent" // 3. gen_ai.input.messages matches the user message + // 4. gen_ai.output.messages matches the agent response (if provided) const attributes = span.attributes || []; @@ -236,6 +267,8 @@ export class AgentChatRpcManager implements AgentChatAPI { let spanType: string | undefined; let operationName: string | undefined; let inputMessages: string | undefined; + let outputMessages: string | undefined; + let conversationId: string | undefined; for (const attr of attributes) { const attrValue = extractValue(attr.value); @@ -246,6 +279,10 @@ export class AgentChatRpcManager implements AgentChatAPI { operationName = attrValue; } else if (attr.key === 'gen_ai.input.messages') { inputMessages = attrValue; + } else if (attr.key === 'gen_ai.output.messages') { + outputMessages = attrValue; + } else if (attr.key === 'gen_ai.conversation.id') { + conversationId = attrValue; } } @@ -253,11 +290,13 @@ export class AgentChatRpcManager implements AgentChatAPI { if (spanType === 'ai' && operationName === 'invoke_agent' && inputMessages) { + + // If sessionId doesn't match, skip + if (conversationId != sessionId) { continue; } + // Check if the input message matches - // inputMessages might be JSON or contain the message - if (inputMessages.includes(userMessage)) { - return trace; - } + const inputMatches = inputMessages.includes(userMessage); + if (inputMatches) { return trace; } } } } @@ -266,24 +305,128 @@ export class AgentChatRpcManager implements AgentChatAPI { } /** - * Show trace details webview for a given chat message - * Finds the trace matching the message and opens it in the trace details webview - * @param userMessage The user's input message - * @throws Error if no trace is found for the message + * Remove operation prefixes from span names + * @param name The span name to clean + * @returns The cleaned span name + */ + private stripSpanPrefix(name: string): string { + const prefixes = ['invoke_agent ', 'execute_tool ', 'chat ']; + for (const prefix of prefixes) { + if (name.startsWith(prefix)) { + return name.substring(prefix.length); + } + } + return name; + } + + /** + * Extract execution steps from a trace + * @param trace The trace to extract execution steps from + * @returns Array of execution steps sorted chronologically */ - async showTraceDetailsForMessage(userMessage: string): Promise { + private extractExecutionSteps(trace: Trace): ExecutionStep[] { + const steps: ExecutionStep[] = []; + + // Helper function to extract string value from attribute value + const extractValue = (value: any): string => { + if (typeof value === 'string') { + return value; + } + if (value && typeof value === 'object' && 'stringValue' in value) { + return String(value.stringValue); + } + return ''; + }; + + // Iterate through all spans in the trace + for (const span of trace.spans || []) { + const attributes = span.attributes || []; + + let operationName = ''; + let toolName = ''; + let hasError = false; + + // Extract relevant attributes + for (const attr of attributes) { + const value = extractValue(attr.value); + + if (attr.key === 'gen_ai.operation.name') { + operationName = value; + } else if (attr.key === 'gen_ai.tool.name') { + toolName = value; + } else if (attr.key === 'error.message') { + hasError = true; + } + } + + // Determine operation type based on operation name + let operationType: 'invoke' | 'chat' | 'tool' | 'other' = 'other'; + let displayName = operationName; + + if (operationName.startsWith('invoke_agent')) { + operationType = 'invoke'; + displayName = this.stripSpanPrefix(span.name); + } else if (operationName.startsWith('chat')) { + operationType = 'chat'; + displayName = this.stripSpanPrefix(span.name); + } else if (operationName.startsWith('execute_tool')) { + operationType = 'tool'; + displayName = toolName || this.stripSpanPrefix(span.name); + } else { + // Skip spans that don't match our criteria + continue; + } + + // Calculate duration from ISO timestamps + const startTimeISO = span.startTime; + const endTimeISO = span.endTime; + let duration = 0; + + if (startTimeISO && endTimeISO) { + const startMs = new Date(startTimeISO).getTime(); + const endMs = new Date(endTimeISO).getTime(); + duration = endMs - startMs; + } + + steps.push({ + spanId: span.spanId, + operationType, + name: displayName, + fullName: operationName, + duration, + startTime: startTimeISO, + endTime: endTimeISO, + hasError + }); + } + + // Sort by start time chronologically + steps.sort((a, b) => { + if (!a.startTime || !b.startTime) { return 0; } + return a.startTime.localeCompare(b.startTime); + }); + + return steps; + } + + async showTraceView(params: TraceInput): Promise { try { - // Find the trace that matches the user message - const trace = this.findTraceForMessage(userMessage); + let trace: Trace | undefined; + + // Support direct trace lookup by traceId + if (params.traceId) { + const traces = TraceServer.getTraces(); + trace = traces.find(t => t.traceId === params.traceId); + } if (!trace) { - const errorMessage = 'No trace found for the given message. Make sure tracing is enabled and the agent has processed this message.'; + const errorMessage = 'No trace found. Make sure tracing is enabled and the agent has processed this message.'; vscode.window.showErrorMessage(errorMessage); throw new Error(errorMessage); } - // Open the trace details webview with isAgentChat=true - TraceDetailsWebview.show(trace, true); + // Open the trace details webview with isAgentChat=true and optional focusSpanId + TraceDetailsWebview.show(trace, true, params.focusSpanId, extension.agentChatContext?.chatSessionId); } catch (error) { const errorMessage = error instanceof Error ? error.message : 'Failed to show trace details'; vscode.window.showErrorMessage(`Error: ${errorMessage}`); @@ -291,8 +434,23 @@ export class AgentChatRpcManager implements AgentChatAPI { } } - async showTraceView(params: TraceInput): Promise { - await this.showTraceDetailsForMessage(params.message); + async showSessionOverview(params: SessionInput): Promise { + try { + // Use provided sessionId or fall back to current session + const sessionId = params.sessionId || extension.agentChatContext?.chatSessionId; + + if (!sessionId) { + const errorMessage = 'No active session found'; + vscode.window.showErrorMessage(errorMessage); + throw new Error(errorMessage); + } + + await TraceDetailsWebview.showSessionOverview(sessionId); + } catch (error) { + const errorMessage = error instanceof Error ? error.message : 'Failed to show session overview'; + vscode.window.showErrorMessage(`Error: ${errorMessage}`); + throw error; + } } async getChatHistory(): Promise { diff --git a/workspaces/ballerina/ballerina-extension/src/rpc-managers/ai-panel/rpc-handler.ts b/workspaces/ballerina/ballerina-extension/src/rpc-managers/ai-panel/rpc-handler.ts index 06868551057..8ea82657ac1 100644 --- a/workspaces/ballerina/ballerina-extension/src/rpc-managers/ai-panel/rpc-handler.ts +++ b/workspaces/ballerina/ballerina-extension/src/rpc-managers/ai-panel/rpc-handler.ts @@ -28,10 +28,13 @@ import { approveTask, ApproveTaskRequest, cancelConnectorSpec, + cancelConfiguration, clearChat, clearInitialPrompt, ConnectorSpecCancelRequest, ConnectorSpecRequest, + ConfigurationCancelRequest, + ConfigurationProvideRequest, createTestDirecoryIfNotExists, declineChanges, declinePlan, @@ -69,6 +72,7 @@ import { ProcessMappingParametersRequest, promptGithubAuthorize, provideConnectorSpec, + provideConfiguration, RequirementSpecification, restoreCheckpoint, RestoreCheckpointRequest, @@ -123,6 +127,8 @@ export function registerAiPanelRpcHandlers(messenger: Messenger) { messenger.onRequest(declineTask, (args: TaskDeclineRequest) => rpcManger.declineTask(args)); messenger.onRequest(provideConnectorSpec, (args: ConnectorSpecRequest) => rpcManger.provideConnectorSpec(args)); messenger.onRequest(cancelConnectorSpec, (args: ConnectorSpecCancelRequest) => rpcManger.cancelConnectorSpec(args)); + messenger.onRequest(provideConfiguration, (args: ConfigurationProvideRequest) => rpcManger.provideConfiguration(args)); + messenger.onRequest(cancelConfiguration, (args: ConfigurationCancelRequest) => rpcManger.cancelConfiguration(args)); messenger.onRequest(getChatMessages, () => rpcManger.getChatMessages()); messenger.onRequest(getCheckpoints, () => rpcManger.getCheckpoints()); messenger.onRequest(restoreCheckpoint, (args: RestoreCheckpointRequest) => rpcManger.restoreCheckpoint(args)); diff --git a/workspaces/ballerina/ballerina-extension/src/rpc-managers/ai-panel/rpc-manager.ts b/workspaces/ballerina/ballerina-extension/src/rpc-managers/ai-panel/rpc-manager.ts index 9b46f21f63c..a5bff090143 100644 --- a/workspaces/ballerina/ballerina-extension/src/rpc-managers/ai-panel/rpc-manager.ts +++ b/workspaces/ballerina/ballerina-extension/src/rpc-managers/ai-panel/rpc-manager.ts @@ -57,6 +57,8 @@ import { openChatWindowWithCommand } from "../../features/ai/data-mapper/index"; import { generateDocumentationForService } from "../../features/ai/documentation/generator"; import { generateOpenAPISpec } from "../../features/ai/openapi/index"; import { OLD_BACKEND_URL } from "../../features/ai/utils"; +import { submitFeedback as submitFeedbackUtil } from "../../features/ai/utils/feedback"; +import { sendGenerationKeptTelemetry, sendGenerationDiscardTelemetry } from "../../features/ai/utils/generation-response"; import { fetchWithAuth } from "../../features/ai/utils/ai-client"; import { getLLMDiagnosticArrayAsString } from "../../features/natural-programming/utils"; import { StateMachine, updateView } from "../../stateMachine"; @@ -92,7 +94,7 @@ export class AiPanelRpcManager implements AIPanelAPI { async getDefaultPrompt(): Promise { let defaultPrompt: AIPanelPrompt = extension.aiChatDefaultPrompt; - + // Normalize code context to use relative paths if (defaultPrompt && 'codeContext' in defaultPrompt && defaultPrompt.codeContext) { defaultPrompt = { @@ -100,7 +102,7 @@ export class AiPanelRpcManager implements AIPanelAPI { codeContext: normalizeCodeContext(defaultPrompt.codeContext) }; } - + return new Promise((resolve) => { resolve(defaultPrompt); }); @@ -236,34 +238,7 @@ export class AiPanelRpcManager implements AIPanelAPI { } async submitFeedback(content: SubmitFeedbackRequest): Promise { - return new Promise(async (resolve) => { - try { - const payload = { - feedback: content.feedbackText, - positive: content.positive, - messages: content.messages, - diagnostics: cleanDiagnosticMessages(content.diagnostics) - }; - - const response = await fetchWithAuth(`${OLD_BACKEND_URL}/feedback`, { - method: 'POST', - headers: { - 'Content-Type': 'application/json' - }, - body: JSON.stringify(payload) - }); - - if (response.ok) { - resolve(true); - } else { - console.error("Failed to submit feedback"); - resolve(false); - } - } catch (error) { - console.error("Error submitting feedback:", error); - resolve(false); - } - }); + return await submitFeedbackUtil(content); } async generateOpenAPI(params: GenerateOpenAPIRequest): Promise { @@ -488,6 +463,9 @@ export class AiPanelRpcManager implements AIPanelAPI { chatStateStorage.acceptAllReviews(workspaceId, threadId); console.log("[Review Actions] Marked all under_review generations as accepted"); + // Send telemetry for generation kept + sendGenerationKeptTelemetry(latestReview.id); + // Clear affectedPackagePaths from all completed reviews to prevent stale data for (const generation of underReviewGenerations) { chatStateStorage.updateReviewState(workspaceId, threadId, generation.id, { @@ -540,6 +518,10 @@ export class AiPanelRpcManager implements AIPanelAPI { chatStateStorage.declineAllReviews(workspaceId, threadId); console.log("[Review Actions] Marked all under_review generations as declined"); + // Send telemetry for generation discard + const latestReview = underReviewGenerations[underReviewGenerations.length - 1]; + sendGenerationDiscardTelemetry(latestReview.id); + // Clear affectedPackagePaths from all completed reviews to prevent stale data for (const generation of underReviewGenerations) { chatStateStorage.updateReviewState(workspaceId, threadId, generation.id, { @@ -583,6 +565,14 @@ export class AiPanelRpcManager implements AIPanelAPI { approvalManager.resolveConnectorSpec(params.requestId, false, undefined, params.comment); } + async provideConfiguration(params: { requestId: string; configValues: Record }): Promise { + approvalManager.resolveConfiguration(params.requestId, true, params.configValues); + } + + async cancelConfiguration(params: { requestId: string; comment?: string }): Promise { + approvalManager.resolveConfiguration(params.requestId, false, undefined, params.comment); + } + async restoreCheckpoint(params: RestoreCheckpointRequest): Promise { // Get workspace and thread identifiers const workspaceId = StateMachine.context().projectPath; diff --git a/workspaces/ballerina/ballerina-extension/src/rpc-managers/bi-diagram/rpc-handler.ts b/workspaces/ballerina/ballerina-extension/src/rpc-managers/bi-diagram/rpc-handler.ts index 9bd592a67cd..dbb06022085 100644 --- a/workspaces/ballerina/ballerina-extension/src/rpc-managers/bi-diagram/rpc-handler.ts +++ b/workspaces/ballerina/ballerina-extension/src/rpc-managers/bi-diagram/rpc-handler.ts @@ -69,6 +69,7 @@ import { FunctionNodeRequest, generateOpenApiClient, getAiSuggestions, + getAvailableAgents, getAvailableChunkers, getAvailableDataLoaders, getAvailableEmbeddingProviders, @@ -165,6 +166,7 @@ export function registerBiDiagramRpcHandlers(messenger: Messenger) { messenger.onRequest(deleteFlowNode, (args: BISourceCodeRequest) => rpcManger.deleteFlowNode(args)); messenger.onRequest(deleteByComponentInfo, (args: BIDeleteByComponentInfoRequest) => rpcManger.deleteByComponentInfo(args)); messenger.onRequest(getAvailableNodes, (args: BIAvailableNodesRequest) => rpcManger.getAvailableNodes(args)); + messenger.onRequest(getAvailableAgents, (args: BIAvailableNodesRequest) => rpcManger.getAvailableAgents(args)); messenger.onRequest(getAvailableModelProviders, (args: BIAvailableNodesRequest) => rpcManger.getAvailableModelProviders(args)); messenger.onRequest(getAvailableVectorStores, (args: BIAvailableNodesRequest) => rpcManger.getAvailableVectorStores(args)); messenger.onRequest(getAvailableEmbeddingProviders, (args: BIAvailableNodesRequest) => rpcManger.getAvailableEmbeddingProviders(args)); diff --git a/workspaces/ballerina/ballerina-extension/src/rpc-managers/bi-diagram/rpc-manager.ts b/workspaces/ballerina/ballerina-extension/src/rpc-managers/bi-diagram/rpc-manager.ts index 94d4a80166c..bdca95d1f0d 100644 --- a/workspaces/ballerina/ballerina-extension/src/rpc-managers/bi-diagram/rpc-manager.ts +++ b/workspaces/ballerina/ballerina-extension/src/rpc-managers/bi-diagram/rpc-manager.ts @@ -183,6 +183,31 @@ import { getCurrentBallerinaProject } from "../../utils/project-utils"; export class BiDiagramRpcManager implements BIDiagramAPI { OpenConfigTomlRequest: (params: OpenConfigTomlRequest) => Promise; + private toRawPath(input: string): string { + if (input.includes('://')) { + return Uri.parse(input).fsPath; + } + return input; + } + + private mapTempPathToOriginal(tempFilePath: string): string { + const rawPath = this.toRawPath(tempFilePath); + const context = StateMachine.context(); + const originalRoot = context.workspacePath || context.projectPath; + const workspaceId = context.projectPath; + const threadId = 'default'; + const pendingReview = chatStateStorage.getPendingReviewGeneration(workspaceId, threadId); + if (pendingReview?.reviewState?.tempProjectPath && originalRoot) { + const normalizedTempRoot = pendingReview.reviewState.tempProjectPath.replace(/\\/g, '/'); + const normalizedFilePath = rawPath.replace(/\\/g, '/'); + if (normalizedFilePath.startsWith(normalizedTempRoot)) { + const relativePath = normalizedFilePath.substring(normalizedTempRoot.length); + return originalRoot + relativePath; + } + } + return rawPath; + } + async getFlowModel(params: BIFlowModelRequest): Promise { console.log(">>> requesting bi flow model from ls", params); return new Promise((resolve) => { @@ -191,8 +216,13 @@ export class BiDiagramRpcManager implements BIDiagramAPI { // If params has all required fields, use them directly if (params?.filePath && params?.startLine && params?.endLine) { console.log(">>> using params to create request"); + let filePath = params.filePath; + // When useFileSchema is set, map temp path to original project path + if (params.useFileSchema) { + filePath = this.mapTempPathToOriginal(filePath); + } request = { - filePath: params.filePath, + filePath, startLine: params.startLine, endLine: params.endLine, forceAssign: params.forceAssign ?? true, @@ -201,7 +231,7 @@ export class BiDiagramRpcManager implements BIDiagramAPI { // Fall back to context if params are not complete console.log(">>> params incomplete, falling back to context"); const context = StateMachine.context(); - + if (!context.position) { // TODO: check why this hits when we are in review mode console.log(">>> position not found in context, cannot create request"); @@ -249,7 +279,10 @@ export class BiDiagramRpcManager implements BIDiagramAPI { const artifacts = await updateSourceCode({ textEdits: model.textEdits, description: this.getSourceDescription(params) }); resolve({ artifacts }); } else { - const artifacts = await updateSourceCode({ textEdits: model.textEdits, artifactData: this.getArtifactDataFromNodeKind(params.flowNode.codedata.node), description: this.getSourceDescription(params)}, params.isHelperPaneChange); + const nodeKind = params.flowNode.codedata.node; + const skipFormatting = nodeKind === 'DATA_MAPPER_CREATION' || nodeKind === 'FUNCTION_CREATION'; + const artifactData = params.artifactData || this.getArtifactDataFromNodeKind(nodeKind); + const artifacts = await updateSourceCode({ textEdits: model.textEdits, artifactData, description: this.getSourceDescription(params)}, params.isHelperPaneChange, skipFormatting); resolve({ artifacts }); } }) @@ -1441,9 +1474,15 @@ export class BiDiagramRpcManager implements BIDiagramAPI { async getEnclosedFunction(params: BIGetEnclosedFunctionRequest): Promise { console.log(">>> requesting parent functin definition", params); + // When useFileSchema is set, map temp path to original project path + let filePath = params.filePath; + if (params.useFileSchema) { + filePath = this.mapTempPathToOriginal(filePath); + } + const request = { filePath, position: params.position, findClass: params.findClass }; return new Promise((resolve) => { StateMachine.langClient() - .getEnclosedFunctionDef(params) + .getEnclosedFunctionDef(request) .then((response) => { if (response?.filePath && response?.startLine && response?.endLine) { console.log(">>> parent function position ", response); @@ -1517,8 +1556,13 @@ export class BiDiagramRpcManager implements BIDiagramAPI { return new Promise((resolve) => { let projectPath: string; if (params?.projectPath) { - const uri = Uri.file(params.projectPath); - projectPath = uri.with({ scheme: 'ai' }).toString(); + if (params.useFileSchema) { + // Map temp project path to original project raw path + projectPath = this.mapTempPathToOriginal(params.projectPath); + } else { + const uri = Uri.file(params.projectPath); + projectPath = uri.with({ scheme: 'ai' }).toString(); + } } else { projectPath = StateMachine.context().projectPath; } @@ -1555,6 +1599,11 @@ export class BiDiagramRpcManager implements BIDiagramAPI { }); } + // When useFileSchema is set, map temp path to original project path + if (params.useFileSchema) { + filePath = this.mapTempPathToOriginal(filePath); + } + return new Promise((resolve, reject) => { StateMachine.langClient() .getTypes({ filePath }) @@ -2109,6 +2158,21 @@ export class BiDiagramRpcManager implements BIDiagramAPI { }); } + async getAvailableAgents(params: BIAvailableNodesRequest): Promise { + console.log(">>> requesting bi available agents from ls", params); + return new Promise((resolve) => { + StateMachine.langClient() + .getAvailableAgents(params) + .then((model) => { + console.log(">>> bi available agents from ls", model); + resolve(model); + }) + .catch((error) => { + console.log(">>> error fetching available agents from ls", error); + resolve(undefined); + }); + }); + } } export function getRepoRoot(projectRoot: string): string | undefined { diff --git a/workspaces/ballerina/ballerina-extension/src/rpc-managers/data-mapper/utils.ts b/workspaces/ballerina/ballerina-extension/src/rpc-managers/data-mapper/utils.ts index 649e782c2df..9b8e12ca60c 100644 --- a/workspaces/ballerina/ballerina-extension/src/rpc-managers/data-mapper/utils.ts +++ b/workspaces/ballerina/ballerina-extension/src/rpc-managers/data-mapper/utils.ts @@ -32,7 +32,8 @@ import { ExpandModelOptions, ExpandedDMModel, MACHINE_VIEW, - IntermediateClauseType + IntermediateClauseType, + InputCategory } from "@wso2/ballerina-core"; import { updateSourceCode, UpdateSourceCodeRequest } from "../../utils"; import { StateMachine, updateDataMapperView } from "../../stateMachine"; @@ -481,10 +482,13 @@ export function expandDMModel( */ function processInputRoots(model: DMModel): IOType[] { const inputs: IORoot[] = []; + const moduleLevelInputs: IORoot[] = []; const focusInputs: Record = {}; for (const input of model.inputs) { if (input.focusExpression && (input.isIterationVariable || input.isSeq || input.isGroupingKey)) { focusInputs[input.focusExpression] = input as IOTypeField; + } else if (isModuleLevelInput(input)) { + moduleLevelInputs.push(input); } else { inputs.push(input); } @@ -497,10 +501,45 @@ function processInputRoots(model: DMModel): IOType[] { focusInputs }; - return inputs.map(input => { + const processedInputs = inputs.map(input => { preProcessedModel.traversingRoot = input.name; return processIORoot(input, preProcessedModel); }); + + return moduleLevelInputs.length + ? [buildModuleLevelInputsGroup(moduleLevelInputs, preProcessedModel), ...processedInputs] + : processedInputs; +} + +/** + * Checks if the given input is a module level input + */ +function isModuleLevelInput(input: IORoot): boolean { + return input.category === InputCategory.Constant + || input.category === InputCategory.Configurable + || input.category === InputCategory.ModuleVariable + || input.category === InputCategory.Enum; +} + +/** + * Builds an IOType to group module level inputs + */ +function buildModuleLevelInputsGroup(moduleLevelInputs: IORoot[], model: DMModel): IOType { + + const id = "MODULE_LEVEL_INPUTS$"; // Suffix $ to avoid conflicts with user defined names and special case port handling + model.traversingRoot = id; + const fields = moduleLevelInputs.map(input => { + model.focusInputRootMap[input.name] = model.traversingRoot; + return processIORoot(input, model); + }); + + return { + id, + name: id, + displayName: "Global Inputs", + kind: TypeKind.Record, + fields + }; } /** @@ -787,4 +826,3 @@ function processEnum( ...(member.optional && { optional: member.optional }) })); } - diff --git a/workspaces/ballerina/ballerina-extension/src/rpc-managers/test-manager/rpc-handler.ts b/workspaces/ballerina/ballerina-extension/src/rpc-managers/test-manager/rpc-handler.ts index 8809c1bdbd9..eb29639dc5c 100644 --- a/workspaces/ballerina/ballerina-extension/src/rpc-managers/test-manager/rpc-handler.ts +++ b/workspaces/ballerina/ballerina-extension/src/rpc-managers/test-manager/rpc-handler.ts @@ -15,8 +15,8 @@ * specific language governing permissions and limitations * under the License. */ -import { addTestFunction, getTestFunction, GetTestFunctionRequest, - AddOrUpdateTestFunctionRequest, updateTestFunction } from "@wso2/ballerina-core"; +import { addTestFunction, getTestFunction, GetTestFunctionRequest, + AddOrUpdateTestFunctionRequest, updateTestFunction, getEvalsets, GetEvalsetsRequest } from "@wso2/ballerina-core"; import { Messenger } from "vscode-messenger"; import { TestServiceManagerRpcManager } from "./rpc-manager"; @@ -25,5 +25,6 @@ export function registerTestManagerRpcHandlers(messenger: Messenger) { messenger.onRequest(getTestFunction, (args: GetTestFunctionRequest) => rpcManger.getTestFunction(args)); messenger.onRequest(addTestFunction, (args: AddOrUpdateTestFunctionRequest) => rpcManger.addTestFunction(args)); messenger.onRequest(updateTestFunction, (args: AddOrUpdateTestFunctionRequest) => rpcManger.updateTestFunction(args)); + messenger.onRequest(getEvalsets, (args: GetEvalsetsRequest) => rpcManger.getEvalsets(args)); } diff --git a/workspaces/ballerina/ballerina-extension/src/rpc-managers/test-manager/rpc-manager.ts b/workspaces/ballerina/ballerina-extension/src/rpc-managers/test-manager/rpc-manager.ts index 40bf18f8eb5..416b216b8bc 100644 --- a/workspaces/ballerina/ballerina-extension/src/rpc-managers/test-manager/rpc-manager.ts +++ b/workspaces/ballerina/ballerina-extension/src/rpc-managers/test-manager/rpc-manager.ts @@ -24,12 +24,17 @@ import { SyntaxTree, TestManagerServiceAPI, TestSourceEditResponse, + GetEvalsetsRequest, + GetEvalsetsResponse, + EvalsetItem, } from "@wso2/ballerina-core"; import { ModulePart, NodePosition, STKindChecker } from "@wso2/syntax-tree"; import * as fs from 'fs'; import { existsSync, writeFileSync } from "fs"; import { StateMachine } from "../../stateMachine"; import { updateSourceCode } from "../../utils/source-utils"; +import * as vscode from 'vscode'; +import * as path from 'path'; export class TestServiceManagerRpcManager implements TestManagerServiceAPI { @@ -85,4 +90,50 @@ export class TestServiceManagerRpcManager implements TestManagerServiceAPI { } }); } + + async getEvalsets(params: GetEvalsetsRequest): Promise { + return new Promise(async (resolve) => { + try { + const pattern = params.projectPath + ? new vscode.RelativePattern(vscode.Uri.file(params.projectPath), '**/evalsets/**/*.evalset.json') + : '**/evalsets/**/*.evalset.json'; + const evalsetFiles = await vscode.workspace.findFiles(pattern); + const evalsets: EvalsetItem[] = []; + + for (const uri of evalsetFiles) { + try { + const content = await fs.promises.readFile(uri.fsPath, 'utf-8'); + const evalsetData = JSON.parse(content); + + // Validate the evalset structure + if (!evalsetData.threads || !Array.isArray(evalsetData.threads)) { + continue; + } + + const threadCount = evalsetData.threads.length; + const name = evalsetData.name || path.basename(uri.fsPath, '.evalset.json'); + const description = evalsetData.description || ''; + const filePath = params.projectPath + ? path.relative(params.projectPath, uri.fsPath) + : uri.fsPath; + + evalsets.push({ + id: evalsetData.id || uri.fsPath, + name: name, + filePath: filePath, + threadCount: threadCount, + description: description + }); + } catch (error) { + console.error(`Failed to parse evalset file ${uri.fsPath}:`, error); + } + } + + resolve({ evalsets }); + } catch (error) { + console.error('Failed to get evalsets:', error); + resolve({ evalsets: [] }); + } + }); + } } diff --git a/workspaces/ballerina/ballerina-extension/src/rpc-managers/visualizer/rpc-handler.ts b/workspaces/ballerina/ballerina-extension/src/rpc-managers/visualizer/rpc-handler.ts index 32b05613080..447ddcb2d94 100644 --- a/workspaces/ballerina/ballerina-extension/src/rpc-managers/visualizer/rpc-handler.ts +++ b/workspaces/ballerina/ballerina-extension/src/rpc-managers/visualizer/rpc-handler.ts @@ -26,13 +26,19 @@ import { goBack, goHome, goSelected, + handleApprovalPopupClose, + HandleApprovalPopupCloseRequest, HistoryEntry, joinProjectPath, JoinProjectPathRequest, openView, OpenViewRequest, redo, + reopenApprovalView, + ReopenApprovalViewRequest, resetUndoRedoStack, + saveEvalThread, + SaveEvalThreadRequest, undo, undoRedoState, updateCurrentArtifactLocation, @@ -59,4 +65,7 @@ export function registerVisualizerRpcHandlers(messenger: Messenger) { messenger.onRequest(getThemeKind, () => rpcManger.getThemeKind()); messenger.onRequest(updateCurrentArtifactLocation, (args: UpdatedArtifactsResponse) => rpcManger.updateCurrentArtifactLocation(args)); messenger.onNotification(reviewAccepted, () => rpcManger.reviewAccepted()); + messenger.onNotification(handleApprovalPopupClose, (args: HandleApprovalPopupCloseRequest) => rpcManger.handleApprovalPopupClose(args)); + messenger.onNotification(reopenApprovalView, (args: ReopenApprovalViewRequest) => rpcManger.reopenApprovalView(args)); + messenger.onRequest(saveEvalThread, (args: SaveEvalThreadRequest) => rpcManger.saveEvalThread(args)); } diff --git a/workspaces/ballerina/ballerina-extension/src/rpc-managers/visualizer/rpc-manager.ts b/workspaces/ballerina/ballerina-extension/src/rpc-managers/visualizer/rpc-manager.ts index 7a271dee1c2..495a374a100 100644 --- a/workspaces/ballerina/ballerina-extension/src/rpc-managers/visualizer/rpc-manager.ts +++ b/workspaces/ballerina/ballerina-extension/src/rpc-managers/visualizer/rpc-manager.ts @@ -19,6 +19,7 @@ import { AddToUndoStackRequest, ColorThemeKind, EVENT_TYPE, + HandleApprovalPopupCloseRequest, HistoryEntry, JoinProjectPathRequest, JoinProjectPathResponse, @@ -26,6 +27,9 @@ import { OpenViewRequest, PopupVisualizerLocation, ProjectStructureArtifactResponse, + ReopenApprovalViewRequest, + SaveEvalThreadRequest, + SaveEvalThreadResponse, SHARED_COMMANDS, undo, UndoRedoStateResponse, @@ -34,9 +38,11 @@ import { VisualizerLocation } from "@wso2/ballerina-core"; import fs from "fs"; +import path from "path"; import { commands, Range, Uri, window, workspace, WorkspaceEdit } from "vscode"; import { URI, Utils } from "vscode-uri"; import { notifyCurrentWebview } from "../../RPCLayer"; +import { approvalViewManager } from "../../features/ai/state/ApprovalViewManager"; import { history, openView, StateMachine, undoRedoManager, updateView } from "../../stateMachine"; import { openPopupView } from "../../stateMachinePopup"; import { ArtifactNotificationHandler, ArtifactsUpdated } from "../../utils/project-artifacts-handler"; @@ -303,4 +309,78 @@ export class VisualizerRpcManager implements VisualizerAPI { } ); } + + handleApprovalPopupClose(params: HandleApprovalPopupCloseRequest): void { + approvalViewManager.handlePopupClosed(params.requestId); + } + + reopenApprovalView(params: ReopenApprovalViewRequest): void { + approvalViewManager.reopenApprovalViewPopup(params.requestId); + } + + async saveEvalThread(params: SaveEvalThreadRequest): Promise { + try { + const { filePath, updatedEvalSet } = params; + + // Validate and canonicalize the file path to prevent path traversal attacks + const normalizedPath = path.normalize(filePath); + const resolvedPath = path.resolve(normalizedPath); + + // Get workspace folders to validate the path is within an allowed workspace + const workspaceFolders = workspace.workspaceFolders; + if (!workspaceFolders || workspaceFolders.length === 0) { + const errorMsg = 'No workspace folder is open'; + console.error('saveEvalThread error:', errorMsg); + window.showErrorMessage(`Failed to save evalset: ${errorMsg}`); + return { success: false, error: errorMsg }; + } + + // Check if the resolved path starts with any of the workspace roots + const isPathInWorkspace = workspaceFolders.some(folder => { + const workspaceRoot = folder.uri.fsPath; + const resolvedWorkspaceRoot = path.resolve(workspaceRoot); + return resolvedPath.startsWith(resolvedWorkspaceRoot + path.sep) || + resolvedPath === resolvedWorkspaceRoot; + }); + + if (!isPathInWorkspace) { + const errorMsg = `Path is outside workspace: ${resolvedPath}`; + console.error('saveEvalThread error:', errorMsg); + window.showErrorMessage(`Failed to save evalset: Path must be within workspace`); + return { success: false, error: errorMsg }; + } + + // Write the updated evalset back to the file using the validated path + await fs.promises.writeFile( + resolvedPath, + JSON.stringify(updatedEvalSet, null, 2), + 'utf-8' + ); + + // Read back the file to get fresh data + const savedContent = await fs.promises.readFile(resolvedPath, 'utf-8'); + const savedEvalSet = JSON.parse(savedContent); + + // Get the current threadId from context + const currentContext = StateMachine.context(); + const threadId = currentContext.evalsetData?.threadId; + + // Reload the view with fresh data from disk using the validated path + openView(EVENT_TYPE.OPEN_VIEW, { + view: MACHINE_VIEW.EvalsetViewer, + evalsetData: { + filePath: resolvedPath, + content: savedEvalSet, + threadId + } + }); + + window.showInformationMessage('Evalset saved successfully'); + return { success: true }; + } catch (error) { + console.error('Error saving evalset:', error); + window.showErrorMessage(`Failed to save evalset: ${error}`); + return { success: false, error: String(error) }; + } + } } diff --git a/workspaces/ballerina/ballerina-extension/src/stateMachine.ts b/workspaces/ballerina/ballerina-extension/src/stateMachine.ts index 87e89eef813..a64366f3815 100644 --- a/workspaces/ballerina/ballerina-extension/src/stateMachine.ts +++ b/workspaces/ballerina/ballerina-extension/src/stateMachine.ts @@ -310,11 +310,13 @@ const stateMachine = createMachine( type: (context, event) => event.viewLocation?.type, isGraphql: (context, event) => event.viewLocation?.isGraphql, metadata: (context, event) => event.viewLocation?.metadata, + agentMetadata: (context, event) => event.viewLocation?.agentMetadata, addType: (context, event) => event.viewLocation?.addType, dataMapperMetadata: (context, event) => event.viewLocation?.dataMapperMetadata, artifactInfo: (context, event) => event.viewLocation?.artifactInfo, rootDiagramId: (context, event) => event.viewLocation?.rootDiagramId, reviewData: (context, event) => event.viewLocation?.reviewData, + evalsetData: (context, event) => event.viewLocation?.evalsetData, isViewUpdateTransition: false }), (context, event) => notifyTreeView( @@ -375,8 +377,10 @@ const stateMachine = createMachine( position: (context, event) => event.data.position, syntaxTree: (context, event) => event.data.syntaxTree, focusFlowDiagramView: (context, event) => event.data.focusFlowDiagramView, + agentMetadata: (context, event) => event.data.agentMetadata, dataMapperMetadata: (context, event) => event.data.dataMapperMetadata, reviewData: (context, event) => event.data.reviewData, + evalsetData: (context, event) => event.data.evalsetData, isViewUpdateTransition: false }) } @@ -399,11 +403,13 @@ const stateMachine = createMachine( type: (context, event) => event.viewLocation?.type, isGraphql: (context, event) => event.viewLocation?.isGraphql, metadata: (context, event) => event.viewLocation?.metadata, + agentMetadata: (context, event) => event.viewLocation?.agentMetadata, addType: (context, event) => event.viewLocation?.addType, dataMapperMetadata: (context, event) => event.viewLocation?.dataMapperMetadata, artifactInfo: (context, event) => event.viewLocation?.artifactInfo, rootDiagramId: (context, event) => event.viewLocation?.rootDiagramId, reviewData: (context, event) => event.viewLocation?.reviewData, + evalsetData: (context, event) => event.viewLocation?.evalsetData, isViewUpdateTransition: false }), (context, event) => notifyTreeView( @@ -424,10 +430,16 @@ const stateMachine = createMachine( identifier: (context, event) => event.viewLocation.identifier, serviceType: (context, event) => event.viewLocation.serviceType, type: (context, event) => event.viewLocation?.type, + agentMetadata: (context, event) => event.viewLocation?.agentMetadata, isGraphql: (context, event) => event.viewLocation?.isGraphql, addType: (context, event) => event.viewLocation?.addType, dataMapperMetadata: (context, event) => event.viewLocation?.dataMapperMetadata, reviewData: (context, event) => event.viewLocation?.reviewData, + evalsetData: (context, event) => event.viewLocation?.evalsetData, + metadata: (context, event) => event.viewLocation?.metadata ? { + ...context.metadata, + ...event.viewLocation.metadata + } : context.metadata, isViewUpdateTransition: true }), (context, event) => notifyTreeView( @@ -652,8 +664,10 @@ const stateMachine = createMachine( type: context?.type, isGraphql: context?.isGraphql, addType: context?.addType, + agentMetadata: context?.agentMetadata, dataMapperMetadata: context?.dataMapperMetadata, - reviewData: context?.reviewData + reviewData: context?.reviewData, + evalsetData: context?.evalsetData } }); return resolve(); diff --git a/workspaces/ballerina/ballerina-extension/src/stateMachinePopup.ts b/workspaces/ballerina/ballerina-extension/src/stateMachinePopup.ts index b0506e90673..0764575e099 100644 --- a/workspaces/ballerina/ballerina-extension/src/stateMachinePopup.ts +++ b/workspaces/ballerina/ballerina-extension/src/stateMachinePopup.ts @@ -66,6 +66,7 @@ const stateMachinePopup = createMachine({ identifier: (context, event) => event.viewLocation.identifier, documentUri: (context, event) => event.viewLocation.documentUri, metadata: (context, event) => event.viewLocation.metadata, + agentMetadata: (context, event) => event.viewLocation?.agentMetadata, dataMapperMetadata: (context, event) => event.viewLocation?.dataMapperMetadata }) }, @@ -85,6 +86,7 @@ const stateMachinePopup = createMachine({ identifier: (context, event) => event.viewLocation.identifier, documentUri: (context, event) => event.viewLocation.documentUri, metadata: (context, event) => event.viewLocation.metadata, + agentMetadata: (context, event) => event.viewLocation?.agentMetadata, dataMapperMetadata: (context, event) => event.viewLocation?.dataMapperMetadata }) }, @@ -96,6 +98,7 @@ const stateMachinePopup = createMachine({ identifier: (context, event) => event.viewLocation.identifier, documentUri: (context, event) => event.viewLocation.documentUri, metadata: (context, event) => event.viewLocation.metadata, + agentMetadata: (context, event) => event.viewLocation?.agentMetadata, dataMapperMetadata: (context, event) => event.viewLocation?.dataMapperMetadata }) }, diff --git a/workspaces/ballerina/ballerina-extension/src/utils/ai/auth.ts b/workspaces/ballerina/ballerina-extension/src/utils/ai/auth.ts index ae521dc1807..ea36238dc98 100644 --- a/workspaces/ballerina/ballerina-extension/src/utils/ai/auth.ts +++ b/workspaces/ballerina/ballerina-extension/src/utils/ai/auth.ts @@ -102,7 +102,7 @@ vscode.authentication.onDidChangeSessions(async e => { await extension.context.secrets.delete('GITHUB_COPILOT_TOKEN'); await extension.context.secrets.delete('GITHUB_TOKEN'); } else { - //it could be a login(which we havent captured) or a logout + //it could be a login(which we havent captured) or a logout // vscode.window.showInformationMessage( // 'WSO2 Integrator: BI supports completions with GitHub Copilot.', // 'Login with GitHub Copilot' @@ -179,7 +179,7 @@ export const getAccessToken = async (): Promise => // Priority 2: Check stored credentials if (process.env.ANTHROPIC_API_KEY && process.env.ANTHROPIC_API_KEY.trim() !== "") { - resolve({loginMethod: LoginMethod.ANTHROPIC_KEY, secrets: {apiKey: process.env.ANTHROPIC_API_KEY.trim()}}); + resolve({ loginMethod: LoginMethod.ANTHROPIC_KEY, secrets: { apiKey: process.env.ANTHROPIC_API_KEY.trim() } }); return; } const credentials = await getAuthCredentials(); @@ -256,6 +256,26 @@ export const getAwsBedrockCredentials = async (): Promise<{ return credentials.secrets; }; +// ================================== +// Unique user identifier for BIIntel +// ================================== +export const getBiIntelId = async (): Promise => { + try { + const credentials = await getAuthCredentials(); + if (!credentials || credentials.loginMethod !== LoginMethod.BI_INTEL) { + return undefined; + } + + const { accessToken } = credentials.secrets; + const decoded = jwtDecode(accessToken); + return decoded.sub; + } catch (error) { + console.error('Error decoding JWT token:', error); + return undefined; + } +}; + + export const getRefreshedAccessToken = async (): Promise => { return new Promise(async (resolve, reject) => { const CommonReqHeaders = { @@ -324,7 +344,7 @@ export const exchangeStsToken = async (choreoStsToken: string): Promise { + const tomlValues = await getProjectTomlValues(projectPath); + return tomlValues?.package?.library === true; +} diff --git a/workspaces/ballerina/ballerina-extension/src/utils/project-artifacts.ts b/workspaces/ballerina/ballerina-extension/src/utils/project-artifacts.ts index b509a08303b..737f95fb1a8 100644 --- a/workspaces/ballerina/ballerina-extension/src/utils/project-artifacts.ts +++ b/workspaces/ballerina/ballerina-extension/src/utils/project-artifacts.ts @@ -21,6 +21,7 @@ import { ARTIFACT_TYPE, Artifacts, ArtifactsNotification, BaseArtifact, DIRECTOR import { StateMachine } from "../stateMachine"; import { ExtendedLangClient } from "../core/extended-language-client"; import { ArtifactsUpdated, ArtifactNotificationHandler } from "./project-artifacts-handler"; +import { isLibraryProject } from "./config"; export async function buildProjectsStructure( projectInfo: ProjectInfo, @@ -67,6 +68,9 @@ async function buildProjectArtifactsStructure( projectName: packageName, projectPath: projectPath, projectTitle: packageTitle, + // Workaround to check if the project is a library project. + // This will be removed once the projectInfo is updated to include the library flag. + isLibrary: await isLibraryProject(projectPath), directoryMap: { [DIRECTORY_MAP.AUTOMATION]: [], [DIRECTORY_MAP.SERVICE]: [], diff --git a/workspaces/ballerina/ballerina-extension/src/utils/source-utils.ts b/workspaces/ballerina/ballerina-extension/src/utils/source-utils.ts index 5150e8700b7..3fa703f099e 100644 --- a/workspaces/ballerina/ballerina-extension/src/utils/source-utils.ts +++ b/workspaces/ballerina/ballerina-extension/src/utils/source-utils.ts @@ -41,7 +41,7 @@ export interface UpdateSourceCodeRequest { skipUpdateViewOnTomlUpdate?: boolean; // This is used to skip updating the view on toml updates in certain scenarios. } -export async function updateSourceCode(updateSourceCodeRequest: UpdateSourceCodeRequest, isChangeFromHelperPane?: boolean): Promise { +export async function updateSourceCode(updateSourceCodeRequest: UpdateSourceCodeRequest, isChangeFromHelperPane?: boolean, skipFormatting?: boolean): Promise { try { let tomlFilesUpdated = false; StateMachine.setEditMode(); @@ -107,6 +107,10 @@ export async function updateSourceCode(updateSourceCodeRequest: UpdateSourceCode modificationRequests[fileUriString] = { filePath: fileUri.fsPath, modifications: modificationList }; } } + if (edits.length === 0) { + StateMachine.setReadyMode(); + return []; + } } // Iterate through modificationRequests and apply modifications @@ -154,10 +158,13 @@ export async function updateSourceCode(updateSourceCodeRequest: UpdateSourceCode undoRedoManager?.addFileToBatch(fileUri.fsPath, formattedSource.newText, formattedSource.newText); } } + undoRedoManager?.commitBatchOperation(updateSourceCodeRequest.description ? updateSourceCodeRequest.description : (updateSourceCodeRequest.artifactData ? `Change in ${updateSourceCodeRequest.artifactData?.artifactType} ${updateSourceCodeRequest.artifactData?.identifier}` : "Update Source Code")); - // Apply all formatted changes at once - await workspace.applyEdit(formattedWorkspaceEdit); + if (!skipFormatting) { //TODO: Remove the skipFormatting flag once LS APIs are updated to give already formatted text edits + // Apply all formatted changes at once + await workspace.applyEdit(formattedWorkspaceEdit); + } // Handle missing dependencies after all changes are applied if (updateSourceCodeRequest.resolveMissingDependencies) { @@ -222,7 +229,7 @@ export async function updateSourceCode(updateSourceCodeRequest: UpdateSourceCode // Notify webview unless a new TYPE artifact is created outside the type diagram view // */ function checkAndNotifyWebview( - response: ProjectStructureArtifactResponse[], + response: ProjectStructureArtifactResponse[], request: UpdateSourceCodeRequest, isChangeFromHelperPane?: boolean ) { diff --git a/workspaces/ballerina/ballerina-extension/src/utils/toml-utils.ts b/workspaces/ballerina/ballerina-extension/src/utils/toml-utils.ts new file mode 100644 index 00000000000..f5cc1d5887e --- /dev/null +++ b/workspaces/ballerina/ballerina-extension/src/utils/toml-utils.ts @@ -0,0 +1,336 @@ +// Copyright (c) 2026, WSO2 LLC. (https://www.wso2.com/) All Rights Reserved. + +// WSO2 LLC. licenses this file to you under the Apache License, +// Version 2.0 (the "License"); you may not use this file except +// in compliance with the License. +// You may obtain a copy of the License at + +// http://www.apache.org/licenses/LICENSE-2.0 + +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +import * as fs from "fs"; +import * as path from "path"; +import { parse, stringify } from "@iarna/toml"; + +export interface ConfigVariable { + name: string; + description: string; + type?: "string" | "int"; +} + +// Cache regex for performance +const PLACEHOLDER_REGEX = /^\$\{([A-Z_0-9]+)\}$/; + +/** + * Read all keys from Config.toml and return their status — filled or placeholder. + * Returns empty object if file doesn't exist. + */ +export function getAllConfigStatus( + configPath: string +): Record { + const status: Record = {}; + + if (!fs.existsSync(configPath)) { + return status; + } + + try { + const content = fs.readFileSync(configPath, "utf-8"); + const config = parse(content) as Record; + + function collectStatus(obj: any, prefix: string = "") { + for (const [key, value] of Object.entries(obj)) { + const fullKey = prefix ? `${prefix}.${key}` : key; + if (Array.isArray(value)) { + // Arrays of tables [[...]] or primitive arrays + value.forEach((item, index) => { + if (item !== null && typeof item === "object") { + collectStatus(item, `${fullKey}[${index}]`); + } else if (typeof item === "string" && PLACEHOLDER_REGEX.test(item)) { + status[`${fullKey}[${index}]`] = "missing"; + } else { + status[`${fullKey}[${index}]`] = "filled"; + } + }); + // Also mark the array key itself if empty + if (value.length === 0) { + status[fullKey] = "filled"; + } + } else if (value !== null && typeof value === "object") { + collectStatus(value, fullKey); + } else if (typeof value === "string" && PLACEHOLDER_REGEX.test(value)) { + status[fullKey] = "missing"; + } else { + status[fullKey] = "filled"; + } + } + } + + collectStatus(config); + } catch (error) { + console.error(`[TOML Utils] Error reading config status:`, error); + } + + return status; +} + +/** + * Create or update Config.toml with placeholder variables + */ +export function createConfigWithPlaceholders( + configPath: string, + variables: ConfigVariable[], + overwrite: boolean = false +): void { + let config: Record = {}; + + // Read existing config if exists + if (fs.existsSync(configPath)) { + try { + const content = fs.readFileSync(configPath, "utf-8"); + config = parse(content) as Record; + } catch (error) { + console.error(`[TOML Utils] Error reading existing config:`, error); + throw error; + } + } + + // Add placeholder variables (convert API_KEY to apikey) + for (const variable of variables) { + const tomlKey = toTomlKey(variable.name); + + if (!Object.prototype.hasOwnProperty.call(config, tomlKey) || overwrite) { + config[tomlKey] = `\${${variable.name}}`; + } + } + + // Write back to file + try { + const dirPath = path.dirname(configPath); + if (!fs.existsSync(dirPath)) { + fs.mkdirSync(dirPath, { recursive: true }); + } + + const tomlContent = stringify(config); + fs.writeFileSync(configPath, tomlContent, "utf-8"); + + console.log(`[TOML Utils] Created/updated Config.toml with ${variables.length} placeholder(s)`); + } catch (error) { + console.error(`[TOML Utils] Error writing config:`, error); + throw error; + } +} + +/** + * Check configuration value status - returns metadata only, never actual values + */ +export function checkConfigurationStatus( + configPath: string, + variableNames: string[] +): Record { + const status: Record = {}; + + if (!fs.existsSync(configPath)) { + for (const name of variableNames) { + status[name] = "missing"; + } + return status; + } + + try { + const content = fs.readFileSync(configPath, "utf-8"); + const config = parse(content) as Record; + + for (const name of variableNames) { + const tomlKey = toTomlKey(name); + const value = getNestedValue(config, tomlKey); + + if (value === undefined || value === null) { + status[name] = "missing"; + } else if (typeof value === "string" && value.startsWith("${")) { + status[name] = "missing"; + } else { + status[name] = "filled"; + } + } + } catch (error) { + console.error(`[TOML Utils] Error checking configuration status:`, error); + for (const name of variableNames) { + status[name] = "missing"; + } + } + + return status; +} + +/** + * Write configuration values to Config.toml - SECURITY: never logs values + */ +export function writeConfigValuesToConfig( + configPath: string, + configValues: Record, + variables?: ConfigVariable[] +): void { + let config: Record = {}; + + if (fs.existsSync(configPath)) { + try { + const content = fs.readFileSync(configPath, "utf-8"); + config = parse(content) as Record; + } catch (error) { + console.error(`[TOML Utils] Error reading config for value write:`, error); + throw error; + } + } + + // Create a map of variable types for quick lookup + const typeMap = new Map(); + if (variables) { + for (const variable of variables) { + typeMap.set(variable.name, variable.type || "string"); + } + } + + // Replace placeholders with actual values (convert API_KEY to apikey) + const intKeys = new Set(); + for (const [variableName, value] of Object.entries(configValues)) { + const tomlKey = toTomlKey(variableName); + const varType = typeMap.get(variableName) || "string"; + + // Convert value based on type + if (varType === "int") { + const intValue = parseInt(value, 10); + if (isNaN(intValue)) { + throw new Error(`Invalid integer value for ${variableName}`); + } + config[tomlKey] = intValue; + intKeys.add(tomlKey); + } else { + config[tomlKey] = value; + } + } + + try { + const dirPath = path.dirname(configPath); + if (!fs.existsSync(dirPath)) { + fs.mkdirSync(dirPath, { recursive: true }); + } + + let tomlContent = stringify(config); + + // Fix TOML integer formatting - remove underscores from integer values + // The @iarna/toml library adds underscores to large numbers for readability (e.g., 8_080) + // We need to remove them for Ballerina compatibility + for (const intKey of intKeys) { + const intValue = config[intKey]; + if (typeof intValue === 'number') { + // Replace formatted number (with underscores) with plain number + const escapedKey = intKey.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); + const formattedPattern = new RegExp(`^\\s*${escapedKey}\\s*=\\s*[0-9_]+`, 'gm'); + tomlContent = tomlContent.replace(formattedPattern, `${intKey} = ${intValue}`); + } + } + + fs.writeFileSync(configPath, tomlContent, "utf-8"); + + console.log(`[TOML Utils] Updated ${Object.keys(configValues).length} configuration value(s) in Config.toml`); + } catch (error) { + console.error(`[TOML Utils] Error writing configuration values:`, error); + throw error; + } +} + +function getNestedValue(obj: any, key: string): any { + if (key.includes(".")) { + const parts = key.split("."); + let current = obj; + for (const part of parts) { + if (current && typeof current === "object") { + current = current[part]; + } else { + return undefined; + } + } + return current; + } + return obj[key]; +} + +export function validateVariableName(name: string): boolean { + return /^[A-Z_0-9]+$/.test(name); +} + +/** + * Converts configuration variable name to TOML key format + * Example: API_KEY -> apikey, DB_HOST -> dbhost + */ +export function toTomlKey(variableName: string): string { + return variableName.toLowerCase().replace(/_/g, ""); +} + +/** + * Read existing configuration values from Config.toml + * Returns actual values (to be shown in UI for editing) + */ +export function readExistingConfigValues( + configPath: string, + variableNames: string[] +): Record { + const existingValues: Record = {}; + + if (!fs.existsSync(configPath)) { + return existingValues; + } + + try { + const content = fs.readFileSync(configPath, "utf-8"); + const config = parse(content) as Record; + + for (const name of variableNames) { + const tomlKey = toTomlKey(name); + const value = getNestedValue(config, tomlKey); + + // Include the value if it exists and is not a placeholder + if (value !== undefined && value !== null) { + if (typeof value === "string") { + // Don't include placeholder values like ${VARIABLE_NAME} + if (!value.startsWith("${")) { + existingValues[name] = value; + } + } else if (typeof value === "number") { + // Convert number to string for UI display + existingValues[name] = value.toString(); + } + } + } + } catch (error) { + console.error(`[TOML Utils] Error reading existing configuration values:`, error); + } + + return existingValues; +} + +/** + * Create status metadata from configuration values - returns only fill status, never values + */ +export function createStatusMetadata( + configValues: Record +): Record { + const status: Record = {}; + + for (const [key, value] of Object.entries(configValues)) { + if (!value || value.trim() === "" || value.startsWith("${")) { + status[key] = "missing"; + } else { + status[key] = "filled"; + } + } + + return status; +} diff --git a/workspaces/ballerina/ballerina-extension/src/views/ai-panel/webview.ts b/workspaces/ballerina/ballerina-extension/src/views/ai-panel/webview.ts index a22a7f477d1..d5cf9e0489a 100644 --- a/workspaces/ballerina/ballerina-extension/src/views/ai-panel/webview.ts +++ b/workspaces/ballerina/ballerina-extension/src/views/ai-panel/webview.ts @@ -24,6 +24,7 @@ import { RPCLayer } from '../../RPCLayer'; import { extension } from '../../BalExtensionContext'; import { AIStateMachine } from './aiMachine'; import { AIMachineEventType } from '@wso2/ballerina-core'; +import { approvalManager } from '../../features/ai/state/ApprovalManager'; export class AiPanelWebview { public static currentPanel: AiPanelWebview | undefined; @@ -126,6 +127,9 @@ export class AiPanelWebview { } public dispose() { + + approvalManager.cancelAllPending("AI Panel closed"); + AiPanelWebview.currentPanel = undefined; AIStateMachine.sendEvent(AIMachineEventType.DISPOSE); this._panel?.dispose(); diff --git a/workspaces/ballerina/ballerina-extension/src/views/visualizer/webview.ts b/workspaces/ballerina/ballerina-extension/src/views/visualizer/webview.ts index 4b13946ad73..6a70e71d062 100644 --- a/workspaces/ballerina/ballerina-extension/src/views/visualizer/webview.ts +++ b/workspaces/ballerina/ballerina-extension/src/views/visualizer/webview.ts @@ -28,6 +28,8 @@ import { LANGUAGE } from "../../core"; import { CodeData, MACHINE_VIEW } from "@wso2/ballerina-core"; import { refreshDataMapper } from "../../rpc-managers/data-mapper/utils"; import { AiPanelWebview } from "../ai-panel/webview"; +import { approvalViewManager } from "../../features/ai/state/ApprovalViewManager"; +import { StateMachinePopup } from "../../stateMachinePopup"; export class VisualizerWebview { public static currentPanel: VisualizerWebview | undefined; @@ -106,8 +108,10 @@ export class VisualizerWebview { vscode.commands.executeCommand('setContext', 'isBalVisualizerActive', this._panel?.active); // Refresh the webview when becomes active const state = StateMachine.state(); + const popupState = StateMachinePopup.state(); const machineReady = typeof state === 'object' && 'viewActive' in state && state.viewActive === "viewReady"; - if (this._panel?.active && machineReady) { + const popupActive = typeof popupState === 'object' && 'open' in popupState && popupState.open === "active"; + if (this._panel?.active && machineReady && !popupActive) { sendUpdateNotificationToWebview(true); } }); @@ -281,6 +285,8 @@ export class VisualizerWebview { } public dispose() { + approvalViewManager.onVisualizerClosed(); + VisualizerWebview.currentPanel = undefined; this._panel?.dispose(); diff --git a/workspaces/ballerina/ballerina-low-code-diagram/package.json b/workspaces/ballerina/ballerina-low-code-diagram/package.json index 89be7a03d29..14e568138e1 100644 --- a/workspaces/ballerina/ballerina-low-code-diagram/package.json +++ b/workspaces/ballerina/ballerina-low-code-diagram/package.json @@ -21,88 +21,88 @@ "storybook:setup": "node tools/setup-storybook.js" }, "dependencies": { - "@date-io/date-fns": "^3.2.1", + "@date-io/date-fns": "3.2.1", "@wso2/ballerina-core": "workspace:*", "@wso2/syntax-tree": "workspace:*", - "classnames": "^2.5.1", - "clipboard-copy": "^4.0.1", - "clsx": "^2.1.1", + "classnames": "2.5.1", + "clipboard-copy": "4.0.1", + "clsx": "2.1.1", "cron-validator": "1.3.1", - "date-fns": "^4.1.0", - "date-fns-tz": "^3.2.0", - "dexie": "^4.0.11", - "graphql": "^16.11.0", - "handlebars": "^4.7.8", - "jest": "^29.7.0", - "joi": "^17.13.3", - "lodash.camelcase": "^4.3.0", - "lodash.clonedeep": "^4.5.0", - "lodash.debounce": "^4.0.8", + "date-fns": "4.1.0", + "date-fns-tz": "3.2.0", + "dexie": "4.0.11", + "graphql": "16.11.0", + "handlebars": "4.7.8", + "jest": "29.7.0", + "joi": "17.13.3", + "lodash.camelcase": "4.3.0", + "lodash.clonedeep": "4.5.0", + "lodash.debounce": "4.0.8", "monaco-editor": "0.52.2", "react": "18.2.0", "react-dom": "18.2.0", - "react-intl": "^7.1.11", - "react-lottie": "^1.2.10", - "react-zoom-pan-pinch": "^3.7.0", - "uuid": "^11.1.0", - "vscode-languageserver-protocol": "^3.17.5" + "react-intl": "7.1.11", + "react-lottie": "1.2.10", + "react-zoom-pan-pinch": "3.7.0", + "uuid": "11.1.0", + "vscode-languageserver-protocol": "3.17.5" }, "devDependencies": { - "@babel/core": "^7.27.1", - "@babel/preset-env": "^7.27.2", - "@rollup/plugin-commonjs": "^28.0.3", - "@rollup/plugin-json": "^6.1.0", - "@rollup/plugin-node-resolve": "^16.0.1", - "@storybook/addon-actions": "^6.5.16", - "@storybook/addon-essentials": "^6.5.16", - "@storybook/addon-links": "^6.5.16", - "@storybook/builder-webpack5": "^6.5.16", - "@storybook/manager-webpack5": "^6.5.9", - "@storybook/react": "^6.5.16", - "@types/classnames": "^2.2.9", - "@types/handlebars": "^4.1.0", - "@types/lodash.camelcase": "^4.3.0", - "@types/lodash.clonedeep": "^4.5.6", - "@types/lodash.debounce": "^4.0.6", + "@babel/core": "7.27.1", + "@babel/preset-env": "7.27.2", + "@rollup/plugin-commonjs": "28.0.3", + "@rollup/plugin-json": "6.1.0", + "@rollup/plugin-node-resolve": "16.0.1", + "@storybook/addon-actions": "6.5.16", + "@storybook/addon-essentials": "6.5.16", + "@storybook/addon-links": "6.5.16", + "@storybook/builder-webpack5": "6.5.16", + "@storybook/manager-webpack5": "6.5.9", + "@storybook/react": "6.5.16", + "@types/classnames": "2.2.9", + "@types/handlebars": "4.1.0", + "@types/lodash.camelcase": "4.3.0", + "@types/lodash.clonedeep": "4.5.6", + "@types/lodash.debounce": "4.0.6", "@types/react": "18.2.0", "@types/react-dom": "18.2.0", - "@types/react-lottie": "^1.2.10", - "@types/uuid": "^10.0.0", - "@types/webpack": "^5.28.5", - "babel-loader": "^10.0.0", - "copy-webpack-plugin": "^13.0.0", - "copyfiles": "^2.4.1", - "css-loader": "^7.1.2", - "express": "^4.22.1", - "file-loader": "^6.2.0", - "fork-ts-checker-webpack-plugin": "^9.1.0", - "glob": "^11.1.0", - "react-scripts-ts": "^3.1.0", - "react-test-renderer": "^19.1.0", - "rimraf": "^6.0.1", - "rollup": "^4.41.0", - "rollup-plugin-import-css": "^3.5.8", - "rollup-plugin-peer-deps-external": "^2.2.4", - "rollup-plugin-postcss": "^4.0.2", - "rollup-plugin-scss": "^4.0.1", - "rollup-plugin-svg": "^2.0.0", - "rollup-plugin-typescript2": "^0.36.0", - "sass": "^1.89.0", - "sass-loader": "^16.0.5", - "storybook": "^8.6.14", - "style-loader": "^4.0.0", - "stylelint": "^16.19.1", - "stylelint-config-standard": "^38.0.0", - "svg-url-loader": "^8.0.0", - "ts-loader": "^9.5.2", - "tslib": "^2.8.1", - "tslint": "^6.1.3", - "tslint-react": "^5.0.0", - "tslint-react-hooks": "^2.2.2", + "@types/react-lottie": "1.2.10", + "@types/uuid": "10.0.0", + "@types/webpack": "5.28.5", + "babel-loader": "10.0.0", + "copy-webpack-plugin": "13.0.0", + "copyfiles": "2.4.1", + "css-loader": "7.1.2", + "express": "4.22.1", + "file-loader": "6.2.0", + "fork-ts-checker-webpack-plugin": "9.1.0", + "glob": "11.1.0", + "react-scripts-ts": "3.1.0", + "react-test-renderer": "19.1.0", + "rimraf": "6.0.1", + "rollup": "4.41.0", + "rollup-plugin-import-css": "3.5.8", + "rollup-plugin-peer-deps-external": "2.2.4", + "rollup-plugin-postcss": "4.0.2", + "rollup-plugin-scss": "4.0.1", + "rollup-plugin-svg": "2.0.0", + "rollup-plugin-typescript2": "0.36.0", + "sass": "1.89.0", + "sass-loader": "16.0.5", + "storybook": "8.6.14", + "style-loader": "4.0.0", + "stylelint": "16.19.1", + "stylelint-config-standard": "38.0.0", + "svg-url-loader": "8.0.0", + "ts-loader": "9.5.2", + "tslib": "2.8.1", + "tslint": "6.1.3", + "tslint-react": "5.0.0", + "tslint-react-hooks": "2.2.2", "typescript": "5.8.3", - "webpack": "^5.99.8", - "webpack-cli": "^6.0.1", - "webpack-dev-server": "^5.2.1" + "webpack": "5.104.1", + "webpack-cli": "6.0.1", + "webpack-dev-server": "5.2.3" }, "repository": { "type": "git", diff --git a/workspaces/ballerina/ballerina-rpc-client/package.json b/workspaces/ballerina/ballerina-rpc-client/package.json index 43fbe5103cf..26ac13c5c41 100644 --- a/workspaces/ballerina/ballerina-rpc-client/package.json +++ b/workspaces/ballerina/ballerina-rpc-client/package.json @@ -13,25 +13,25 @@ "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0" }, "dependencies": { - "@types/vscode-webview": "^1.57.3", + "@types/vscode-webview": "1.57.3", "@wso2/ballerina-core": "workspace:*", "@wso2/syntax-tree": "workspace:*", "monaco-editor": "0.44.0", "react": "18.2.0", "react-dom": "18.2.0", - "vscode-messenger-common": "^0.4.5", - "vscode-messenger-webview": "^0.5.1", - "vscode-languageserver-types": "^3.17.5" + "vscode-messenger-common": "0.4.5", + "vscode-messenger-webview": "0.5.1", + "vscode-languageserver-types": "3.17.5" }, "devDependencies": { "@types/react": "18.2.0", "@types/react-dom": "18.2.0", "@typescript-eslint/eslint-plugin": "8.32.1", "@typescript-eslint/parser": "8.32.1", - "copyfiles": "^2.4.1", + "copyfiles": "2.4.1", "eslint": "9.27.0", - "eslint-plugin-react-hooks": "^5.2.0", - "eslint-plugin-react-refresh": "^0.4.20", + "eslint-plugin-react-hooks": "5.2.0", + "eslint-plugin-react-refresh": "0.4.20", "typescript": "5.8.3" }, "author": "wso2", diff --git a/workspaces/ballerina/ballerina-rpc-client/src/BallerinaRpcClient.ts b/workspaces/ballerina/ballerina-rpc-client/src/BallerinaRpcClient.ts index f4cba7d1927..599835e60db 100644 --- a/workspaces/ballerina/ballerina-rpc-client/src/BallerinaRpcClient.ts +++ b/workspaces/ballerina/ballerina-rpc-client/src/BallerinaRpcClient.ts @@ -59,7 +59,9 @@ import { ProjectMigrationResult, onMigratedProject, refreshReviewMode, - onHideReviewActions + onHideReviewActions, + approvalOverlayState, + ApprovalOverlayState } from "@wso2/ballerina-core"; import { LangClientRpcClient } from "./rpc-clients/lang-client/rpc-client"; import { LibraryBrowserRpcClient } from "./rpc-clients/library-browser/rpc-client"; @@ -280,4 +282,8 @@ export class BallerinaRpcClient { onHideReviewActions(callback: () => void) { this.messenger.onNotification(onHideReviewActions, callback); } + + onApprovalOverlayState(callback: (data: ApprovalOverlayState) => void) { + this.messenger.onNotification(approvalOverlayState, callback); + } } diff --git a/workspaces/ballerina/ballerina-rpc-client/src/rpc-clients/agent-chat/rpc-client.ts b/workspaces/ballerina/ballerina-rpc-client/src/rpc-clients/agent-chat/rpc-client.ts index a188f336d61..72b02b5ff1b 100644 --- a/workspaces/ballerina/ballerina-rpc-client/src/rpc-clients/agent-chat/rpc-client.ts +++ b/workspaces/ballerina/ballerina-rpc-client/src/rpc-clients/agent-chat/rpc-client.ts @@ -25,7 +25,9 @@ import { getChatMessage, getTracingStatus, showTraceView, + showSessionOverview, TraceInput, + SessionInput, TraceStatus, ChatHistoryResponse, AgentStatusResponse, @@ -60,6 +62,10 @@ export class AgentChatRpcClient implements AgentChatAPI { return this._messenger.sendRequest(showTraceView, HOST_EXTENSION, params); } + showSessionOverview(params: SessionInput): Promise { + return this._messenger.sendRequest(showSessionOverview, HOST_EXTENSION, params); + } + getChatHistory(): Promise { return this._messenger.sendRequest(getChatHistory, HOST_EXTENSION); } diff --git a/workspaces/ballerina/ballerina-rpc-client/src/rpc-clients/ai-panel/rpc-client.ts b/workspaces/ballerina/ballerina-rpc-client/src/rpc-clients/ai-panel/rpc-client.ts index e61df942a79..8819bea3351 100644 --- a/workspaces/ballerina/ballerina-rpc-client/src/rpc-clients/ai-panel/rpc-client.ts +++ b/workspaces/ballerina/ballerina-rpc-client/src/rpc-clients/ai-panel/rpc-client.ts @@ -27,6 +27,8 @@ import { CheckpointInfo, ConnectorSpecCancelRequest, ConnectorSpecRequest, + ConfigurationCancelRequest, + ConfigurationProvideRequest, DocGenerationRequest, GenerateAgentCodeRequest, GenerateOpenAPIRequest, @@ -51,6 +53,7 @@ import { approvePlan, approveTask, cancelConnectorSpec, + cancelConfiguration, clearChat, clearInitialPrompt, createTestDirecoryIfNotExists, @@ -83,6 +86,7 @@ import { openChatWindowWithCommand, promptGithubAuthorize, provideConnectorSpec, + provideConfiguration, restoreCheckpoint, showSignInAlert, submitFeedback, @@ -247,6 +251,14 @@ export class AiPanelRpcClient implements AIPanelAPI { return this._messenger.sendRequest(cancelConnectorSpec, HOST_EXTENSION, params); } + provideConfiguration(params: ConfigurationProvideRequest): Promise { + return this._messenger.sendRequest(provideConfiguration, HOST_EXTENSION, params); + } + + cancelConfiguration(params: ConfigurationCancelRequest): Promise { + return this._messenger.sendRequest(cancelConfiguration, HOST_EXTENSION, params); + } + getChatMessages(): Promise { return this._messenger.sendRequest(getChatMessages, HOST_EXTENSION); } diff --git a/workspaces/ballerina/ballerina-rpc-client/src/rpc-clients/bi-diagram/rpc-client.ts b/workspaces/ballerina/ballerina-rpc-client/src/rpc-clients/bi-diagram/rpc-client.ts index c5e1a0d3489..1de3365b79a 100644 --- a/workspaces/ballerina/ballerina-rpc-client/src/rpc-clients/bi-diagram/rpc-client.ts +++ b/workspaces/ballerina/ballerina-rpc-client/src/rpc-clients/bi-diagram/rpc-client.ts @@ -145,6 +145,7 @@ import { formDidOpen, generateOpenApiClient, getAiSuggestions, + getAvailableAgents, getAvailableChunkers, getAvailableDataLoaders, getAvailableEmbeddingProviders, @@ -235,6 +236,10 @@ export class BiDiagramRpcClient implements BIDiagramAPI { return this._messenger.sendRequest(getAvailableNodes, HOST_EXTENSION, params); } + getAvailableAgents(params: BIAvailableNodesRequest): Promise { + return this._messenger.sendRequest(getAvailableAgents, HOST_EXTENSION, params); + } + getAvailableModelProviders(params: BIAvailableNodesRequest): Promise { return this._messenger.sendRequest(getAvailableModelProviders, HOST_EXTENSION, params); } diff --git a/workspaces/ballerina/ballerina-rpc-client/src/rpc-clients/test-manager/rpc-client.ts b/workspaces/ballerina/ballerina-rpc-client/src/rpc-clients/test-manager/rpc-client.ts index 68ef5a6f610..9c8dc050ac2 100644 --- a/workspaces/ballerina/ballerina-rpc-client/src/rpc-clients/test-manager/rpc-client.ts +++ b/workspaces/ballerina/ballerina-rpc-client/src/rpc-clients/test-manager/rpc-client.ts @@ -15,10 +15,10 @@ * specific language governing permissions and limitations * under the License. */ -import { TestManagerServiceAPI, GetTestFunctionRequest, AddOrUpdateTestFunctionRequest, - TestSourceEditResponse, GetTestFunctionResponse, - getTestFunction, addTestFunction, updateTestFunction, - SourceUpdateResponse} from "@wso2/ballerina-core"; +import { TestManagerServiceAPI, GetTestFunctionRequest, AddOrUpdateTestFunctionRequest, + TestSourceEditResponse, GetTestFunctionResponse, + getTestFunction, addTestFunction, updateTestFunction, + SourceUpdateResponse, GetEvalsetsRequest, GetEvalsetsResponse, getEvalsets} from "@wso2/ballerina-core"; import { HOST_EXTENSION } from "vscode-messenger-common"; import { Messenger } from "vscode-messenger-webview"; @@ -40,5 +40,9 @@ export class TestManagerServiceRpcClient implements TestManagerServiceAPI { updateTestFunction(params: AddOrUpdateTestFunctionRequest): Promise { return this._messenger.sendRequest(updateTestFunction, HOST_EXTENSION, params); } + + getEvalsets(params: GetEvalsetsRequest): Promise { + return this._messenger.sendRequest(getEvalsets, HOST_EXTENSION, params); + } } diff --git a/workspaces/ballerina/ballerina-rpc-client/src/rpc-clients/visualizer/rpc-client.ts b/workspaces/ballerina/ballerina-rpc-client/src/rpc-clients/visualizer/rpc-client.ts index 9e76681ec11..ae7fb14ca49 100644 --- a/workspaces/ballerina/ballerina-rpc-client/src/rpc-clients/visualizer/rpc-client.ts +++ b/workspaces/ballerina/ballerina-rpc-client/src/rpc-clients/visualizer/rpc-client.ts @@ -20,11 +20,15 @@ import { AddToUndoStackRequest, ColorThemeKind, + HandleApprovalPopupCloseRequest, HistoryEntry, JoinProjectPathRequest, JoinProjectPathResponse, OpenViewRequest, + ReopenApprovalViewRequest, ProjectStructureArtifactResponse, + SaveEvalThreadRequest, + SaveEvalThreadResponse, UndoRedoStateResponse, UpdatedArtifactsResponse, VisualizerAPI, @@ -35,10 +39,13 @@ import { goBack, goHome, goSelected, + handleApprovalPopupClose, joinProjectPath, openView, redo, + reopenApprovalView, resetUndoRedoStack, + saveEvalThread, undo, undoRedoState, updateCurrentArtifactLocation, @@ -113,4 +120,15 @@ export class VisualizerRpcClient implements VisualizerAPI { reviewAccepted(): void { return this._messenger.sendNotification(reviewAccepted, HOST_EXTENSION); } + + handleApprovalPopupClose(params: HandleApprovalPopupCloseRequest): void { + return this._messenger.sendNotification(handleApprovalPopupClose, HOST_EXTENSION, params); + } + + reopenApprovalView(params: ReopenApprovalViewRequest): void { + return this._messenger.sendNotification(reopenApprovalView, HOST_EXTENSION, params); + } + saveEvalThread(params: SaveEvalThreadRequest): Promise { + return this._messenger.sendRequest(saveEvalThread, HOST_EXTENSION, params); + } } diff --git a/workspaces/ballerina/ballerina-side-panel/package.json b/workspaces/ballerina/ballerina-side-panel/package.json index c88cd97430d..8c63a27064d 100644 --- a/workspaces/ballerina/ballerina-side-panel/package.json +++ b/workspaces/ballerina/ballerina-side-panel/package.json @@ -18,51 +18,47 @@ "author": "", "license": "ISC", "dependencies": { - "@codemirror/autocomplete": "~6.19.1", - "@codemirror/commands": "~6.10.0", - "@codemirror/language-data": "~6.5.2", - "@codemirror/lint": "~6.8.1", - "@codemirror/state": "~6.5.2", - "@codemirror/view": "~6.38.8", - "@emotion/react": "^11.14.0", - "@emotion/styled": "^11.14.0", + "@codemirror/autocomplete": "6.19.1", + "@codemirror/commands": "6.10.0", + "@codemirror/language-data": "6.5.2", + "@codemirror/lint": "6.8.1", + "@codemirror/state": "6.5.2", + "@codemirror/view": "6.38.8", + "@emotion/react": "11.14.0", + "@emotion/styled": "11.14.0", "@wso2/ballerina-core": "workspace:*", "@wso2/ballerina-rpc-client": "workspace:*", "@wso2/ui-toolkit": "workspace:*", "lodash": "4.17.23", - "markdown-it": "~14.1.0", - "prosemirror-commands": "~1.7.1", - "prosemirror-gapcursor": "~1.4.0", - "prosemirror-history": "~1.5.0", - "prosemirror-inputrules": "~1.5.1", - "prosemirror-keymap": "~1.2.2", - "prosemirror-markdown": "~1.13.2", - "prosemirror-model": "~1.25.4", - "prosemirror-schema-basic": "~1.2.2", - "prosemirror-schema-list": "~1.5.1", - "prosemirror-state": "~1.4.3", - "prosemirror-view": "~1.41.3", + "markdown-it": "14.1.1", + "prosemirror-commands": "1.7.1", + "prosemirror-gapcursor": "1.4.0", + "prosemirror-history": "1.5.0", + "prosemirror-inputrules": "1.5.1", + "prosemirror-keymap": "1.2.2", + "prosemirror-markdown": "1.13.2", + "prosemirror-model": "1.25.4", + "prosemirror-schema-basic": "1.2.2", + "prosemirror-schema-list": "1.5.1", + "prosemirror-state": "1.4.3", + "prosemirror-view": "1.41.3", "react": "18.2.0", "react-dom": "18.2.0", "react-hook-form": "7.56.4", - "react-markdown": "~10.1.0", - "rehype-raw": "^7.0.0", - "remark-gfm": "^4.0.1", - "@github/markdown-toolbar-element": "^2.2.3", - "@codemirror/commands": "~6.10.0", - "@codemirror/state": "~6.5.2", - "@codemirror/view": "~6.38.6", - "@codemirror/autocomplete": "~6.19.1", - "@codemirror/lang-sql": "~6.10.0", - "@codemirror/language": "~6.11.3", - "@lezer/highlight": "~1.2.3" + "react-markdown": "10.1.0", + "rehype-raw": "7.0.0", + "remark-gfm": "4.0.1", + "@github/markdown-toolbar-element": "2.2.3", + "@codemirror/lang-sql": "6.10.0", + "@codemirror/language": "6.11.3", + "@lezer/highlight": "1.2.3" }, "devDependencies": { - "@storybook/react": "^6.5.16", - "@types/lodash": "~4.17.16", + "@storybook/react": "6.5.16", + "@types/lodash": "4.17.16", "@types/react": "18.2.0", "@types/react-dom": "18.2.0", - "copyfiles": "^2.4.1", + "copyfiles": "2.4.1", "typescript": "5.8.3" } } diff --git a/workspaces/ballerina/ballerina-side-panel/src/components/Form/index.tsx b/workspaces/ballerina/ballerina-side-panel/src/components/Form/index.tsx index 6786d00f98c..423ee0dff25 100644 --- a/workspaces/ballerina/ballerina-side-panel/src/components/Form/index.tsx +++ b/workspaces/ballerina/ballerina-side-panel/src/components/Form/index.tsx @@ -38,18 +38,18 @@ import { Diagnostic, LineRange, NodeKind, - NodePosition, SubPanel, SubPanelView, FormDiagnostics, FlowNode, ExpressionProperty, RecordTypeField, - Type, VisualizableField, NodeProperties, VisualizerLocation, getPrimaryInputType, + MACHINE_VIEW, + EditorDisplayMode, } from "@wso2/ballerina-core"; import { FormContext, Provider } from "../../context"; import { @@ -729,9 +729,13 @@ export const Form = forwardRef((props: FormProps) => { const expressionField = formFields.find((field) => field.key === "expression"); const targetTypeField = formFields.find((field) => field.codedata?.kind === "PARAM_FOR_TYPE_INFER"); const hasParameters = hasRequiredParameters(formFields, selectedNode) || hasOptionalParameters(formFields); - const canOpenInDataMapper = selectedNode === "VARIABLE" && + + const canOpenInDataMapper = (selectedNode === "VARIABLE" && expressionField && - visualizableField?.isDataMapped; + visualizableField?.isDataMapped) || + selectedNode === "DATA_MAPPER_CREATION"; + + const canOpenInFunctionEditor = selectedNode === "FUNCTION_CREATION"; const contextValue: FormContext = { form: { @@ -905,7 +909,26 @@ export const Form = forwardRef((props: FormProps) => { if (data.expression === '' && visualizableField?.defaultValue) { data.expression = visualizableField.defaultValue; } - return handleOnSave({ ...data, openInDataMapper: true }); + return handleOnSave({ + ...data, + editorConfig: { + view: selectedNode === "VARIABLE" ? MACHINE_VIEW.InlineDataMapper : MACHINE_VIEW.DataMapper, + displayMode: EditorDisplayMode.VIEW, + }, + }); + })(); + }; + + const handleOnOpenInFunctionEditor = () => { + setSavingButton('functionEditor'); + handleSubmit((data) => { + return handleOnSave({ + ...data, + editorConfig: { + view: MACHINE_VIEW.BIDiagram, + displayMode: EditorDisplayMode.VIEW, + }, + }); })(); }; @@ -1046,44 +1069,68 @@ export const Form = forwardRef((props: FormProps) => { }); } - return renderedComponents; - })()} - {hasAdvanceFields && ( - - {optionalFieldsTitle} - - {!showAdvancedOptions && ( - - - Expand - - )} - {showAdvancedOptions && ( - - Collapsed - - )} - - - )} - {hasAdvanceFields && - showAdvancedOptions && - formFields.map((field) => { - if (field.advanced && !field.hidden) { + return renderedComponents; + })()} + {hasAdvanceFields && ( + + {optionalFieldsTitle} + + {!showAdvancedOptions && ( + + + Expand + + )} + {showAdvancedOptions && ( + + Collapse + + )} + + + )} + {hasAdvanceFields && + showAdvancedOptions && + formFields.map((field) => { + if (field.advanced && !field.hidden) { + const updatedField = updateFormFieldWithImports(field, formImports); + return ( + + handleOpenRecordEditor(open, updatedField, newType)) + } + subPanelView={subPanelView} + handleOnFieldFocus={handleOnFieldFocus} + recordTypeFields={recordTypeFields} + onIdentifierEditingStateChange={handleIdentifierEditingStateChange} + handleOnTypeChange={handleOnTypeChange} + onBlur={handleOnBlur} + /> + + ); + } + return null; + })} + {hasAdvanceFields && + showAdvancedOptions && + advancedChoiceFields.map((field) => { const updatedField = updateFormFieldWithImports(field, formImports); return ( @@ -1102,32 +1149,8 @@ export const Form = forwardRef((props: FormProps) => { /> ); - } - return null; - })} - {hasAdvanceFields && - showAdvancedOptions && - advancedChoiceFields.map((field) => { - const updatedField = updateFormFieldWithImports(field, formImports); - return ( - - handleOpenRecordEditor(open, updatedField, newType)) - } - subPanelView={subPanelView} - handleOnFieldFocus={handleOnFieldFocus} - recordTypeFields={recordTypeFields} - onIdentifierEditingStateChange={handleIdentifierEditingStateChange} - handleOnTypeChange={handleOnTypeChange} - onBlur={handleOnBlur} - /> - - ); - })} - + })} + {!preserveOrder && (variableField || typeField || targetTypeField) && ( @@ -1215,6 +1238,17 @@ export const Form = forwardRef((props: FormProps) => { ) : submitText || "Open in Data Mapper"} } + {canOpenInFunctionEditor && ( + + )} + + + + ); + } + + if (currentStage === "error" && data.error) { + return ( + +
+ + Configuration Collection Failed +
+ + {data.error.message} + Error Code: {data.error.code} + +
+ ); + } + + if (currentStage === "done") { + return ( + +
+ + {data.message} +
+
+ ); + } + + if (currentStage === "skipped") { + return ( + +
+ + {data.message} +
+
+ ); + } + + return null; +}; diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/AIPanel/styles.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/AIPanel/styles.tsx index e05cab3ce56..33a7dbe2f5b 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/views/AIPanel/styles.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/views/AIPanel/styles.tsx @@ -75,3 +75,26 @@ export const Badge = styled.div` export const ResetsInBadge = styled.div` font-size: 10px; `; + +export const ApprovalOverlay = styled.div` + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: rgba(0, 0, 0, 0.5); + display: flex; + align-items: center; + justify-content: center; + z-index: 1000; + pointer-events: all; +`; + +export const OverlayMessage = styled.div` + color: var(--vscode-foreground); + font-size: 14px; + padding: 16px 24px; + background: var(--vscode-editor-background); + border: 1px solid var(--vscode-panel-border); + border-radius: 4px; +`; diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/AgentChatPanel/Components/ChatInput.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/AgentChatPanel/Components/ChatInput.tsx index c1c31770274..59623e9fa4d 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/views/AgentChatPanel/Components/ChatInput.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/views/AgentChatPanel/Components/ChatInput.tsx @@ -20,6 +20,7 @@ import React, { useState, useRef, useEffect, forwardRef, useImperativeHandle, KeyboardEvent, useCallback } from "react"; import styled from "@emotion/styled"; +import { Icon } from "@wso2/ui-toolkit"; const Container = styled.div` width: calc(100% - 40px); @@ -246,7 +247,7 @@ const ChatInput: React.FC = ({ value = "", onSend, onStop, isLoa disabled={!inputValue.trim() && !isLoading} onClick={isLoading ? onStop : handleSend} > - + diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/AgentChatPanel/Components/ChatInterface.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/AgentChatPanel/Components/ChatInterface.tsx index fcf341e0f78..b61d2f20842 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/views/AgentChatPanel/Components/ChatInterface.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/views/AgentChatPanel/Components/ChatInterface.tsx @@ -22,9 +22,15 @@ import React, { useState, useEffect, useRef } from "react"; import styled from "@emotion/styled"; import ChatInput from "./ChatInput"; import LoadingIndicator from "./LoadingIndicator"; +import { ExecutionTimeline } from "./ExecutionTimeline"; import { useRpcContext } from "@wso2/ballerina-rpc-client"; -import { Codicon, Icon, Button, ThemeColors } from "@wso2/ui-toolkit"; +import { Icon, Button, ThemeColors } from "@wso2/ui-toolkit"; import ReactMarkdown from "react-markdown"; +import remarkMath from 'remark-math'; +import remarkGfm from 'remark-gfm'; +import rehypeKatex from 'rehype-katex'; +import 'katex/dist/katex.min.css'; +import { ExecutionStep } from "@wso2/ballerina-core"; enum ChatMessageType { MESSAGE = "message", @@ -36,6 +42,7 @@ interface ChatMessage { text: string; isUser: boolean; traceId?: string; + executionSteps?: ExecutionStep[]; } // ---------- WATER MARK ---------- @@ -70,14 +77,14 @@ const WatermarkSubTitle = styled.div` `; // ---------- CHAT AREA ---------- -const ChatWrapper = styled.div` +export const ChatWrapper = styled.div` display: flex; flex-direction: column; height: 100vh; width: 100%; `; -const ChatContainer = styled.div` +export const ChatContainer = styled.div` position: relative; display: flex; flex-direction: column; @@ -86,36 +93,49 @@ const ChatContainer = styled.div` margin: 20px 0 32px 0; `; -const Messages = styled.div` +export const Messages = styled.div` flex: 1; overflow-y: auto; - padding: 8px 0; display: flex; flex-direction: column; gap: 8px; position: relative; z-index: 1; padding: 8px 20px; + height: 100%; + + @media (min-width: 1000px) { + padding: 8px 10%; + } + + @media (min-width: 1600px) { + padding: 8px 15%; + } + + @media (min-width: 2000px) { + padding: 8px 20%; + } `; -const MessageContainer = styled.div<{ isUser: boolean }>` +export const MessageContainer = styled.div<{ isUser: boolean }>` display: flex; align-items: flex-end; justify-content: ${({ isUser }: { isUser: boolean }) => (isUser ? "flex-end" : "flex-start")}; gap: 6px; `; -const ProfilePic = styled.div` - width: 18px; - height: 18px; +export const ProfilePic = styled.div` + padding: 4px; + border: 1px solid var(--vscode-panel-border); + background-color: var(--vscode-editor-background); border-radius: 50%; object-fit: cover; `; -const MessageBubble = styled.div<{ isUser: boolean; isError?: boolean; isLoading?: boolean }>` +export const MessageBubble = styled.div<{ isUser: boolean; isError?: boolean; isLoading?: boolean }>` position: relative; - padding: ${({ isLoading }: { isLoading?: boolean }) => (isLoading ? "10px 14px" : "0 14px")}; - max-width: 55%; + padding: ${({ isLoading }: { isLoading?: boolean }) => (isLoading ? "10px 14px" : "2px 14px")}; + max-width: 100%; align-self: ${({ isUser }: { isUser: boolean }) => (isUser ? "flex-end" : "flex-start")}; overflow-wrap: break-word; word-break: break-word; @@ -127,16 +147,26 @@ const MessageBubble = styled.div<{ isUser: boolean; isError?: boolean; isLoading content: ""; position: absolute; inset: 0; - background-color: ${({ isUser }: { isUser: boolean }) => - isUser ? "var(--vscode-button-background)" : "var(--vscode-tab-inactiveBackground)"}; - opacity: ${({ isUser }: { isUser: boolean }) => (isUser ? "0.3" : "1")}; + background-color: ${({ isUser, isError }: { isUser: boolean; isError?: boolean }) => + isError ? "var(--vscode-errorForeground)" : isUser ? "var(--vscode-button-background)" : "var(--vscode-input-background)"}; + opacity: ${({ isUser, isError }: { isUser: boolean; isError?: boolean }) => (isUser ? "0.3" : isError ? "0.05" : "1")}; border-radius: inherit; + border: 1px solid ${({ isUser }: { isUser: boolean }) => + isUser ? "var(--vscode-peekView-border)" : "var(--vscode-panel-border)"}; z-index: -1; } border-radius: ${({ isUser }: { isUser: boolean }) => (isUser ? "12px 12px 0px 12px" : "12px 12px 12px 0px")}; `; +const MessageActionsContainer = styled.div` + display: flex; + align-items: center; + gap: 12px; + margin: -4px 0 0 36px; + flex-wrap: wrap; +`; + // ---------- CHAT FOOTER ---------- const ChatFooter = styled.div` position: sticky; @@ -149,9 +179,8 @@ const ShowLogsButton = styled.button` background: none; border: none; color: var(--vscode-textLink-foreground); - font-size: 11px; - padding: 0; - margin: -4px 0 8px 24px; + font-size: 12px; + padding: 4px 0; cursor: pointer; text-decoration: none; display: inline-flex; @@ -169,9 +198,11 @@ const ChatHeader = styled.div` top: 0; display: flex; justify-content: flex-end; + align-items: center; padding: 12px 8px 8px; z-index: 2; border-bottom: 1px solid var(--vscode-panel-border); + gap: 8px; `; const ClearChatButton = styled.button` @@ -280,6 +311,19 @@ const ClearChatWarningPopup: React.FC = ({ isOpen, o ); }; +// Preprocess LaTeX delimiters to convert \(...\) and \[...\] to $...$ and $$...$$ +export function preprocessLatex(text: string): string { + if (!text || typeof text !== 'string') return text; + + // Convert display math \[...\] to $$...$$ + let processed = text.replace(/\\\[(.*?)\\\]/gs, (_, math) => `$$${math}$$`); + + // Convert inline math \(...\) to $...$ + processed = processed.replace(/\\\((.*?)\\\)/gs, (_, math) => `$${math}$`); + + return processed; +} + const ChatInterface: React.FC = () => { const { rpcClient } = useRpcContext(); const [messages, setMessages] = useState([]); @@ -289,6 +333,9 @@ const ChatInterface: React.FC = () => { const messagesEndRef = useRef(null); + // Check if we have any traces (to enable/disable Session Logs button) + const hasTraces = messages.some(msg => !msg.isUser && msg.traceId); + // Load chat history and check tracing status on mount useEffect(() => { const loadChatHistory = async () => { @@ -302,7 +349,8 @@ const ChatInterface: React.FC = () => { type: msg.type === 'error' ? ChatMessageType.ERROR : ChatMessageType.MESSAGE, text: msg.text, isUser: msg.isUser, - traceId: msg.traceId + traceId: msg.traceId, + executionSteps: msg.executionSteps })); setMessages(chatMessages); } @@ -342,15 +390,46 @@ const ChatInterface: React.FC = () => { setMessages((prev) => [ ...prev, - { type: ChatMessageType.MESSAGE, text: chatResponse.message, isUser: false }, + { + type: ChatMessageType.MESSAGE, + text: chatResponse.message, + isUser: false, + traceId: chatResponse.traceId, + executionSteps: chatResponse.executionSteps + }, ]); } catch (error) { - const errorMessage = - error && typeof error === "object" && "message" in error - ? String(error.message) - : "An unknown error occurred"; + let errorMessage = "An unknown error occurred"; + let traceId: string | undefined; + let executionSteps: ExecutionStep[] | undefined; + + // Try to parse structured error with trace information + if (error && typeof error === "object" && "message" in error) { + try { + const parsedError = JSON.parse(String(error.message)); + if (parsedError.message && parsedError.traceInfo) { + errorMessage = parsedError.message; + traceId = parsedError.traceInfo.traceId; + executionSteps = parsedError.traceInfo.executionSteps; + } else { + // Fallback to regular error message + errorMessage = String(error.message); + } + } catch (parseError) { + // If JSON parsing fails, use the original error message + errorMessage = String(error.message); + } + } + + console.error("Chat message error:", error); - setMessages((prev) => [...prev, { type: ChatMessageType.ERROR, text: errorMessage, isUser: false }]); + setMessages((prev) => [...prev, { + type: ChatMessageType.ERROR, + text: errorMessage, + isUser: false, + traceId, + executionSteps + }]); } finally { setIsLoading(false); } @@ -363,24 +442,17 @@ const ChatInterface: React.FC = () => { const handleShowLogs = async (messageIndex: number) => { try { - // Find the corresponding user message - // Look backwards from the current index to find the last user message - let userMessage = ''; - - for (let i = messageIndex - 1; i >= 0; i--) { - if (messages[i].isUser) { - userMessage = messages[i].text; - break; - } - } + // Get the trace ID from the agent's response message + const message = messages[messageIndex]; - if (!userMessage) { - console.error('Could not find user message for this response'); + if (!message || message.isUser || !message.traceId) { + console.error('No trace ID found for this message'); return; } - // Call the RPC method to show the trace view - await rpcClient.getAgentChatRpcClient().showTraceView({ message: userMessage }); + await rpcClient.getAgentChatRpcClient().showTraceView({ + traceId: message.traceId + }); } catch (error) { console.error('Failed to show trace view:', error); } @@ -409,12 +481,39 @@ const ChatInterface: React.FC = () => { setShowClearWarning(false); }; + const handleViewInTrace = async (traceId: string, spanId: string) => { + try { + await rpcClient.getAgentChatRpcClient().showTraceView({ + traceId, + focusSpanId: spanId + }); + } catch (error) { + console.error('Failed to show trace view:', error); + } + }; + + const handleShowSessionLogs = async () => { + try { + await rpcClient.getAgentChatRpcClient().showSessionOverview({}); + } catch (error) { + console.error('Failed to show session overview:', error); + } + }; + return ( {messages.length > 0 && ( +
+ {isTracingEnabled && hasTraces && ( + + + Session Logs + + )} +
- + Clear Chat
@@ -434,6 +533,13 @@ const ChatInterface: React.FC = () => { {/* Render each message */} {messages.map((msg, idx) => ( + {!msg.isUser && isTracingEnabled && msg?.executionSteps && msg.executionSteps.length > 0 && msg.traceId && ( + + )} {!msg.isUser && ( @@ -442,19 +548,24 @@ const ChatInterface: React.FC = () => { sx={{ width: 18, height: 18 }} iconSx={{ fontSize: "18px", - color: "var(--vscode-foreground)", + color: "var(--vscode-terminal-ansiBrightCyan)", cursor: "default", }} /> )} - {msg.text} + + {preprocessLatex(msg.text)} + {msg.isUser && ( - { )} - {/* Show "Show logs" button after agent responses (not user messages) */} - {!msg.isUser && isTracingEnabled && ( - handleShowLogs(idx)}> - Show logs - + {!msg.isUser && isTracingEnabled && msg.traceId && ( + + handleShowLogs(idx)} title="View trace logs for this message"> + View Logs + + )} ))} diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/AgentChatPanel/Components/ExecutionTimeline.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/AgentChatPanel/Components/ExecutionTimeline.tsx new file mode 100644 index 00000000000..6897432fa53 --- /dev/null +++ b/workspaces/ballerina/ballerina-visualizer/src/views/AgentChatPanel/Components/ExecutionTimeline.tsx @@ -0,0 +1,257 @@ +/** + * Copyright (c) 2026, WSO2 LLC. (https://www.wso2.com) All Rights Reserved. + * + * WSO2 LLC. licenses this file to you under the Apache License, + * Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import { useState } from "react"; +import styled from "@emotion/styled"; +import { Codicon, Icon } from "@wso2/ui-toolkit"; +import { ExecutionStep } from "@wso2/ballerina-core"; + +interface ExecutionTimelineProps { + steps: ExecutionStep[]; + traceId: string; + onViewInTrace: (traceId: string, spanId: string) => void; +} + +const TimelineContainer = styled.div` + max-width: 600px; + margin: 12px 0 0 36px; +`; + +const TimelineTitle = styled.div` + font-size: 11px; + color: var(--vscode-descriptionForeground); + letter-spacing: 0.5px; +`; + +const TimelineHeader = styled.button` + display: flex; + align-items: center; + gap: 2px; + background: transparent; + border: none; + padding: 0; + cursor: pointer; +`; + +const ToggleIcon = styled.span<{ isOpen: boolean }>` + color: var(--vscode-descriptionForeground); + display: inline-flex; + align-items: center; + justify-content: center; + transition: transform 0.15s ease; + transform: ${(props: { isOpen: boolean }) => (props.isOpen ? "rotate(90deg)" : "rotate(0deg)")}; +`; + +const TimelineList = styled.div` + margin-top: 8px; + margin-bottom: 4px; + display: flex; + flex-direction: column; + gap: 0; +`; + +const TimelineItem = styled.div` + display: flex; + align-items: flex-start; + position: relative; + margin-bottom: 8px; + + &:last-of-type { + margin-bottom: 0; + } +`; + +const ConnectorColumn = styled.div<{ isLast: boolean }>` + width: 20px; + display: flex; + flex-direction: column; + align-items: center; + position: relative; + flex-shrink: 0; + padding-top: 4px; + + &::after { + content: ''; + position: absolute; + top: 14px; + left: 50%; + transform: translateX(-50%); + width: 1px; + height: calc(100% + 8px); + background-color: var(--vscode-panel-border); + display: ${(props: { isLast: boolean }) => props.isLast ? 'none' : 'block'}; + } +`; + +const Dot = styled.div<{ operationType: string }>` + width: 8px; + height: 8px; + border-radius: 50%; + background-color: var(--vscode-panel-border); + z-index: 1; + flex-shrink: 0; +`; + +const ContentCard = styled.div` + width: 60%; + background: var(--vscode-input-background); + border: 1px solid var(--vscode-panel-border); + border-radius: 4px; + padding: 8px 12px; + cursor: pointer; + transition: background-color 0.15s ease; + + &:hover { + background: var(--vscode-list-hoverBackground); + } +`; + +const CardContent = styled.div` + display: flex; + align-items: center; + gap: 8px; +`; + +const IconBadge = styled.div<{ operationType: string }>` + display: flex; + align-items: center; + justify-content: center; + color: ${(props: { operationType: string; }) => { + switch (props.operationType) { + case 'invoke': return 'var(--vscode-terminal-ansiCyan)'; + case 'chat': return 'var(--vscode-terminalSymbolIcon-optionForeground)'; + case 'tool': return 'var(--vscode-terminal-ansiBrightMagenta)'; + default: return 'var(--vscode-badge-foreground)'; + } + }}; + flex-shrink: 0; +`; + +const OperationLabel = styled.span<{ operationType: string }>` + font-size: 10px; + font-weight: 600; + flex-shrink: 0; +`; + +const SpanName = styled.span` + font-size: 12px; + color: var(--vscode-foreground); + flex: 1; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +`; + +const Duration = styled.span` + font-size: 11px; + color: var(--vscode-descriptionForeground); + flex-shrink: 0; + margin-left: auto; +`; + +export function ExecutionTimeline({ steps, traceId, onViewInTrace }: ExecutionTimelineProps) { + const [open, setOpen] = useState(false); + + // Filter out steps with invoke operation type + const filteredSteps = steps.filter(step => step.operationType !== 'invoke'); + + if (!filteredSteps || filteredSteps.length === 0) { + return null; + } + + const getIconName = (operationType: string) => { + switch (operationType) { + case 'invoke': return 'bi-ai-agent'; + case 'chat': return 'bi-chat'; + case 'tool': return 'bi-wrench'; + default: return 'bi-action'; + } + }; + + const getOperationLabel = (operationType: string) => { + switch (operationType) { + case 'invoke': return 'Invoke Agent'; + case 'chat': return 'Chat'; + case 'tool': return 'Execute Tool'; + default: return 'Other'; + } + }; + + const formatDuration = (ms: number) => { + if (ms < 1000) { + return `${Math.round(ms)}ms`; + } + return `${(ms / 1000).toFixed(2)}s`; + }; + + return ( + + setOpen(!open)} aria-expanded={open}> + Execution Steps ({filteredSteps.length}) + + + + + {open && ( + + {filteredSteps.map((step, index) => ( + + + + + onViewInTrace(traceId, step.spanId)} + title={step.fullName} + > + +
+ + + + + {getOperationLabel(step.operationType)} + +
+ {step.name} + {formatDuration(step.duration)} + +
+
+
+ ))} +
+ )} +
+ ); +} diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/BI/AIChatAgent/AIChatAgentWizard.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/BI/AIChatAgent/AIChatAgentWizard.tsx index 7bbe79a53d7..90c317b83c1 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/views/BI/AIChatAgent/AIChatAgentWizard.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/views/BI/AIChatAgent/AIChatAgentWizard.tsx @@ -180,58 +180,35 @@ export function AIChatAgentWizard(props: AIChatAgentWizardProps) { console.warn("Unable to resolve Ballerina version; falling back to legacy agent generation.", error); } - // Execute for versions under 2201.13.0, or if version cannot be determined (safety fallback) - const executeForLegacyVersion = !ballerinaVersion || (() => { - const parts = ballerinaVersion.split('.'); - if (parts.length < 2) { - return true; // Can't parse properly, execute for safety - } - const majorVersion = parseInt(parts[0], 10); - const minorVersion = parseInt(parts[1], 10); - if (isNaN(majorVersion) || isNaN(minorVersion)) { - return true; // Can't parse version numbers, execute for safety - } - // Only versions < 2201.13 are legacy - if (majorVersion < 2201) { - return true; - } - if (majorVersion > 2201) { - return false; - } - return minorVersion < 13; - })(); - - if (executeForLegacyVersion) { - // Search for agent node in the current file - const agentSearchResponse = await rpcClient.getBIDiagramRpcClient().search({ - filePath: projectPath.current, - queryMap: { orgName: aiModuleOrg.current }, - searchKind: "AGENT" - }); + // Search for agent node in the current file + const agentSearchResponse = await rpcClient.getBIDiagramRpcClient().search({ + filePath: projectPath.current, + queryMap: { orgName: aiModuleOrg.current }, + searchKind: "AGENT" + }); - // Validate search response structure - if (!agentSearchResponse?.categories?.[0]?.items?.[0]) { - throw new Error('No agent node found in search response'); - } + // Validate search response structure + if (!agentSearchResponse?.categories?.[0]?.items?.[0]) { + throw new Error('No agent node found in search response'); + } - const agentNode = agentSearchResponse.categories[0].items[0] as AvailableNode; - console.log(">>> agentNode", agentNode); + const agentNode = agentSearchResponse.categories[0].items[0] as AvailableNode; + console.log(">>> agentNode", agentNode); - // Generate template from agent node - const agentNodeTemplate = await getNodeTemplate(rpcClient, agentNode.codedata, projectPath.current); + // Generate template from agent node + const agentNodeTemplate = await getNodeTemplate(rpcClient, agentNode.codedata, projectPath.current); - // save the agent node - const systemPromptValue = `{role: string \`\`, instructions: string \`\`}`; - const agentVarName = `${agentName}Agent`; - agentNodeTemplate.properties.systemPrompt.value = systemPromptValue; - agentNodeTemplate.properties.model.value = modelVarName; - agentNodeTemplate.properties.tools.value = []; - agentNodeTemplate.properties.variable.value = agentVarName; + // save the agent node + const systemPromptValue = `{role: string \`\`, instructions: string \`\`}`; + const agentVarName = `${agentName}Agent`; + agentNodeTemplate.properties.systemPrompt.value = systemPromptValue; + agentNodeTemplate.properties.model.value = modelVarName; + agentNodeTemplate.properties.tools.value = []; + agentNodeTemplate.properties.variable.value = agentVarName; - await rpcClient - .getBIDiagramRpcClient() - .getSourceCode({ filePath: projectPath.current, flowNode: agentNodeTemplate }); - } + await rpcClient + .getBIDiagramRpcClient() + .getSourceCode({ filePath: projectPath.current, flowNode: agentNodeTemplate }); setCurrentStep(3); diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/BI/AIEvaluationForm/CardSelector.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/BI/AIEvaluationForm/CardSelector.tsx new file mode 100644 index 00000000000..c2567a12bb1 --- /dev/null +++ b/workspaces/ballerina/ballerina-visualizer/src/views/BI/AIEvaluationForm/CardSelector.tsx @@ -0,0 +1,158 @@ +/** + * Copyright (c) 2026, WSO2 LLC. (https://www.wso2.com) All Rights Reserved. + * + * WSO2 LLC. licenses this file to you under the Apache License, + * Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import styled from "@emotion/styled"; +import { ReactNode } from "react"; + +interface CardOption { + value: string; + title: string; + description: string; + icon: ReactNode; +} + +interface CardSelectorProps { + options: CardOption[]; + value: string; + onChange: (value: string) => void; + title?: string; +} + +const Container = styled.div` + display: flex; + flex-direction: column; + gap: 8px; + margin-top: 4px; +`; + +const Title = styled.label` + font-size: 13px; + color: var(--vscode-foreground); + margin: 0; + margin-bottom: 4px; +`; + +const CardsContainer = styled.div` + display: grid; + grid-template-columns: repeat(2, 1fr); + gap: 16px; +`; + +const Card = styled.div<{ selected: boolean }>` + position: relative; + display: flex; + flex-direction: column; + gap: 12px; + padding: 20px; + border: 1px solid ${(props: { selected: boolean; }) => props.selected ? 'var(--vscode-button-background)' : 'var(--vscode-panel-border)'}; + border-radius: 8px; + background-color: ${(props: { selected: boolean; }) => props.selected ? 'color-mix(in srgb, var(--vscode-button-background) 5%, transparent)' : 'transparent'}; + cursor: pointer; + transition: all 0.2s ease; + + &:hover { + border-color: var(--vscode-button-background); + background-color: ${(props: { selected: boolean; }) => props.selected ? 'color-mix(in srgb, var(--vscode-button-background) 7%, transparent)' : 'var(--vscode-list-hoverBackground)'}; + } + + &:focus-within { + outline: 1px solid var(--vscode-contrastActiveBorder); + outline-offset: 2px; + } +`; + +const CardHeader = styled.div` + display: flex; + align-items: center; + justify-content: space-between; +`; + +const IconTitleWrapper = styled.div` + display: flex; + align-items: center; + gap: 12px; +`; + +const IconWrapper = styled.div<{ selected: boolean }>` + display: flex; + align-items: center; + justify-content: center; + padding: 8px; + border-radius: 8px; + background-color: ${(props: { selected: boolean; }) => props.selected ? 'var(--vscode-button-background)' : 'var(--vscode-editorWidget-background)'}; + color: ${(props: { selected: boolean; }) => props.selected ? 'var(--vscode-button-foreground)' : 'var(--vscode-description-foreground)'}; + flex-shrink: 0; +`; + +const CardTitle = styled.h4` + font-size: 13px; + font-weight: 600; + color: var(--vscode-foreground); + margin: 0; +`; + +const RadioButton = styled.input` + width: 16px; + height: 16px; + cursor: pointer; + accent-color: var(--vscode-contrastActiveBorder, #1976d2); +`; + +const Description = styled.p` + font-size: 13px; + color: var(--vscode-descriptionForeground); + margin: 0; +`; + +export function CardSelector({ options, value, onChange, title }: CardSelectorProps) { + return ( + + {title && {title}} + + {options.map((option) => { + const isSelected = value === option.value; + return ( + onChange(option.value)} + > + + + + {option.icon} + + {option.title} + + onChange(option.value)} + onClick={(e) => e.stopPropagation()} + /> + + {option.description} + + ); + })} + + + ); +} diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/BI/AIEvaluationForm/index.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/BI/AIEvaluationForm/index.tsx new file mode 100644 index 00000000000..e63665ba2c3 --- /dev/null +++ b/workspaces/ballerina/ballerina-visualizer/src/views/BI/AIEvaluationForm/index.tsx @@ -0,0 +1,843 @@ +/** + * Copyright (c) 2026, WSO2 LLC. (https://www.wso2.com) All Rights Reserved. + * + * WSO2 LLC. licenses this file to you under the Apache License, + * Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import { useEffect, useState } from "react"; +import { Icon, View, ViewContent } from "@wso2/ui-toolkit"; +import styled from "@emotion/styled"; +import { useRpcContext } from "@wso2/ballerina-rpc-client"; +import { FormField, FormImports, FormValues, Parameter } from "@wso2/ballerina-side-panel"; +import { LineRange, FunctionParameter, TestFunction, ValueProperty, Annotation, getPrimaryInputType, EvalsetItem } from "@wso2/ballerina-core"; +import { EVENT_TYPE } from "@wso2/ballerina-core"; +import { TitleBar } from "../../../components/TitleBar"; +import { TopNavigationBar } from "../../../components/TopNavigationBar"; +import { FormHeader } from "../../../components/FormHeader"; +import FormGeneratorNew from "../Forms/FormGeneratorNew"; +import { getImportsForProperty } from "../../../utils/bi"; +import { CardSelector } from "./CardSelector"; + +const FormContainer = styled.div` + display: flex; + flex-direction: column; + max-width: 600px; + margin-bottom: 20px; + + .side-panel-body { + overflow: visible; + overflow-y: hidden; + } + + .radio-button-group { + margin-top: 8px; + margin-bottom: -12px; + } + + .dropdown-container { + margin-top: 12px; + } +`; + +const Container = styled.div` + display: "flex"; + flex-direction: "column"; + gap: 10px; +`; + +const FullHeightView = styled(View)` + display: flex; + flex-direction: column; + height: 100vh; +`; + +const FullHeightViewContent = styled(ViewContent)` + display: flex; + flex: 1; +`; + +const UpgradeMessageContainer = styled.div` + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + flex: 1; + width: 100%; + padding: 40px; + text-align: center; +`; + +const UpgradeTitle = styled.h2` + color: var(--vscode-foreground); + font-size: 18px; + font-weight: 500; + margin: 0 0 12px 0; + line-height: 1.4; +`; + +const UpgradeMessage = styled.p` + color: var(--vscode-descriptionForeground); + font-size: 13px; + margin: 0; + max-width: 500px; + line-height: 1.6; +`; + +interface TestFunctionDefProps { + projectPath: string; + functionName?: string; + filePath?: string; + serviceType?: string; + isVersionSupported?: boolean; +} + +export function AIEvaluationForm(props: TestFunctionDefProps) { + const { projectPath, functionName, filePath, serviceType, isVersionSupported = true } = props; + const { rpcClient } = useRpcContext(); + const [formFields, setFormFields] = useState([]); + const [testFunction, setTestFunction] = useState(); + const [formTitle, setFormTitle] = useState('Create New AI Evaluation'); + const [formSubtitle, setFormSubtitle] = useState('Create a new AI evaluation for your integration'); + const [targetLineRange, setTargetLineRange] = useState(); + const [dataProviderMode, setDataProviderMode] = useState('evalSet'); + const [evalsetOptions, setEvalsetOptions] = useState>([]); + + // Helper function to apply field visibility rules based on data provider mode + const applyFieldVisibility = (fields: FormField[], mode: string): FormField[] => { + return fields.map(field => { + if (field.key === 'dataProvider') { + return { ...field, hidden: mode !== 'function' }; + } + if (field.key === 'evalSetFile') { + return { ...field, hidden: mode !== 'evalSet' }; + } + if (field.key === 'runs') { + return { ...field, hidden: mode === 'evalSet' }; + } + return field; + }); + }; + + const handleFieldChange = (fieldKey: string, value: any) => { + if (fieldKey === 'dataProviderMode') { + setDataProviderMode(value); + updateFieldVisibility(value); + } + }; + + const updateFieldVisibility = (mode: string) => { + setFormFields(prevFields => applyFieldVisibility(prevFields, mode)); + }; + + const updateTargetLineRange = () => { + rpcClient + .getBIDiagramRpcClient() + .getEndOfFile({ filePath }) + .then((linePosition) => { + setTargetLineRange({ + startLine: linePosition, + endLine: linePosition + }); + }); + } + + useEffect(() => { + loadEvalsets(); + }, []); + + useEffect(() => { + if (serviceType === 'UPDATE_TEST') { + setFormTitle('Update AI Evaluation'); + setFormSubtitle('Update an existing AI evaluation'); + loadFunction(); + } else { + setFormTitle('Create New AI Evaluation'); + setFormSubtitle('Create a new AI evaluation for your integration'); + loadEmptyForm(); + } + + updateTargetLineRange(); + }, [functionName]); + + // Regenerate form fields when evalsetOptions changes + useEffect(() => { + if (testFunction && evalsetOptions.length > 0) { + let formFields = generateFormFields(testFunction); + + // Get the dataProviderMode value to initialize field visibility + const modeField = formFields.find(f => f.key === 'dataProviderMode'); + const mode = String(modeField?.value || 'evalSet'); + setDataProviderMode(mode); + + // Set field visibility based on mode + formFields = applyFieldVisibility(formFields, mode); + + setFormFields(formFields); + } + }, [evalsetOptions]); + + const loadEvalsets = async () => { + try { + const res = await rpcClient.getTestManagerRpcClient().getEvalsets({ projectPath }); + const options = res.evalsets.map((evalset: EvalsetItem) => ({ + value: evalset.filePath, + content: `${evalset.name}` + })); + setEvalsetOptions(options); + } catch (error) { + console.error('Failed to load evalsets:', error); + setEvalsetOptions([]); + } + }; + + const loadFunction = async () => { + const res = await rpcClient.getTestManagerRpcClient().getTestFunction({ functionName, filePath }); + setTestFunction(res.function); + let formFields = generateFormFields(res.function); + + // Get the dataProviderMode value to initialize field visibility + const modeField = formFields.find(f => f.key === 'dataProviderMode'); + const mode = String(modeField?.value || 'evalSet'); + setDataProviderMode(mode); + + // Set initial field visibility + formFields = applyFieldVisibility(formFields, mode); + + setFormFields(formFields); + } + + const loadEmptyForm = async () => { + const emptyTestFunction = getEmptyTestFunctionModel(); + setTestFunction(emptyTestFunction); + let formFields = generateFormFields(emptyTestFunction); + + // Get the dataProviderMode value to initialize field visibility + const modeField = formFields.find(f => f.key === 'dataProviderMode'); + const mode = String(modeField?.value || 'evalSet'); + setDataProviderMode(mode); + + // Set initial field visibility (default is 'evalSet' mode) + formFields = applyFieldVisibility(formFields, mode); + + setFormFields(formFields); + } + + const onFormSubmit = async (data: FormValues, formImports: FormImports) => { + // Include the dataProviderMode from CardSelector state + const formData = { + ...data, + dataProviderMode: dataProviderMode + }; + const updatedTestFunction = fillFunctionModel(formData, formImports); + if (serviceType === 'UPDATE_TEST') { + await rpcClient.getTestManagerRpcClient().updateTestFunction({ function: updatedTestFunction, filePath }); + } else { + await rpcClient.getTestManagerRpcClient().addTestFunction({ function: updatedTestFunction, filePath }); + } + const res = await rpcClient.getTestManagerRpcClient().getTestFunction( + { functionName: updatedTestFunction.functionName.value, filePath }); + const nodePosition = { + startLine: res.function.codedata.lineRange.startLine.line, + startColumn: res.function.codedata.lineRange.startLine.offset, + endLine: res.function.codedata.lineRange.endLine.line, + endColumn: res.function.codedata.lineRange.endLine.offset + }; + rpcClient.getVisualizerRpcClient().openView( + { type: EVENT_TYPE.OPEN_VIEW, location: { position: nodePosition, documentUri: filePath } }) + }; + + // Helper function to modify and set the visual information + const handleParamChange = (param: Parameter) => { + const name = `${param.formValues['variable']}`; + const type = `${param.formValues['type']}`; + const defaultValue = Object.keys(param.formValues).indexOf('defaultable') > -1 && `${param.formValues['defaultable']}`; + let value = `${type} ${name}`; + if (defaultValue) { + value += ` = ${defaultValue}`; + } + return { + ...param, + key: name, + value: value + } + }; + + const generateFormFields = (testFunction: TestFunction): FormField[] => { + const fields: FormField[] = []; + if (testFunction.functionName) { + fields.push(generateFieldFromProperty('functionName', testFunction.functionName)); + } + if (testFunction.parameters) { + fields.push({ + key: `params`, + label: 'Parameters', + type: 'PARAM_MANAGER', + optional: true, + editable: true, + enabled: true, + advanced: true, + hidden: true, + documentation: '', + value: '', + paramManagerProps: { + paramValues: generateParamFields(testFunction.parameters), + formFields: paramFields, + handleParameter: handleParamChange + }, + types: [{ fieldType: "PARAM_MANAGER", selected: false }] + }); + } + if (testFunction.annotations) { + const configAnnotation = getTestConfigAnnotation(testFunction.annotations); + if (configAnnotation && configAnnotation.fields) { + const minPassRateField = configAnnotation.fields.find(f => f.originalName === 'minPassRate'); + if (minPassRateField) { + const generatedField = generateFieldFromProperty('minPassRate', minPassRateField); + fields.push({ + ...generatedField, + type: 'SLIDER', + sliderProps: { + min: 0, + max: 100, + step: 1, + showValue: true, + showMarkers: true, + valueFormatter: (value: number) => `${value}%` + } + }); + } + + const evalSetFileField = configAnnotation.fields.find(f => f.originalName === 'evalSetFile'); + if (evalSetFileField) { + fields.push({ + ...generateFieldFromProperty('evalSetFile', evalSetFileField), + type: 'SINGLE_SELECT', + itemOptions: evalsetOptions + }); + } + + for (const field of configAnnotation.fields) { + // Skip fields already processed + if (field.originalName === 'dataProviderMode' || + field.originalName === 'minPassRate' || + field.originalName === 'evalSetFile') { + continue; + } + + // Special handling for groups and dependsOn - use EXPRESSION_SET + if (field.originalName === 'groups' || field.originalName === 'dependsOn') { + fields.push({ + ...generateFieldFromProperty(field.originalName, field), + type: 'EXPRESSION_SET', + advanced: true, + types: [{ fieldType: 'EXPRESSION_SET', selected: false }] + }); + continue; + } + + // Special handling for expression fields - ensure they use EXPRESSION type + if (field.originalName === 'before' || field.originalName === 'after' || + field.originalName === 'runs' || field.originalName === 'dataProvider') { + fields.push({ + ...generateFieldFromProperty(field.originalName, field), + type: 'EXPRESSION', + advanced: true, + types: [{ fieldType: 'EXPRESSION', selected: false }] + }); + continue; + } + + // Special handling for enabled - use FLAG + if (field.originalName === 'enabled') { + fields.push({ + ...generateFieldFromProperty(field.originalName, field), + type: 'FLAG', + advanced: true, + types: [{ fieldType: 'FLAG', selected: false }] + }); + continue; + } + + fields.push(generateFieldFromProperty(field.originalName, field)); + } + } + } + return fields; + } + + const getTestConfigAnnotation = (annotations: Annotation[]): Annotation | undefined => { + for (const annotation of annotations) { + if (annotation.name === 'Config') { + return annotation; + } + } + return; + } + + const generateParamFields = (parameters: FunctionParameter[]): Parameter[] => { + const params: Parameter[] = []; + let id = 0; + for (const param of parameters) { + const key = param.variable.value; + const type = param.type.value; + + const value = `${type} ${key}`; + params.push({ + id: id, + formValues: { + variable: key, + type: type, + defaultable: param.defaultValue ? param.defaultValue.value : '' + }, + key: key, + value: value, + icon: '', + identifierEditable: param.variable?.editable, + identifierRange: param.variable?.codedata?.lineRange + }); + + id++; + } + return params + } + + const generateFieldFromProperty = (key: string, property: ValueProperty): FormField => { + const fieldType = getPrimaryInputType(property.types)?.fieldType; + + // Convert decimal (0-1) to percentage (0-100) for minPassRate display + let displayValue = property.value; + if (key === 'minPassRate') { + const decimalValue = parseFloat(property.value); + displayValue = String(Math.round((isNaN(decimalValue) ? 1 : decimalValue) * 100)); + } + + const baseField: FormField = { + key: key, + label: property.metadata.label, + type: fieldType, + optional: property.optional, + editable: property.editable, + advanced: property.advanced, + enabled: true, + documentation: property.metadata.description, + value: displayValue, + types: [{ fieldType: fieldType, selected: false }] + }; + + // Add slider-specific configuration for minPassRate + if (key === 'minPassRate' && fieldType === 'SLIDER') { + baseField.sliderProps = { + min: 0, + max: 100, + step: 1, + showValue: true, + showMarkers: true, + valueFormatter: (value: number) => `${value}%` + }; + } + + return baseField; + } + + const fillFunctionModel = (formValues: FormValues, formImports: FormImports): TestFunction => { + let tmpTestFunction = testFunction; + if (!tmpTestFunction) { + tmpTestFunction = {}; + } + + if (formValues['functionName']) { + tmpTestFunction.functionName.value = formValues['functionName']; + } + + if (formValues['returnType']) { + tmpTestFunction.returnType.value = formValues['returnType']; + tmpTestFunction.returnType.imports = getImportsForProperty('returnType', formImports); + } + + if (formValues['params']) { + const params = formValues['params']; + const paramList: FunctionParameter[] = []; + for (const param of params) { + const paramFormValues = param.formValues; + const variable = paramFormValues['variable']; + const type = paramFormValues['type']; + const typeImports = getImportsForProperty('params', formImports); + const defaultValue = paramFormValues['defaultable']; + let emptyParam = getEmptyParamModel(); + emptyParam.variable.value = variable; + emptyParam.type.value = type; + emptyParam.type.imports = typeImports; + emptyParam.defaultValue.value = defaultValue; + paramList.push(emptyParam); + } + tmpTestFunction.parameters = paramList; + } + + let annots = tmpTestFunction.annotations; + for (const annot of annots) { + if (annot.name == 'Config') { + let configAnnot = annot; + let fields = configAnnot.fields; + for (const field of fields) { + if (field.originalName == 'groups') { + field.value = formValues['groups']; + } + if (field.originalName == 'enabled') { + field.value = formValues['enabled']; + } + if (field.originalName == 'dependsOn') { + field.value = formValues['dependsOn'] || []; + } + if (field.originalName == 'before') { + field.value = formValues['before'] || ""; + } + if (field.originalName == 'after') { + field.value = formValues['after'] || ""; + } + if (field.originalName == 'runs') { + field.value = formValues['runs'] || "1"; + } + if (field.originalName == 'minPassRate') { + // Convert percentage (0-100) to decimal (0-1) + const percentageValue = formValues['minPassRate'] ?? 100; + field.value = String(Number(percentageValue) / 100); + } + if (field.originalName == 'dataProviderMode') { + field.value = formValues['dataProviderMode'] || "function"; + } + if (field.originalName == 'dataProvider') { + if (formValues['dataProviderMode'] === 'function') { + field.value = formValues['dataProvider'] || ""; + } + // Preserve existing dataProvider value when in evalSet mode + // (backend creates it from evalSetFile) + } + if (field.originalName == 'evalSetFile') { + if (formValues['dataProviderMode'] === 'evalSet') { + field.value = formValues['evalSetFile'] || ""; + } + // Preserve existing evalSetFile value when in function mode + } + } + } + } + + return tmpTestFunction; + } + + const getEmptyParamModel = (): FunctionParameter => { + return { + type: { + value: "string", + optional: false, + editable: true, + advanced: false, + types: [{ fieldType: "TYPE", selected: false }] + }, + variable: { + value: "b", + optional: false, + editable: true, + advanced: false, + types: [{ fieldType: "IDENTIFIER", selected: false }] + }, + defaultValue: { + value: "\"default\"", + optional: false, + editable: true, + advanced: false, + types: [{ fieldType: "EXPRESSION", selected: false }] + }, + optional: false, + editable: true, + advanced: false + } + + } + + const getEmptyTestFunctionModel = (): TestFunction => { + return { + functionName: { + metadata: { + label: "AI Evaluation Name", + description: "Name of the AI evaluation" + }, + value: "", + optional: false, + editable: true, + advanced: false, + types: [{ fieldType: "IDENTIFIER", selected: false }] + }, + returnType: { + metadata: { + label: "Return Type", + description: "Return type of the function" + }, + optional: true, + editable: true, + advanced: true, + types: [{ fieldType: "TYPE", selected: false }], + }, + parameters: [], + annotations: [ + { + metadata: { + label: "Config", + description: "AI Evaluation Configurations" + }, + org: "ballerina", + module: "test", + name: "Config", + fields: [ + { + metadata: { + label: "Enabled", + description: "Enable/Disable the evaluation" + }, + originalName: "enabled", + value: true, + optional: true, + editable: true, + advanced: true, + types: [{ fieldType: "FLAG", selected: false }] + }, + { + metadata: { + label: "Groups", + description: "Groups to run" + }, + types: [{ fieldType: "EXPRESSION_SET", selected: false }], + originalName: "groups", + value: ["evaluations"], + optional: true, + editable: true, + advanced: true + }, + { + metadata: { + label: "Depends On", + description: "List of test function names that this test depends on" + }, + types: [{ fieldType: "EXPRESSION_SET", selected: false }], + originalName: "dependsOn", + value: [], + optional: true, + editable: true, + advanced: true + }, + { + metadata: { + label: "Before Function", + description: "Function to execute before this test" + }, + types: [{ fieldType: "EXPRESSION", selected: false }], + originalName: "before", + value: "", + optional: true, + editable: true, + advanced: true + }, + { + metadata: { + label: "After Function", + description: "Function to execute after this test" + }, + types: [{ fieldType: "EXPRESSION", selected: false }], + originalName: "after", + value: "", + optional: true, + editable: true, + advanced: true + }, + { + metadata: { + label: "Runs", + description: "Number of times to execute this test" + }, + types: [{ fieldType: "EXPRESSION", selected: false }], + originalName: "runs", + value: "1", + optional: true, + editable: true, + advanced: true + }, + { + metadata: { + label: "Minimum Pass Rate (%)", + description: "Minimum percentage of runs that must pass (0-100)" + }, + types: [{ fieldType: "SLIDER", selected: false }], + originalName: "minPassRate", + value: "1.0", + optional: true, + editable: true, + advanced: false + }, + { + metadata: { + label: "", + description: "Choose how to provide test data" + }, + types: [{ fieldType: "STRING", selected: false }], + originalName: "dataProviderMode", + value: "function", + optional: true, + editable: true, + advanced: true + }, + { + metadata: { + label: "Data Provider", + description: "Function that provides test data" + }, + types: [{ fieldType: "EXPRESSION", selected: false }], + originalName: "dataProvider", + value: "", + optional: true, + editable: true, + advanced: true + }, + { + metadata: { + label: "Evalset File", + description: "Select an evalset for test data" + }, + types: [{ fieldType: "STRING", selected: false }], + originalName: "evalSetFile", + value: "", + optional: true, + editable: true, + advanced: false + } + ] + } + ], + editable: true + } + } + + const paramFields: FormField[] = [ + { + key: `variable`, + label: 'Name', + type: 'string', + optional: false, + editable: true, + enabled: true, + documentation: '', + value: '', + types: [{ fieldType: "IDENTIFIER", selected: false }] + }, + { + key: `type`, + label: 'Type', + type: 'TYPE', + optional: false, + editable: true, + enabled: true, + documentation: '', + value: '', + types: [{ fieldType: "TYPE", selected: false }] + }, + { + key: `defaultable`, + label: 'Default Value', + type: 'string', + optional: true, + advanced: true, + editable: true, + enabled: true, + documentation: '', + value: '', + types: [{ fieldType: "STRING", selected: false }] + } + ]; + + const cardOptions = [ + { + value: 'evalSet', + title: 'From Evalset', + description: 'Use conversation traces from an existing dataset to evaluate your agent.', + icon: + }, + { + value: 'function', + title: 'Standalone/Custom', + description: 'Implement a fully custom logic to evaluate specific behaviors from scratch.', + icon: + } + ]; + + const handleCardSelectorChange = (value: string) => { + setDataProviderMode(value); + updateFieldVisibility(value); + }; + + // Show upgrade message if version is not supported + if (isVersionSupported === false) { + return ( + + + + + + Please upgrade your Ballerina version + + AI Evaluation features require Ballerina version 2201.13.2 or higher. + Please upgrade your Ballerina installation to use this feature. + + + + + ); + } + + return ( + + + + + + + + + {targetLineRange && ( + , + index: 2 + } + ]} + /> + )} + + + + + ); +} + diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/BI/ComponentListView/OtherArtifactsPanel.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/BI/ComponentListView/OtherArtifactsPanel.tsx index aa94241a313..ebe8b4be466 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/views/BI/ComponentListView/OtherArtifactsPanel.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/views/BI/ComponentListView/OtherArtifactsPanel.tsx @@ -27,13 +27,19 @@ import { useVisualizerContext } from '../../../Context'; interface OtherArtifactsPanelProps { isNPSupported: boolean; + isLibrary?: boolean; } export function OtherArtifactsPanel(props: OtherArtifactsPanelProps) { - const { isNPSupported } = props; + const { isNPSupported, isLibrary = false } = props; const { rpcClient } = useRpcContext(); const { setPopupMessage } = useVisualizerContext(); + const panelTitle = isLibrary ? "Library Artifacts" : "Other Artifacts"; + const panelDescription = isLibrary + ? "Create reusable artifacts for your library." + : "Create supportive artifacts for your integration."; + const handleClick = async (key: DIRECTORY_MAP) => { if (key === DIRECTORY_MAP.CONNECTION) { await rpcClient.getVisualizerRpcClient().openView({ @@ -87,9 +93,9 @@ export function OtherArtifactsPanel(props: OtherArtifactsPanelProps) { return ( - Other Artifacts + {panelTitle} - Create supportive artifacts for your integration. + {panelDescription} diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/BI/ComponentListView/index.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/BI/ComponentListView/index.tsx index 919567cd046..b4f69affff4 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/views/BI/ComponentListView/index.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/views/BI/ComponentListView/index.tsx @@ -43,6 +43,7 @@ export function ComponentListView(props: ComponentListViewProps) { const [triggers, setTriggers] = useState({ local: [] }); const { cacheTriggers, setCacheTriggers } = useVisualizerContext(); const [isNPSupported, setIsNPSupported] = useState(false); + const [isLibrary, setIsLibrary] = useState(false); useEffect(() => { getTriggers(); @@ -50,7 +51,14 @@ export function ComponentListView(props: ComponentListViewProps) { rpcClient.getCommonRpcClient().isNPSupported().then((supported) => { setIsNPSupported(supported); }); - }, []); + + rpcClient.getBIDiagramRpcClient().getProjectStructure().then((res) => { + const project = res.projects.find(project => project.projectPath === projectPath); + if (project) { + setIsLibrary(project.isLibrary ?? false); + } + }); + }, [rpcClient, projectPath]); const getTriggers = () => { if (cacheTriggers.local.length > 0) { @@ -67,19 +75,28 @@ export function ComponentListView(props: ComponentListViewProps) { } }; + const title = isLibrary ? "Library Artifacts" : "Artifacts"; + const subtitle = isLibrary + ? "Add reusable artifacts to your library" + : "Add a new artifact to your integration"; + return ( - + - - - - - - + {!isLibrary && ( + <> + + + + + + + )} + diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/BI/ConfigurationCollector/index.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/BI/ConfigurationCollector/index.tsx new file mode 100644 index 00000000000..c62bfb3cae5 --- /dev/null +++ b/workspaces/ballerina/ballerina-visualizer/src/views/BI/ConfigurationCollector/index.tsx @@ -0,0 +1,282 @@ +/** + * Copyright (c) 2026, WSO2 LLC. (https://www.wso2.com) All Rights Reserved. + * + * WSO2 LLC. licenses this file to you under the Apache License, + * Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import React, { useState, useEffect } from "react"; +import styled from "@emotion/styled"; +import { Button, Codicon, ThemeColors } from "@wso2/ui-toolkit"; +import { useRpcContext } from "@wso2/ballerina-rpc-client"; +import { ConfigurationCollectorMetadata, ParentPopupData } from "@wso2/ballerina-core"; +import { + PopupOverlay, + PopupContainer, + PopupHeader, + HeaderTitleContainer, + PopupTitle, + PopupSubtitle, + CloseButton, + PopupContent, + PopupFooter, +} from "../Connection/styles"; + +// Form styled components +const FormSection = styled.div` + display: flex; + flex-direction: column; + gap: 16px; +`; + +const ConfigurationField = styled.div` + display: flex; + flex-direction: column; + gap: 6px; +`; + +const FieldLabel = styled.label` + font-size: 13px; + font-weight: 500; + color: ${ThemeColors.ON_SURFACE}; + display: flex; + align-items: center; + gap: 4px; +`; + +const FieldDescription = styled.span` + font-size: 12px; + color: ${ThemeColors.ON_SURFACE_VARIANT}; + font-style: italic; + font-weight: normal; +`; + +const FieldInput = styled.input<{ hasError: boolean }>` + padding: 10px 12px; + background-color: ${ThemeColors.SURFACE_DIM}; + color: ${ThemeColors.ON_SURFACE}; + border: 1px solid ${(props: { hasError: boolean }) => + props.hasError ? ThemeColors.ERROR : ThemeColors.OUTLINE_VARIANT}; + border-radius: 6px; + font-size: 13px; + + &:focus { + outline: none; + border-color: ${ThemeColors.PRIMARY}; + } + + &::placeholder { + color: ${ThemeColors.ON_SURFACE_VARIANT}; + } +`; + +const FieldError = styled.div` + font-size: 12px; + color: ${ThemeColors.ERROR}; +`; + +const ActionButton = styled(Button)``; + +const LoadingContainer = styled.div` + display: flex; + align-items: center; + justify-content: center; + padding: 40px; + color: ${ThemeColors.ON_SURFACE_VARIANT}; +`; + +interface ConfigurationCollectorProps { + data?: ConfigurationCollectorMetadata; + onClose: (parent?: ParentPopupData) => void; +} + +export const ConfigurationCollector: React.FC = ({ data, onClose }) => { + const { rpcClient } = useRpcContext(); + const [configValues, setConfigValues] = useState>(data?.existingValues || {}); + const [errors, setErrors] = useState>({}); + const [isProcessing, setIsProcessing] = useState(false); + + // Initialize configuration values when data prop changes + useEffect(() => { + if (data?.existingValues) { + setConfigValues(data.existingValues); + } + }, [data]); + + const handleInputChange = (variableName: string, value: string) => { + setConfigValues((prev) => ({ ...prev, [variableName]: value })); + setErrors((prev) => { + const newErrors = { ...prev }; + delete newErrors[variableName]; + return newErrors; + }); + }; + + const handleKeyDown = (e: React.KeyboardEvent) => { + if (e.key === "Enter" && !isProcessing) { + handleSubmit(); + } + }; + + const validateConfiguration = (): boolean => { + const newErrors: Record = {}; + + data?.variables?.forEach((variable) => { + const value = configValues[variable.name]; + if (!value || !value.trim()) { + newErrors[variable.name] = "This field is required"; + } else if (variable.type === "int") { + const intValue = parseInt(value, 10); + if (isNaN(intValue)) { + newErrors[variable.name] = "Please enter a valid number"; + } + } + }); + + setErrors(newErrors); + return Object.keys(newErrors).length === 0; + }; + + const handleSubmit = async () => { + if (!data) return; + + console.log("[ConfigurationCollector] handleSubmit called", { + requestId: data.requestId, + configurationCount: Object.keys(configValues).length, + }); + + if (!validateConfiguration()) { + console.log("[ConfigurationCollector] Validation failed"); + return; + } + + setIsProcessing(true); + + try { + console.log("[ConfigurationCollector] Calling provideConfiguration RPC"); + await rpcClient.getAiPanelRpcClient().provideConfiguration({ + requestId: data.requestId, + configValues: configValues, + }); + console.log("[ConfigurationCollector] RPC call successful"); + onClose(); + } catch (error: any) { + console.error("[ConfigurationCollector] Error in handleSubmit:", error); + } finally { + setIsProcessing(false); + } + }; + + const handleCancel = async () => { + if (!data) { + onClose(); + return; + } + + try { + await rpcClient.getAiPanelRpcClient().cancelConfiguration({ + requestId: data.requestId, + }); + } catch (error: any) { + console.error("[ConfigurationCollector] Error in handleCancel:", error); + } + onClose(); + }; + + // Close button (X) just closes the popup without canceling configuration collection + // User can reopen via the Configure button in the chat segment + const handleClose = () => { + onClose(); + }; + + // Prevent overlay clicks from closing the popup + const handleOverlayClick = (e: React.MouseEvent) => { + e.stopPropagation(); + }; + + if (!data) { + return ( + <> + + + Loading... + + + ); + } + + return ( + <> + + + + + + {data.isTestConfig ? "Configure Test Environment" : "Configure Application"} + + {data.message && {data.message}} + + + + + + + + {data.variables?.map((variable) => ( + + + {variable.name} + {variable.description && ( + - {variable.description} + )} + + handleInputChange(variable.name, e.target.value)} + onKeyDown={handleKeyDown} + hasError={!!errors[variable.name]} + /> + {errors[variable.name] && {errors[variable.name]}} + + ))} + + + + + Skip + + + {isProcessing ? "Saving..." : "Save Configuration"} + + + + + ); +}; + +export default ConfigurationCollector; diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/BI/Connection/APIConnectionPopup/index.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/BI/Connection/APIConnectionPopup/index.tsx index 3490eb155d6..c656ca7c1f6 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/views/BI/Connection/APIConnectionPopup/index.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/views/BI/Connection/APIConnectionPopup/index.tsx @@ -19,7 +19,7 @@ import React, { useMemo, useState } from "react"; import styled from "@emotion/styled"; import { Button, Codicon, Dropdown, Stepper, TextField, ThemeColors, Typography, Icon } from "@wso2/ui-toolkit"; -import { AvailableNode, Category, DataMapperDisplayMode, DIRECTORY_MAP, FlowNode, LinePosition, ParentPopupData } from "@wso2/ballerina-core"; +import { AvailableNode, Category, EditorConfig, DIRECTORY_MAP, FlowNode, LinePosition, ParentPopupData } from "@wso2/ballerina-core"; import { useRpcContext } from "@wso2/ballerina-rpc-client"; import { ExpressionFormField } from "@wso2/ballerina-side-panel"; import ConnectionConfigView from "../ConnectionConfigView"; @@ -404,7 +404,7 @@ export function APIConnectionPopup(props: APIConnectionPopupProps) { ); }; - const handleOnFormSubmit = async (node: FlowNode, _dataMapperMode?: DataMapperDisplayMode, options?: FormSubmitOptions) => { + const handleOnFormSubmit = async (node: FlowNode, _editorConfig?: EditorConfig, options?: FormSubmitOptions) => { console.log(">>> on form submit", node); if (selectedFlowNode) { setIsSavingConnection(true); diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/BI/Connection/AddConnectionWizard/index.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/BI/Connection/AddConnectionWizard/index.tsx index 6c35e879972..a101e81ecee 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/views/BI/Connection/AddConnectionWizard/index.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/views/BI/Connection/AddConnectionWizard/index.tsx @@ -20,7 +20,7 @@ import { useEffect, useRef, useState } from "react"; import styled from "@emotion/styled"; import { AvailableNode, - DataMapperDisplayMode, + EditorConfig, DIRECTORY_MAP, EVENT_TYPE, FlowNode, @@ -235,7 +235,7 @@ export function AddConnectionWizard(props: AddConnectionWizardProps) { setCurrentStep(WizardStep.GENERATE_CONNECTOR); }; - const handleOnFormSubmit = async (node: FlowNode, _dataMapperMode?: DataMapperDisplayMode, options?: FormSubmitOptions) => { + const handleOnFormSubmit = async (node: FlowNode, _editorConfig?: EditorConfig, options?: FormSubmitOptions) => { console.log(">>> on form submit", node); if (selectedNodeRef.current) { setSavingFormStatus(SavingFormStatus.SAVING); diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/BI/Connection/ConnectionConfigView/index.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/BI/Connection/ConnectionConfigView/index.tsx index 0e1b636ce1d..f474bccfeb4 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/views/BI/Connection/ConnectionConfigView/index.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/views/BI/Connection/ConnectionConfigView/index.tsx @@ -19,7 +19,7 @@ import React, { ReactNode, useEffect, useState } from "react"; import styled from "@emotion/styled"; import { ExpressionFormField } from "@wso2/ballerina-side-panel"; -import { DataMapperDisplayMode, FlowNode, LineRange, SubPanel } from "@wso2/ballerina-core"; +import { EditorConfig, FlowNode, LineRange, SubPanel } from "@wso2/ballerina-core"; import FormGenerator from "../../Forms/FormGenerator"; import { useRpcContext } from "@wso2/ballerina-rpc-client"; import { SidePanelView } from "../../FlowDiagram/PanelManager"; @@ -58,7 +58,7 @@ interface ConnectionConfigViewProps { submitText?: string; isSaving?: boolean; selectedNode: FlowNode; - onSubmit: (updatedNode?: FlowNode, dataMapperMode?: DataMapperDisplayMode, options?: FormSubmitOptions) => void; + onSubmit: (updatedNode?: FlowNode, editorConfig?: EditorConfig, options?: FormSubmitOptions) => void; openSubPanel?: (subPanel: SubPanel) => void; updatedExpressionField?: ExpressionFormField; resetUpdatedExpressionField?: () => void; diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/BI/Connection/ConnectionConfigurationPopup/index.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/BI/Connection/ConnectionConfigurationPopup/index.tsx index 966c385116b..0c5e94a2708 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/views/BI/Connection/ConnectionConfigurationPopup/index.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/views/BI/Connection/ConnectionConfigurationPopup/index.tsx @@ -21,7 +21,7 @@ import styled from "@emotion/styled"; import { AvailableNode, Category, - DataMapperDisplayMode, + EditorConfig, DIRECTORY_MAP, FlowNode, LinePosition, @@ -287,7 +287,7 @@ export function ConnectionConfigurationPopup(props: ConnectionConfigurationPopup fetchNodeTemplate(); }, [selectedConnector, fileName, target, rpcClient]); - const handleOnFormSubmit = async (node: FlowNode, _dataMapperMode?: DataMapperDisplayMode, options?: FormSubmitOptions) => { + const handleOnFormSubmit = async (node: FlowNode, _editorConfig?: EditorConfig, options?: FormSubmitOptions) => { console.log(">>> on form submit", node); if (selectedNodeRef.current) { setSavingFormStatus(SavingFormStatus.SAVING); diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/BI/Connection/styles.ts b/workspaces/ballerina/ballerina-visualizer/src/views/BI/Connection/styles.ts index 9533291f0f1..a4b1c31711e 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/views/BI/Connection/styles.ts +++ b/workspaces/ballerina/ballerina-visualizer/src/views/BI/Connection/styles.ts @@ -81,4 +81,19 @@ export const CloseButton = styled(Button)` padding: 4px; `; +export const PopupContent = styled.div` + flex: 1; + overflow-y: auto; + padding: 16px 20px; + display: flex; + flex-direction: column; + gap: 16px; +`; +export const PopupFooter = styled.div` + padding: 16px 20px; + display: flex; + justify-content: flex-end; + gap: 8px; + border-top: 1px solid ${ThemeColors.OUTLINE_VARIANT}; +`; diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/BI/FlowDiagram/PanelManager.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/BI/FlowDiagram/PanelManager.tsx index 04ee0f4069f..c88f89cd868 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/views/BI/FlowDiagram/PanelManager.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/views/BI/FlowDiagram/PanelManager.tsx @@ -25,7 +25,7 @@ import { FUNCTION_TYPE, ToolData, NodeMetadata, - DataMapperDisplayMode, + EditorConfig } from "@wso2/ballerina-core"; import { HelperView } from "../HelperView"; import FormGenerator from "../Forms/FormGenerator"; @@ -78,6 +78,7 @@ export enum SidePanelView { CONNECTION_CREATE = "CONNECTION_CREATE", AGENT_MEMORY_MANAGER = "AGENT_MEMORY_MANAGER", AGENT_CONFIG = "AGENT_CONFIG", + AGENT_LIST = "AGENT_LIST" } interface PanelManagerProps { @@ -117,7 +118,7 @@ interface PanelManagerProps { onAddVectorKnowledgeBase?: () => void; onAddDataLoader?: () => void; onAddChunker?: () => void; - onSubmitForm: (updatedNode?: FlowNode, dataMapperMode?: DataMapperDisplayMode, options?: FormSubmitOptions) => void; + onSubmitForm: (updatedNode?: FlowNode, editorConfig?: EditorConfig, options?: FormSubmitOptions) => void; onDiscardSuggestions: () => void; onSubPanel: (subPanel: SubPanel) => void; onUpdateExpressionField: (updatedExpressionField: ExpressionFormField) => void; @@ -130,6 +131,7 @@ interface PanelManagerProps { onSearchVectorKnowledgeBase?: (searchText: string, functionType: FUNCTION_TYPE) => void; onSearchDataLoader?: (searchText: string, functionType: FUNCTION_TYPE) => void; onSearchChunker?: (searchText: string, functionType: FUNCTION_TYPE) => void; + onAddAgent?: () => void; onEditAgent?: () => void; onNavigateToPanel?: (targetPanel: SidePanelView, connectionKind?: ConnectionKind) => void; setSidePanelView: (view: SidePanelView) => void; @@ -176,6 +178,7 @@ export function PanelManager(props: PanelManagerProps) { onAddFunction, onAddNPFunction, onAddDataMapper, + onAddAgent, onAddModelProvider, onAddVectorStore, onAddEmbeddingProvider, @@ -358,6 +361,20 @@ export function PanelManager(props: PanelManagerProps) { /> ); + case SidePanelView.AGENT_LIST: + return ( + + ); + case SidePanelView.MODEL_PROVIDER_LIST: return ( (undefined); const [targetLineRange, setTargetLineRange] = useState(targetRef?.current); + const isCreatingAgent = useRef(false); const isCreatingNewModelProvider = useRef(false); const isCreatingNewVectorStore = useRef(false); const isCreatingNewEmbeddingProvider = useRef(false); @@ -1103,6 +1105,29 @@ export function BIFlowDiagram(props: BIFlowDiagramProps) { }); break; + case "AGENTS": + setShowProgressIndicator(true); + rpcClient + .getBIDiagramRpcClient() + .getAvailableAgents({ + position: targetRef.current.startLine, + filePath: model?.fileName || fileName, + }) + .then((response) => { + setCategories( + convertFunctionCategoriesToSidePanelCategories( + response.categories as Category[], + FUNCTION_TYPE.REGULAR + ) + ); + setSidePanelView(SidePanelView.AGENT_LIST); + setShowSidePanel(true); + }) + .finally(() => { + setShowProgressIndicator(false); + }); + break; + case "MODEL_PROVIDERS": setShowProgressIndicator(true); rpcClient @@ -1281,7 +1306,7 @@ export function BIFlowDiagram(props: BIFlowDiagramProps) { const handleOnFormSubmit = ( updatedNode?: FlowNode, - dataMapperMode?: DataMapperDisplayMode, + editorConfig?: EditorConfig, options?: FormSubmitOptions ) => { if (!updatedNode) { @@ -1318,7 +1343,11 @@ export function BIFlowDiagram(props: BIFlowDiagramProps) { updatedNode.codedata.lineRange.endLine = targetLine; } - if (dataMapperMode && dataMapperMode !== DataMapperDisplayMode.NONE) { + if ( + editorConfig && + editorConfig.view === MACHINE_VIEW.InlineDataMapper && + editorConfig.displayMode !== EditorDisplayMode.NONE + ) { rpcClient .getDataMapperRpcClient() .getInitialIDMSource({ @@ -1348,12 +1377,12 @@ export function BIFlowDiagram(props: BIFlowDiagramProps) { codeData: response.codedata, } }, - isPopup: dataMapperMode === DataMapperDisplayMode.POPUP + isPopup: editorConfig.displayMode === EditorDisplayMode.POPUP }); } }) .finally(() => { - if (dataMapperMode !== DataMapperDisplayMode.POPUP) setShowSidePanel(false); + if (editorConfig.displayMode !== EditorDisplayMode.POPUP) setShowSidePanel(false); if (options?.postUpdateCallBack) { options.postUpdateCallBack(); } @@ -1361,16 +1390,30 @@ export function BIFlowDiagram(props: BIFlowDiagramProps) { }); return; } + rpcClient .getBIDiagramRpcClient() .getSourceCode({ filePath: model.fileName, flowNode: updatedNode, - isFunctionNodeUpdate: dataMapperMode !== DataMapperDisplayMode.NONE, + isFunctionNodeUpdate: editorConfig?.displayMode !== EditorDisplayMode.NONE, isHelperPaneChange: options?.isChangeFromHelperPane, + artifactData: editorConfig && + editorConfig.displayMode !== EditorDisplayMode.NONE && + editorConfig.view === MACHINE_VIEW.DataMapper ? + { artifactType: DIRECTORY_MAP.DATA_MAPPER } : undefined, }) .then(async (response) => { if (response.artifacts.length > 0) { + + if (editorConfig && editorConfig.displayMode !== EditorDisplayMode.NONE) { + const newArtifact = response.artifacts.find(res => res.isNew); + if (newArtifact) { + rpcClient.getVisualizerRpcClient().openView({ type: EVENT_TYPE.OPEN_VIEW, location: { documentUri: newArtifact.path, position: newArtifact.position } }); + return; + } + } + if (updatedNode?.codedata?.symbol === GET_DEFAULT_MODEL_PROVIDER || (updatedNode?.codedata?.node === "AGENT_CALL" && updatedNode?.properties?.model?.value === "")) { await rpcClient.getAIAgentRpcClient().configureDefaultModelProvider(); @@ -1452,16 +1495,6 @@ export function BIFlowDiagram(props: BIFlowDiagramProps) { console.error(">>> Error updating source code", deleteNodeResponse); } - if (node.codedata.node === "AGENT_CALL") { - const agentNodeDeleteResponse = await removeAgentNode(node, rpcClient); - if (!agentNodeDeleteResponse) { - console.error(">>> Error deleting agent node", node); - setShowProgressIndicator(false); - debouncedGetFlowModel(); - return; - } - } - await updateArtifactLocation(deleteNodeResponse); selectedNodeRef.current = undefined; @@ -1665,14 +1698,26 @@ export function BIFlowDiagram(props: BIFlowDiagramProps) { }; const handleOnAddFunction = () => { - rpcClient.getVisualizerRpcClient().openView({ - type: EVENT_TYPE.OPEN_VIEW, - location: { - view: MACHINE_VIEW.BIFunctionForm, - artifactType: DIRECTORY_MAP.FUNCTION, - }, - isPopup: true, - }); + setShowProgressIndicator(true); + pushToNavigationStack(sidePanelView, categories, selectedNodeRef.current, selectedClientName.current); + + rpcClient + .getBIDiagramRpcClient() + .getNodeTemplate({ + position: targetRef.current.startLine, + filePath: model?.fileName, + id: { node: "FUNCTION_CREATION" }, + }) + .then((response) => { + selectedNodeRef.current = response.flowNode; + nodeTemplateRef.current = response.flowNode; + showEditForm.current = false; + setSidePanelView(SidePanelView.FORM); + setShowSidePanel(true); + }) + .finally(() => { + setShowProgressIndicator(false); + }); }; const handleOnAddNPFunction = () => { @@ -1687,14 +1732,27 @@ export function BIFlowDiagram(props: BIFlowDiagramProps) { }; const handleOnAddDataMapper = () => { - rpcClient.getVisualizerRpcClient().openView({ - type: EVENT_TYPE.OPEN_VIEW, - location: { - view: MACHINE_VIEW.BIDataMapperForm, - artifactType: DIRECTORY_MAP.DATA_MAPPER, - }, - isPopup: true, - }); + + setShowProgressIndicator(true); + pushToNavigationStack(sidePanelView, categories, selectedNodeRef.current, selectedClientName.current); + + rpcClient + .getBIDiagramRpcClient() + .getNodeTemplate({ + position: targetRef.current.startLine, + filePath: model?.fileName, + id: { node: "DATA_MAPPER_CREATION" }, + }) + .then((response) => { + selectedNodeRef.current = response.flowNode; + nodeTemplateRef.current = response.flowNode; + showEditForm.current = false; + setSidePanelView(SidePanelView.FORM); + setShowSidePanel(true); + }) + .finally(() => { + setShowProgressIndicator(false); + }); }; // Common function to handle progress message with timeout @@ -1712,6 +1770,41 @@ export function BIFlowDiagram(props: BIFlowDiagramProps) { setProgressMessage(LOADING_MESSAGE); }; + const handleOnAddNewAgent = () => { + isCreatingAgent.current = true; + setShowProgressIndicator(true); + setShowProgressSpinner(true); + + // Push current state to navigation stack + pushToNavigationStack(sidePanelView, categories, selectedNodeRef.current, selectedClientName.current); + + rpcClient + .getBIDiagramRpcClient() + .getNodeTemplate({ + position: targetRef.current.startLine, + filePath: model?.fileName, + id: { + node: "AGENT_CALL", + org: "ballerina", + symbol: "run", + module: "ai", + packageName: "ai", + object: "Agent" + }, + }) + .then((response) => { + selectedNodeRef.current = response.flowNode; + nodeTemplateRef.current = response.flowNode; + showEditForm.current = false; + setSidePanelView(SidePanelView.FORM); + setShowSidePanel(true); + }) + .finally(() => { + setShowProgressIndicator(false); + setShowProgressSpinner(false); + }); + }; + const handleOnAddNewModelProvider = () => { isCreatingNewModelProvider.current = true; setShowProgressIndicator(true); @@ -2468,6 +2561,7 @@ export function BIFlowDiagram(props: BIFlowDiagramProps) { onSearchChunker={handleSearchChunker} onUpdateNodeWithConnection={updateNodeWithConnection} // AI Agent specific callbacks + onAddAgent={handleOnAddNewAgent} onEditAgent={handleEditAgent} onSelectTool={handleOnSelectTool} onDeleteTool={handleOnDeleteTool} diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/BI/Forms/FormGenerator/index.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/BI/Forms/FormGenerator/index.tsx index e815e93bf6e..b0c63ebb0d1 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/views/BI/Forms/FormGenerator/index.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/views/BI/Forms/FormGenerator/index.tsx @@ -39,7 +39,7 @@ import { Member, TypeNodeKind, NodeKind, - DataMapperDisplayMode, + EditorConfig, InputType, getPrimaryInputType } from "@wso2/ballerina-core"; @@ -123,7 +123,7 @@ interface FormProps { editForm?: boolean; isGraphql?: boolean; submitText?: string; - onSubmit: (node?: FlowNode, dataMapperMode?: DataMapperDisplayMode, formImports?: FormImports, rawFormValues?: FormValues) => void; + onSubmit: (node?: FlowNode, editorConfig?: EditorConfig, formImports?: FormImports, rawFormValues?: FormValues) => void; showProgressIndicator?: boolean; subPanelView?: SubPanelView; openSubPanel?: (subPanel: SubPanel) => void; @@ -135,7 +135,7 @@ interface FormProps { description?: string; // Optional description explaining what the action button does callback: () => void; }; - handleOnFormSubmit?: (updatedNode?: FlowNode, dataMapperMode?: DataMapperDisplayMode, options?: FormSubmitOptions) => void; + handleOnFormSubmit?: (updatedNode?: FlowNode, editorConfig?: EditorConfig, options?: FormSubmitOptions) => void; isInModal?: boolean; scopeFieldAddon?: React.ReactNode; onChange?: (fieldKey: string, value: any, allValues: FormValues) => void; @@ -260,14 +260,17 @@ export const FormGenerator = forwardRef(func const skipFormValidation = useMemo(() => { const isAgentNode = node && ( - node.codedata.node === "AGENT_CALL" && + (node.codedata.node === "AGENT_CALL" || node.codedata.node === "AGENT_RUN") && node.codedata.org === "ballerina" && node.codedata.module === "ai" && node.codedata.packageName === "ai" && node.codedata.object === "Agent" && node.codedata.symbol === "run" ); - return isAgentNode; + const isDataMapperCreationNode = node && node.codedata.node === "DATA_MAPPER_CREATION"; + const isFunctionCreationNode = node && node.codedata.node === "FUNCTION_CREATION"; + + return isAgentNode || isDataMapperCreationNode || isFunctionCreationNode; }, [node]); const importsCodedataRef = useRef(null); // To store codeData for getVisualizableFields @@ -494,8 +497,8 @@ export const FormGenerator = forwardRef(func console.log(">>> FormGenerator handleOnSubmit", data); if (node && targetLineRange) { const updatedNode = mergeFormDataWithFlowNode(data, targetLineRange, dirtyFields); - const dataMapperMode = data["openInDataMapper"] ? DataMapperDisplayMode.VIEW : DataMapperDisplayMode.NONE; - onSubmit(updatedNode, dataMapperMode, formImports); + const editorConfig = data["editorConfig"]; + onSubmit(updatedNode, editorConfig, formImports); } }; diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/BI/Forms/FormGeneratorNew/index.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/BI/Forms/FormGeneratorNew/index.tsx index e583b63c92c..e74b4282e07 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/views/BI/Forms/FormGeneratorNew/index.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/views/BI/Forms/FormGeneratorNew/index.tsx @@ -634,7 +634,7 @@ export function FormGeneratorNew(props: FormProps) { shouldUpdateNode?: boolean, variableType?: string ) => { - if (!showDiagnostics || isDataMapperEditor) { + if (!showDiagnostics) { setDiagnosticsInfo({ key, diagnostics: [] }); return; } diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/BI/Forms/KnowledgeBaseForm/index.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/BI/Forms/KnowledgeBaseForm/index.tsx index f7bc6c5f663..a32cee765a2 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/views/BI/Forms/KnowledgeBaseForm/index.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/views/BI/Forms/KnowledgeBaseForm/index.tsx @@ -20,7 +20,7 @@ import { useEffect, useRef, useState } from "react"; import { Codicon } from "@wso2/ui-toolkit"; import styled from "@emotion/styled"; -import { DataMapperDisplayMode, FlowNode, LineRange, SubPanel, SubPanelView } from "@wso2/ballerina-core"; +import { EditorConfig, FlowNode, LineRange, SubPanel, SubPanelView } from "@wso2/ballerina-core"; import { FormValues, ExpressionFormField, @@ -83,7 +83,7 @@ interface KnowledgeBaseFormProps { showProgressIndicator?: boolean; onSubmit: ( node?: FlowNode, - dataMapperMode?: DataMapperDisplayMode, + editorConfig?: EditorConfig, formImports?: FormImports, rawFormValues?: FormValues ) => void; @@ -200,7 +200,7 @@ export function KnowledgeBaseForm(props: KnowledgeBaseFormProps) { try { setSaving(true); const knowledgeBaseNode = mergeFormDataWithFlowNode(knowledgeBaseFormValues, targetLineRange); - onSubmit(knowledgeBaseNode, DataMapperDisplayMode.NONE, formImports); + onSubmit(knowledgeBaseNode, undefined, formImports); } catch (error) { console.error("Error creating vector knowledge base:", error); } finally { diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/BI/HelperPaneNew/Views/Variables.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/BI/HelperPaneNew/Views/Variables.tsx index 2cae01fde03..e2417085433 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/views/BI/HelperPaneNew/Views/Variables.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/views/BI/HelperPaneNew/Views/Variables.tsx @@ -19,7 +19,7 @@ import { ExpandableList } from "../Components/ExpandableList" import { TypeIndicator } from "../Components/TypeIndicator" import { useRpcContext } from "@wso2/ballerina-rpc-client" -import { DataMapperDisplayMode, ExpressionProperty, FlowNode, LineRange, RecordTypeField } from "@wso2/ballerina-core" +import { EditorConfig, EditorDisplayMode, ExpressionProperty, FlowNode, LineRange, RecordTypeField } from "@wso2/ballerina-core" import { Codicon, CompletionItem, Divider, HelperPaneCustom, SearchBox, ThemeColors, Tooltip, Typography } from "@wso2/ui-toolkit" import { useEffect, useMemo, useRef, useState } from "react" import { getPropertyFromFormField, useFieldContext, InputMode } from "@wso2/ballerina-side-panel" @@ -42,7 +42,7 @@ type VariablesPageProps = { onChange: (value: string, isRecordConfigureChange: boolean, shouldKeepHelper?: boolean) => void; targetLineRange: LineRange; anchorRef: React.RefObject; - handleOnFormSubmit?: (updatedNode?: FlowNode, dataMapperMode?: DataMapperDisplayMode, options?: FormSubmitOptions, openDMInPopup?: boolean) => void; + handleOnFormSubmit?: (updatedNode?: FlowNode, editorConfig?: EditorConfig, options?: FormSubmitOptions, openDMInPopup?: boolean) => void; selectedType?: CompletionItem; filteredCompletions: CompletionItem[]; currentValue: string; @@ -150,7 +150,7 @@ export const Variables = (props: VariablesPageProps) => { setProjectPathUri(URI.file(visualizerContext.projectPath).fsPath); } - const handleSubmit = (updatedNode?: FlowNode, dataMapperMode?: DataMapperDisplayMode) => { + const handleSubmit = (updatedNode?: FlowNode, editorConfig?: EditorConfig) => { newNodeNameRef.current = ""; // Safely extract the variable name as a string, fallback to empty string if not available const varName = typeof updatedNode?.properties?.variable?.value === "string" @@ -159,7 +159,10 @@ export const Variables = (props: VariablesPageProps) => { newNodeNameRef.current = varName; handleOnFormSubmit?.( updatedNode, - dataMapperMode === DataMapperDisplayMode.VIEW ? DataMapperDisplayMode.POPUP : DataMapperDisplayMode.NONE, + { + view: editorConfig?.view, + displayMode: editorConfig?.displayMode === EditorDisplayMode.VIEW ? EditorDisplayMode.POPUP : EditorDisplayMode.NONE + }, { closeSidePanel: false, isChangeFromHelperPane: true, postUpdateCallBack: () => { onClose() diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/BI/HelperPaneNew/index.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/BI/HelperPaneNew/index.tsx index b7d8701783a..db23e35454f 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/views/BI/HelperPaneNew/index.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/views/BI/HelperPaneNew/index.tsx @@ -23,7 +23,7 @@ import { Variables } from './Views/Variables'; import { Inputs } from './Views/Inputs'; import { Documents } from './Views/Documents'; import { DocumentConfig } from './Views/DocumentConfig'; -import { CompletionInsertText, DataMapperDisplayMode, ExpressionProperty, FlowNode, getPrimaryInputType, InputType, LineRange, RecordTypeField } from '@wso2/ballerina-core'; +import { CompletionInsertText, EditorConfig, ExpressionProperty, FlowNode, getPrimaryInputType, InputType, LineRange, RecordTypeField } from '@wso2/ballerina-core'; import { CompletionItem, HelperPaneCustom, HelperPaneHeight, Typography } from '@wso2/ui-toolkit'; import { SlidingPane, SlidingPaneHeader, SlidingPaneNavContainer, SlidingWindow } from '@wso2/ui-toolkit'; import { CreateValue } from './Views/CreateValue'; @@ -59,7 +59,7 @@ export type HelperPaneNewProps = { isAssignIdentifier?: boolean; completions: CompletionItem[], projectPath?: string, - handleOnFormSubmit?: (updatedNode?: FlowNode, dataMapperMode?: DataMapperDisplayMode, options?: FormSubmitOptions) => void + handleOnFormSubmit?: (updatedNode?: FlowNode, editorConfig?: EditorConfig, options?: FormSubmitOptions) => void selectedType?: CompletionItem; filteredCompletions?: CompletionItem[]; isInModal?: boolean; @@ -101,8 +101,6 @@ const HelperPaneNewEl = ({ (forcedValueTypeConstraint?.includes(AI_PROMPT_TYPE) ? 6 : 5) : (forcedValueTypeConstraint?.includes(AI_PROMPT_TYPE) ? 5 : 4) - const { addModal } = useModalStack() - // Create refs array for all menu items const menuItemRefs = useRef<(HTMLDivElement | null)[]>([]); @@ -169,13 +167,6 @@ const HelperPaneNewEl = ({ return insertText.value; }; - const getCursorOffset = (insertText: string | CompletionInsertText): number => { - if (typeof insertText === 'string') { - return 0; - } - return insertText.cursorOffset ?? 0; - }; - const handleChange = (insertText: string | CompletionInsertText, isRecordConfigureChange?: boolean, shouldKeepHelper?: boolean) => { if (typeof insertText === 'string') { onChange(insertText, { @@ -265,24 +256,6 @@ const HelperPaneNewEl = ({
- - {((forcedValueTypeConstraint && forcedValueTypeConstraint.length > 0)) && ( - <> - {valueCreationOptions.length > 0 && ( - menuItemRefs.current[0] = el} - to="CREATE_VALUE" - data={recordTypeField} - > - - {getHelperPaneIcon(HelperPaneIconType.VALUE)} - - Create Value - - - - )} - )} menuItemRefs.current[2] = el} to="INPUTS" diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/BI/ImportIntegration/ConfigureProjectForm.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/BI/ImportIntegration/ConfigureProjectForm.tsx index cec19b2d892..8a7cd5f159f 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/views/BI/ImportIntegration/ConfigureProjectForm.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/views/BI/ImportIntegration/ConfigureProjectForm.tsx @@ -38,6 +38,7 @@ export function ConfigureProjectForm({ isMultiProject, onNext, onBack }: Configu workspaceName: "", orgName: "", version: "", + isLibrary: false, }); const [multiProjectData, setMultiProjectData] = useState({ diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/BI/PackageOverview/index.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/BI/PackageOverview/index.tsx index 6aab60188b4..c3f4523ade2 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/views/BI/PackageOverview/index.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/views/BI/PackageOverview/index.tsx @@ -101,10 +101,10 @@ const HeaderControls = styled.div` margin-right: 16px; `; -const MainContent = styled.div` +const MainContent = styled.div<{ fullWidth?: boolean }>` padding: 16px; display: grid; - grid-template-columns: 3fr 1fr; + grid-template-columns: ${(props: { fullWidth?: boolean }) => props.fullWidth ? '1fr' : '3fr 1fr'}; min-height: 0; // Prevents grid blowout overflow: auto; max-height: calc(100vh - 90px); // Adjust based on header and any margins @@ -617,6 +617,7 @@ export function PackageOverview(props: PackageOverviewProps) { const [readmeContent, setReadmeContent] = useState(""); const [projectStructure, setProjectStructure] = useState(); const [isWorkspace, setIsWorkspace] = useState(false); + const [isLibrary, setIsLibrary] = useState(false); const [enabled, setEnableICP] = useState(false); const { data: devantMetadata } = useQuery({ @@ -635,6 +636,7 @@ export function PackageOverview(props: PackageOverviewProps) { setIsWorkspace(res.workspaceName !== undefined); if (project) { setProjectStructure(project); + setIsLibrary(project.isLibrary ?? false); } }); @@ -826,12 +828,16 @@ export function PackageOverview(props: PackageOverviewProps) { /> Configure - - + {!isLibrary && ( + <> + + + + )} ); @@ -842,7 +848,7 @@ export function PackageOverview(props: PackageOverviewProps) { {isWorkspace ? ( @@ -858,7 +864,7 @@ export function PackageOverview(props: PackageOverviewProps) { )} - + {showAlert && ( @@ -894,13 +900,13 @@ export function PackageOverview(props: PackageOverviewProps) { {isEmptyProject() ? ( - Your integration is empty + {isLibrary ? "Your library is empty" : "Your integration is empty"} - Start by adding artifacts or use AI to generate your integration structure + Start by adding artifacts or use AI to generate your {isLibrary ? "shared logic and utilities" : "integration structure"} diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/BI/TestFunctionForm/index.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/BI/TestFunctionForm/index.tsx index 96b557742c9..d4693ab63ae 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/views/BI/TestFunctionForm/index.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/views/BI/TestFunctionForm/index.tsx @@ -33,15 +33,19 @@ const FormContainer = styled.div` display: flex; flex-direction: column; max-width: 600px; - gap: 20px; - margin-top: 20px; + margin-bottom: 20px; + + .side-panel-body { + overflow: visible; + overflow-y: hidden; + } `; const Container = styled.div` display: "flex"; flex-direction: "column"; gap: 10; - margin: 20px; + margin-bottom: 20px; `; interface TestFunctionDefProps { @@ -150,23 +154,79 @@ export function TestFunctionForm(props: TestFunctionDefProps) { editable: true, enabled: true, advanced: true, + hidden: true, documentation: '', value: '', paramManagerProps: { paramValues: generateParamFields(testFunction.parameters), - formFields: paramFiels, + formFields: paramFields, handleParameter: handleParamChange }, types: [{ fieldType: "PARAM_MANAGER", selected: false }] }); } - if (testFunction.returnType) { - fields.push(generateFieldFromProperty('returnType', testFunction.returnType)); - } if (testFunction.annotations) { const configAnnotation = getTestConfigAnnotation(testFunction.annotations); if (configAnnotation && configAnnotation.fields) { + const minPassRateField = configAnnotation.fields.find(f => f.originalName === 'minPassRate'); + if (minPassRateField) { + const generatedField = generateFieldFromProperty('minPassRate', minPassRateField); + fields.push({ + ...generatedField, + type: 'SLIDER', + advanced: true, + sliderProps: { + min: 0, + max: 100, + step: 1, + showValue: true, + showMarkers: true, + valueFormatter: (value: number) => `${value}%` + } + }); + } + for (const field of configAnnotation.fields) { + // Skip fields already processed + if (field.originalName === 'dataProviderMode' || + field.originalName === 'minPassRate' || + field.originalName === 'evalSetFile') { + continue; + } + + // Special handling for groups and dependsOn - use EXPRESSION_SET + if (field.originalName === 'groups' || field.originalName === 'dependsOn') { + fields.push({ + ...generateFieldFromProperty(field.originalName, field), + type: 'EXPRESSION_SET', + advanced: field.originalName === 'groups' ? false : true, + types: [{ fieldType: 'EXPRESSION_SET', selected: false }] + }); + continue; + } + + // Special handling for expression fields - ensure they use EXPRESSION type + if (field.originalName === 'before' || field.originalName === 'after' || + field.originalName === 'runs' || field.originalName === 'dataProvider') { + fields.push({ + ...generateFieldFromProperty(field.originalName, field), + type: 'EXPRESSION', + advanced: true, + types: [{ fieldType: 'EXPRESSION', selected: false }] + }); + continue; + } + + // Special handling for enabled - use FLAG + if (field.originalName === 'enabled') { + fields.push({ + ...generateFieldFromProperty(field.originalName, field), + type: 'FLAG', + types: [{ fieldType: 'FLAG', selected: false }] + }); + continue; + } + fields.push(generateFieldFromProperty(field.originalName, field)); } } @@ -211,18 +271,41 @@ export function TestFunctionForm(props: TestFunctionDefProps) { } const generateFieldFromProperty = (key: string, property: ValueProperty): FormField => { - return { + const fieldType = getPrimaryInputType(property.types)?.fieldType; + + // Convert decimal (0-1) to percentage (0-100) for minPassRate display + let displayValue = property.value; + if (key === 'minPassRate') { + const decimalValue = parseFloat(property.value); + displayValue = String(Math.round((isNaN(decimalValue) ? 1 : decimalValue) * 100)); + } + + const baseField: FormField = { key: key, label: property.metadata.label, - type: getPrimaryInputType(property.types)?.fieldType, + type: fieldType, optional: property.optional, editable: property.editable, advanced: property.advanced, enabled: true, documentation: property.metadata.description, - value: property.value, - types: [{ fieldType: getPrimaryInputType(property.types)?.fieldType, selected: false }] + value: displayValue, + types: [{ fieldType: fieldType, selected: false }] + }; + + // Add slider-specific configuration for minPassRate + if (key === 'minPassRate' && fieldType === 'SLIDER') { + baseField.sliderProps = { + min: 0, + max: 100, + step: 1, + showValue: true, + showMarkers: true, + valueFormatter: (value: number) => `${value}%` + }; } + + return baseField; } const fillFunctionModel = (formValues: FormValues, formImports: FormImports): TestFunction => { @@ -271,6 +354,30 @@ export function TestFunctionForm(props: TestFunctionDefProps) { if (field.originalName == 'enabled') { field.value = formValues['enabled']; } + if (field.originalName == 'dependsOn') { + field.value = formValues['dependsOn'] || []; + } + if (field.originalName == 'before') { + field.value = formValues['before'] || ""; + } + if (field.originalName == 'after') { + field.value = formValues['after'] || ""; + } + if (field.originalName == 'runs') { + field.value = formValues['runs'] || ""; + } + if (field.originalName == 'minPassRate') { + // Convert percentage (0-100) to decimal (0-1) + const percentageValue = formValues['minPassRate'] || 100; + field.value = String(Number(percentageValue) / 100); + } + if (field.originalName == 'dataProvider') { + if (formValues['dataProviderMode'] === 'function') { + field.value = formValues['dataProvider'] || ""; + } + // Preserve existing dataProvider value when in evalSet mode + // (backend creates it from evalSetFile) + } } } } @@ -285,21 +392,21 @@ export function TestFunctionForm(props: TestFunctionDefProps) { optional: false, editable: true, advanced: false, - types: [{fieldType: "TYPE", selected: false }] + types: [{ fieldType: "TYPE", selected: false }] }, variable: { value: "b", optional: false, editable: true, advanced: false, - types: [{fieldType: "IDENTIFIER", selected: false }] + types: [{ fieldType: "IDENTIFIER", selected: false }] }, defaultValue: { value: "\"default\"", optional: false, editable: true, advanced: false, - types: [{fieldType: "EXPRESSION", selected: false }] + types: [{ fieldType: "EXPRESSION", selected: false }] }, optional: false, editable: true, @@ -365,7 +472,79 @@ export function TestFunctionForm(props: TestFunctionDefProps) { editable: true, advanced: false, types: [{ fieldType: "FLAG", selected: false }] - } + }, + { + metadata: { + label: "Depends On", + description: "List of test function names that this test depends on" + }, + types: [{ fieldType: "EXPRESSION_SET", selected: false }], + originalName: "dependsOn", + value: [], + optional: true, + editable: true, + advanced: true + }, + { + metadata: { + label: "Before Function", + description: "Function to execute before this test" + }, + types: [{ fieldType: "EXPRESSION", selected: false }], + originalName: "before", + value: "", + optional: true, + editable: true, + advanced: true + }, + { + metadata: { + label: "After Function", + description: "Function to execute after this test" + }, + types: [{ fieldType: "EXPRESSION", selected: false }], + originalName: "after", + value: "", + optional: true, + editable: true, + advanced: true + }, + { + metadata: { + label: "Runs", + description: "Number of times to execute this test" + }, + types: [{ fieldType: "EXPRESSION", selected: false }], + originalName: "runs", + value: "", + optional: true, + editable: true, + advanced: true + }, + { + metadata: { + label: "Minimum Pass Rate (%)", + description: "Minimum percentage of runs that must pass (0-100)" + }, + types: [{ fieldType: "SLIDER", selected: false }], + originalName: "minPassRate", + value: "1.0", + optional: true, + editable: true, + advanced: true + }, + { + metadata: { + label: "Data Provider", + description: "Function that provides test data" + }, + types: [{ fieldType: "EXPRESSION", selected: false }], + originalName: "dataProvider", + value: "", + optional: true, + editable: true, + advanced: true + }, ] } ], @@ -373,7 +552,7 @@ export function TestFunctionForm(props: TestFunctionDefProps) { } } - const paramFiels: FormField[] = [ + const paramFields: FormField[] = [ { key: `variable`, label: 'Name', @@ -433,4 +612,3 @@ export function TestFunctionForm(props: TestFunctionDefProps) { ); } - diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/BI/WorkspaceOverview/PackageListView.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/BI/WorkspaceOverview/PackageListView.tsx index 93ce53fe5cf..d6fc86c65d3 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/views/BI/WorkspaceOverview/PackageListView.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/views/BI/WorkspaceOverview/PackageListView.tsx @@ -204,8 +204,10 @@ const renderIcon = (iconConfig: { name: string; source: 'icon' | 'codicon' }) => ); }; -const renderPackageIcon = (types: SCOPE[]) => { - if (types.length > 0) { +const renderPackageIcon = (types: SCOPE[], isLibrary: boolean) => { + if (isLibrary) { + return renderIcon({ name: 'package', source: 'codicon' }); + } else if (types.length > 0) { const iconConfig = getTypeIcon(types[0]); return renderIcon(iconConfig); } @@ -223,6 +225,7 @@ export function PackageListView(props: PackageListViewProps) { id: project.projectName, name: project.projectTitle, projectPath: project.projectPath, + isLibrary: project?.isLibrary ?? false, types: getIntegrationTypes(project) } }); @@ -259,7 +262,7 @@ export function PackageListView(props: PackageListViewProps) { - {renderPackageIcon(pkg.types)} + {renderPackageIcon(pkg.types, pkg.isLibrary)} {pkg.name} @@ -280,6 +283,11 @@ export function PackageListView(props: PackageListViewProps) { {type !== SCOPE.ANY ? getTypeLabel(type) : ''} ))} + {pkg.isLibrary && ( + + Library + + )} ))} diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/BI/index.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/BI/index.tsx index c0faa8747fc..d38e47b2f76 100644 --- a/workspaces/ballerina/ballerina-visualizer/src/views/BI/index.tsx +++ b/workspaces/ballerina/ballerina-visualizer/src/views/BI/index.tsx @@ -27,3 +27,4 @@ export { PopupMessage } from "./PopupMessage"; export { FunctionForm } from "./FunctionForm"; export { SetupView } from "./SetupView"; export { TestFunctionForm } from "./TestFunctionForm"; +export { AIEvaluationForm } from "./AIEvaluationForm"; diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/EvalsetViewer/ConfirmationModal.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/EvalsetViewer/ConfirmationModal.tsx new file mode 100644 index 00000000000..9db83635fa2 --- /dev/null +++ b/workspaces/ballerina/ballerina-visualizer/src/views/EvalsetViewer/ConfirmationModal.tsx @@ -0,0 +1,108 @@ +/** + * Copyright (c) 2026, WSO2 LLC. (https://www.wso2.com) All Rights Reserved. + * + * WSO2 LLC. licenses this file to you under the Apache License, + * Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import React from "react"; +import styled from "@emotion/styled"; +import { Button } from "@wso2/ui-toolkit"; + +const Overlay = styled.div` + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: rgba(0, 0, 0, 0.5); + display: flex; + align-items: center; + justify-content: center; + z-index: 100000; +`; + +const ModalContainer = styled.div` + background-color: var(--vscode-editorWidget-background); + border: 1px solid var(--vscode-widget-border); + border-radius: 4px; + width: 90%; + max-width: 500px; + padding: 20px; + box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3); +`; + +const ModalHeader = styled.div` + display: flex; + align-items: center; + gap: 12px; + margin-bottom: 16px; +`; + +const ModalTitle = styled.h3` + font-size: 16px; + font-weight: 600; + margin: 0; + color: var(--vscode-foreground); +`; + +const ModalMessage = styled.p` + font-size: 13px; + color: var(--vscode-descriptionForeground); + margin: 0 0 20px 0; + line-height: 1.5; +`; + +const ModalActions = styled.div` + display: flex; + gap: 12px; + justify-content: flex-end; +`; + +interface ConfirmationModalProps { + title: string; + message: string; + confirmLabel?: string; + cancelLabel?: string; + onConfirm: () => void; + onCancel: () => void; +} + +export const ConfirmationModal: React.FC = ({ + title, + message, + confirmLabel = "Confirm", + cancelLabel = "Cancel", + onConfirm, + onCancel, +}) => { + return ( + + e.stopPropagation()}> + + {title} + + {message} + + + + + + + ); +}; diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/EvalsetViewer/EditableTraceMessage.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/EvalsetViewer/EditableTraceMessage.tsx new file mode 100644 index 00000000000..c74f2fa8240 --- /dev/null +++ b/workspaces/ballerina/ballerina-visualizer/src/views/EvalsetViewer/EditableTraceMessage.tsx @@ -0,0 +1,272 @@ +/** + * Copyright (c) 2026, WSO2 LLC. (https://www.wso2.com) All Rights Reserved. + * + * WSO2 LLC. licenses this file to you under the Apache License, + * Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import React, { useState, useRef, useEffect } from "react"; +import styled from "@emotion/styled"; +import { MessageBubble, preprocessLatex } from "../AgentChatPanel/Components/ChatInterface"; +import { Icon } from "@wso2/ui-toolkit"; +import ReactMarkdown from "react-markdown"; +import remarkMath from 'remark-math'; +import remarkGfm from 'remark-gfm'; +import rehypeKatex from 'rehype-katex'; + +const EditableContainer = styled.div<{ isUser: boolean }>` + position: relative; +`; + +const EditIconButton = styled.button<{ isUser: boolean }>` + position: absolute; + top: -10px; + ${(props: { isUser: boolean; }) => props.isUser ? 'left: -10px;' : 'right: -10px;'} + background: var(--vscode-editor-background); + color: var(--vscode-foreground); + border: 1px solid var(--vscode-panel-border); + border-radius: 8px; + padding: 4px; + cursor: pointer; + display: flex; + align-items: center; + justify-content: center; + z-index: 10; + + opacity: 0; + transform: ${(props: { isUser: boolean; }) => props.isUser ? 'translate(-4px, -4px)' : 'translate(4px, -4px)'}; + + transition: + opacity 0.2s ease, + transform 0.2s ease, + background-color 0.15s ease, + border-color 0.15s ease; + + &:hover { + background-color: var(--vscode-list-hoverBackground); + border-color: var(--vscode-focusBorder); + } + + &:active { + transform: translate(0, 0) scale(0.95); + } +`; + +const EditableContent = styled.div` + min-height: 20px; + outline: none; + font-family: var(--vscode-font-family); + font-size: inherit; + line-height: inherit; + white-space: pre-wrap; + word-wrap: break-word; + + &:empty:before { + content: attr(data-placeholder); + color: var(--vscode-input-placeholderForeground); + } +`; + +const EditActions = styled.div<{ isUser: boolean }>` + display: flex; + gap: 4px; + margin-top: 16px; + justify-content: flex-end; +`; + +const EditingMessageBubble = styled(MessageBubble)` + display: flex; + flex-direction: column; + flex-shrink: 1; + min-width: 200px; + padding: 12px 14px; +`; + +const SaveButton = styled.button` + background-color: var(--vscode-button-background); + color: var(--vscode-button-foreground); + border: none; + border-radius: 4px; + padding: 4px 8px; + cursor: pointer; + font-size: 13px; + font-weight: 500; + white-space: nowrap; + + &:hover { + background-color: var(--vscode-button-hoverBackground); + } +`; + +const CancelButton = styled.button` + background-color: var(--vscode-button-secondaryBackground); + color: var(--vscode-button-secondaryForeground); + border: none; + border-radius: 4px; + padding: 4px 8px; + cursor: pointer; + font-size: 13px; + white-space: nowrap; + + &:hover { + background-color: var(--vscode-button-secondaryHoverBackground); + } +`; + +interface EditableTraceMessageProps { + traceId: string; + isUser: boolean; + content: unknown; + isEditMode: boolean; + onSave: (traceId: string, content: string) => void; +} + +export const EditableTraceMessage: React.FC = ({ + traceId, + isUser, + content, + isEditMode, + onSave, +}) => { + const [isEditing, setIsEditing] = useState(false); + const [editValue, setEditValue] = useState(""); + const editableRef = useRef(null); + + const contentString = typeof content === 'string' ? content : JSON.stringify(content, null, 2); + + useEffect(() => { + if (isEditing && editableRef.current) { + // Set initial content + editableRef.current.textContent = editValue; + editableRef.current.focus(); + // Move cursor to end + const range = document.createRange(); + const selection = window.getSelection(); + range.selectNodeContents(editableRef.current); + range.collapse(false); + selection?.removeAllRanges(); + selection?.addRange(range); + } + }, [isEditing]); + + // Reset editing state when edit mode is exited + useEffect(() => { + if (!isEditMode && isEditing) { + setIsEditing(false); + setEditValue(""); + } + }, [isEditMode, isEditing]); + + const handleStartEdit = () => { + setEditValue(contentString); + setIsEditing(true); + }; + + const handleSave = () => { + const content = editableRef.current?.textContent || ""; + onSave(traceId, content); + setIsEditing(false); + }; + + const handleCancel = () => { + setIsEditing(false); + setEditValue(""); + }; + + const handleInput = () => { + if (editableRef.current) { + setEditValue(editableRef.current.textContent || ""); + } + }; + + const handleKeyDown = (e: React.KeyboardEvent) => { + if (e.key === 'Enter' && (e.ctrlKey || e.metaKey)) { + e.preventDefault(); + handleSave(); + } else if (e.key === 'Escape') { + e.preventDefault(); + handleCancel(); + } + }; + + const handlePaste = (e: React.ClipboardEvent) => { + e.preventDefault(); + const text = e.clipboardData.getData('text/plain'); + const selection = window.getSelection(); + if (selection && selection.rangeCount > 0) { + const range = selection.getRangeAt(0); + range.deleteContents(); + range.insertNode(document.createTextNode(text)); + range.collapse(false); + selection.removeAllRanges(); + selection.addRange(range); + } + + if (editableRef.current) { + setEditValue(editableRef.current.textContent || ""); + } + }; + + if (isEditing) { + return ( + + + + Cancel + Save + + + ); + } + + return ( + + + + {preprocessLatex(contentString)} + + + {isEditMode && ( + + + + )} + + ); +}; diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/EvalsetViewer/EvalThreadViewer.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/EvalsetViewer/EvalThreadViewer.tsx new file mode 100644 index 00000000000..d97b56dadba --- /dev/null +++ b/workspaces/ballerina/ballerina-visualizer/src/views/EvalsetViewer/EvalThreadViewer.tsx @@ -0,0 +1,917 @@ +/** + * Copyright (c) 2026, WSO2 LLC. (https://www.wso2.com) All Rights Reserved. + * + * WSO2 LLC. licenses this file to you under the Apache License, + * Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import React, { useState } from "react"; +import styled from "@emotion/styled"; +import { EvalThread, EvalSet, EvalFunctionCall, EvalsetTrace, EvalToolSchema, AvailableNode } from "@wso2/ballerina-core"; +import { MessageContainer, ProfilePic } from "../AgentChatPanel/Components/ChatInterface"; +import { Button, Icon } from "@wso2/ui-toolkit"; +import { TopNavigationBar } from "../../components/TopNavigationBar"; +import { useRpcContext } from "@wso2/ballerina-rpc-client"; +import { EditableTraceMessage } from "./EditableTraceMessage"; +import { ToolCallsList } from "./ToolCallsList"; +import { ToolEditorModal } from "./ToolEditorModal"; +import { ConfirmationModal } from "./ConfirmationModal"; +import { + DndContext, + closestCenter, + KeyboardSensor, + PointerSensor, + useSensor, + useSensors, + DragEndEvent, +} from '@dnd-kit/core'; +import { + arrayMove, + SortableContext, + sortableKeyboardCoordinates, + useSortable, + verticalListSortingStrategy, +} from '@dnd-kit/sortable'; +import { CSS } from '@dnd-kit/utilities'; +import { + cloneEvalThread, + updateTraceUserMessage, + updateTraceAgentOutput, + updateToolCallsInTrace, + getContentType, + deserializeContent, + generateToolCallId, + createNewTrace, + getToolCallsFromTrace +} from "./utils/traceAdapters"; + +// --- LAYOUT COMPONENTS --- + +const PageWrapper = styled.div` + height: 100%; + width: 100%; + display: flex; + flex-direction: column; +`; + +const Container = styled.div` + flex: 1; + width: 100%; + background-color: var(--vscode-editor-background); + color: var(--vscode-editor-foreground); + display: flex; + flex-direction: column; + overflow: hidden; + + *, *::before, *::after { + box-sizing: border-box; + } +`; + +const Header = styled.div` + top: 0; + padding: 16px 24px; + position: sticky; + background-color: var(--vscode-editorWidget-background); + border-top: 1px solid var(--vscode-panel-border); + border-bottom: 1px solid var(--vscode-panel-border); + z-index: 10; + display: flex; + align-items: flex-start; + justify-content: space-between; +`; + +const EditModeBanner = styled.div<{ $isVisible: boolean }>` + background-color: var(--vscode-textBlockQuote-background); + border-left: 3px solid var(--vscode-editorInfo-foreground); + display: flex; + align-items: flex-start; + gap: 12px; + + overflow: hidden; + transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); + + max-height: ${(props: { $isVisible: any; }) => (props.$isVisible ? '100px' : '0px')}; + opacity: ${(props: { $isVisible: any; }) => (props.$isVisible ? 1 : 0)}; + padding: ${(props: { $isVisible: any; }) => (props.$isVisible ? '12px 24px' : '0px 24px')}; + border-bottom: 1px solid ${(props: { $isVisible: any; }) => (props.$isVisible ? 'var(--vscode-panel-border)' : 'transparent')}; + margin-bottom: ${(props: { $isVisible: any; }) => (props.$isVisible ? '0px' : '-1px')}; +`; + +const BannerContent = styled.div` + flex: 1; + display: flex; + align-items: center; +`; + +const BannerDescription = styled.div` + font-size: 13px; + color: var(--vscode-descriptionForeground); +`; + +const HeaderLeft = styled.div` + flex: 1; + display: flex; + align-items: center; + gap: 12px; +`; + +const HeaderRight = styled.div` + display: flex; + align-items: center; + gap: 12px; +`; + +const IconButton = styled.div` + padding: 4px; + cursor: pointer; + border-radius: 4px; + display: flex; + align-items: center; + justify-content: center; + + &:hover { + background-color: var(--vscode-toolbar-hoverBackground); + } +`; + +const UnsavedIndicator = styled.div` + display: flex; + align-items: center; + gap: 8px; + font-size: 13px; + color: var(--vscode-descriptionForeground); + margin-right: 8px; +`; + +const Dot = styled.span` + width: 8px; + height: 8px; + border-radius: 50%; + background-color: var(--vscode-notificationsWarningIcon-foreground); +`; + +const Title = styled.h2` + font-size: 1.3em; + font-weight: 600; + margin: 0 0 6px 0; + color: var(--vscode-foreground); + letter-spacing: -0.01em; +`; + +const Subtitle = styled.p` + font-size: 14px; + font-weight: 500; + color: var(--vscode-descriptionForeground); + margin: 0; +`; + +export const Messages = styled.div` + display: flex; + flex-direction: column; + flex: 1; + overflow-y: auto; + gap: 0; + position: relative; + z-index: 1; + padding: 22px 20px 60px; + + @media (min-width: 800px) { + padding-left: 10%; + padding-right: 10%; + } + + @media (min-width: 1200px) { + padding-left: 15%; + padding-right: 15%; + } +`; + +const TimelineContainer = styled.div` + position: relative; + display: flex; + flex-direction: column; +`; + +// --- SEAMLESS TRANSITION COMPONENTS --- + +// TraceWrapper: Always has a border width (transparent in view mode) to prevent layout shifting +const TraceWrapper = styled.div<{ $isEditMode: boolean; $isDragging?: boolean }>` + display: flex; + flex-direction: row; + align-items: stretch; + + border: 1px solid ${(props: { $isEditMode: any; }) => props.$isEditMode ? 'var(--vscode-panel-border)' : 'transparent'}; + border-radius: 8px; + + position: relative; + background-color: ${(props: { $isEditMode: any; }) => props.$isEditMode ? 'var(--vscode-editor-background)' : 'transparent'}; + margin: 4px 0; + z-index: 2; + opacity: ${(props: { $isDragging: any; }) => props.$isDragging ? 0.5 : 1}; + + transition: border-color 0.3s ease, background-color 0.3s ease, transform 0.2s ease; + + &:hover { + border-color: ${(props: { $isEditMode: any; }) => props.$isEditMode ? 'var(--vscode-focusBorder)' : 'transparent'}; + } +`; + +// TraceHeader: Fixed width container. Icons fade in/out via opacity. +const TraceHeader = styled.div<{ $isEditMode: boolean }>` + display: flex; + flex-direction: column; + align-items: center; + gap: 8px; + + width: 32px; + padding: 0 12px; + flex-shrink: 0; + padding-top: 8px; + + border-right: 1px solid ${(props: { $isEditMode: any; }) => props.$isEditMode ? 'var(--vscode-panel-border)' : 'transparent'}; + transition: border-color 0.3s ease; +`; + +// Helper to fade icons +const TraceHeaderIcons = styled.div<{ $visible: boolean }>` + display: flex; + flex-direction: column; + align-items: center; + gap: 8px; + opacity: ${(props: { $visible: any; }) => props.$visible ? 1 : 0}; + transition: opacity 0.3s ease; + pointer-events: ${(props: { $visible: any; }) => props.$visible ? 'auto' : 'none'}; +`; + +const TraceContent = styled.div` + flex: 1; + display: flex; + flex-direction: column; + min-width: 0; + padding: 12px 16px; +`; + +const TraceDragHandle = styled.div` + cursor: grab; + color: var(--vscode-descriptionForeground); + display: flex; + align-items: center; + justify-content: center; + padding: 6px; + border-radius: 4px; + + &:hover { + background-color: var(--vscode-toolbar-hoverBackground); + } +`; + +const TraceDeleteButton = styled.button` + background: none; + border: none; + padding: 6px; + cursor: pointer; + color: var(--vscode-foreground); + border-radius: 4px; + display: flex; + align-items: center; + justify-content: center; + + &:hover { + background-color: var(--vscode-toolbar-hoverBackground); + color: var(--vscode-errorForeground); + } +`; + +// HoverAddTurnContainer: Animates height from 0 to 32px when entering edit mode +const HoverAddTurnContainer = styled.div<{ $visible: boolean }>` + position: relative; + display: flex; + justify-content: center; + align-items: center; + z-index: 5; + + /* Animation Logic */ + height: ${(props: { $visible: any; }) => props.$visible ? '32px' : '0px'}; + margin: ${(props: { $visible: any; }) => props.$visible ? '-16px 0' : '0px'}; + opacity: ${(props: { $visible: any; }) => props.$visible ? 0 : 0}; + pointer-events: ${(props: { $visible: any; }) => props.$visible ? 'auto' : 'none'}; + + transition: height 0.3s cubic-bezier(0.4, 0, 0.2, 1), margin 0.3s ease, opacity 0.2s ease; + overflow: hidden; + + &:hover { + opacity: ${(props: { $visible: any; }) => props.$visible ? 1 : 0}; + } +`; + +const AddMessageButton = styled.button` + display: flex; + align-items: center; + justify-content: center; + height: 26px; + padding: 0 12px; + border-radius: 8px; + background-color: var(--vscode-editor-background); + color: var(--vscode-foreground); + border: 1px solid var(--vscode-panel-border); + cursor: pointer; + font-size: 12px; + transition: all 0.2s ease; + + &:hover { + border-color: var(--vscode-focusBorder); + } + + .icon-wrapper { + margin-right: 4px; + display: flex; + align-items: center; + } +`; + +const StyledMessageContainer = styled(MessageContainer)` + &:last-child { + margin-bottom: 0; + } + + &:hover .add-tool-button { + opacity: 1; + transform: translateY(0); + max-height: 32px; + padding-top: 4px; + padding-bottom: 4px; + margin-bottom: 8px; + border-width: 1px; + transition-delay: 0.2s; + } + + &:hover .edit-button { + opacity: 1; + transform: translate(0, 0); + transition-delay: 0.2s; + } +`; + +const AgentContentWrapper = styled.div` + display: flex; + flex-direction: column; + gap: 0; + position: relative; +`; + +const AddToolButton = styled.button` + background-color: var(--vscode-editorWidget-background); + color: var(--vscode-descriptionForeground); + border: 1px solid var(--vscode-panel-border); + border-radius: 4px; + padding: 0 12px; + padding-top: 0; + padding-bottom: 0; + margin-bottom: 0; + border-width: 0; + cursor: pointer; + font-size: 12px; + font-weight: 500; + display: flex; + align-items: center; + gap: 6px; + align-self: flex-start; + opacity: 0; + transform: translateY(-4px); + max-height: 0; + overflow: hidden; + transition: all 0.2s ease; + pointer-events: none; + + &:hover { + background-color: var(--vscode-list-hoverBackground); + border-color: var(--vscode-focusBorder); + color: var(--vscode-foreground); + } + + .message-container:hover & { + pointer-events: auto; + } +`; + +interface SortableTraceWrapperProps { + trace: EvalsetTrace; + isEditMode: boolean; + children: React.ReactNode; + onDelete: () => void; +} + +const SortableTraceWrapper: React.FC = ({ + trace, + isEditMode, + children, + onDelete, +}) => { + const { + attributes, + listeners, + setNodeRef, + transform, + transition, + isDragging, + } = useSortable({ id: trace.id, disabled: !isEditMode }); + + const style = { + transform: CSS.Transform.toString(transform), + transition, + width: '100%', + }; + + return ( +
+ + + + + + + + + + + + + {children} + + +
+ ); +}; + +interface EvalThreadViewerProps { + projectPath: string; + filePath: string; + evalSet: EvalSet; + evalThread: EvalThread; +} + +export const EvalThreadViewer: React.FC = ({ projectPath, filePath, evalSet, evalThread }) => { + const { rpcClient } = useRpcContext(); + const [isEditMode, setIsEditMode] = useState(false); + const [originalEvalThread, setOriginalEvalThread] = useState(evalThread); + const [workingEvalThread, setWorkingEvalThread] = useState(evalThread); + const [hasUnsavedChanges, setHasUnsavedChanges] = useState(false); + const [isSaving, setIsSaving] = useState(false); + const [selectedToolCall, setSelectedToolCall] = useState<{ + traceId: string; + toolCallIndex: number; + } | null>(null); + const [showDiscardConfirmation, setShowDiscardConfirmation] = useState(false); + const [deleteTraceIndex, setDeleteTraceIndex] = useState(null); + const [deleteToolCall, setDeleteToolCall] = useState<{ traceId: string; toolCallIndex: number } | null>(null); + const [availableToolsCache, setAvailableToolsCache] = useState(null); + + // Handle back navigation to thread list view + const handleBack = () => { + rpcClient.getCommonRpcClient().executeCommand({ + commands: ['ballerina.openEvalsetViewer', { fsPath: filePath }] + }); + }; + + const sensors = useSensors( + useSensor(PointerSensor), + useSensor(KeyboardSensor, { + coordinateGetter: sortableKeyboardCoordinates, + }) + ); + + const fetchAvailableTools = async (): Promise => { + if (availableToolsCache !== null) { + return availableToolsCache; + } + + try { + const response = await rpcClient.getBIDiagramRpcClient().search({ + filePath: projectPath, + queryMap: { q: "", limit: 50 }, + searchKind: "AGENT_TOOL" + }); + + const tools: EvalToolSchema[] = response.categories + .flatMap(category => category.items as AvailableNode[]) + .map(node => { + const metadataData = node.metadata?.data as any; + const inputParameters = metadataData?.inputParameters || []; + + // Transform inputParameters array to JSON Schema properties format + const properties: { [key: string]: any } = {}; + inputParameters.forEach((param: any) => { + if (param.name) { + properties[param.name] = { + type: param.type === 'int' ? 'number' : param.type, + description: param.description || '' + }; + } + }); + + return { + name: node.metadata?.label || node.codedata?.symbol || 'unknown', + description: node.metadata?.description || '', + parametersSchema: inputParameters.length > 0 ? { properties } : undefined + }; + }); + + setAvailableToolsCache(tools); + return tools; + } catch (error) { + console.error('Error fetching available tools:', error); + return []; + } + }; + + const handleEnterEditMode = () => { + setOriginalEvalThread(cloneEvalThread(evalThread)); + setWorkingEvalThread(cloneEvalThread(evalThread)); + setHasUnsavedChanges(false); + setIsEditMode(true); + }; + + const handleExitEditMode = () => { + setIsEditMode(false); + setHasUnsavedChanges(false); + }; + + const handleSaveUserMessage = (traceId: string, content: string) => { + setWorkingEvalThread(prev => { + const updatedTraces = prev.traces.map(trace => { + if (trace.id === traceId) { + const originalType = getContentType(trace.userMessage.content); + const deserializedContent = deserializeContent(content, originalType); + return updateTraceUserMessage(trace, deserializedContent); + } + return trace; + }); + return { ...prev, traces: updatedTraces }; + }); + setHasUnsavedChanges(true); + }; + + const handleSaveAgentOutput = (traceId: string, content: string) => { + setWorkingEvalThread(prev => { + const updatedTraces = prev.traces.map(trace => { + if (trace.id === traceId) { + const originalType = getContentType(trace.output?.content); + const deserializedContent = deserializeContent(content, originalType); + return updateTraceAgentOutput(trace, deserializedContent); + } + return trace; + }); + return { ...prev, traces: updatedTraces }; + }); + setHasUnsavedChanges(true); + }; + + const handleSave = async () => { + setIsSaving(true); + try { + const updatedEvalSet: EvalSet = { + ...evalSet, + threads: evalSet.threads.map(c => + c.id === workingEvalThread.id ? workingEvalThread : c + ) + }; + + const response = await rpcClient.getVisualizerRpcClient().saveEvalThread({ + filePath, + updatedEvalSet + }); + + if (response.success) { + setHasUnsavedChanges(false); + handleExitEditMode(); + } else { + // Show error when save was unsuccessful + rpcClient.getCommonRpcClient().showErrorMessage({ + message: response.error || 'Failed to save evaluation thread.' + }); + } + } catch (error: any) { + console.error('Error saving evalThread:', error); + // Show error for RPC failures + rpcClient.getCommonRpcClient().showErrorMessage({ + message: error?.message || 'An unexpected error occurred while saving.' + }); + } finally { + setIsSaving(false); + } + }; + + const handleDiscardClick = () => { + if (hasUnsavedChanges) { + setShowDiscardConfirmation(true); + } else { + handleExitEditMode(); + } + }; + + const handleDiscard = () => { + setWorkingEvalThread(cloneEvalThread(originalEvalThread)); + setHasUnsavedChanges(false); + setSelectedToolCall(null); + setIsEditMode(false); + setShowDiscardConfirmation(false); + }; + + const handleUpdateToolCalls = (traceId: string, toolCalls: EvalFunctionCall[]) => { + setWorkingEvalThread(prev => { + const updatedTraces = prev.traces.map(trace => { + if (trace.id === traceId) { + return updateToolCallsInTrace(trace, toolCalls); + } + return trace; + }); + return { ...prev, traces: updatedTraces }; + }); + setHasUnsavedChanges(true); + }; + + const handleEditToolCall = (traceId: string, toolCallIndex: number) => { + setSelectedToolCall({ traceId, toolCallIndex }); + }; + + const handleSaveToolCall = (updates: Partial) => { + if (!selectedToolCall) return; + + const { traceId, toolCallIndex } = selectedToolCall; + const trace = workingEvalThread.traces.find(t => t.id === traceId); + if (!trace) return; + + const currentToolCalls = getToolCallsFromTrace(trace); + let updatedToolCalls: EvalFunctionCall[]; + + if (toolCallIndex === -1) { + const newToolCall: EvalFunctionCall = { + id: generateToolCallId(), + name: updates.name || trace.tools[0]?.name || '', + arguments: updates.arguments, + }; + updatedToolCalls = [...currentToolCalls, newToolCall]; + } else { + updatedToolCalls = currentToolCalls.map((tc, idx) => + idx === toolCallIndex ? { ...tc, ...updates } : tc + ); + } + + handleUpdateToolCalls(traceId, updatedToolCalls); + setSelectedToolCall(null); + }; + + const handleAddTurnAtIndex = async (index: number) => { + const tools = await fetchAvailableTools(); + setWorkingEvalThread(prev => { + const newTraces = [...prev.traces]; + newTraces.splice(index, 0, createNewTrace(tools)); + return { ...prev, traces: newTraces }; + }); + setHasUnsavedChanges(true); + }; + + const handleDragEnd = (event: DragEndEvent) => { + const { active, over } = event; + if (over && active.id !== over.id) { + setWorkingEvalThread(prev => { + const oldIndex = prev.traces.findIndex(trace => trace.id === active.id); + const newIndex = prev.traces.findIndex(trace => trace.id === over.id); + return { ...prev, traces: arrayMove(prev.traces, oldIndex, newIndex) }; + }); + setHasUnsavedChanges(true); + } + }; + + const handleDeleteTraceConfirm = () => { + if (deleteTraceIndex !== null) { + setWorkingEvalThread(prev => ({ + ...prev, + traces: prev.traces.filter((_, i) => i !== deleteTraceIndex) + })); + setHasUnsavedChanges(true); + setDeleteTraceIndex(null); + } + }; + + const handleDeleteToolCallRequest = (traceId: string, toolCallIndex: number) => { + setDeleteToolCall({ traceId, toolCallIndex }); + }; + + const handleDeleteToolCallConfirm = () => { + if (deleteToolCall) { + const { traceId, toolCallIndex } = deleteToolCall; + const trace = workingEvalThread.traces.find(t => t.id === traceId); + if (trace) { + const currentToolCalls = getToolCallsFromTrace(trace); + const updatedToolCalls = currentToolCalls.filter((_, i) => i !== toolCallIndex); + handleUpdateToolCalls(traceId, updatedToolCalls); + } + setDeleteToolCall(null); + } + }; + + const displayCase = isEditMode ? workingEvalThread : evalThread; + + return ( + + + +
+ + + + +
+ {evalSet.name} + {displayCase.name} +
+
+ + {isEditMode ? ( + <> + {hasUnsavedChanges && ( + Unsaved changes + )} + + + + ) : ( + + )} + +
+ + {/* Animated Banner - always rendered, visibility controlled by props */} + + + + Edit Mode - Hover over messages to edit, drag traces to reorder, hover between traces to add turns, or hover over agent messages to add tool executions. + + + + + + + {/* Top Add Turn Button */} + + handleAddTurnAtIndex(0)}> +
+ Add Message Turn +
+
+ + + t.id)} strategy={verticalListSortingStrategy}> + {displayCase.traces.map((trace, traceIdx) => { + const toolCalls = getToolCallsFromTrace(trace); + return ( + + setDeleteTraceIndex(traceIdx)} + > + + + + + + + + + + + + + + {isEditMode && ( + { + const tools = await fetchAvailableTools(); + // Update trace with fetched tools if it has an empty tools array + if (trace.tools.length === 0 && tools.length > 0) { + setWorkingEvalThread(prev => ({ + ...prev, + traces: prev.traces.map(t => + t.id === trace.id ? { ...t, tools } : t + ) + })); + } + handleEditToolCall(trace.id, -1); + }}> + + Add Tool Execution + + )} + + + + + + {/* Inter-trace Add Turn Button */} + + handleAddTurnAtIndex(traceIdx + 1)}> +
+ Add Message Turn +
+
+
+ ); + })} +
+
+
+
+
+ + {selectedToolCall && (() => { + const trace = workingEvalThread.traces.find(t => t.id === selectedToolCall.traceId); + if (!trace) return null; + const toolCall = selectedToolCall.toolCallIndex === -1 + ? { name: trace.tools[0]?.name || '', arguments: {} } + : getToolCallsFromTrace(trace)[selectedToolCall.toolCallIndex]; + + return ( + setSelectedToolCall(null)} + onSave={handleSaveToolCall} + /> + ); + })()} + + {showDiscardConfirmation && ( + setShowDiscardConfirmation(false)} + /> + )} + + {deleteTraceIndex !== null && ( + setDeleteTraceIndex(null)} + /> + )} + + {deleteToolCall !== null && ( + setDeleteToolCall(null)} + /> + )} +
+ ); +}; diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/EvalsetViewer/EvalsetViewer.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/EvalsetViewer/EvalsetViewer.tsx new file mode 100644 index 00000000000..708d1b372a8 --- /dev/null +++ b/workspaces/ballerina/ballerina-visualizer/src/views/EvalsetViewer/EvalsetViewer.tsx @@ -0,0 +1,306 @@ +/** + * Copyright (c) 2026, WSO2 LLC. (https://www.wso2.com) All Rights Reserved. + * + * WSO2 LLC. licenses this file to you under the Apache License, + * Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import React, { useState } from "react"; +import styled from "@emotion/styled"; +import { EvalSet, EVENT_TYPE, MACHINE_VIEW } from "@wso2/ballerina-core"; +import { EvalThreadViewer } from "./EvalThreadViewer"; +import { TopNavigationBar } from "../../components/TopNavigationBar"; +import { Button, Icon } from "@wso2/ui-toolkit"; +import { useRpcContext } from "@wso2/ballerina-rpc-client"; + +// --- LAYOUT COMPONENTS --- + +const PageWrapper = styled.div` + height: 100%; + width: 100%; + display: flex; + flex-direction: column; +`; + +const Container = styled.div` + flex: 1; + width: 100%; + background-color: var(--vscode-editor-background); + color: var(--vscode-editor-foreground); + display: flex; + flex-direction: column; + overflow: hidden; + + *, *::before, *::after { + box-sizing: border-box; + } +`; + +const Header = styled.div` + top: 0; + padding: 16px 24px; + position: sticky; + background-color: var(--vscode-editorWidget-background); + border-top: 1px solid var(--vscode-panel-border); + border-bottom: 1px solid var(--vscode-panel-border); + z-index: 10; + display: flex; + align-items: flex-start; + justify-content: space-between; +`; + +const HeaderLeft = styled.div` + display: flex; + flex-direction: column; + gap: 4px; +`; + +const HeaderRight = styled.div` + display: flex; + align-items: center; + gap: 8px; +`; + +const Title = styled.h1` + font-size: 18px; + font-weight: 600; + margin: 0; + color: var(--vscode-foreground); +`; + +const Subtitle = styled.p` + font-size: 12px; + color: var(--vscode-descriptionForeground); + margin: 0; +`; + +const ThreadListContainer = styled.div` + flex: 1; + overflow-y: auto; + padding: 24px; + display: grid; + grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); + gap: 16px; + align-content: start; +`; + +const ThreadCard = styled.div` + padding: 16px; + background-color: var(--vscode-editorWidget-background); + border: 1px solid var(--vscode-panel-border); + border-radius: 6px; + cursor: pointer; + transition: all 0.15s ease; + position: relative; + + &:hover { + border-color: var(--vscode-focusBorder); + background-color: var(--vscode-list-hoverBackground); + } +`; + +const ThreadName = styled.div` + font-size: 14px; + font-weight: 600; + color: var(--vscode-foreground); + margin-bottom: 8px; +`; + +const ThreadMeta = styled.div` + font-size: 12px; + color: var(--vscode-descriptionForeground); + display: flex; + flex-direction: column; + gap: 4px; +`; + +const DeleteIconButton = styled.div` + position: absolute; + top: 8px; + right: 8px; + padding: 4px; + cursor: pointer; + border-radius: 4px; + transition: all 0.15s ease; + display: flex; + align-items: center; + justify-content: center; + + &:hover { + background-color: var(--vscode-toolbar-hoverBackground); + } +`; + +const EmptyState = styled.div` + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + padding: 48px 24px; + text-align: center; + color: var(--vscode-descriptionForeground); + gap: 8px; +`; + +const ErrorMessage = styled.div` + padding: 15px; + background-color: var(--vscode-inputValidation-errorBackground); + border: 1px solid var(--vscode-inputValidation-errorBorder); + border-radius: 4px; + color: var(--vscode-errorForeground); + margin: 24px; +`; + +interface EvalsetViewerProps { + projectPath: string; + filePath: string; + content: EvalSet; + threadId?: string; +} + +export const EvalsetViewer: React.FC = ({ projectPath, filePath, content, threadId }) => { + const { rpcClient } = useRpcContext(); + const [isAddingThread, setIsAddingThread] = useState(false); + + // If a specific thread is selected, delegate to EvalThreadViewer + if (threadId) { + const evalThread = content.threads.find(c => c.id === threadId); + + if (!evalThread) { + return ( + + + + + Thread with ID "{threadId}" not found in this evalset. + + + + ); + } + + return ; + } + + // Handle thread creation by calling the existing VS Code command + const handleAddThread = async () => { + if (isAddingThread) { return; } + + setIsAddingThread(true); + try { + // Call the existing VS Code command that handles thread creation + // Pass autoRefresh=true to immediately refresh the view (vs waiting for notification) + await rpcClient.getCommonRpcClient().executeCommand({ + commands: [ + 'ballerina.createNewThread', + { uri: { fsPath: filePath } }, + true // autoRefresh parameter + ] + }); + } catch (error) { + console.error('Error adding thread:', error); + } finally { + setIsAddingThread(false); + } + }; + + // Handle clicking on a thread card + const handleThreadClick = (clickedThreadId: string) => { + rpcClient.getVisualizerRpcClient().openView({ + type: EVENT_TYPE.OPEN_VIEW, + location: { + view: MACHINE_VIEW.EvalsetViewer, + evalsetData: { + filePath, + content, + threadId: clickedThreadId + } + } + }); + }; + + // Handle deleting a thread + const handleDeleteThread = async (e: React.MouseEvent, threadId: string) => { + e.stopPropagation(); + + try { + await rpcClient.getCommonRpcClient().executeCommand({ + commands: [ + 'ballerina.deleteThread', + { + parentUri: { fsPath: filePath }, + threadId: threadId + }, + true + ] + }); + } catch (error) { + console.error('Error deleting thread:', error); + } + }; + + // Render thread list view + return ( + + + +
+ + {content.name} + + {content.threads.length} thread{content.threads.length !== 1 ? 's' : ''} + + + + + +
+ {content.threads.length === 0 ? ( + +
No threads yet
+
Click "Add Thread" to create your first thread
+
+ ) : ( + + {content.threads.map((thread) => ( + handleThreadClick(thread.id)}> + handleDeleteThread(e, thread.id)} + title="Delete thread" + > + + + {thread.name} + +
{thread.traces.length} turn{thread.traces.length !== 1 ? 's' : ''}
+ {thread.created_on && ( +
Created: {new Date(thread.created_on).toLocaleDateString()}
+ )} +
+
+ ))} +
+ )} +
+
+ ); +}; diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/EvalsetViewer/ToolCallsList.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/EvalsetViewer/ToolCallsList.tsx new file mode 100644 index 00000000000..71d8a6407de --- /dev/null +++ b/workspaces/ballerina/ballerina-visualizer/src/views/EvalsetViewer/ToolCallsList.tsx @@ -0,0 +1,384 @@ +/** + * Copyright (c) 2026, WSO2 LLC. (https://www.wso2.com) All Rights Reserved. + * + * WSO2 LLC. licenses this file to you under the Apache License, + * Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import React, { useState } from 'react'; +import styled from '@emotion/styled'; +import { + DndContext, + closestCenter, + KeyboardSensor, + PointerSensor, + useSensor, + useSensors, + DragEndEvent, +} from '@dnd-kit/core'; +import { + arrayMove, + SortableContext, + sortableKeyboardCoordinates, + useSortable, + verticalListSortingStrategy, +} from '@dnd-kit/sortable'; +import { CSS } from '@dnd-kit/utilities'; +import { EvalFunctionCall, EvalToolSchema } from '@wso2/ballerina-core'; +import { Codicon, Icon } from '@wso2/ui-toolkit'; + +// --- STYLES --- + +const TimelineContainer = styled.div` + max-width: 600px; + margin: 4px 0 2px; + position: relative; + padding-left: 0; +`; + +const TimelineTrack = styled.div<{ $isVisible: boolean }>` + position: absolute; + left: 15px; + top: 24px; + bottom: -2px; + width: 2px; + background-color: var(--vscode-button-background); + opacity: ${(props: { $isVisible: any; }) => props.$isVisible ? 0.3 : 0}; + z-index: 0; + transition: opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1); +`; + +const TimelineHeader = styled.button` + display: flex; + align-items: center; + gap: 4px; + background: transparent; + border: none; + padding: 0 0 8px 4px; + cursor: pointer; + margin-bottom: 0; +`; + +const HeaderTitle = styled.div` + font-size: 11px; + font-weight: 600; + color: var(--vscode-descriptionForeground); +`; + +const ToggleIcon = styled.span<{ $isOpen: boolean }>` + color: var(--vscode-descriptionForeground); + display: inline-flex; + align-items: center; + justify-content: center; + transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1); + transform: ${(props: { $isOpen: any; }) => props.$isOpen ? "rotate(90deg)" : "rotate(0deg)"}; +`; + +const TimelineList = styled.div<{ $isCollapsed: boolean }>` + display: flex; + flex-direction: column; + max-height: ${(props: { $isCollapsed: any; }) => props.$isCollapsed ? '0px' : '2000px'}; + opacity: ${(props: { $isCollapsed: any; }) => props.$isCollapsed ? 0 : 1}; + overflow: hidden; + transition: max-height 0.6s cubic-bezier(0.4, 0, 0.2, 1), + opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1); +`; + +const ToolCard = styled.div<{ $isDragging?: boolean; $isEditMode: boolean }>` + background-color: var(--vscode-textBlockQuote-background); + border: 1px solid var(--vscode-panel-border); + border-radius: 6px; + padding: 8px 6px; + display: flex; + align-items: center; + gap: 12px; + position: relative; + z-index: 1; + margin-bottom: 8px; + + opacity: ${(props: { $isDragging: any; }) => props.$isDragging ? 0.5 : 1}; + transition: border-color 0.2s, background-color 0.2s; + + &:hover { + background-color: var(--vscode-list-hoverBackground); + border-color: ${(props: { $isEditMode: any; }) => props.$isEditMode ? 'var(--vscode-focusBorder)' : 'var(--vscode-panel-border)'}; + } +`; + +const IconBadgeWrapper = styled.div` + display: flex; + align-items: center; + justify-content: center; + width: 28px; + height: 28px; + background-color: var(--vscode-editor-background); + border: 1px solid var(--vscode-panel-border); + border-radius: 50%; + color: var(--vscode-terminal-ansiBrightMagenta); + flex-shrink: 0; + z-index: 2; +`; + +const DragHandle = styled.div` + cursor: grab; + color: var(--vscode-descriptionForeground); + display: flex; + align-items: center; + opacity: 0.5; + + &:hover { + opacity: 1; + } + + &:active { + cursor: grabbing; + } +`; + +const ToolInfo = styled.div<{ $isClickable: boolean }>` + flex: 1; + min-width: 0; + display: flex; + flex-direction: column; + gap: 2px; + padding-top: 2px; + cursor: ${(props: { $isClickable: any; }) => props.$isClickable ? 'pointer' : 'default'}; +`; + +const ToolName = styled.div` + font-size: 13px; + font-weight: 600; + color: var(--vscode-foreground); +`; + +const ArgumentsPreview = styled.code` + font-size: 12px; + color: var(--vscode-descriptionForeground); + font-family: var(--vscode-editor-font-family); + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + opacity: 0.8; + display: block; +`; + +const Actions = styled.div` + display: flex; + align-items: center; + gap: 2px; + opacity: 0; + transition: opacity 0.2s; + + .tool-card-row:hover & { + opacity: 1; + } +`; + +const ActionButton = styled.button<{ $danger?: boolean }>` + background: transparent; + border: none; + padding: 6px; + cursor: pointer; + border-radius: 4px; + color: ${(props: { $danger: any; }) => props.$danger ? 'var(--vscode-errorForeground)' : 'var(--vscode-icon-foreground)'}; + display: flex; + align-items: center; + justify-content: center; + + &:hover { + background-color: var(--vscode-toolbar-hoverBackground); + color: ${(props: { $danger: any; }) => props.$danger ? 'var(--vscode-testing-iconFailed)' : 'var(--vscode-foreground)'}; + } +`; + +// --- HELPER --- + +const formatArgs = (args: any) => { + if (!args) return "()"; + if (typeof args === 'string') return args; + try { + return JSON.stringify(args).replace(/"/g, '').replace(/:/g, ': ').replace(/,/g, ', '); + } catch (e) { + return "Invalid arguments"; + } +}; + +// --- COMPONENTS --- + +interface SortableToolCallItemProps { + toolCall: EvalFunctionCall; + index: number; + isEditMode: boolean; + onEdit?: () => void; + onDelete?: () => void; +} + +const SortableToolCallItem: React.FC = ({ + toolCall, + index, + isEditMode, + onEdit, + onDelete, +}) => { + const sortableId = `${toolCall.id ?? toolCall.name}-${index}`; + const { + attributes, + listeners, + setNodeRef, + transform, + transition, + isDragging, + } = useSortable({ id: sortableId, disabled: !isEditMode }); + + const style = { + transform: CSS.Transform.toString(transform), + transition, + }; + + return ( +
+ + {isEditMode && ( + + + + )} + + + + + + + {toolCall.name} + + {formatArgs(toolCall.arguments)} + + + + {isEditMode && onDelete && ( + + { e.stopPropagation(); onDelete(); }} title="Delete"> + + + + )} + +
+ ); +}; + +interface ToolCallsListProps { + traceId?: string; + toolCalls: EvalFunctionCall[]; + availableTools?: EvalToolSchema[]; + isEditMode: boolean; + onUpdate?: (traceId: string, toolCalls: EvalFunctionCall[]) => void; + onEditToolCall?: (traceId: string, toolCallIndex: number) => void; + onDeleteRequest?: (traceId: string, toolCallIndex: number) => void; +} + +export const ToolCallsList: React.FC = ({ + traceId = '', + toolCalls, + isEditMode, + onUpdate, + onEditToolCall, + onDeleteRequest, +}) => { + const [isOpen, setIsOpen] = useState(false); + + const sensors = useSensors( + useSensor(PointerSensor), + useSensor(KeyboardSensor, { + coordinateGetter: sortableKeyboardCoordinates, + }) + ); + + const handleDragEnd = (event: DragEndEvent) => { + if (!isEditMode || !onUpdate) return; + + const { active, over } = event; + + if (over && active.id !== over.id) { + const oldIndex = toolCalls.findIndex( + (tc, idx) => `${tc.id ?? tc.name}-${idx}` === active.id + ); + const newIndex = toolCalls.findIndex( + (tc, idx) => `${tc.id ?? tc.name}-${idx}` === over.id + ); + + const reorderedToolCalls = arrayMove(toolCalls, oldIndex, newIndex); + onUpdate(traceId, reorderedToolCalls); + } + }; + + if (toolCalls.length === 0) { + return null; + } + + const headerTitle = isEditMode ? "Tool Execution Chain" : `Tool Executions (${toolCalls.length})`; + const showHeader = !isEditMode || toolCalls.length > 0; + const isCollapsed = !isEditMode && !isOpen; + + return ( + + {showHeader && ( + <> + {!isEditMode ? ( + setIsOpen(!isOpen)} aria-expanded={isOpen}> + {headerTitle} + + + + + ) : ( + {headerTitle} + )} + + )} + + + + + + `${tc.id ?? tc.name}-${idx}`)} + strategy={verticalListSortingStrategy} + > + {toolCalls.map((toolCall, index) => { + const sortableId = `${toolCall.id ?? toolCall.name}-${index}`; + return ( + onEditToolCall(traceId, index) : undefined} + onDelete={isEditMode && onDeleteRequest ? () => onDeleteRequest(traceId, index) : undefined} + /> + ); + })} + + + + + ); +}; diff --git a/workspaces/ballerina/ballerina-visualizer/src/views/EvalsetViewer/ToolEditorModal.tsx b/workspaces/ballerina/ballerina-visualizer/src/views/EvalsetViewer/ToolEditorModal.tsx new file mode 100644 index 00000000000..c10e66b1fee --- /dev/null +++ b/workspaces/ballerina/ballerina-visualizer/src/views/EvalsetViewer/ToolEditorModal.tsx @@ -0,0 +1,356 @@ +/** + * Copyright (c) 2026, WSO2 LLC. (https://www.wso2.com) All Rights Reserved. + * + * WSO2 LLC. licenses this file to you under the Apache License, + * Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import React, { useState, useEffect, useRef } from 'react'; +import styled from '@emotion/styled'; +import { motion } from 'framer-motion'; +import { EvalFunctionCall, EvalToolSchema } from '@wso2/ballerina-core'; +import { Button, Icon } from '@wso2/ui-toolkit'; + +const Overlay = styled.div` + position: fixed; + inset: 0; + background-color: rgba(0, 0, 0, 0.4); + z-index: 1000; + display: flex; + align-items: center; + justify-content: center; + padding: 16px; +`; + +const ModalContainer = styled(motion.div)` + background-color: var(--vscode-editorWidget-background); + border-radius: 6px; + box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3); + width: 100%; + max-width: 600px; + overflow: hidden; + border: 1px solid var(--vscode-widget-border); +`; + +const ModalHeader = styled.div` + padding: 16px 20px; + border-bottom: 1px solid var(--vscode-widget-border); + display: flex; + align-items: center; + justify-content: space-between; + background-color: var(--vscode-editorWidget-background); +`; + +const HeaderTitle = styled.div` + display: flex; + align-items: center; + gap: 8px; +`; + +const Title = styled.h2` + font-size: 14px; + font-weight: 600; + margin: 0; + color: var(--vscode-foreground); +`; + +const CloseButton = styled.button` + background: none; + border: none; + padding: 4px; + cursor: pointer; + color: var(--vscode-foreground); + opacity: 0.7; + border-radius: 3px; + + &:hover { + background-color: var(--vscode-toolbar-hoverBackground); + opacity: 1; + } +`; + +const ModalBody = styled.div` + padding: 20px; + max-height: 60vh; + overflow-y: auto; +`; + +const FormSection = styled.div` + margin-bottom: 20px; + + &:last-child { + margin-bottom: 0; + } +`; + +const Label = styled.label` + display: block; + font-size: 13px; + font-weight: 600; + color: var(--vscode-descriptionForeground); + margin-bottom: 8px; +`; + +const Select = styled.select` + width: 100%; + background-color: var(--vscode-input-background); + color: var(--vscode-input-foreground); + border: 1px solid var(--vscode-input-border); + border-radius: 3px; + padding: 8px 12px; + font-size: 13px; + outline: none; + + &:focus { + border-color: var(--vscode-focusBorder); + } +`; + +const ArgumentsContainer = styled.div` + display: flex; + flex-direction: column; + gap: 12px; +`; + +const ArgumentField = styled.div` + display: flex; + align-items: center; + gap: 8px; +`; + +const FieldLabel = styled.label` + font-size: 13px; + color: var(--vscode-foreground); + min-width: 100px; +`; + +const Input = styled.input` + flex: 1; + background-color: var(--vscode-input-background); + color: var(--vscode-input-foreground); + border: 1px solid var(--vscode-input-border); + border-radius: 3px; + padding: 8px 12px; + font-size: 13px; + outline: none; + + &:focus { + border-color: var(--vscode-focusBorder); + } +`; + +const Textarea = styled.textarea` + flex: 1; + background-color: var(--vscode-input-background); + color: var(--vscode-input-foreground); + border: 1px solid var(--vscode-input-border); + border-radius: 3px; + padding: 8px 12px; + font-size: 13px; + min-height: 80px; + resize: vertical; + outline: none; + + &:focus { + border-color: var(--vscode-focusBorder); + } +`; + +const ModalFooter = styled.div` + padding: 16px 20px; + background-color: var(--vscode-editorWidget-background); + border-top: 1px solid var(--vscode-widget-border); + display: flex; + align-items: center; + justify-content: flex-end; + gap: 6px; +`; + +interface ToolEditorModalProps { + toolCall: EvalFunctionCall; + availableTools: EvalToolSchema[]; + onClose: () => void; + onSave: (updates: Partial) => void; +} + +export const ToolEditorModal: React.FC = ({ + toolCall, + availableTools, + onClose, + onSave, +}) => { + const [name, setName] = useState(toolCall.name); + const [argumentsValue, setArgumentsValue] = useState>( + toolCall.arguments || {} + ); + const isInitialMount = useRef(true); + + const selectedTool = availableTools.find(t => t.name === name); + const parametersSchema = selectedTool?.parametersSchema; + + // Reset arguments when the selected tool changes (but not on initial mount) + useEffect(() => { + // Skip reset on initial mount to preserve existing argument values + if (isInitialMount.current) { + isInitialMount.current = false; + return; + } + + // When tool changes, initialize with defaults from schema + const newArguments: Record = {}; + + if (parametersSchema?.properties) { + Object.entries(parametersSchema.properties).forEach(([fieldName, fieldSchema]: [string, any]) => { + if (fieldSchema.default !== undefined) { + newArguments[fieldName] = fieldSchema.default; + } + }); + } + + setArgumentsValue(newArguments); + }, [name, selectedTool, parametersSchema]); + + const handleArgumentChange = (fieldName: string, value: any) => { + setArgumentsValue(prev => ({ ...prev, [fieldName]: value })); + }; + + const renderField = ( + fieldName: string, + fieldSchema: any, + value: any, + onChange: (val: any) => void + ) => { + const fieldType = fieldSchema?.type || 'string'; + + // Handle complex objects as JSON textarea + if (fieldType === 'object' || fieldType === 'array') { + return ( + + {fieldName}: +