From dfc75a8619b6e7129a79ece25616d749c13bf76f Mon Sep 17 00:00:00 2001 From: Chris Coutinho Date: Wed, 11 Feb 2026 10:10:29 +0100 Subject: [PATCH] refactor: extract Astrolabe to separate repository Astrolabe has been extracted to its own repository at github.com/cbcoutinho/astrolabe for independent releases. Changes: - Replace third_party/astrolabe/ directory with git submodule - Remove astrolabe-ci.yml and appstore-build-publish.yml workflows - Remove scripts/bump-astrolabe.sh - Remove Astrolabe sections from bump-version.yml workflow - Remove Astrolabe build steps from test.yml CI workflow - Remove astrolabe volume mount from docker-compose.yml - Simplify astrolabe install hook to always use app store - Update CONTRIBUTING.md to reflect two-component monorepo Co-Authored-By: Claude Opus 4.6 --- .github/workflows/appstore-build-publish.yml | 89 - .github/workflows/astrolabe-ci.yml | 323 - .github/workflows/bump-version.yml | 16 +- .github/workflows/test.yml | 17 - .gitmodules | 3 + CONTRIBUTING.md | 16 +- .../20-install-astrolabe-app.sh | 24 +- docker-compose.yml | 1 - scripts/bump-astrolabe.sh | 90 - third_party/astrolabe | 1 + third_party/astrolabe/.cz.toml | 25 - third_party/astrolabe/.eslintrc.cjs | 9 - third_party/astrolabe/.gitignore | 15 - third_party/astrolabe/.nvmrc | 1 - third_party/astrolabe/.php-cs-fixer.dist.php | 19 - third_party/astrolabe/CHANGELOG.md | 573 - third_party/astrolabe/CODE_OF_CONDUCT.md | 9 - third_party/astrolabe/LICENSE | 661 - third_party/astrolabe/Makefile | 101 - third_party/astrolabe/README.md | 223 - third_party/astrolabe/appinfo/info.xml | 63 - third_party/astrolabe/appinfo/routes.php | 115 - third_party/astrolabe/composer.json | 57 - third_party/astrolabe/composer.lock | 3305 ----- third_party/astrolabe/img/app-dark.svg | 3 - third_party/astrolabe/img/app.svg | 3 - .../astrolabe/lib/AppInfo/Application.php | 45 - .../lib/BackgroundJob/RefreshUserTokens.php | 207 - .../lib/Controller/ApiController.php | 854 -- .../lib/Controller/CredentialsController.php | 324 - .../lib/Controller/OauthController.php | 550 - .../lib/Controller/PageController.php | 29 - .../AstrolabeAdminSettingsListener.php | 101 - .../lib/Search/SemanticSearchProvider.php | 349 - .../lib/Service/IdpTokenRefresher.php | 220 - .../astrolabe/lib/Service/McpServerClient.php | 666 - .../astrolabe/lib/Service/McpTokenStorage.php | 519 - .../astrolabe/lib/Service/WebhookPresets.php | 188 - third_party/astrolabe/lib/Settings/Admin.php | 117 - .../astrolabe/lib/Settings/AdminSection.php | 52 - .../lib/Settings/AstrolabeAdminSettings.php | 64 - .../astrolabe/lib/Settings/Personal.php | 238 - .../lib/Settings/PersonalSection.php | 52 - third_party/astrolabe/openapi.json | 149 - third_party/astrolabe/package-lock.json | 10450 ---------------- third_party/astrolabe/package.json | 41 - third_party/astrolabe/psalm-baseline.xml | 488 - third_party/astrolabe/psalm.xml | 22 - third_party/astrolabe/rector.php | 30 - .../01-unified-search-astrolabe.png | Bin 753978 -> 0 bytes .../02-semantic-search-with-plot.png | Bin 208705 -> 0 bytes .../screenshots/03-chunk-viewer-open.png | Bin 223095 -> 0 bytes third_party/astrolabe/src/App.vue | 1432 --- third_party/astrolabe/src/adminSettings.js | 18 - .../src/components/MarkdownViewer.vue | 172 - .../astrolabe/src/components/PDFViewer.vue | 183 - .../src/components/admin/AdminSettings.vue | 695 - third_party/astrolabe/src/main.js | 11 - third_party/astrolabe/src/personalSettings.js | 124 - third_party/astrolabe/src/styles/settings.css | 290 - third_party/astrolabe/stylelint.config.cjs | 3 - third_party/astrolabe/templates/index.php | 13 - .../astrolabe/templates/settings/admin.php | 15 - .../astrolabe/templates/settings/error.php | 51 - .../templates/settings/oauth-required.php | 117 - .../astrolabe/templates/settings/personal.php | 303 - third_party/astrolabe/tests/bootstrap.php | 9 - third_party/astrolabe/tests/phpunit.xml | 12 - .../BackgroundJob/RefreshUserTokensTest.php | 635 - .../unit/Service/IdpTokenRefresherTest.php | 429 - .../unit/Service/McpTokenStorageTest.php | 829 -- .../astrolabe/tests/unit/bootstrap.php | 13 - third_party/astrolabe/tests/unit/phpunit.xml | 17 - .../vendor-bin/cs-fixer/composer.json | 10 - .../vendor-bin/cs-fixer/composer.lock | 171 - .../openapi-extractor/composer.json | 10 - .../openapi-extractor/composer.lock | 247 - .../vendor-bin/phpunit/composer.json | 10 - .../vendor-bin/phpunit/composer.lock | 1691 --- .../astrolabe/vendor-bin/psalm/composer.json | 10 - .../astrolabe/vendor-bin/psalm/composer.lock | 2122 ---- .../astrolabe/vendor-bin/rector/composer.json | 5 - .../astrolabe/vendor-bin/rector/composer.lock | 131 - third_party/astrolabe/vite.config.js | 43 - third_party/astrolabe/webpack.js | 27 - 85 files changed, 12 insertions(+), 31353 deletions(-) delete mode 100644 .github/workflows/appstore-build-publish.yml delete mode 100644 .github/workflows/astrolabe-ci.yml delete mode 100755 scripts/bump-astrolabe.sh create mode 160000 third_party/astrolabe delete mode 100644 third_party/astrolabe/.cz.toml delete mode 100644 third_party/astrolabe/.eslintrc.cjs delete mode 100644 third_party/astrolabe/.gitignore delete mode 100644 third_party/astrolabe/.nvmrc delete mode 100644 third_party/astrolabe/.php-cs-fixer.dist.php delete mode 100644 third_party/astrolabe/CHANGELOG.md delete mode 100644 third_party/astrolabe/CODE_OF_CONDUCT.md delete mode 100644 third_party/astrolabe/LICENSE delete mode 100644 third_party/astrolabe/Makefile delete mode 100644 third_party/astrolabe/README.md delete mode 100644 third_party/astrolabe/appinfo/info.xml delete mode 100644 third_party/astrolabe/appinfo/routes.php delete mode 100644 third_party/astrolabe/composer.json delete mode 100644 third_party/astrolabe/composer.lock delete mode 100644 third_party/astrolabe/img/app-dark.svg delete mode 100644 third_party/astrolabe/img/app.svg delete mode 100644 third_party/astrolabe/lib/AppInfo/Application.php delete mode 100644 third_party/astrolabe/lib/BackgroundJob/RefreshUserTokens.php delete mode 100644 third_party/astrolabe/lib/Controller/ApiController.php delete mode 100644 third_party/astrolabe/lib/Controller/CredentialsController.php delete mode 100644 third_party/astrolabe/lib/Controller/OauthController.php delete mode 100644 third_party/astrolabe/lib/Controller/PageController.php delete mode 100644 third_party/astrolabe/lib/Listener/AstrolabeAdminSettingsListener.php delete mode 100644 third_party/astrolabe/lib/Search/SemanticSearchProvider.php delete mode 100644 third_party/astrolabe/lib/Service/IdpTokenRefresher.php delete mode 100644 third_party/astrolabe/lib/Service/McpServerClient.php delete mode 100644 third_party/astrolabe/lib/Service/McpTokenStorage.php delete mode 100644 third_party/astrolabe/lib/Service/WebhookPresets.php delete mode 100644 third_party/astrolabe/lib/Settings/Admin.php delete mode 100644 third_party/astrolabe/lib/Settings/AdminSection.php delete mode 100644 third_party/astrolabe/lib/Settings/AstrolabeAdminSettings.php delete mode 100644 third_party/astrolabe/lib/Settings/Personal.php delete mode 100644 third_party/astrolabe/lib/Settings/PersonalSection.php delete mode 100644 third_party/astrolabe/openapi.json delete mode 100644 third_party/astrolabe/package-lock.json delete mode 100644 third_party/astrolabe/package.json delete mode 100644 third_party/astrolabe/psalm-baseline.xml delete mode 100644 third_party/astrolabe/psalm.xml delete mode 100644 third_party/astrolabe/rector.php delete mode 100644 third_party/astrolabe/screenshots/01-unified-search-astrolabe.png delete mode 100644 third_party/astrolabe/screenshots/02-semantic-search-with-plot.png delete mode 100644 third_party/astrolabe/screenshots/03-chunk-viewer-open.png delete mode 100644 third_party/astrolabe/src/App.vue delete mode 100644 third_party/astrolabe/src/adminSettings.js delete mode 100644 third_party/astrolabe/src/components/MarkdownViewer.vue delete mode 100644 third_party/astrolabe/src/components/PDFViewer.vue delete mode 100644 third_party/astrolabe/src/components/admin/AdminSettings.vue delete mode 100644 third_party/astrolabe/src/main.js delete mode 100644 third_party/astrolabe/src/personalSettings.js delete mode 100644 third_party/astrolabe/src/styles/settings.css delete mode 100644 third_party/astrolabe/stylelint.config.cjs delete mode 100644 third_party/astrolabe/templates/index.php delete mode 100644 third_party/astrolabe/templates/settings/admin.php delete mode 100644 third_party/astrolabe/templates/settings/error.php delete mode 100644 third_party/astrolabe/templates/settings/oauth-required.php delete mode 100644 third_party/astrolabe/templates/settings/personal.php delete mode 100644 third_party/astrolabe/tests/bootstrap.php delete mode 100644 third_party/astrolabe/tests/phpunit.xml delete mode 100644 third_party/astrolabe/tests/unit/BackgroundJob/RefreshUserTokensTest.php delete mode 100644 third_party/astrolabe/tests/unit/Service/IdpTokenRefresherTest.php delete mode 100644 third_party/astrolabe/tests/unit/Service/McpTokenStorageTest.php delete mode 100644 third_party/astrolabe/tests/unit/bootstrap.php delete mode 100644 third_party/astrolabe/tests/unit/phpunit.xml delete mode 100644 third_party/astrolabe/vendor-bin/cs-fixer/composer.json delete mode 100644 third_party/astrolabe/vendor-bin/cs-fixer/composer.lock delete mode 100644 third_party/astrolabe/vendor-bin/openapi-extractor/composer.json delete mode 100644 third_party/astrolabe/vendor-bin/openapi-extractor/composer.lock delete mode 100644 third_party/astrolabe/vendor-bin/phpunit/composer.json delete mode 100644 third_party/astrolabe/vendor-bin/phpunit/composer.lock delete mode 100644 third_party/astrolabe/vendor-bin/psalm/composer.json delete mode 100644 third_party/astrolabe/vendor-bin/psalm/composer.lock delete mode 100644 third_party/astrolabe/vendor-bin/rector/composer.json delete mode 100644 third_party/astrolabe/vendor-bin/rector/composer.lock delete mode 100644 third_party/astrolabe/vite.config.js delete mode 100644 third_party/astrolabe/webpack.js diff --git a/.github/workflows/appstore-build-publish.yml b/.github/workflows/appstore-build-publish.yml deleted file mode 100644 index 486a27d..0000000 --- a/.github/workflows/appstore-build-publish.yml +++ /dev/null @@ -1,89 +0,0 @@ -name: Build and Publish Astrolabe App Release - -on: - push: - tags: - - 'astrolabe-v*' - -env: - APP_NAME: astrolabe - APP_DIR: third_party/astrolabe - -jobs: - build-and-publish: - runs-on: ubuntu-latest - permissions: - contents: write - - steps: - - name: Checkout code - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 - - - name: Get version from tag - id: tag - run: | - echo "TAG=${GITHUB_REF#refs/tags/astrolabe-v}" >> $GITHUB_OUTPUT - - - name: Validate version in info.xml matches tag - working-directory: ${{ env.APP_DIR }} - run: | - INFO_VERSION=$(sed -n 's/.*\(.*\)<\/version>.*/\1/p' appinfo/info.xml | tr -d '\t') - if [ "$INFO_VERSION" != "${{ steps.tag.outputs.TAG }}" ]; then - echo "Version mismatch: info.xml has $INFO_VERSION but tag is ${{ steps.tag.outputs.TAG }}" - exit 1 - fi - echo "Version validated: $INFO_VERSION" - - - name: Setup Node - uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4 - with: - node-version: 22 - - - name: Setup PHP - uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2 - with: - php-version: 8.1 - coverage: none - - - name: Checkout Nextcloud server (for signing) - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 - with: - repository: nextcloud/server - ref: stable30 - path: server - - - name: Install dependencies and build - working-directory: ${{ env.APP_DIR }} - run: | - composer install --no-dev --optimize-autoloader - npm ci - npm run build - - - name: Setup signing certificate - run: | - mkdir -p $HOME/.nextcloud/certificates - echo "${{ secrets.APP_PRIVATE_KEY }}" > $HOME/.nextcloud/certificates/${{ env.APP_NAME }}.key - echo "${{ secrets.APP_PUBLIC_CRT }}" > $HOME/.nextcloud/certificates/${{ env.APP_NAME }}.crt - - - name: Build app store package - working-directory: ${{ env.APP_DIR }} - run: make appstore server_dir=${{ github.workspace }}/server - - - name: Create GitHub release and attach tarball - uses: svenstaro/upload-release-action@6b7fa9f267e90b50a19fef07b3596790bb941741 # v2 - with: - repo_token: ${{ secrets.GITHUB_TOKEN }} - file: ${{ env.APP_DIR }}/build/artifacts/${{ env.APP_NAME }}.tar.gz - asset_name: ${{ env.APP_NAME }}-${{ steps.tag.outputs.TAG }}.tar.gz - tag: ${{ github.ref }} - release_name: Astrolabe ${{ steps.tag.outputs.TAG }} - prerelease: ${{ contains(steps.tag.outputs.TAG, '-alpha') || contains(steps.tag.outputs.TAG, '-beta') || contains(steps.tag.outputs.TAG, '-rc') }} - - - name: Upload to Nextcloud App Store - uses: R0Wi/nextcloud-appstore-push-action@9244bb5445776688cfe90fa1903ea8dff95b0c28 # v1.0.4 - with: - app_name: ${{ env.APP_NAME }} - appstore_token: ${{ secrets.APPSTORE_TOKEN }} - download_url: ${{ github.server_url }}/${{ github.repository }}/releases/download/${{ github.ref_name }}/${{ env.APP_NAME }}-${{ steps.tag.outputs.TAG }}.tar.gz - app_private_key: ${{ secrets.APP_PRIVATE_KEY }} - nightly: ${{ contains(steps.tag.outputs.TAG, '-alpha') || contains(steps.tag.outputs.TAG, '-beta') || contains(steps.tag.outputs.TAG, '-rc') }} diff --git a/.github/workflows/astrolabe-ci.yml b/.github/workflows/astrolabe-ci.yml deleted file mode 100644 index 8d7afd8..0000000 --- a/.github/workflows/astrolabe-ci.yml +++ /dev/null @@ -1,323 +0,0 @@ -# Consolidated CI workflow for Astrolabe Nextcloud app -# -# Runs on PRs that modify the astrolabe directory -# Based on Nextcloud app skeleton workflows -# -# SPDX-FileCopyrightText: 2025 Nextcloud MCP Server contributors -# SPDX-License-Identifier: MIT - -name: Astrolabe CI - -on: - pull_request: - paths: - - 'third_party/astrolabe/**' - - '.github/workflows/astrolabe-ci.yml' - -permissions: - contents: read - -concurrency: - group: astrolabe-ci-${{ github.head_ref || github.run_id }} - cancel-in-progress: true - -jobs: - changes: - runs-on: ubuntu-latest - permissions: - contents: read - pull-requests: read - outputs: - frontend: ${{ steps.changes.outputs.frontend }} - php: ${{ steps.changes.outputs.php }} - steps: - - uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2 - id: changes - continue-on-error: true - with: - filters: | - frontend: - - 'third_party/astrolabe/src/**' - - 'third_party/astrolabe/package.json' - - 'third_party/astrolabe/package-lock.json' - - 'third_party/astrolabe/vite.config.js' - - 'third_party/astrolabe/**/*.js' - - 'third_party/astrolabe/**/*.ts' - - 'third_party/astrolabe/**/*.vue' - php: - - 'third_party/astrolabe/lib/**' - - 'third_party/astrolabe/appinfo/**' - - 'third_party/astrolabe/composer.json' - - 'third_party/astrolabe/psalm.xml' - - # Node.js build and lint - node-build: - runs-on: ubuntu-latest - needs: changes - if: needs.changes.outputs.frontend != 'false' - name: Node.js build - defaults: - run: - working-directory: third_party/astrolabe - steps: - - name: Checkout - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - - - name: Read package.json node and npm engines version - uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3 - id: versions - with: - path: third_party/astrolabe - fallbackNode: '^20' - fallbackNpm: '^10' - - - name: Set up node ${{ steps.versions.outputs.nodeVersion }} - uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 - with: - node-version: ${{ steps.versions.outputs.nodeVersion }} - - - name: Set up npm ${{ steps.versions.outputs.npmVersion }} - run: npm i -g 'npm@${{ steps.versions.outputs.npmVersion }}' - - - name: Install dependencies & build - env: - CYPRESS_INSTALL_BINARY: 0 - PUPPETEER_SKIP_DOWNLOAD: true - run: | - npm ci - npm run build --if-present - - - name: Check webpack build changes - run: | - bash -c "[[ ! \"`git status --porcelain `\" ]] || (echo 'Please recompile and commit the assets' && exit 1)" - - # ESLint - eslint: - runs-on: ubuntu-latest - needs: changes - if: needs.changes.outputs.frontend != 'false' - name: ESLint - defaults: - run: - working-directory: third_party/astrolabe - steps: - - name: Checkout - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - - - name: Read package.json node and npm engines version - uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3 - id: versions - with: - path: third_party/astrolabe - fallbackNode: '^20' - fallbackNpm: '^10' - - - name: Set up node ${{ steps.versions.outputs.nodeVersion }} - uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 - with: - node-version: ${{ steps.versions.outputs.nodeVersion }} - - - name: Set up npm ${{ steps.versions.outputs.npmVersion }} - run: npm i -g 'npm@${{ steps.versions.outputs.npmVersion }}' - - - name: Install dependencies - env: - CYPRESS_INSTALL_BINARY: 0 - PUPPETEER_SKIP_DOWNLOAD: true - run: npm ci - - - name: Lint - run: npm run lint - - # Stylelint - stylelint: - runs-on: ubuntu-latest - needs: changes - if: needs.changes.outputs.frontend != 'false' - name: Stylelint - defaults: - run: - working-directory: third_party/astrolabe - steps: - - name: Checkout - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - - - name: Read package.json node and npm engines version - uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3 - id: versions - with: - path: third_party/astrolabe - fallbackNode: '^20' - fallbackNpm: '^10' - - - name: Set up node ${{ steps.versions.outputs.nodeVersion }} - uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 - with: - node-version: ${{ steps.versions.outputs.nodeVersion }} - - - name: Set up npm ${{ steps.versions.outputs.npmVersion }} - run: npm i -g 'npm@${{ steps.versions.outputs.npmVersion }}' - - - name: Install dependencies - env: - CYPRESS_INSTALL_BINARY: 0 - PUPPETEER_SKIP_DOWNLOAD: true - run: npm ci - - - name: Lint - run: npm run stylelint - - # PHP Code Style - php-cs: - runs-on: ubuntu-latest - needs: changes - if: needs.changes.outputs.php != 'false' - name: PHP CS Fixer - defaults: - run: - working-directory: third_party/astrolabe - steps: - - name: Checkout - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - - - name: Get php version - id: versions - uses: icewind1991/nextcloud-version-matrix@58becf3b4bb6dc6cef677b15e2fd8e7d48c0908f # v1.3.1 - with: - filename: third_party/astrolabe/appinfo/info.xml - - - name: Set up php${{ steps.versions.outputs.php-min }} - uses: shivammathur/setup-php@cf4cade2721270509d5b1c766ab3549210a39a2a # v2.33.0 - with: - php-version: ${{ steps.versions.outputs.php-min }} - extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite - coverage: none - ini-file: development - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install dependencies - run: | - composer remove nextcloud/ocp --dev || true - composer i - - - name: Lint - run: composer run cs:check || ( echo 'Please run `composer run cs:fix` to format your code' && exit 1 ) - - # Psalm Static Analysis - psalm: - runs-on: ubuntu-latest - needs: changes - if: needs.changes.outputs.php != 'false' - name: Psalm - defaults: - run: - working-directory: third_party/astrolabe - steps: - - name: Checkout - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - - - name: Get php version - id: versions - uses: icewind1991/nextcloud-version-matrix@58becf3b4bb6dc6cef677b15e2fd8e7d48c0908f # v1.3.1 - with: - filename: third_party/astrolabe/appinfo/info.xml - - - name: Set up php${{ steps.versions.outputs.php-min }} - uses: shivammathur/setup-php@cf4cade2721270509d5b1c766ab3549210a39a2a # v2.33.0 - with: - php-version: ${{ steps.versions.outputs.php-min }} - extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite - coverage: none - ini-file: development - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install dependencies - run: | - composer remove nextcloud/ocp --dev || true - composer i - - - name: Get OCP version matrix - id: ocp-versions - uses: icewind1991/nextcloud-version-matrix@58becf3b4bb6dc6cef677b15e2fd8e7d48c0908f # v1.3.1 - with: - filename: third_party/astrolabe/appinfo/info.xml - - - name: Install OCP for static analysis - run: | - # Get first OCP version from matrix - OCP_VERSION=$(echo '${{ steps.ocp-versions.outputs.ocp-matrix }}' | jq -r '.include[0]."ocp-version"') - composer require --dev "nextcloud/ocp:$OCP_VERSION" --ignore-platform-reqs --with-dependencies - - - name: Run Psalm - run: composer run psalm -- --threads=1 --monochrome --no-progress --output-format=github - - # PHPUnit Tests - phpunit: - runs-on: ubuntu-latest - needs: changes - if: needs.changes.outputs.php != 'false' - defaults: - run: - working-directory: third_party/astrolabe - - strategy: - matrix: - php-versions: ['8.1', '8.2', '8.3'] - - name: PHPUnit (PHP ${{ matrix.php-versions }}) - - steps: - - name: Checkout - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - - - name: Set up PHP ${{ matrix.php-versions }} - uses: shivammathur/setup-php@cf4cade2721270509d5b1c766ab3549210a39a2a # v2.33.0 - with: - php-version: ${{ matrix.php-versions }} - extensions: ctype, curl, dom, gd, iconv, intl, json, mbstring, openssl, posix, sqlite, xml, zip - coverage: none - ini-file: development - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install dependencies - run: | - composer remove nextcloud/ocp --dev || true - composer i - - - name: Get OCP version matrix - id: ocp-versions - uses: icewind1991/nextcloud-version-matrix@58becf3b4bb6dc6cef677b15e2fd8e7d48c0908f # v1.3.1 - with: - filename: third_party/astrolabe/appinfo/info.xml - - - name: Install OCP for testing - run: | - OCP_VERSION=$(echo '${{ steps.ocp-versions.outputs.ocp-matrix }}' | jq -r '.include[0]."ocp-version"') - composer require --dev "nextcloud/ocp:$OCP_VERSION" --ignore-platform-reqs --with-dependencies - - - name: Run PHPUnit - run: composer run test:unit - - # Summary job - summary: - permissions: - contents: none - runs-on: ubuntu-latest - needs: [changes, node-build, eslint, stylelint, php-cs, psalm, phpunit] - if: always() - name: astrolabe-ci-summary - steps: - - name: Summary status - run: | - if ${{ needs.changes.outputs.frontend != 'false' && (needs.node-build.result != 'success' || needs.eslint.result != 'success' || needs.stylelint.result != 'success') }}; then - echo "Frontend checks failed" - exit 1 - fi - if ${{ needs.changes.outputs.php != 'false' && (needs.php-cs.result != 'success' || needs.psalm.result != 'success' || needs.phpunit.result != 'success') }}; then - echo "PHP checks failed" - exit 1 - fi - echo "All checks passed" diff --git a/.github/workflows/bump-version.yml b/.github/workflows/bump-version.yml index a92373b..6015efd 100644 --- a/.github/workflows/bump-version.yml +++ b/.github/workflows/bump-version.yml @@ -83,9 +83,9 @@ jobs: commit_range="${last_mcp_tag}..HEAD" fi - # Count conventional commits that are NOT scoped to helm or astrolabe + # Count conventional commits that are NOT scoped to helm mcp_commit_count=$(git log "$commit_range" --oneline --grep="^(feat|fix|docs|refactor|perf|test|build|ci|chore)" -E | \ - { grep -v "(helm)" || true; } | { grep -v "(astrolabe)" || true; } | wc -l) + { grep -v "(helm)" || true; } | wc -l) MCP_BUMPED=false if [ "$mcp_commit_count" -gt 0 ]; then @@ -115,14 +115,6 @@ jobs: BUMPED_COMPONENTS="$BUMPED_COMPONENTS helm" fi - # Bump Astrolabe (scope: astrolabe) - echo "Checking Astrolabe for version bump..." - if has_commits_since_tag "astrolabe-v" "(feat|fix|docs|refactor|perf|test|build|ci|chore)\(astrolabe\)(!)?:"; then - echo "Bumping Astrolabe version..." - ./scripts/bump-astrolabe.sh - BUMPED_COMPONENTS="$BUMPED_COMPONENTS astrolabe" - fi - # Output summary if [ -z "$BUMPED_COMPONENTS" ]; then echo "No components required version bumps" @@ -158,10 +150,6 @@ jobs: tag=$(git tag --sort=-creatordate | grep -E '^nextcloud-mcp-server-' | head -n 1) echo "- **Helm Chart**: \`$tag\`" >> $GITHUB_STEP_SUMMARY ;; - astrolabe) - tag=$(git tag --sort=-creatordate | grep -E '^astrolabe-v' | head -n 1) - echo "- **Astrolabe**: \`$tag\`" >> $GITHUB_STEP_SUMMARY - ;; esac done diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 3e9a681..7dd9cce 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -48,23 +48,6 @@ jobs: ###### Required to build OIDC App ###### - ###### Required to build Astrolabe App ###### - - - name: Set up Node.js for Astrolabe - uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0 - with: - node-version: '20' - - - name: Build Astrolabe app - run: | - cd third_party/astrolabe - composer install --no-dev --optimize-autoloader - npm ci - npm run build - - ###### Required to build Astrolabe App ###### - - - name: Run docker compose uses: hoverkraft-tech/compose-action@4894d2492015c1774ee5a13a95b1072093087ec3 # v2.5.0 with: diff --git a/.gitmodules b/.gitmodules index 6dc5078..768b7a1 100644 --- a/.gitmodules +++ b/.gitmodules @@ -4,3 +4,6 @@ [submodule "third_party/notes"] path = third_party/notes url = https://github.com/cbcoutinho/notes +[submodule "third_party/astrolabe"] + path = third_party/astrolabe + url = git@github.com:cbcoutinho/astrolabe.git diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 463962b..984cd39 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -2,7 +2,7 @@ ## Version Management -This monorepo uses commitizen for version management with **independent versioning** for three components: +This monorepo uses commitizen for version management with **independent versioning** for two components: ### Components @@ -10,7 +10,8 @@ This monorepo uses commitizen for version management with **independent versioni |-----------|-------|--------------|-------------| | MCP Server | `mcp` or none | `./scripts/bump-mcp.sh` | `v0.54.0` | | Helm Chart | `helm` | `./scripts/bump-helm.sh` | `nextcloud-mcp-server-0.54.0` | -| Astrolabe App | `astrolabe` | `./scripts/bump-astrolabe.sh` | `astrolabe-v0.2.0` | + +> **Note:** The Astrolabe Nextcloud app has been moved to its own repository at [cbcoutinho/astrolabe](https://github.com/cbcoutinho/astrolabe). ### Commit Message Format @@ -24,10 +25,6 @@ fix(mcp): resolve authentication bug # Helm chart changes feat(helm): add resource limits docs(helm): update values documentation - -# Astrolabe app changes -feat(astrolabe): add dark mode toggle -fix(astrolabe): resolve search UI bug ``` **Unscoped commits** default to the MCP server: @@ -40,7 +37,6 @@ feat: add new feature # → MCP server (v0.54.0) #### 1. Make Changes with Scoped Commits ```bash -git commit -m "feat(astrolabe): add dark mode toggle" git commit -m "feat(helm): add ingress annotations" git commit -m "feat(mcp): add calendar sync" ``` @@ -58,10 +54,6 @@ git commit -m "feat(mcp): add calendar sync" # → Creates tag: nextcloud-mcp-server-0.54.0 # → Updates: Chart.yaml:version -# Bump Astrolabe (reads commits with scope=astrolabe) -./scripts/bump-astrolabe.sh -# → Creates tag: astrolabe-v0.2.0 -# → Updates: info.xml, package.json ``` #### 3. Push Tags @@ -76,7 +68,6 @@ Each component maintains its own `CHANGELOG.md`: - **MCP Server**: `CHANGELOG.md` (root) - includes `feat(mcp):` and unscoped commits - **Helm Chart**: `charts/nextcloud-mcp-server/CHANGELOG.md` - includes `feat(helm):` only -- **Astrolabe**: `third_party/astrolabe/CHANGELOG.md` - includes `feat(astrolabe):` only ### Manual Version Bumps @@ -101,7 +92,6 @@ uv run cz --config .cz.toml bump --increment MINOR - **MCP Server**: Follows PEP 440, `major_version_zero = true` (0.x.x for pre-1.0) - **Helm Chart**: Follows PEP 440, starts at 0.53.0 (continues from current) -- **Astrolabe**: Follows PEP 440, `major_version_zero = true` (0.x.x for alpha/beta) ### Chart.yaml Version vs appVersion diff --git a/app-hooks/post-installation/20-install-astrolabe-app.sh b/app-hooks/post-installation/20-install-astrolabe-app.sh index b472447..3e532b8 100755 --- a/app-hooks/post-installation/20-install-astrolabe-app.sh +++ b/app-hooks/post-installation/20-install-astrolabe-app.sh @@ -2,35 +2,17 @@ set -euox pipefail -echo "Installing Astrolabe app for testing..." +echo "Installing Astrolabe app from app store..." -# Check if development astrolabe app is mounted at /opt/apps/astrolabe -if [ -d /opt/apps/astrolabe ]; then - echo "Development astrolabe app found at /opt/apps/astrolabe" - - # Remove any existing astrolabe app in custom_apps (from app store or old symlink) - if [ -e /var/www/html/custom_apps/astrolabe ]; then - echo "Removing existing astrolabe in custom_apps..." - rm -rf /var/www/html/custom_apps/astrolabe - fi - - # Create symlink from custom_apps to the mounted development version - # Per Nextcloud docs: apps outside server root need symlinks in server root - echo "Creating symlink: custom_apps/astrolabe -> /opt/apps/astrolabe" - ln -sf /opt/apps/astrolabe /var/www/html/custom_apps/astrolabe - - echo "Enabling astrolabe app from /opt/apps (development mode via symlink)" - php /var/www/html/occ app:enable astrolabe -elif [ -d /var/www/html/custom_apps/astrolabe ]; then +if [ -d /var/www/html/custom_apps/astrolabe ]; then echo "astrolabe app directory found in custom_apps (already installed)" php /var/www/html/occ app:enable astrolabe else - echo "astrolabe app not found, installing from app store..." php /var/www/html/occ app:install astrolabe php /var/www/html/occ app:enable astrolabe fi -echo "✓ Astrolabe app installed successfully" +echo "Astrolabe app installed successfully" echo "" echo "Note: MCP server configuration is managed dynamically during tests" echo " to support testing multiple MCP server deployments." diff --git a/docker-compose.yml b/docker-compose.yml index 4c153ce..9ae77eb 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -37,7 +37,6 @@ services: # Mount OIDC development directory outside /var/www/html to avoid rsync conflicts # The post-installation hook will register /opt/apps as an additional app directory #- ./third_party:/opt/apps:ro - - ./third_party/astrolabe:/opt/apps/astrolabe:ro environment: - NEXTCLOUD_TRUSTED_DOMAINS=app - NEXTCLOUD_ADMIN_USER=admin diff --git a/scripts/bump-astrolabe.sh b/scripts/bump-astrolabe.sh deleted file mode 100755 index b3aefaa..0000000 --- a/scripts/bump-astrolabe.sh +++ /dev/null @@ -1,90 +0,0 @@ -#!/bin/bash -# Bump Astrolabe app version -set -euo pipefail - -# Parse optional --increment flag -INCREMENT="" -while [[ $# -gt 0 ]]; do - case $1 in - --increment) - INCREMENT="$2" - shift 2 - ;; - *) - echo "❌ Error: Unknown option: $1" >&2 - echo "Usage: $0 [--increment PATCH|MINOR|MAJOR]" >&2 - exit 1 - ;; - esac -done - -# Validate dependencies -command -v uv >/dev/null 2>&1 || { - echo "❌ Error: uv not found" >&2 - echo " Install from https://docs.astral.sh/uv/" >&2 - exit 1 -} - -# Validate Astrolabe directory exists -if [ ! -d "third_party/astrolabe" ]; then - echo "❌ Error: Must run from repository root (third_party/astrolabe not found)" >&2 - exit 1 -fi - -cd third_party/astrolabe - -# Validate required files exist -if [ ! -f "appinfo/info.xml" ]; then - echo "❌ Error: appinfo/info.xml not found" >&2 - exit 1 -fi - -if [ ! -f "package.json" ]; then - echo "❌ Error: package.json not found" >&2 - exit 1 -fi - -echo "Bumping Astrolabe version..." -if [ -n "$INCREMENT" ]; then - echo " Forcing $INCREMENT bump" -fi - -# Build commitizen command -CZ_CMD="uv run cz --config .cz.toml bump --yes" -if [ -n "$INCREMENT" ]; then - CZ_CMD="$CZ_CMD --increment $INCREMENT" -fi - -# Run commitizen bump and capture output -if ! output=$($CZ_CMD 2>&1); then - cd ../.. - - # Check if this is the expected "no commits to bump" case - if echo "$output" | grep -q "\[NO_COMMITS_TO_BUMP\]"; then - echo "ℹ️ No commits eligible for version bump" >&2 - echo "$output" >&2 - exit 0 - fi - - # Otherwise, this is an actual error - echo "❌ Error: Version bump failed" >&2 - echo "$output" >&2 - echo "" >&2 - echo "Common causes:" >&2 - echo " - No commits with scope 'astrolabe' since last version" >&2 - echo " - No conventional commits found (use feat(astrolabe):, fix(astrolabe):, etc.)" >&2 - echo " - Git working directory not clean" >&2 - exit 1 -fi - -echo "$output" -echo "" -echo "✓ Astrolabe version bumped successfully" -echo " Updated: appinfo/info.xml, package.json" -echo " Tag format: astrolabe-v\${version}" -echo "" -echo "Next steps:" -echo " cd ../.." -echo " git push --follow-tags" - -cd ../.. diff --git a/third_party/astrolabe b/third_party/astrolabe new file mode 160000 index 0000000..c079a70 --- /dev/null +++ b/third_party/astrolabe @@ -0,0 +1 @@ +Subproject commit c079a70af883329d677d492340166ff68ca4437b diff --git a/third_party/astrolabe/.cz.toml b/third_party/astrolabe/.cz.toml deleted file mode 100644 index 4aabc36..0000000 --- a/third_party/astrolabe/.cz.toml +++ /dev/null @@ -1,25 +0,0 @@ -[tool.commitizen] -name = "cz_conventional_commits" -version = "0.10.1" -tag_format = "astrolabe-v$version" -version_scheme = "semver" -update_changelog_on_bump = true -major_version_zero = true - -# Update Astrolabe-specific files only -version_files = [ - "appinfo/info.xml:", - "package.json:version" -] - -# Ignore tags from other components -ignored_tag_formats = [ - "v*", # MCP server tags - "nextcloud-mcp-server-*", # Helm chart tags -] - -# Filter commits by scope -[tool.commitizen.customize] -changelog_pattern = "^(feat|fix|docs|refactor|perf|test|build|ci|chore)\\(astrolabe\\)(!)?:" -schema_pattern = "^(feat|fix|docs|refactor|perf|test|build|ci|chore)\\(astrolabe\\)(!)?:\\s.+" -message_template = "{{change_type}}(astrolabe): {{message}}" diff --git a/third_party/astrolabe/.eslintrc.cjs b/third_party/astrolabe/.eslintrc.cjs deleted file mode 100644 index 9175db9..0000000 --- a/third_party/astrolabe/.eslintrc.cjs +++ /dev/null @@ -1,9 +0,0 @@ -module.exports = { - extends: [ - '@nextcloud', - ], - rules: { - 'jsdoc/require-jsdoc': 'off', - 'vue/first-attribute-linebreak': 'off', - }, -} diff --git a/third_party/astrolabe/.gitignore b/third_party/astrolabe/.gitignore deleted file mode 100644 index 9039f45..0000000 --- a/third_party/astrolabe/.gitignore +++ /dev/null @@ -1,15 +0,0 @@ -/.idea/ -/*.iml - -/vendor/ -/vendor-bin/*/vendor/ - -/.php-cs-fixer.cache -/tests/.phpunit.cache - -dist/ -build/ -node_modules/ -js/ -css/ -.phpunit.cache/ diff --git a/third_party/astrolabe/.nvmrc b/third_party/astrolabe/.nvmrc deleted file mode 100644 index 209e3ef..0000000 --- a/third_party/astrolabe/.nvmrc +++ /dev/null @@ -1 +0,0 @@ -20 diff --git a/third_party/astrolabe/.php-cs-fixer.dist.php b/third_party/astrolabe/.php-cs-fixer.dist.php deleted file mode 100644 index 91fc1d9..0000000 --- a/third_party/astrolabe/.php-cs-fixer.dist.php +++ /dev/null @@ -1,19 +0,0 @@ -getFinder() - ->notPath('build') - ->notPath('l10n') - ->notPath('node_modules') - ->notPath('src') - ->notPath('vendor') - ->in(__DIR__); - -return $config; diff --git a/third_party/astrolabe/CHANGELOG.md b/third_party/astrolabe/CHANGELOG.md deleted file mode 100644 index fc4a6e9..0000000 --- a/third_party/astrolabe/CHANGELOG.md +++ /dev/null @@ -1,573 +0,0 @@ -# Changelog - Astrolabe - -All notable changes to the Astrolabe Nextcloud app will be documented in this file. - -The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), -and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). - - -### Added - -- Initial alpha release -- Semantic search across Notes, Files, Calendar, Deck, and Contacts -- Integration with Nextcloud Unified Search -- Personal settings UI for MCP server configuration -- Admin settings for global MCP server URL -- OAuth PKCE authentication flow -- Vector visualization of semantic relationships -- Hybrid search combining semantic and keyword matching -- Background content indexing -- Support for Nextcloud 30-32 - -### Notes - -- This is an alpha release intended for early adopters and testing -- Requires external MCP server deployment -- See documentation for setup: https://github.com/cbcoutinho/nextcloud-mcp-server - -## astrolabe-v0.10.1 (2026-02-03) - -### Fix - -- **helm**: add backward compatibility for legacy persistence configs - -## astrolabe-v0.10.0 (2026-01-28) - -### Feat - -- **astrolabe**: add background token refresh job - -### Fix - -- **astrolabe**: add pagination and psalm fixes for token refresh -- **astrolabe**: add locking to prevent token refresh race condition -- **astrolabe**: add issued_at to on-demand token refresh - -## astrolabe-v0.9.0 (2026-01-26) - -### Feat - -- **scripts**: add database query helpers for development - -### Fix - -- **astrolabe**: resolve Psalm type errors in PDF preview code -- **astrolabe**: fix Psalm baseline and ESLint import order -- **astrolabe**: load pdfjs-dist externally to fix PDF viewer -- **astrolabe**: improve error messages for authorization issues -- **astrolabe**: rename OAuthController and fix app password check -- **tests**: improve Astrolabe integration test reliability -- **astrolabe**: update Plotly title attributes for v3 compatibility -- **deps**: update dependency plotly.js-dist-min to v3 - -### Refactor - -- **api**: split management.py into domain-focused modules -- **astrolabe**: replace client-side PDF.js with server-side PyMuPDF rendering - -## astrolabe-v0.8.3 (2026-01-17) - -### Fix - -- **astrolabe**: improve token refresh error handling and validation -- **astrolabe**: delete stale tokens when refresh fails -- **astrolabe**: resolve CI failures for code quality checks -- **astrolabe**: use internal URL for OAuth token refresh - -### Refactor - -- **astrolabe**: add PHP property types to fix Psalm errors -- **astrolabe**: upgrade to @nextcloud/vue 9.3.3 API - -## astrolabe-v0.8.2 (2026-01-16) - -### Fix - -- **astrolabe**: Address reviewer feedback for hybrid mode -- **astrolabe**: Fix NcSelect options and CSS loading -- **astrolabe**: fix OAuth flow and settings UI for hybrid mode -- **api**: return OIDC config in hybrid mode for Astrolabe OAuth flow - -## astrolabe-v0.8.1 (2026-01-15) - -### Fix - -- **astrolabe**: address review feedback for Vue 3 bindings -- **astrolabe**: update Vue component bindings for Vue 3 compatibility -- **ci**: bump helm chart version when MCP appVersion changes - -## astrolabe-v0.8.0 (2026-01-15) - -### Feat - -- Add rate limiting and extract helpers for app password endpoints - -### Fix - -- **astrolabe**: define appName and appVersion for @nextcloud/vue -- Add missing annotations for deck remove/unassign operations -- **auth**: Store app passwords locally for multi-user BasicAuth background sync -- **deck**: use correct endpoint for reorder_card to fix cross-stack moves -- **deck**: Always preserve fields in update_card for partial updates - -### Refactor - -- Use get_settings() for vector sync enabled check -- Extract storage helper and improve PHP error handling - -## astrolabe-v0.7.2 (2025-12-30) - -### Fix - -- **astrolabe**: Fix CSS loading for Nextcloud apps - -## astrolabe-v0.7.1 (2025-12-30) - -### Fix - -- **astrolabe**: Fix revoke access button HTTP method mismatch -- **oauth**: Enable browser OAuth routes for Management API in hybrid mode -- **mcp**: Move all imports to the top of modules - -## astrolabe-v0.7.0 (2025-12-26) - -### Feat - -- Remove URL rewriting in favor of proper nextcloud config -- **helm**: migrate to new environment variable naming convention -- Migrate to vue 3 -- **astrolabe**: upgrade to Vue 3 and @nextcloud/vue 9 -- **helm**: add support for multi-user BasicAuth mode - -### Fix - -- **tests**: Add singleton reset fixture to prevent anyio.WouldBlock errors -- **tests**: Fix integration test failures in qdrant, sampling, and rag tests -- **auth**: Skip issuer validation for management API tokens -- Use settings.enable_offline_access for env var consolidation -- Add required config.py attributes -- **docker**: remove overwritehost to fix container-to-container DCR -- **deps**: update dependency @nextcloud/vue to v9 -- **deps**: update dependency vue to v3 -- **helm**: set OIDC client env vars when using existingSecret -- **helm**: trigger chart release workflow on helm chart tags -- **helm**: address PR #447 reviewer feedback -- **helm**: include MCP server version bumps in changelog pattern - -### Refactor - -- **auth**: Decouple BasicAuth and OAuth authentication strategies - -## astrolabe-v0.6.0 (2025-12-22) - -### Feat - -- **config**: enable DCR for multi-user BasicAuth with offline access -- **astrolabe**: implement app password provisioning for multi-user background sync -- **config**: consolidate configuration with smart dependency resolution (ADR-021) - -## astrolabe-v0.5.0 (2025-12-20) - -### Feat - -- **auth**: add multi-user BasicAuth pass-through mode -- **astrolabe**: add dynamic MCP server configuration for testing - -### Fix - -- **config**: address reviewer feedback - -### Refactor - -- **config**: centralize configuration validation and simplify startup - -## astrolabe-v0.4.4 (2025-12-20) - -### Fix - -- **astrolabe**: screenshots in info.xml - -## astrolabe-v0.4.3 (2025-12-19) - -### Fix - -- **astrolabe**: screenshots in info.xml - -## astrolabe-v0.4.2 (2025-12-19) - -### Fix - -- **astrolabe**: Update screenshots -- **ci**: skip existing Helm chart releases to prevent duplicate release errors - -## astrolabe-v0.4.1 (2025-12-19) - -## astrolabe-v0.4.0 (2025-12-19) - -### Feat - -- **ci**: add --increment flag to bump scripts for manual version control - -## astrolabe-v0.3.2 (2025-12-19) - -### Fix - -- **astrolabe**: add contents:write permission to appstore workflow - -## astrolabe-v0.3.1 (2025-12-19) - -### Fix - -- **astrolabe**: update commitizen pattern to properly update info.xml version - -## astrolabe-v0.3.0 (2025-12-19) - -### Fix - -- **astrolabe**: prevent workflow failure when only helm/astrolabe commits exist -- **astrolabe**: info.xml - -## astrolabe-v0.2.1 (2025-12-19) - -### BREAKING CHANGE - -- MCP server now bumps for ANY conventional commit except -those explicitly scoped to helm or astrolabe. - -### Fix - -- **ci**: push all tags explicitly in bump workflow -- **ci**: make MCP server default bump target for all non-scoped commits -- **ci**: restrict docker build to MCP server tags only -- **ci**: correct appstore-push-action version to v1.0.4 - -## astrolabe-v0.2.0 (2025-12-19) - -### BREAKING CHANGE - -- Search algorithms now require Qdrant to be populated. -Vector sync must be enabled and documents indexed for search to work. -- All OAuth deployments must be reconfigured to specify -resource URIs (NEXTCLOUD_MCP_SERVER_URL and NEXTCLOUD_RESOURCE_URI) and -choose between multi-audience or token exchange mode. -- FASTMCP_-prefixed env vars have been replaced by CLI -arguments. Refer to the README for updated usage. - -### Feat - -- **ci**: implement monorepo-aware version bumping workflow -- **astrolabe**: add Nextcloud App Store deployment automation -- configure commitizen monorepo with independent versioning -- add Alembic database migration system -- make chunk modal title clickable link to documents -- add native Plotly hover styling for clickable points -- add click interactivity to Plotly 3D scatter chart -- improve chunk viewer with fixed navigation and markdown rendering -- **astrolabe**: enable multi-select for document types and refactor PDF viewer -- **auth**: implement refresh token rotation for Nextcloud OIDC -- **astrolabe**: enhance unified search and add webhook management -- **astrolabe**: add webhook management UI to admin settings -- **astrolabe**: add OAuth token refresh and webhook presets -- **search**: add file_path metadata and chunk offsets to search results -- **astrolabe**: use proper icons and thumbnails in unified search -- **astrolabe**: add admin search settings and enhanced UI -- **astrolabe**: add unified search provider with clickable file links -- **astrolabe**: add 3D PCA visualization for semantic search -- **astrolabe**: add Nextcloud PHP app for MCP server management -- **vector-sync**: enable background sync in OAuth mode -- **vector**: add Deck card vector search with visualization support -- **vector-viz**: add news_item support for links and chunk expansion -- add MCP tool annotations for enhanced UX -- **news**: add Nextcloud News app integration -- Add tag management methods to WebDAV client -- Add OpenAI provider support for embeddings and generation -- Add Smithery CLI deployment support -- Implement ADR-016 Smithery stateless deployment mode -- Add context expansion to semantic search with chunk overlap removal -- Use Ollama native batch API in embed_batch() -- Implement Qdrant placeholder state management -- Switch files to use numeric IDs with file_path resolution -- Implement per-chunk vector visualization with context expansion -- Improve vector visualization with static assets and fixes -- Redesign UI to match Nextcloud ecosystem aesthetic -- Replace custom document chunker with LangChain MarkdownTextSplitter -- **viz**: Add dual-score display and improve UI controls -- add configurable fusion algorithms for BM25 hybrid search -- add chunk position tracking to vector indexing and search -- add vector viz template and chunk context endpoint -- add unified provider architecture with Amazon Bedrock support -- add concurrent uploads and --force flag to upload command -- implement RAG evaluation framework with CLI tooling -- Add OpenTelemetry tracing to @instrument_tool decorator -- Implement BM25 hybrid search with native Qdrant RRF fusion -- Normalize hybrid search RRF scores to 0-1 range -- Enhance vector visualization UI and parallelize search verification -- Add Vector Viz tab to app home page -- Add vector visualization pane with multi-select document types -- Implement custom PCA to remove sklearn dependency -- Add multi-document Protocol with cross-app search support -- Update nc_semantic_search tool with algorithm selection -- Implement unified search algorithm module -- Enable SSE transport for mcp service and update test fixtures -- Complete Phase 5 - Instrument all 93 MCP tools -- Add instrumentation decorator and apply to notes tools (Phase 5) -- Add OAuth token and database metrics (Phases 3-4) -- Add metrics instrumentation for queue, health, and database operations -- Add Grafana dashboard and vector sync metric instrumentation -- **ollama**: Pull model on startup if not available in ollama -- add dynamic vector sync status updates with htmx polling -- add webhook management UI and BeforeNodeDeletedEvent support -- validate Nextcloud webhook schemas and document findings -- skip tracing for health and metrics endpoints -- **helm**: Add document chunking configuration -- **vector**: Add configurable chunk size and overlap for document embedding -- **vector**: Support multiple embedding models with auto-generated collection names -- **helm**: Add observability support with ServiceMonitor and Grafana dashboard -- **observability**: Add comprehensive monitoring with Prometheus and OpenTelemetry -- **helm**: add Qdrant local mode support with three deployment options [skip ci] -- add Qdrant local mode support with in-memory and persistent storage -- implement ADR-009 - refactor semantic search to use generic semantic:read scope -- implement MCP sampling for semantic search RAG (ADR-008) -- add optional vector database and semantic search to helm chart -- add vector sync processing status to /user/page endpoint -- implement semantic search tool and fix vector sync issues (ADR-007 Phase 3) -- implement vector sync scanner and processor (ADR-007 Phase 2) -- add real elicitation integration test with python-sdk MCP client -- unify session architecture and enhance login status visibility -- Implement ADR-005 unified token verifier to eliminate token passthrough vulnerability -- add scope protection to OAuth provisioning tools -- enable authorization services for token exchange in Keycloak -- implement scope-based audience mapping and RFC 9728 support -- integrate token exchange into MCP server application -- implement RFC 8693 Standard Token Exchange for Keycloak -- Add userinfo route/page -- add browser-based user info page with separate OAuth flow -- Implement ADR-004 Progressive Consent foundation (partial) -- Complete ADR-004 Progressive Consent OAuth flows implementation -- Implement ADR-004 Progressive Consent foundation components -- Implement ADR-004 Hybrid Flow with comprehensive integration tests -- Auto-configure impersonation role in Keycloak realm import -- Implement dual-tier token exchange (Standard V2 + Legacy V1 impersonation) -- Add Keycloak external IdP integration with custom scopes -- Implement RFC 8693 token exchange for Keycloak (ADR-002 Tier 2) -- Add Keycloak OAuth provider support with refresh token storage -- **server**: Add /live & /health endpoints -- Initialize helm chart -- Add text processing background worker for telling client about progress -- **auth**: Add support for client registration deletion -- Split read/write scopes into app:read/write scopes -- Enable token introspection for opaque tokens -- **server**: Add support for custom OIDC scopes and permissions via JWTs -- Initialize JWT-scoped tools -- **caldav**: Add support for tasks -- **webdav**: Add search and list favorite response tools -- **cookbook**: Add full Cookbook app support with 13 tools and 2 resources -- Add Groups API client -- add sharing API client and server tools -- **server**: Experimental support for OAuth2/OIDC authentication -- **users**: Initialize user API client -- **server**: Add support for `streamable-http` transport type -- Add WebDAV resource copy functionality -- Add WebDAV resource move/rename functionality -- **deck**: Add support for stack, cards, labels -- **deck**: Initialize Deck app client/server -- **cli**: Replace `mcp run` with click CLI and runtime options -- **client**: Preserve fields when modifying contacts/calendar resources -- **server**: Add structured output to all tool/resource output -- **contacts**: Initialize Contacts App -- **calendar**: add comprehensive Calendar app support via CalDAV protocol -- Update webdav client create_directory method to handle recursive directories -- **webdav**: add complete file system support -- Add TablesClient and associated tools -- Switch to using async client -- **notes**: Add append to note functionality - -### Fix - -- **ci**: improve versioning and error handling -- **ci**: address critical workflow and validation issues -- **astrolabe**: address code review feedback -- **security**: address critical security issues from PR #401 code review -- **oauth**: enable PKCE for all clients and add token_broker to oauth_context -- **astrolabe**: revert invalid files_pdfviewer URL for file links -- resolve type checking warnings for CI -- move Alembic to package submodule for Docker compatibility -- update unified search results to match chunk viz display -- **astrolabe**: handle OAuth refresh token rotation -- address critical code review issues (4 fixes) -- resolve CI linting issues for Astroglobe -- **news**: revert get_item() to use get_items() + filter -- Disable DNS rebinding protection for containerized deployments -- **deps**: update dependency mcp to >=1.23,<1.24 -- address PR review feedback -- Update lockfile -- Revert mcp version <1.23 -- resolve all type checking errors (8 errors fixed) -- **deps**: update dependency mcp to >=1.23,<1.24 -- **deps**: update dependency pillow to v12 -- Add rate limit retry logic to OpenAI provider -- Increase MCP sampling timeout to 5 minutes for slower LLMs -- Share vector sync state with FastMCP session lifespan via module singleton -- Share vector sync state with FastMCP session lifespan via module singleton -- Use WebDAV for tag creation and add LLM-as-a-judge for RAG tests -- **smithery**: Enable JSON response format for scanner compatibility -- **smithery**: Add JSON Schema metadata to mcp-config endpoint -- **smithery**: Use container runtime pattern for config discovery -- Add Smithery lifespan and auth mode detection -- Use alpha_composite for proper RGBA highlight blending -- Remove pymupdf.layout.activate() to fix page_chunks behavior -- Centralize PDF processing and generate separate images per chunk -- Set is_placeholder=False in processor to fix search filtering -- Increase placeholder staleness threshold to 5x scan interval -- Add placeholder staleness check to prevent duplicate processing -- Use empty SparseVector instead of None for placeholders -- Return empty array instead of null for query_coords when no results -- Align PDF text extraction between indexing and context expansion -- Update models and viz to use int-only doc_id -- Reconstruct full content for notes to match indexed offsets -- Add async/await, PDF metadata, and type safety fixes -- **deps**: update dependency mcp to >=1.22,<1.23 -- Improve 3D plot rendering with explicit dimensions and window resize support -- Preserve 3D plot camera and improve documentation -- Preserve 3D plot camera position and fix CSS loading -- prevent infinite loop in DocumentChunker with position tracking -- Relax SearchResult validation to support DBSF fusion scores > 1.0 -- suppress Starlette middleware type warnings in ty checker -- download qrels from BEIR ZIP instead of HuggingFace -- Handle named vectors in visualization and semantic search -- Update vizApp to use bm25_hybrid algorithm and remove deprecated weights -- Update viz routes to use BM25 hybrid search after refactor -- Reorder tabs and fix viz pane session access -- Use NEXTCLOUD_OIDC_CLIENT_ID/SECRET env vars consistently -- return all notes when search query is empty -- Move grafana_folder from labels to annotations -- add dynamic dimension detection for Ollama embedding models -- improve webapp tab UI with CSS Grid and viewport-filling container -- add retry logic for ETag conflicts in category change test -- optimize Notes API pagination with pruneBefore parameter -- Support in-memory Qdrant for CI testing -- **helm**: Set default strategy to Recreate -- **observability**: isolate metrics endpoint to dedicated port -- **readiness**: Only check external Qdrant in network mode -- **vector**: Handle missing 'modified' field in notes gracefully -- **ci**: Use helm dependency build instead of update to use Chart.lock -- **helm**: update Qdrant dependency condition to match new mode structure -- **ci**: add Helm repository setup to chart release workflow -- implement deletion grace period and vector sync status tool -- remove unnecessary urllib3<2.0 constraint -- integrate vector sync tasks with Starlette lifespan for streamable-http -- **deps**: update dependency mcp to >=1.21,<1.22 -- Consolidate OAuth callbacks and implement PKCE for all flows -- Implement proper OAuth resource parameters and PRM-based discovery -- Simplify token verifier to be RFC 7519 compliant -- Use Keycloak client ID for NEXTCLOUD_RESOURCE_URI in token exchange -- Correct OAuth token audience validation for multi-audience mode -- **deps**: update dependency mcp to >=1.20,<1.21 -- add missing await for get_nextcloud_client in capabilities resource -- use valid Fernet encryption keys in token exchange tests -- accept resource URL in token audience for Nextcloud JWT tokens -- remove token-exchange-nextcloud scope and accept tokens without audience -- move audience mapper from scope to nextcloud-mcp-server client -- move token-exchange-nextcloud from default to optional scopes -- restructure routes to prevent SessionAuthBackend from interfering with FastMCP OAuth -- allow OAuth Bearer tokens on /mcp endpoint by excluding from session auth -- correct OAuth token audience validation using RFC 8707 resource parameter -- remove remaining references to deleted oauth_callback and oauth_token -- remove Hybrid Flow, make Progressive Consent default (ADR-004) -- browser OAuth userinfo endpoint and refresh token rotation -- make ENABLE_PROGRESSIVE_CONSENT consistently opt-in (default false) -- make provisioning checks opt-in (default false) -- Disable Progressive Consent for mcp-oauth to enable Hybrid Flow tests -- Complete Keycloak external IdP integration with all tests passing -- Complete Keycloak external IdP integration with all tests passing -- Update DCR token_type tests for OIDC app changes -- **helm**: Remove image tag overide -- **helm**: Update helm chart with extraArgs -- Update helm chart variables -- **helm**: Update helm version with release -- **helm**: Update helm version with release -- **helm**: Update helm version with release -- **helm**: Update helm version with release -- Trigger release -- Add support for RFC 7592 client registration and deletion -- Update webdav models for proper serialization -- **deps**: update dependency mcp to >=1.19,<1.20 -- Add CORS middleware to allow browser-based clients like MCP Inspector -- Use occ-created OAuth clients with allowed_scopes for all tests -- Separate OAuth fixtures for opaque vs JWT tokens -- **caldav**: Fix caldav search() due to missing todos -- **caldav**: Check that calendar exists after creation to avoid race condition -- **caldav**: Properly parse datetimes as vDDDTypes -- Increase HTTP client timeout to 30s -- Handle RequestError in mcp tools -- **deps**: update dependency mcp to >=1.18,<1.19 -- **deps**: update dependency pillow to v12 -- **oauth**: Remove the option to force_register new clients -- Update user/groups API to OCS v2 -- **deps**: update dependency mcp to >=1.17,<1.18 -- **deps**: update dependency mcp to >=1.16,<1.17 -- **deps**: update dependency mcp to >=1.15,<1.16 -- **docker**: Provide --host 0.0.0.0 in default docker image -- **deps**: update dependency mcp to >=1.13,<1.14 -- **server**: Replace ErrorResponses with standard McpErrors -- **notes**: Include ETags in responses to avoid accidently updates -- **notes**: Remove note contents from responses to reduce token usage -- **model**: Serialize timestamps in RFC3339 format -- **client**: Use paging to fetch all notes -- **client**: Strip cookies from responses to avoid falsely raising CSRF errors -- **calendar**: Fix iCalendar date vs datetime format -- **calendar**: Remove try/except in calendar API -- apply ruff formatting to pass CI checks -- **calendar**: address PR feedback from maintainer -- apply ruff formatting to test_webdav_operations.py -- **deps**: update dependency mcp to >=1.10,<1.11 -- update tests -- Commitizen release process -- Do not update dependencies when running in Dockerfile -- Configure logging -- Limit search results to notes with score > 0.5 -- Install deps before checking service -- **deps**: update dependency mcp to >=1.9,<1.10 - -### Refactor - -- **astrolabe**: extract PDF viewer to dedicated component -- **astrolabe**: reframe UI as semantic search service -- **news**: simplify vector sync to fetch all items -- Move background tasks to server lifespan and deprecate SSE transport -- Simplify PDF text extraction with single to_markdown call -- migrate asyncio to anyio for consistent structured concurrency -- replace httpx client with NextcloudClient in upload command -- Optimize Nextcloud access verification with centralized filtering -- Make all search algorithms query Qdrant payload, not Nextcloud -- move webapp from /user/page to /app -- consolidate database storage for webhooks and OAuth tokens -- simplify OpenTelemetry tracing configuration -- migrate vector sync from asyncio.Queue to anyio memory object streams -- update to Qdrant query_points API and fix Playwright Keycloak login -- Eliminate duplicate validation logic in UnifiedTokenVerifier -- integrate token exchange into unified get_client() pattern -- Remove NEXTCLOUD_OIDC_CLIENT_STORAGE environment variable -- Remove unnecessary user_oidc patch - CORSMiddleware patch is sufficient -- Unify OAuth configuration to be provider-agnostic -- Transform document parsing into pluggable processor architecture -- Update JWT client to use DCR, re-enable tool filtering -- Migrate from internal CalendarClient to caldav library -- Unify logging & remove factory deployment -- Add tools for all resources to enable tool-only workflows -- Add `http` to --transport option -- Use _make_request where available -- **calendar**: optimize logging for production readiness -- Modularize NC and Notes app client - -### Perf - -- **deck**: optimize card lookup by storing board_id/stack_id in metadata -- **news**: use direct API endpoint for get_item() -- Optimize vector viz search performance -- Optimize PDF processing with parallel extraction and single-render highlights -- Eliminate double-fetching in semantic search sampling -- fix vector viz search performance and visual encoding -- make note deletion concurrent in upload --force -- Exclude vector-sync status polling from distributed tracing -- **notes**: Improve notes search performance using async iterators diff --git a/third_party/astrolabe/CODE_OF_CONDUCT.md b/third_party/astrolabe/CODE_OF_CONDUCT.md deleted file mode 100644 index d906007..0000000 --- a/third_party/astrolabe/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,9 +0,0 @@ -In the Nextcloud community, participants from all over the world come together to create Free Software for a free internet. This is made possible by the support, hard work and enthusiasm of thousands of people, including those who create and use Nextcloud software. - -Our code of conduct offers some guidance to ensure Nextcloud participants can cooperate effectively in a positive and inspiring atmosphere, and to explain how together we can strengthen and support each other. - -The Code of Conduct is shared by all contributors and users who engage with the Nextcloud team and its community services. It presents a summary of the shared values and “common sense” thinking in our community. - -You can find our full code of conduct on our website: https://nextcloud.com/code-of-conduct/ - -Please, keep our CoC in mind when you contribute! That way, everyone can be a part of our community in a productive, positive, creative and fun way. diff --git a/third_party/astrolabe/LICENSE b/third_party/astrolabe/LICENSE deleted file mode 100644 index be3f7b2..0000000 --- a/third_party/astrolabe/LICENSE +++ /dev/null @@ -1,661 +0,0 @@ - GNU AFFERO GENERAL PUBLIC LICENSE - Version 3, 19 November 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU Affero General Public License is a free, copyleft license for -software and other kinds of works, specifically designed to ensure -cooperation with the community in the case of network server software. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -our General Public Licenses are intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - Developers that use our General Public Licenses protect your rights -with two steps: (1) assert copyright on the software, and (2) offer -you this License which gives you legal permission to copy, distribute -and/or modify the software. - - A secondary benefit of defending all users' freedom is that -improvements made in alternate versions of the program, if they -receive widespread use, become available for other developers to -incorporate. Many developers of free software are heartened and -encouraged by the resulting cooperation. However, in the case of -software used on network servers, this result may fail to come about. -The GNU General Public License permits making a modified version and -letting the public access it on a server without ever releasing its -source code to the public. - - The GNU Affero General Public License is designed specifically to -ensure that, in such cases, the modified source code becomes available -to the community. It requires the operator of a network server to -provide the source code of the modified version running there to the -users of that server. Therefore, public use of a modified version, on -a publicly accessible server, gives the public access to the source -code of the modified version. - - An older license, called the Affero General Public License and -published by Affero, was designed to accomplish similar goals. This is -a different license, not a version of the Affero GPL, but Affero has -released a new version of the Affero GPL which permits relicensing under -this license. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU Affero General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Remote Network Interaction; Use with the GNU General Public License. - - Notwithstanding any other provision of this License, if you modify the -Program, your modified version must prominently offer all users -interacting with it remotely through a computer network (if your version -supports such interaction) an opportunity to receive the Corresponding -Source of your version by providing access to the Corresponding Source -from a network server at no charge, through some standard or customary -means of facilitating copying of software. This Corresponding Source -shall include the Corresponding Source for any work covered by version 3 -of the GNU General Public License that is incorporated pursuant to the -following paragraph. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the work with which it is combined will remain governed by version -3 of the GNU General Public License. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU Affero General Public License from time to time. Such new versions -will be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU Affero General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU Affero General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU Affero General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Affero General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If your software can interact with users remotely through a computer -network, you should also make sure that it provides a way for users to -get its source. For example, if your program is a web application, its -interface could display a "Source" link that leads users to an archive -of the code. There are many ways you could offer source, and different -solutions will be better for different programs; see section 13 for the -specific requirements. - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU AGPL, see -. diff --git a/third_party/astrolabe/Makefile b/third_party/astrolabe/Makefile deleted file mode 100644 index f96e6e0..0000000 --- a/third_party/astrolabe/Makefile +++ /dev/null @@ -1,101 +0,0 @@ -# Nextcloud App Store Release Makefile for Astrolabe -# -# Based on: https://nextcloudappstore.readthedocs.io/en/latest/developer.html - -app_name=astrolabe -project_dir=$(CURDIR) -build_dir=$(project_dir)/build -appstore_dir=$(build_dir)/artifacts -package_name=$(appstore_dir)/$(app_name) -cert_dir=$(HOME)/.nextcloud/certificates - -# Nextcloud server path (configurable via environment variable) -server_dir?=../../server -occ=$(server_dir)/occ - -# Signing -private_key=$(cert_dir)/$(app_name).key -certificate=$(cert_dir)/$(app_name).crt -sign_cmd=php $(occ) integrity:sign-app --privateKey=$(private_key) --certificate=$(certificate) - -# Clean build artifacts -.PHONY: clean -clean: - rm -rf $(build_dir) - -# Validate required dependencies -.PHONY: validate-deps -validate-deps: - @command -v composer >/dev/null 2>&1 || { echo "Error: composer not found. Install from https://getcomposer.org/"; exit 1; } - @command -v npm >/dev/null 2>&1 || { echo "Error: npm not found. Install Node.js from https://nodejs.org/"; exit 1; } - @command -v php >/dev/null 2>&1 || { echo "Error: php not found. Install PHP 8.1 or higher."; exit 1; } - @echo "✓ All dependencies found" - -# Install PHP and Node dependencies -.PHONY: install-deps -install-deps: validate-deps - composer install --no-dev --optimize-autoloader - npm ci - -# Build production frontend assets -.PHONY: build-frontend -build-frontend: - npm run build - -# Run all linters -.PHONY: lint -lint: - composer lint - composer cs:check - npm run lint - npm run stylelint - -# Assemble app files into build directory (exclude dev files) -.PHONY: assemble -assemble: clean install-deps build-frontend - mkdir -p $(package_name) - # Copy app files - rsync -av \ - --exclude='.git*' \ - --exclude='build/' \ - --exclude='tests/' \ - --exclude='node_modules/' \ - --exclude='*.log' \ - --exclude='.github/' \ - --exclude='composer.json' \ - --exclude='composer.lock' \ - --exclude='package.json' \ - --exclude='package-lock.json' \ - --exclude='vite.config.js' \ - --exclude='.eslintrc.js' \ - --exclude='.php-cs-fixer.*' \ - --exclude='psalm.xml' \ - --exclude='*.iml' \ - --exclude='.idea' \ - --exclude='src/' \ - ./ $(package_name)/ - -# Validate signing prerequisites -.PHONY: validate-signing -validate-signing: - @test -f $(occ) || { echo "Error: Nextcloud server not found at $(server_dir)"; echo "Set server_dir variable: make appstore server_dir=/path/to/server"; exit 1; } - @test -f $(private_key) || { echo "Error: Private key not found at $(private_key)"; exit 1; } - @test -f $(certificate) || { echo "Error: Certificate not found at $(certificate)"; exit 1; } - @echo "✓ Signing prerequisites validated" - -# Create signed release tarball for App Store -.PHONY: appstore -appstore: assemble validate-signing - # Sign the app - $(sign_cmd) --path=$(package_name) - # Create tarball - cd $(appstore_dir) && \ - tar -czf $(app_name).tar.gz $(app_name) - # Show package info - @echo "=========================================" - @echo "App package created:" - @echo " $(appstore_dir)/$(app_name).tar.gz" - @echo "" - @echo "Signature:" - @cat $(package_name)/appinfo/signature.json | head -n 5 - @echo "=========================================" diff --git a/third_party/astrolabe/README.md b/third_party/astrolabe/README.md deleted file mode 100644 index 2346267..0000000 --- a/third_party/astrolabe/README.md +++ /dev/null @@ -1,223 +0,0 @@ -# Astrolabe: The Intelligence Layer for Nextcloud - -Your Nextcloud instance is more than just a bucket for files—it is a galaxy of ideas, projects, and knowledge. But until now, you've been navigating it in the dark, relying on exact filenames and rigid keywords. - -**It's time to turn the lights on.** - -Astrolabe is a fully integrated Nextcloud application that transforms your server into a semantic intelligence engine. It doesn't just store your data; it **maps it, understands it, and connects it** to the AI future. - ---- - -## What You Can Do - -### 🔍 Search That Actually Understands - -Forget clunky external tools. Astrolabe registers as a **native Nextcloud Search Provider**. - -- **Seamless**: Lives right in the standard Nextcloud search bar you already use -- **Semantic**: Type "marketing strategy for the winter launch" and Astrolabe finds the relevant PDFs, chat logs, and text files—even if those exact words never appear in the document -- **Intelligent**: It finds the **concept**, not just the string - -### 🌌 Visualize Your Data Universe - -Data shouldn't just be a list; it should be a landscape. Astrolabe includes a dedicated dashboard that visualizes your document chunks as a **3D PCA Vector Plot**. - -- **See the Connections**: View your data as a constellation of points in 3D space -- **Explore Clusters**: Visually identify how your documents relate to one another -- **True "Astroglobe" Experience**: Rotate, zoom, and fly through your semantic universe just like navigators once studied the stars - -### 🤖 Power Your AI Agents - -Astrolabe isn't just for humans; it's for your AI agents, too. It acts as a bridge, running a **Model Context Protocol (MCP) Server** directly from your Nextcloud. - -- **Bring Your Own Brain**: Connect external AI clients (like Claude Desktop or Cursor) to your private data -- **Agentic Workflows**: Enable LLMs to "sample" your files, read content, and perform complex reasoning tasks using your Nextcloud data as the source of truth -- **Private & Secure**: Your data never leaves your infrastructure - ---- - -## Installation - -### From App Store (Recommended) - -1. Open **Apps** in your Nextcloud -2. Search for **"Astrolabe"** -3. Click **"Download and enable"** - -### Manual Installation - -```bash -# Clone into your Nextcloud apps directory -cd /path/to/nextcloud/apps -git clone https://github.com/cbcoutinho/nextcloud-mcp-server.git -cd nextcloud-mcp-server/third_party/astrolabe - -# Install dependencies -composer install - -# Enable the app -php /path/to/nextcloud/occ app:enable astrolabe -``` - ---- - -## Quick Start - -### 1. Configure the MCP Server URL - -Add this to your Nextcloud `config/config.php`: - -```php -'mcp_server_url' => 'http://localhost:8000', -``` - -### 2. Start the MCP Server - -The MCP server handles semantic search and AI agent connections. See the [MCP Server Installation Guide](https://github.com/cbcoutinho/nextcloud-mcp-server/blob/master/docs/installation.md) for details. - -Quick start with Docker: - -```bash -docker run -p 127.0.0.1:8000:8000 --env-file .env --rm \ - ghcr.io/cbcoutinho/nextcloud-mcp-server:latest --oauth -``` - -### 3. Authorize Access - -1. Go to **Settings → Personal → Astrolabe** -2. Click **"Authorize Access"** -3. Sign in to your identity provider -4. Approve the requested permissions - -That's it! You can now use semantic search and explore your data universe. - ---- - -## Features - -### Personal Settings - -Located in: **Settings → Personal → Astrolabe** - -- **Semantic Search Dashboard**: Interactive 3D visualization of your document chunks -- **OAuth Authorization**: Authorize Nextcloud to access the MCP server on your behalf -- **Session Information**: View connection status and authentication details -- **Connection Management**: Revoke access or disconnect when needed - -### Admin Settings - -Located in: **Settings → Administration → Astrolabe** - -- **Server Status**: Monitor MCP server health and version -- **Vector Sync Metrics**: See how many documents are indexed, processing rates, and sync status -- **Configuration Validation**: Verify server URL and connectivity -- **Feature Availability**: Check which capabilities are enabled - -### Unified Search Integration - -Astrolabe integrates directly with Nextcloud's **Unified Search**: - -- Available in the top search bar across all Nextcloud pages -- Returns semantic matches ranked by relevance -- Shows excerpts from matching documents -- Links directly to source files in Nextcloud - ---- - -## Use Cases - -### For Individuals - -- **Research**: Find all notes related to a project, even if they use different terminology -- **Organization**: Discover forgotten documents related to your current work -- **Exploration**: Visualize how your knowledge connects and evolves over time - -### For Teams - -- **Knowledge Discovery**: Surface institutional knowledge that would otherwise stay buried -- **Collaboration**: Find team members working on similar problems -- **Documentation**: Locate relevant documentation without knowing exact titles - -### For Developers - -- **AI Integration**: Connect Claude Desktop, Cursor, or other MCP clients to Nextcloud -- **RAG Workflows**: Build retrieval-augmented generation pipelines on your private data -- **Custom Agents**: Use the MCP protocol to create specialized workflows - ---- - -## Requirements - -- **Nextcloud**: Version 30 or later -- **MCP Server**: Running instance (Docker recommended) -- **Identity Provider**: OAuth provider supporting PKCE (Nextcloud OIDC Login or Keycloak) -- **Vector Sync**: Optional but recommended for semantic search (see [configuration guide](https://github.com/cbcoutinho/nextcloud-mcp-server/blob/master/docs/configuration.md)) - ---- - -## Documentation - -### User Guides - -- [MCP Server Installation](https://github.com/cbcoutinho/nextcloud-mcp-server/blob/master/docs/installation.md) -- [Configuration Guide](https://github.com/cbcoutinho/nextcloud-mcp-server/blob/master/docs/configuration.md) -- [OAuth Setup](https://github.com/cbcoutinho/nextcloud-mcp-server/blob/master/docs/oauth-setup.md) - -### Technical Details - -- [ADR-018: Nextcloud PHP App Architecture](https://github.com/cbcoutinho/nextcloud-mcp-server/blob/master/docs/ADR-018-nextcloud-php-app-for-settings-ui.md) -- [OAuth PKCE Flow Details](https://github.com/cbcoutinho/nextcloud-mcp-server/blob/master/docs/ADR-004-progressive-consent.md) -- [Vector Sync Architecture](https://github.com/cbcoutinho/nextcloud-mcp-server/blob/master/docs/ADR-002-vector-sync-authentication.md) - -### Troubleshooting - -**Cannot connect to MCP server:** -- Verify `mcp_server_url` in `config.php` -- Check MCP server is running: `curl http://localhost:8000/health` -- Review logs: `tail -f data/nextcloud.log` - -**Authorization fails:** -- Ensure MCP server is in OAuth mode -- Verify identity provider is accessible -- Check browser console for errors - -**Semantic search returns no results:** -- Verify vector sync is enabled and running -- Check indexing status in Admin settings -- Allow time for initial indexing to complete - -For more help, see the [Troubleshooting Guide](https://github.com/cbcoutinho/nextcloud-mcp-server/blob/master/docs/troubleshooting.md). - ---- - -## Contributing - -We welcome contributions! Here's how to get started: - -1. Fork the [nextcloud-mcp-server repository](https://github.com/cbcoutinho/nextcloud-mcp-server) -2. Create a feature branch: `git checkout -b feature/your-feature` -3. Make your changes in `third_party/astrolabe/` -4. Test thoroughly with a local Nextcloud instance -5. Submit a pull request - -See [CONTRIBUTING.md](https://github.com/cbcoutinho/nextcloud-mcp-server/blob/master/CONTRIBUTING.md) for detailed guidelines. - ---- - -## License - -AGPL-3.0 - ---- - -## About - -**Astrolabe** is developed as part of the [Nextcloud MCP Server](https://github.com/cbcoutinho/nextcloud-mcp-server) project, bringing the power of semantic search and AI integration to Nextcloud. - -**Author**: Chris Coutinho - ---- - -**Your Data. Mapped. Visualized. Connected.** - -Install Astrolabe for Nextcloud. diff --git a/third_party/astrolabe/appinfo/info.xml b/third_party/astrolabe/appinfo/info.xml deleted file mode 100644 index 76de198..0000000 --- a/third_party/astrolabe/appinfo/info.xml +++ /dev/null @@ -1,63 +0,0 @@ - - - astrolabe - Astrolabe - AI-powered semantic search across your Nextcloud - - 0.10.1 - agpl - Chris Coutinho - Astrolabe - ai - https://github.com/cbcoutinho/nextcloud-mcp-server/issues - https://github.com/cbcoutinho/nextcloud-mcp-server - https://github.com/cbcoutinho/nextcloud-mcp-server/blob/master/third_party/astrolabe/screenshots/02-semantic-search-with-plot.png?raw=1 - https://github.com/cbcoutinho/nextcloud-mcp-server/blob/master/third_party/astrolabe/screenshots/01-unified-search-astrolabe.png?raw=1 - https://github.com/cbcoutinho/nextcloud-mcp-server/blob/master/third_party/astrolabe/screenshots/03-chunk-viewer-open.png?raw=1 - - - - - OCA\Astrolabe\Settings\Personal - OCA\Astrolabe\Settings\PersonalSection - OCA\Astrolabe\Settings\Admin - OCA\Astrolabe\Settings\AdminSection - - - - astrolabe - Astrolabe - astrolabe.page.index - app.svg - link - - - - OCA\Astrolabe\BackgroundJob\RefreshUserTokens - - diff --git a/third_party/astrolabe/appinfo/routes.php b/third_party/astrolabe/appinfo/routes.php deleted file mode 100644 index 35d0c8d..0000000 --- a/third_party/astrolabe/appinfo/routes.php +++ /dev/null @@ -1,115 +0,0 @@ - [ - // OAuth routes - [ - 'name' => 'oauth#initiateOAuth', - 'url' => '/oauth/authorize', - 'verb' => 'GET', - ], - [ - 'name' => 'oauth#oauthCallback', - 'url' => '/oauth/callback', - 'verb' => 'GET', - ], - [ - 'name' => 'oauth#disconnect', - 'url' => '/oauth/disconnect', - 'verb' => 'POST', - ], - - // API routes (form handlers) - [ - 'name' => 'api#revokeAccess', - 'url' => '/api/revoke', - 'verb' => 'POST', - ], - - // Background sync credentials routes - [ - 'name' => 'credentials#storeAppPassword', - 'url' => '/api/v1/background-sync/credentials', - 'verb' => 'POST', - ], - [ - 'name' => 'credentials#getCredentials', - 'url' => '/api/v1/background-sync/credentials/{userId}', - 'verb' => 'GET', - ], - [ - 'name' => 'credentials#deleteCredentials', - 'url' => '/api/v1/background-sync/credentials/revoke', - 'verb' => 'POST', - ], - [ - 'name' => 'credentials#getStatus', - 'url' => '/api/v1/background-sync/status', - 'verb' => 'GET', - ], - - // Vector search API routes - [ - 'name' => 'api#search', - 'url' => '/api/search', - 'verb' => 'GET', - ], - [ - 'name' => 'api#vectorStatus', - 'url' => '/api/vector-status', - 'verb' => 'GET', - ], - [ - 'name' => 'api#chunkContext', - 'url' => '/api/chunk-context', - 'verb' => 'GET', - ], - [ - 'name' => 'api#pdfPreview', - 'url' => '/api/pdf-preview', - 'verb' => 'GET', - ], - - // Admin settings routes - [ - 'name' => 'api#serverStatus', - 'url' => '/api/admin/server-status', - 'verb' => 'GET', - ], - [ - 'name' => 'api#adminVectorStatus', - 'url' => '/api/admin/vector-status', - 'verb' => 'GET', - ], - [ - 'name' => 'api#saveSearchSettings', - 'url' => '/api/admin/search-settings', - 'verb' => 'POST', - ], - - // Webhook management routes (admin only) - [ - 'name' => 'api#getWebhookPresets', - 'url' => '/api/admin/webhooks/presets', - 'verb' => 'GET', - ], - [ - 'name' => 'api#enableWebhookPreset', - 'url' => '/api/admin/webhooks/presets/{presetId}/enable', - 'verb' => 'POST', - ], - [ - 'name' => 'api#disableWebhookPreset', - 'url' => '/api/admin/webhooks/presets/{presetId}/disable', - 'verb' => 'POST', - ], - ], -]; diff --git a/third_party/astrolabe/composer.json b/third_party/astrolabe/composer.json deleted file mode 100644 index 91969c1..0000000 --- a/third_party/astrolabe/composer.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - "name": "nextcloud/astrolabe", - "description": "This app provides a management UI for the Nextcloud MCP Server", - "license": "AGPL-3.0-or-later", - "authors": [ - { - "name": "Chris Coutinho", - "email": "chris@coutinho.io", - "homepage": "https://github.com/cbcoutinho" - } - ], - "autoload": { - "psr-4": { - "OCA\\Astrolabe\\": "lib/" - } - }, - "autoload-dev": { - "psr-4": { - "OCP\\": "vendor/nextcloud/ocp/OCP/" - } - }, - "scripts": { - "post-install-cmd": [ - "@composer bin all install --ansi" - ], - "post-update-cmd": [ - "@composer bin all install --ansi" - ], - "lint": "find . -name \\*.php -not -path './vendor/*' -not -path './vendor-bin/*' -not -path './build/*' -print0 | xargs -0 -n1 php -l", - "cs:check": "php-cs-fixer fix --dry-run --diff", - "cs:fix": "php-cs-fixer fix", - "psalm": "psalm --threads=1 --no-cache", - "test:unit": "./vendor/bin/phpunit -c tests/unit/phpunit.xml --colors=always", - "openapi": "generate-spec", - "rector": "rector && composer cs:fix" - }, - "require": { - "bamarni/composer-bin-plugin": "^1.8", - "php": "^8.1" - }, - "require-dev": { - "doctrine/dbal": "^3.8", - "nextcloud/ocp": "dev-stable30", - "phpunit/phpunit": "^10.0", - "roave/security-advisories": "dev-latest" - }, - "config": { - "allow-plugins": { - "bamarni/composer-bin-plugin": true - }, - "optimize-autoloader": true, - "sort-packages": true, - "platform": { - "php": "8.1" - } - } -} diff --git a/third_party/astrolabe/composer.lock b/third_party/astrolabe/composer.lock deleted file mode 100644 index c0f062e..0000000 --- a/third_party/astrolabe/composer.lock +++ /dev/null @@ -1,3305 +0,0 @@ -{ - "_readme": [ - "This file locks the dependencies of your project to a known state", - "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", - "This file is @generated automatically" - ], - "content-hash": "e6ea5a770c578a5d7694602bb2618cef", - "packages": [ - { - "name": "bamarni/composer-bin-plugin", - "version": "1.8.3", - "source": { - "type": "git", - "url": "https://github.com/bamarni/composer-bin-plugin.git", - "reference": "e7ef9e012667327516c24e5fad9903a3bc91389d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/bamarni/composer-bin-plugin/zipball/e7ef9e012667327516c24e5fad9903a3bc91389d", - "reference": "e7ef9e012667327516c24e5fad9903a3bc91389d", - "shasum": "" - }, - "require": { - "composer-plugin-api": "^2.0", - "php": "^7.2.5 || ^8.0" - }, - "require-dev": { - "composer/composer": "^2.0", - "ext-json": "*", - "phpstan/extension-installer": "^1.1", - "phpstan/phpstan": "^1.8", - "phpstan/phpstan-phpunit": "^1.1", - "phpunit/phpunit": "^8.5 || ^9.6 || ^10.0", - "symfony/console": "^2.8.52 || ^3.4.35 || ^4.4 || ^5.0 || ^6.0", - "symfony/finder": "^2.8.52 || ^3.4.35 || ^4.4 || ^5.0 || ^6.0", - "symfony/process": "^2.8.52 || ^3.4.35 || ^4.4 || ^5.0 || ^6.0" - }, - "type": "composer-plugin", - "extra": { - "class": "Bamarni\\Composer\\Bin\\BamarniBinPlugin" - }, - "autoload": { - "psr-4": { - "Bamarni\\Composer\\Bin\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "No conflicts for your bin dependencies", - "keywords": [ - "composer", - "conflict", - "dependency", - "executable", - "isolation", - "tool" - ], - "support": { - "issues": "https://github.com/bamarni/composer-bin-plugin/issues", - "source": "https://github.com/bamarni/composer-bin-plugin/tree/1.8.3" - }, - "time": "2025-11-24T19:20:55+00:00" - } - ], - "packages-dev": [ - { - "name": "doctrine/dbal", - "version": "3.10.4", - "source": { - "type": "git", - "url": "https://github.com/doctrine/dbal.git", - "reference": "63a46cb5aa6f60991186cc98c1d1b50c09311868" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/dbal/zipball/63a46cb5aa6f60991186cc98c1d1b50c09311868", - "reference": "63a46cb5aa6f60991186cc98c1d1b50c09311868", - "shasum": "" - }, - "require": { - "composer-runtime-api": "^2", - "doctrine/deprecations": "^0.5.3|^1", - "doctrine/event-manager": "^1|^2", - "php": "^7.4 || ^8.0", - "psr/cache": "^1|^2|^3", - "psr/log": "^1|^2|^3" - }, - "conflict": { - "doctrine/cache": "< 1.11" - }, - "require-dev": { - "doctrine/cache": "^1.11|^2.0", - "doctrine/coding-standard": "14.0.0", - "fig/log-test": "^1", - "jetbrains/phpstorm-stubs": "2023.1", - "phpstan/phpstan": "2.1.30", - "phpstan/phpstan-strict-rules": "^2", - "phpunit/phpunit": "9.6.29", - "slevomat/coding-standard": "8.24.0", - "squizlabs/php_codesniffer": "4.0.0", - "symfony/cache": "^5.4|^6.0|^7.0|^8.0", - "symfony/console": "^4.4|^5.4|^6.0|^7.0|^8.0" - }, - "suggest": { - "symfony/console": "For helpful console commands such as SQL execution and import of files." - }, - "bin": [ - "bin/doctrine-dbal" - ], - "type": "library", - "autoload": { - "psr-4": { - "Doctrine\\DBAL\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com" - } - ], - "description": "Powerful PHP database abstraction layer (DBAL) with many features for database schema introspection and management.", - "homepage": "https://www.doctrine-project.org/projects/dbal.html", - "keywords": [ - "abstraction", - "database", - "db2", - "dbal", - "mariadb", - "mssql", - "mysql", - "oci8", - "oracle", - "pdo", - "pgsql", - "postgresql", - "queryobject", - "sasql", - "sql", - "sqlite", - "sqlserver", - "sqlsrv" - ], - "support": { - "issues": "https://github.com/doctrine/dbal/issues", - "source": "https://github.com/doctrine/dbal/tree/3.10.4" - }, - "funding": [ - { - "url": "https://www.doctrine-project.org/sponsorship.html", - "type": "custom" - }, - { - "url": "https://www.patreon.com/phpdoctrine", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fdbal", - "type": "tidelift" - } - ], - "time": "2025-11-29T10:46:08+00:00" - }, - { - "name": "doctrine/deprecations", - "version": "1.1.5", - "source": { - "type": "git", - "url": "https://github.com/doctrine/deprecations.git", - "reference": "459c2f5dd3d6a4633d3b5f46ee2b1c40f57d3f38" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/deprecations/zipball/459c2f5dd3d6a4633d3b5f46ee2b1c40f57d3f38", - "reference": "459c2f5dd3d6a4633d3b5f46ee2b1c40f57d3f38", - "shasum": "" - }, - "require": { - "php": "^7.1 || ^8.0" - }, - "conflict": { - "phpunit/phpunit": "<=7.5 || >=13" - }, - "require-dev": { - "doctrine/coding-standard": "^9 || ^12 || ^13", - "phpstan/phpstan": "1.4.10 || 2.1.11", - "phpstan/phpstan-phpunit": "^1.0 || ^2", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.6 || ^10.5 || ^11.5 || ^12", - "psr/log": "^1 || ^2 || ^3" - }, - "suggest": { - "psr/log": "Allows logging deprecations via PSR-3 logger implementation" - }, - "type": "library", - "autoload": { - "psr-4": { - "Doctrine\\Deprecations\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "A small layer on top of trigger_error(E_USER_DEPRECATED) or PSR-3 logging with options to disable all deprecations or selectively for packages.", - "homepage": "https://www.doctrine-project.org/", - "support": { - "issues": "https://github.com/doctrine/deprecations/issues", - "source": "https://github.com/doctrine/deprecations/tree/1.1.5" - }, - "time": "2025-04-07T20:06:18+00:00" - }, - { - "name": "doctrine/event-manager", - "version": "2.1.0", - "source": { - "type": "git", - "url": "https://github.com/doctrine/event-manager.git", - "reference": "c07799fcf5ad362050960a0fd068dded40b1e312" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/event-manager/zipball/c07799fcf5ad362050960a0fd068dded40b1e312", - "reference": "c07799fcf5ad362050960a0fd068dded40b1e312", - "shasum": "" - }, - "require": { - "php": "^8.1" - }, - "conflict": { - "doctrine/common": "<2.9" - }, - "require-dev": { - "doctrine/coding-standard": "^14", - "phpdocumentor/guides-cli": "^1.4", - "phpstan/phpstan": "^2.1.32", - "phpunit/phpunit": "^10.5.58" - }, - "type": "library", - "autoload": { - "psr-4": { - "Doctrine\\Common\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" - }, - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com" - } - ], - "description": "The Doctrine Event Manager is a simple PHP event system that was built to be used with the various Doctrine projects.", - "homepage": "https://www.doctrine-project.org/projects/event-manager.html", - "keywords": [ - "event", - "event dispatcher", - "event manager", - "event system", - "events" - ], - "support": { - "issues": "https://github.com/doctrine/event-manager/issues", - "source": "https://github.com/doctrine/event-manager/tree/2.1.0" - }, - "funding": [ - { - "url": "https://www.doctrine-project.org/sponsorship.html", - "type": "custom" - }, - { - "url": "https://www.patreon.com/phpdoctrine", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fevent-manager", - "type": "tidelift" - } - ], - "time": "2026-01-17T22:40:21+00:00" - }, - { - "name": "myclabs/deep-copy", - "version": "1.13.4", - "source": { - "type": "git", - "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "07d290f0c47959fd5eed98c95ee5602db07e0b6a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/07d290f0c47959fd5eed98c95ee5602db07e0b6a", - "reference": "07d290f0c47959fd5eed98c95ee5602db07e0b6a", - "shasum": "" - }, - "require": { - "php": "^7.1 || ^8.0" - }, - "conflict": { - "doctrine/collections": "<1.6.8", - "doctrine/common": "<2.13.3 || >=3 <3.2.2" - }, - "require-dev": { - "doctrine/collections": "^1.6.8", - "doctrine/common": "^2.13.3 || ^3.2.2", - "phpspec/prophecy": "^1.10", - "phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13" - }, - "type": "library", - "autoload": { - "files": [ - "src/DeepCopy/deep_copy.php" - ], - "psr-4": { - "DeepCopy\\": "src/DeepCopy/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Create deep copies (clones) of your objects", - "keywords": [ - "clone", - "copy", - "duplicate", - "object", - "object graph" - ], - "support": { - "issues": "https://github.com/myclabs/DeepCopy/issues", - "source": "https://github.com/myclabs/DeepCopy/tree/1.13.4" - }, - "funding": [ - { - "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy", - "type": "tidelift" - } - ], - "time": "2025-08-01T08:46:24+00:00" - }, - { - "name": "nextcloud/ocp", - "version": "dev-stable30", - "source": { - "type": "git", - "url": "https://github.com/nextcloud-deps/ocp.git", - "reference": "d93fc10fea3db4b4896e37db312fae685cff54c4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nextcloud-deps/ocp/zipball/d93fc10fea3db4b4896e37db312fae685cff54c4", - "reference": "d93fc10fea3db4b4896e37db312fae685cff54c4", - "shasum": "" - }, - "require": { - "php": "~8.0 || ~8.1 || ~8.2 || ~8.3", - "psr/clock": "^1.0", - "psr/container": "^2.0.2", - "psr/event-dispatcher": "^1.0", - "psr/log": "^2.0.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-stable30": "30.0.0-dev" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "AGPL-3.0-or-later" - ], - "authors": [ - { - "name": "Christoph Wurst", - "email": "christoph@winzerhof-wurst.at" - } - ], - "description": "Composer package containing Nextcloud's public API (classes, interfaces)", - "support": { - "issues": "https://github.com/nextcloud-deps/ocp/issues", - "source": "https://github.com/nextcloud-deps/ocp/tree/stable30" - }, - "time": "2025-12-02T00:53:40+00:00" - }, - { - "name": "nikic/php-parser", - "version": "v5.7.0", - "source": { - "type": "git", - "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "dca41cd15c2ac9d055ad70dbfd011130757d1f82" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/dca41cd15c2ac9d055ad70dbfd011130757d1f82", - "reference": "dca41cd15c2ac9d055ad70dbfd011130757d1f82", - "shasum": "" - }, - "require": { - "ext-ctype": "*", - "ext-json": "*", - "ext-tokenizer": "*", - "php": ">=7.4" - }, - "require-dev": { - "ircmaxell/php-yacc": "^0.0.7", - "phpunit/phpunit": "^9.0" - }, - "bin": [ - "bin/php-parse" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.x-dev" - } - }, - "autoload": { - "psr-4": { - "PhpParser\\": "lib/PhpParser" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Nikita Popov" - } - ], - "description": "A PHP parser written in PHP", - "keywords": [ - "parser", - "php" - ], - "support": { - "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v5.7.0" - }, - "time": "2025-12-06T11:56:16+00:00" - }, - { - "name": "phar-io/manifest", - "version": "2.0.4", - "source": { - "type": "git", - "url": "https://github.com/phar-io/manifest.git", - "reference": "54750ef60c58e43759730615a392c31c80e23176" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phar-io/manifest/zipball/54750ef60c58e43759730615a392c31c80e23176", - "reference": "54750ef60c58e43759730615a392c31c80e23176", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-libxml": "*", - "ext-phar": "*", - "ext-xmlwriter": "*", - "phar-io/version": "^3.0.1", - "php": "^7.2 || ^8.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Arne Blankerts", - "email": "arne@blankerts.de", - "role": "Developer" - }, - { - "name": "Sebastian Heuer", - "email": "sebastian@phpeople.de", - "role": "Developer" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "Developer" - } - ], - "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", - "support": { - "issues": "https://github.com/phar-io/manifest/issues", - "source": "https://github.com/phar-io/manifest/tree/2.0.4" - }, - "funding": [ - { - "url": "https://github.com/theseer", - "type": "github" - } - ], - "time": "2024-03-03T12:33:53+00:00" - }, - { - "name": "phar-io/version", - "version": "3.2.1", - "source": { - "type": "git", - "url": "https://github.com/phar-io/version.git", - "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phar-io/version/zipball/4f7fd7836c6f332bb2933569e566a0d6c4cbed74", - "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74", - "shasum": "" - }, - "require": { - "php": "^7.2 || ^8.0" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Arne Blankerts", - "email": "arne@blankerts.de", - "role": "Developer" - }, - { - "name": "Sebastian Heuer", - "email": "sebastian@phpeople.de", - "role": "Developer" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "Developer" - } - ], - "description": "Library for handling version information and constraints", - "support": { - "issues": "https://github.com/phar-io/version/issues", - "source": "https://github.com/phar-io/version/tree/3.2.1" - }, - "time": "2022-02-21T01:04:05+00:00" - }, - { - "name": "phpunit/php-code-coverage", - "version": "10.1.16", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "7e308268858ed6baedc8704a304727d20bc07c77" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/7e308268858ed6baedc8704a304727d20bc07c77", - "reference": "7e308268858ed6baedc8704a304727d20bc07c77", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-libxml": "*", - "ext-xmlwriter": "*", - "nikic/php-parser": "^4.19.1 || ^5.1.0", - "php": ">=8.1", - "phpunit/php-file-iterator": "^4.1.0", - "phpunit/php-text-template": "^3.0.1", - "sebastian/code-unit-reverse-lookup": "^3.0.0", - "sebastian/complexity": "^3.2.0", - "sebastian/environment": "^6.1.0", - "sebastian/lines-of-code": "^2.0.2", - "sebastian/version": "^4.0.1", - "theseer/tokenizer": "^1.2.3" - }, - "require-dev": { - "phpunit/phpunit": "^10.1" - }, - "suggest": { - "ext-pcov": "PHP extension that provides line coverage", - "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "10.1.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "keywords": [ - "coverage", - "testing", - "xunit" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", - "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/10.1.16" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2024-08-22T04:31:57+00:00" - }, - { - "name": "phpunit/php-file-iterator", - "version": "4.1.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "a95037b6d9e608ba092da1b23931e537cadc3c3c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/a95037b6d9e608ba092da1b23931e537cadc3c3c", - "reference": "a95037b6d9e608ba092da1b23931e537cadc3c3c", - "shasum": "" - }, - "require": { - "php": ">=8.1" - }, - "require-dev": { - "phpunit/phpunit": "^10.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "4.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "FilterIterator implementation that filters files based on a list of suffixes.", - "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", - "keywords": [ - "filesystem", - "iterator" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", - "security": "https://github.com/sebastianbergmann/php-file-iterator/security/policy", - "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/4.1.0" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-08-31T06:24:48+00:00" - }, - { - "name": "phpunit/php-invoker", - "version": "4.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-invoker.git", - "reference": "f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7", - "reference": "f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7", - "shasum": "" - }, - "require": { - "php": ">=8.1" - }, - "require-dev": { - "ext-pcntl": "*", - "phpunit/phpunit": "^10.0" - }, - "suggest": { - "ext-pcntl": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "4.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Invoke callables with a timeout", - "homepage": "https://github.com/sebastianbergmann/php-invoker/", - "keywords": [ - "process" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-invoker/issues", - "source": "https://github.com/sebastianbergmann/php-invoker/tree/4.0.0" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-02-03T06:56:09+00:00" - }, - { - "name": "phpunit/php-text-template", - "version": "3.0.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "0c7b06ff49e3d5072f057eb1fa59258bf287a748" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/0c7b06ff49e3d5072f057eb1fa59258bf287a748", - "reference": "0c7b06ff49e3d5072f057eb1fa59258bf287a748", - "shasum": "" - }, - "require": { - "php": ">=8.1" - }, - "require-dev": { - "phpunit/phpunit": "^10.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "keywords": [ - "template" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-text-template/issues", - "security": "https://github.com/sebastianbergmann/php-text-template/security/policy", - "source": "https://github.com/sebastianbergmann/php-text-template/tree/3.0.1" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-08-31T14:07:24+00:00" - }, - { - "name": "phpunit/php-timer", - "version": "6.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "e2a2d67966e740530f4a3343fe2e030ffdc1161d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/e2a2d67966e740530f4a3343fe2e030ffdc1161d", - "reference": "e2a2d67966e740530f4a3343fe2e030ffdc1161d", - "shasum": "" - }, - "require": { - "php": ">=8.1" - }, - "require-dev": { - "phpunit/phpunit": "^10.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "6.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", - "keywords": [ - "timer" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-timer/issues", - "source": "https://github.com/sebastianbergmann/php-timer/tree/6.0.0" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-02-03T06:57:52+00:00" - }, - { - "name": "phpunit/phpunit", - "version": "10.5.63", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "33198268dad71e926626b618f3ec3966661e4d90" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/33198268dad71e926626b618f3ec3966661e4d90", - "reference": "33198268dad71e926626b618f3ec3966661e4d90", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-json": "*", - "ext-libxml": "*", - "ext-mbstring": "*", - "ext-xml": "*", - "ext-xmlwriter": "*", - "myclabs/deep-copy": "^1.13.4", - "phar-io/manifest": "^2.0.4", - "phar-io/version": "^3.2.1", - "php": ">=8.1", - "phpunit/php-code-coverage": "^10.1.16", - "phpunit/php-file-iterator": "^4.1.0", - "phpunit/php-invoker": "^4.0.0", - "phpunit/php-text-template": "^3.0.1", - "phpunit/php-timer": "^6.0.0", - "sebastian/cli-parser": "^2.0.1", - "sebastian/code-unit": "^2.0.0", - "sebastian/comparator": "^5.0.5", - "sebastian/diff": "^5.1.1", - "sebastian/environment": "^6.1.0", - "sebastian/exporter": "^5.1.4", - "sebastian/global-state": "^6.0.2", - "sebastian/object-enumerator": "^5.0.0", - "sebastian/recursion-context": "^5.0.1", - "sebastian/type": "^4.0.0", - "sebastian/version": "^4.0.1" - }, - "suggest": { - "ext-soap": "To be able to generate mocks based on WSDL files" - }, - "bin": [ - "phpunit" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "10.5-dev" - } - }, - "autoload": { - "files": [ - "src/Framework/Assert/Functions.php" - ], - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "The PHP Unit Testing framework.", - "homepage": "https://phpunit.de/", - "keywords": [ - "phpunit", - "testing", - "xunit" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/phpunit/issues", - "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.63" - }, - "funding": [ - { - "url": "https://phpunit.de/sponsors.html", - "type": "custom" - }, - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - }, - { - "url": "https://liberapay.com/sebastianbergmann", - "type": "liberapay" - }, - { - "url": "https://thanks.dev/u/gh/sebastianbergmann", - "type": "thanks_dev" - }, - { - "url": "https://tidelift.com/funding/github/packagist/phpunit/phpunit", - "type": "tidelift" - } - ], - "time": "2026-01-27T05:48:37+00:00" - }, - { - "name": "psr/cache", - "version": "3.0.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/cache.git", - "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/cache/zipball/aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", - "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", - "shasum": "" - }, - "require": { - "php": ">=8.0.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Cache\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common interface for caching libraries", - "keywords": [ - "cache", - "psr", - "psr-6" - ], - "support": { - "source": "https://github.com/php-fig/cache/tree/3.0.0" - }, - "time": "2021-02-03T23:26:27+00:00" - }, - { - "name": "psr/clock", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/clock.git", - "reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/clock/zipball/e41a24703d4560fd0acb709162f73b8adfc3aa0d", - "reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d", - "shasum": "" - }, - "require": { - "php": "^7.0 || ^8.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Psr\\Clock\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common interface for reading the clock.", - "homepage": "https://github.com/php-fig/clock", - "keywords": [ - "clock", - "now", - "psr", - "psr-20", - "time" - ], - "support": { - "issues": "https://github.com/php-fig/clock/issues", - "source": "https://github.com/php-fig/clock/tree/1.0.0" - }, - "time": "2022-11-25T14:36:26+00:00" - }, - { - "name": "psr/container", - "version": "2.0.2", - "source": { - "type": "git", - "url": "https://github.com/php-fig/container.git", - "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963", - "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963", - "shasum": "" - }, - "require": { - "php": ">=7.4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Container\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common Container Interface (PHP FIG PSR-11)", - "homepage": "https://github.com/php-fig/container", - "keywords": [ - "PSR-11", - "container", - "container-interface", - "container-interop", - "psr" - ], - "support": { - "issues": "https://github.com/php-fig/container/issues", - "source": "https://github.com/php-fig/container/tree/2.0.2" - }, - "time": "2021-11-05T16:47:00+00:00" - }, - { - "name": "psr/event-dispatcher", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/event-dispatcher.git", - "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0", - "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0", - "shasum": "" - }, - "require": { - "php": ">=7.2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\EventDispatcher\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Standard interfaces for event handling.", - "keywords": [ - "events", - "psr", - "psr-14" - ], - "support": { - "issues": "https://github.com/php-fig/event-dispatcher/issues", - "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0" - }, - "time": "2019-01-08T18:20:26+00:00" - }, - { - "name": "psr/log", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "ef29f6d262798707a9edd554e2b82517ef3a9376" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/ef29f6d262798707a9edd554e2b82517ef3a9376", - "reference": "ef29f6d262798707a9edd554e2b82517ef3a9376", - "shasum": "" - }, - "require": { - "php": ">=8.0.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Log\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common interface for logging libraries", - "homepage": "https://github.com/php-fig/log", - "keywords": [ - "log", - "psr", - "psr-3" - ], - "support": { - "source": "https://github.com/php-fig/log/tree/2.0.0" - }, - "time": "2021-07-14T16:41:46+00:00" - }, - { - "name": "roave/security-advisories", - "version": "dev-latest", - "source": { - "type": "git", - "url": "https://github.com/Roave/SecurityAdvisories.git", - "reference": "1553067758ae7f3df13df7c7e232c62d928e1d23" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/1553067758ae7f3df13df7c7e232c62d928e1d23", - "reference": "1553067758ae7f3df13df7c7e232c62d928e1d23", - "shasum": "" - }, - "conflict": { - "3f/pygmentize": "<1.2", - "adaptcms/adaptcms": "<=1.3", - "admidio/admidio": "<=4.3.16", - "adodb/adodb-php": "<=5.22.9", - "aheinze/cockpit": "<2.2", - "aimeos/ai-admin-graphql": ">=2022.04.1,<2022.10.10|>=2023.04.1,<2023.10.6|>=2024.04.1,<2024.07.2", - "aimeos/ai-admin-jsonadm": "<2020.10.13|>=2021.04.1,<2021.10.6|>=2022.04.1,<2022.10.3|>=2023.04.1,<2023.10.4|==2024.04.1", - "aimeos/ai-client-html": ">=2020.04.1,<2020.10.27|>=2021.04.1,<2021.10.22|>=2022.04.1,<2022.10.13|>=2023.04.1,<2023.10.15|>=2024.04.1,<2024.04.7", - "aimeos/ai-cms-grapesjs": ">=2021.04.1,<2021.10.8|>=2022.04.1,<2022.10.9|>=2023.04.1,<2023.10.15|>=2024.04.1,<2024.10.8|>=2025.04.1,<2025.10.2", - "aimeos/ai-controller-frontend": "<2020.10.15|>=2021.04.1,<2021.10.8|>=2022.04.1,<2022.10.8|>=2023.04.1,<2023.10.9|==2024.04.1", - "aimeos/aimeos-core": ">=2022.04.1,<2022.10.17|>=2023.04.1,<2023.10.17|>=2024.04.1,<2024.04.7", - "aimeos/aimeos-typo3": "<19.10.12|>=20,<20.10.5", - "airesvsg/acf-to-rest-api": "<=3.1", - "akaunting/akaunting": "<2.1.13", - "akeneo/pim-community-dev": "<5.0.119|>=6,<6.0.53", - "alextselegidis/easyappointments": "<1.5.2.0-beta1", - "alexusmai/laravel-file-manager": "<=3.3.1", - "alt-design/alt-redirect": "<1.6.4", - "alterphp/easyadmin-extension-bundle": ">=1.2,<1.2.11|>=1.3,<1.3.1", - "amazing/media2click": ">=1,<1.3.3", - "ameos/ameos_tarteaucitron": "<1.2.23", - "amphp/artax": "<1.0.6|>=2,<2.0.6", - "amphp/http": "<=1.7.2|>=2,<=2.1", - "amphp/http-client": ">=4,<4.4", - "anchorcms/anchor-cms": "<=0.12.7", - "andreapollastri/cipi": "<=3.1.15", - "andrewhaine/silverstripe-form-capture": ">=0.2,<=0.2.3|>=1,<1.0.2|>=2,<2.2.5", - "aoe/restler": "<1.7.1", - "apache-solr-for-typo3/solr": "<2.8.3", - "apereo/phpcas": "<1.6", - "api-platform/core": "<3.4.17|>=4,<4.0.22|>=4.1,<4.1.5", - "api-platform/graphql": "<3.4.17|>=4,<4.0.22|>=4.1,<4.1.5", - "appwrite/server-ce": "<=1.2.1", - "arc/web": "<3", - "area17/twill": "<1.2.5|>=2,<2.5.3", - "artesaos/seotools": "<0.17.2", - "asymmetricrypt/asymmetricrypt": "<9.9.99", - "athlon1600/php-proxy": "<=5.1", - "athlon1600/php-proxy-app": "<=3", - "athlon1600/youtube-downloader": "<=4", - "austintoddj/canvas": "<=3.4.2", - "auth0/auth0-php": ">=3.3,<=8.16", - "auth0/login": "<=7.18", - "auth0/symfony": "<=5.4.1", - "auth0/wordpress": "<=5.3", - "automad/automad": "<2.0.0.0-alpha5", - "automattic/jetpack": "<9.8", - "awesome-support/awesome-support": "<=6.0.7", - "aws/aws-sdk-php": "<3.288.1", - "azuracast/azuracast": "<=0.23.1", - "b13/seo_basics": "<0.8.2", - "backdrop/backdrop": "<=1.32", - "backpack/crud": "<3.4.9", - "backpack/filemanager": "<2.0.2|>=3,<3.0.9", - "bacula-web/bacula-web": "<9.7.1", - "badaso/core": "<=2.9.11", - "bagisto/bagisto": "<=2.3.7", - "barrelstrength/sprout-base-email": "<1.2.7", - "barrelstrength/sprout-forms": "<3.9", - "barryvdh/laravel-translation-manager": "<0.6.8", - "barzahlen/barzahlen-php": "<2.0.1", - "baserproject/basercms": "<=5.1.1", - "bassjobsen/bootstrap-3-typeahead": ">4.0.2", - "bbpress/bbpress": "<2.6.5", - "bcit-ci/codeigniter": "<3.1.3", - "bcosca/fatfree": "<3.7.2", - "bedita/bedita": "<4", - "bednee/cooluri": "<1.0.30", - "bigfork/silverstripe-form-capture": ">=3,<3.1.1", - "billz/raspap-webgui": "<3.3.6", - "binarytorch/larecipe": "<2.8.1", - "bk2k/bootstrap-package": ">=7.1,<7.1.2|>=8,<8.0.8|>=9,<9.0.4|>=9.1,<9.1.3|>=10,<10.0.10|>=11,<11.0.3", - "blueimp/jquery-file-upload": "==6.4.4", - "bmarshall511/wordpress_zero_spam": "<5.2.13", - "bolt/bolt": "<3.7.2", - "bolt/core": "<=4.2", - "born05/craft-twofactorauthentication": "<3.3.4", - "bottelet/flarepoint": "<2.2.1", - "bref/bref": "<2.1.17", - "brightlocal/phpwhois": "<=4.2.5", - "brotkrueml/codehighlight": "<2.7", - "brotkrueml/schema": "<1.13.1|>=2,<2.5.1", - "brotkrueml/typo3-matomo-integration": "<1.3.2", - "buddypress/buddypress": "<7.2.1", - "bugsnag/bugsnag-laravel": ">=2,<2.0.2", - "bvbmedia/multishop": "<2.0.39", - "bytefury/crater": "<6.0.2", - "cachethq/cachet": "<2.5.1", - "cakephp/cakephp": "<3.10.3|>=4,<4.0.10|>=4.1,<4.1.4|>=4.2,<4.2.12|>=4.3,<4.3.11|>=4.4,<4.4.10", - "cakephp/database": ">=4.2,<4.2.12|>=4.3,<4.3.11|>=4.4,<4.4.10", - "cardgate/magento2": "<2.0.33", - "cardgate/woocommerce": "<=3.1.15", - "cart2quote/module-quotation": ">=4.1.6,<=4.4.5|>=5,<5.4.4", - "cart2quote/module-quotation-encoded": ">=4.1.6,<=4.4.5|>=5,<5.4.4", - "cartalyst/sentry": "<=2.1.6", - "catfan/medoo": "<1.7.5", - "causal/oidc": "<4", - "cecil/cecil": "<7.47.1", - "centreon/centreon": "<22.10.15", - "cesnet/simplesamlphp-module-proxystatistics": "<3.1", - "chriskacerguis/codeigniter-restserver": "<=2.7.1", - "chrome-php/chrome": "<1.14", - "civicrm/civicrm-core": ">=4.2,<4.2.9|>=4.3,<4.3.3", - "ckeditor/ckeditor": "<4.25", - "clickstorm/cs-seo": ">=6,<6.8|>=7,<7.5|>=8,<8.4|>=9,<9.3", - "co-stack/fal_sftp": "<0.2.6", - "cockpit-hq/cockpit": "<2.11.4", - "code16/sharp": "<9.11.1", - "codeception/codeception": "<3.1.3|>=4,<4.1.22", - "codeigniter/framework": "<3.1.10", - "codeigniter4/framework": "<4.6.2", - "codeigniter4/shield": "<1.0.0.0-beta8", - "codiad/codiad": "<=2.8.4", - "codingms/additional-tca": ">=1.7,<1.15.17|>=1.16,<1.16.9", - "codingms/modules": "<4.3.11|>=5,<5.7.4|>=6,<6.4.2|>=7,<7.5.5", - "commerceteam/commerce": ">=0.9.6,<0.9.9", - "components/jquery": ">=1.0.3,<3.5", - "composer/composer": "<1.10.27|>=2,<2.2.24|>=2.3,<2.7.7", - "concrete5/concrete5": "<9.4.3", - "concrete5/core": "<8.5.8|>=9,<9.1", - "contao-components/mediaelement": ">=2.14.2,<2.21.1", - "contao/comments-bundle": ">=2,<4.13.40|>=5.0.0.0-RC1-dev,<5.3.4", - "contao/contao": ">=3,<3.5.37|>=4,<4.4.56|>=4.5,<4.13.56|>=5,<5.3.38|>=5.4.0.0-RC1-dev,<5.6.1", - "contao/core": "<3.5.39", - "contao/core-bundle": "<4.13.57|>=5,<5.3.42|>=5.4,<5.6.5", - "contao/listing-bundle": ">=3,<=3.5.30|>=4,<4.4.8", - "contao/managed-edition": "<=1.5", - "corveda/phpsandbox": "<1.3.5", - "cosenary/instagram": "<=2.3", - "couleurcitron/tarteaucitron-wp": "<0.3", - "craftcms/cms": "<=4.16.5|>=5,<=5.8.6", - "croogo/croogo": "<4", - "cuyz/valinor": "<0.12", - "czim/file-handling": "<1.5|>=2,<2.3", - "czproject/git-php": "<4.0.3", - "damienharper/auditor-bundle": "<5.2.6", - "dapphp/securimage": "<3.6.6", - "darylldoyle/safe-svg": "<1.9.10", - "datadog/dd-trace": ">=0.30,<0.30.2", - "datahihi1/tiny-env": "<1.0.3|>=1.0.9,<1.0.11", - "datatables/datatables": "<1.10.10", - "david-garcia/phpwhois": "<=4.3.1", - "dbrisinajumi/d2files": "<1", - "dcat/laravel-admin": "<=2.1.3|==2.2.0.0-beta|==2.2.2.0-beta", - "derhansen/fe_change_pwd": "<2.0.5|>=3,<3.0.3", - "derhansen/sf_event_mgt": "<4.3.1|>=5,<5.1.1|>=7,<7.4", - "desperado/xml-bundle": "<=0.1.7", - "dev-lancer/minecraft-motd-parser": "<=1.0.5", - "devcode-it/openstamanager": "<=2.9.4", - "devgroup/dotplant": "<2020.09.14-dev", - "digimix/wp-svg-upload": "<=1", - "directmailteam/direct-mail": "<6.0.3|>=7,<7.0.3|>=8,<9.5.2", - "dl/yag": "<3.0.1", - "dmk/webkitpdf": "<1.1.4", - "dnadesign/silverstripe-elemental": "<5.3.12", - "doctrine/annotations": "<1.2.7", - "doctrine/cache": ">=1,<1.3.2|>=1.4,<1.4.2", - "doctrine/common": "<2.4.3|>=2.5,<2.5.1", - "doctrine/dbal": ">=2,<2.0.8|>=2.1,<2.1.2|>=3,<3.1.4", - "doctrine/doctrine-bundle": "<1.5.2", - "doctrine/doctrine-module": "<0.7.2", - "doctrine/mongodb-odm": "<1.0.2", - "doctrine/mongodb-odm-bundle": "<3.0.1", - "doctrine/orm": ">=1,<1.2.4|>=2,<2.4.8|>=2.5,<2.5.1|>=2.8.3,<2.8.4", - "dolibarr/dolibarr": "<21.0.3", - "dompdf/dompdf": "<2.0.4", - "doublethreedigital/guest-entries": "<3.1.2", - "drupal-pattern-lab/unified-twig-extensions": "<=0.1", - "drupal/access_code": "<2.0.5", - "drupal/acquia_dam": "<1.1.5", - "drupal/admin_audit_trail": "<1.0.5", - "drupal/ai": "<1.0.5", - "drupal/alogin": "<2.0.6", - "drupal/cache_utility": "<1.2.1", - "drupal/civictheme": "<1.12", - "drupal/commerce_alphabank_redirect": "<1.0.3", - "drupal/commerce_eurobank_redirect": "<2.1.1", - "drupal/config_split": "<1.10|>=2,<2.0.2", - "drupal/core": ">=6,<6.38|>=7,<7.102|>=8,<10.4.9|>=10.5,<10.5.6|>=11,<11.1.9|>=11.2,<11.2.8", - "drupal/core-recommended": ">=7,<7.102|>=8,<10.2.11|>=10.3,<10.3.9|>=11,<11.0.8", - "drupal/currency": "<3.5", - "drupal/drupal": ">=5,<5.11|>=6,<6.38|>=7,<7.102|>=8,<10.2.11|>=10.3,<10.3.9|>=11,<11.0.8", - "drupal/email_tfa": "<2.0.6", - "drupal/formatter_suite": "<2.1", - "drupal/gdpr": "<3.0.1|>=3.1,<3.1.2", - "drupal/google_tag": "<1.8|>=2,<2.0.8", - "drupal/ignition": "<1.0.4", - "drupal/json_field": "<1.5", - "drupal/lightgallery": "<1.6", - "drupal/link_field_display_mode_formatter": "<1.6", - "drupal/matomo": "<1.24", - "drupal/oauth2_client": "<4.1.3", - "drupal/oauth2_server": "<2.1", - "drupal/obfuscate": "<2.0.1", - "drupal/plausible_tracking": "<1.0.2", - "drupal/quick_node_block": "<2", - "drupal/rapidoc_elements_field_formatter": "<1.0.1", - "drupal/reverse_proxy_header": "<1.1.2", - "drupal/simple_multistep": "<2", - "drupal/simple_oauth": ">=6,<6.0.7", - "drupal/spamspan": "<3.2.1", - "drupal/tfa": "<1.10", - "drupal/umami_analytics": "<1.0.1", - "duncanmcclean/guest-entries": "<3.1.2", - "dweeves/magmi": "<=0.7.24", - "ec-cube/ec-cube": "<2.4.4|>=2.11,<=2.17.1|>=3,<=3.0.18.0-patch4|>=4,<=4.1.2", - "ecodev/newsletter": "<=4", - "ectouch/ectouch": "<=2.7.2", - "egroupware/egroupware": "<23.1.20240624", - "elefant/cms": "<2.0.7", - "elgg/elgg": "<3.3.24|>=4,<4.0.5", - "elijaa/phpmemcacheadmin": "<=1.3", - "elmsln/haxcms": "<11.0.14", - "encore/laravel-admin": "<=1.8.19", - "endroid/qr-code-bundle": "<3.4.2", - "enhavo/enhavo-app": "<=0.13.1", - "enshrined/svg-sanitize": "<0.22", - "erusev/parsedown": "<1.7.2", - "ether/logs": "<3.0.4", - "evolutioncms/evolution": "<=3.2.3", - "exceedone/exment": "<4.4.3|>=5,<5.0.3", - "exceedone/laravel-admin": "<2.2.3|==3", - "ezsystems/demobundle": ">=5.4,<5.4.6.1-dev", - "ezsystems/ez-support-tools": ">=2.2,<2.2.3", - "ezsystems/ezdemo-ls-extension": ">=5.4,<5.4.2.1-dev", - "ezsystems/ezfind-ls": ">=5.3,<5.3.6.1-dev|>=5.4,<5.4.11.1-dev|>=2017.12,<2017.12.0.1-dev", - "ezsystems/ezplatform": "<=1.13.6|>=2,<=2.5.24", - "ezsystems/ezplatform-admin-ui": ">=1.3,<1.3.5|>=1.4,<1.4.6|>=1.5,<1.5.29|>=2.3,<2.3.39|>=3.3,<3.3.39", - "ezsystems/ezplatform-admin-ui-assets": ">=4,<4.2.1|>=5,<5.0.1|>=5.1,<5.1.1|>=5.3.0.0-beta1,<5.3.5", - "ezsystems/ezplatform-graphql": ">=1.0.0.0-RC1-dev,<1.0.13|>=2.0.0.0-beta1,<2.3.12", - "ezsystems/ezplatform-http-cache": "<2.3.16", - "ezsystems/ezplatform-kernel": "<1.2.5.1-dev|>=1.3,<1.3.35", - "ezsystems/ezplatform-rest": ">=1.2,<=1.2.2|>=1.3,<1.3.8", - "ezsystems/ezplatform-richtext": ">=2.3,<2.3.26|>=3.3,<3.3.40", - "ezsystems/ezplatform-solr-search-engine": ">=1.7,<1.7.12|>=2,<2.0.2|>=3.3,<3.3.15", - "ezsystems/ezplatform-user": ">=1,<1.0.1", - "ezsystems/ezpublish-kernel": "<6.13.8.2-dev|>=7,<7.5.31", - "ezsystems/ezpublish-legacy": "<=2017.12.7.3|>=2018.6,<=2019.03.5.1", - "ezsystems/platform-ui-assets-bundle": ">=4.2,<4.2.3", - "ezsystems/repository-forms": ">=2.3,<2.3.2.1-dev|>=2.5,<2.5.15", - "ezyang/htmlpurifier": "<=4.2", - "facade/ignition": "<1.16.15|>=2,<2.4.2|>=2.5,<2.5.2", - "facturascripts/facturascripts": "<=2022.08", - "fastly/magento2": "<1.2.26", - "feehi/cms": "<=2.1.1", - "feehi/feehicms": "<=2.1.1", - "fenom/fenom": "<=2.12.1", - "filament/actions": ">=3.2,<3.2.123", - "filament/filament": ">=4,<4.3.1", - "filament/infolists": ">=3,<3.2.115", - "filament/tables": ">=3,<3.2.115", - "filegator/filegator": "<7.8", - "filp/whoops": "<2.1.13", - "fineuploader/php-traditional-server": "<=1.2.2", - "firebase/php-jwt": "<6", - "fisharebest/webtrees": "<=2.1.18", - "fixpunkt/fp-masterquiz": "<2.2.1|>=3,<3.5.2", - "fixpunkt/fp-newsletter": "<1.1.1|>=1.2,<2.1.2|>=2.2,<3.2.6", - "flarum/core": "<1.8.10", - "flarum/flarum": "<0.1.0.0-beta8", - "flarum/framework": "<1.8.10", - "flarum/mentions": "<1.6.3", - "flarum/sticky": ">=0.1.0.0-beta14,<=0.1.0.0-beta15", - "flarum/tags": "<=0.1.0.0-beta13", - "floriangaerber/magnesium": "<0.3.1", - "fluidtypo3/vhs": "<5.1.1", - "fof/byobu": ">=0.3.0.0-beta2,<1.1.7", - "fof/pretty-mail": "<=1.1.2", - "fof/upload": "<1.2.3", - "foodcoopshop/foodcoopshop": ">=3.2,<3.6.1", - "fooman/tcpdf": "<6.2.22", - "forkcms/forkcms": "<5.11.1", - "fossar/tcpdf-parser": "<6.2.22", - "francoisjacquet/rosariosis": "<=11.5.1", - "frappant/frp-form-answers": "<3.1.2|>=4,<4.0.2", - "friendsofsymfony/oauth2-php": "<1.3", - "friendsofsymfony/rest-bundle": ">=1.2,<1.2.2", - "friendsofsymfony/user-bundle": ">=1,<1.3.5", - "friendsofsymfony1/swiftmailer": ">=4,<5.4.13|>=6,<6.2.5", - "friendsofsymfony1/symfony1": ">=1.1,<1.5.19", - "friendsoftypo3/mediace": ">=7.6.2,<7.6.5", - "friendsoftypo3/openid": ">=4.5,<4.5.31|>=4.7,<4.7.16|>=6,<6.0.11|>=6.1,<6.1.6", - "froala/wysiwyg-editor": "<=4.3", - "froxlor/froxlor": "<=2.2.5", - "frozennode/administrator": "<=5.0.12", - "fuel/core": "<1.8.1", - "funadmin/funadmin": "<=5.0.2", - "gaoming13/wechat-php-sdk": "<=1.10.2", - "genix/cms": "<=1.1.11", - "georgringer/news": "<1.3.3", - "geshi/geshi": "<=1.0.9.1", - "getformwork/formwork": "<2.2", - "getgrav/grav": "<1.11.0.0-beta1", - "getkirby/cms": "<3.9.8.3-dev|>=3.10,<3.10.1.2-dev|>=4,<4.7.1|>=5,<5.1.4", - "getkirby/kirby": "<3.9.8.3-dev|>=3.10,<3.10.1.2-dev|>=4,<4.7.1", - "getkirby/panel": "<2.5.14", - "getkirby/starterkit": "<=3.7.0.2", - "gilacms/gila": "<=1.15.4", - "gleez/cms": "<=1.3|==2", - "globalpayments/php-sdk": "<2", - "goalgorilla/open_social": "<12.3.11|>=12.4,<12.4.10|>=13.0.0.0-alpha1,<13.0.0.0-alpha11", - "gogentooss/samlbase": "<1.2.7", - "google/protobuf": "<3.4", - "gos/web-socket-bundle": "<1.10.4|>=2,<2.6.1|>=3,<3.3", - "gp247/core": "<1.1.24", - "gree/jose": "<2.2.1", - "gregwar/rst": "<1.0.3", - "grumpydictator/firefly-iii": "<6.1.17", - "gugoan/economizzer": "<=0.9.0.0-beta1", - "guzzlehttp/guzzle": "<6.5.8|>=7,<7.4.5", - "guzzlehttp/oauth-subscriber": "<0.8.1", - "guzzlehttp/psr7": "<1.9.1|>=2,<2.4.5", - "haffner/jh_captcha": "<=2.1.3|>=3,<=3.0.2", - "handcraftedinthealps/goodby-csv": "<1.4.3", - "harvesthq/chosen": "<1.8.7", - "helloxz/imgurl": "<=2.31", - "hhxsv5/laravel-s": "<3.7.36", - "hillelcoren/invoice-ninja": "<5.3.35", - "himiklab/yii2-jqgrid-widget": "<1.0.8", - "hjue/justwriting": "<=1", - "hov/jobfair": "<1.0.13|>=2,<2.0.2", - "httpsoft/http-message": "<1.0.12", - "hyn/multi-tenant": ">=5.6,<5.7.2", - "ibexa/admin-ui": ">=4.2,<4.2.3|>=4.6,<4.6.25|>=5,<5.0.3", - "ibexa/admin-ui-assets": ">=4.6.0.0-alpha1,<4.6.21", - "ibexa/core": ">=4,<4.0.7|>=4.1,<4.1.4|>=4.2,<4.2.3|>=4.5,<4.5.6|>=4.6,<4.6.2", - "ibexa/fieldtype-richtext": ">=4.6,<4.6.25|>=5,<5.0.3", - "ibexa/graphql": ">=2.5,<2.5.31|>=3.3,<3.3.28|>=4.2,<4.2.3", - "ibexa/http-cache": ">=4.6,<4.6.14", - "ibexa/post-install": "<1.0.16|>=4.6,<4.6.14", - "ibexa/solr": ">=4.5,<4.5.4", - "ibexa/user": ">=4,<4.4.3|>=5,<5.0.4", - "icecoder/icecoder": "<=8.1", - "idno/known": "<=1.3.1", - "ilicmiljan/secure-props": ">=1.2,<1.2.2", - "illuminate/auth": "<5.5.10", - "illuminate/cookie": ">=4,<=4.0.11|>=4.1,<6.18.31|>=7,<7.22.4", - "illuminate/database": "<6.20.26|>=7,<7.30.5|>=8,<8.40", - "illuminate/encryption": ">=4,<=4.0.11|>=4.1,<=4.1.31|>=4.2,<=4.2.22|>=5,<=5.0.35|>=5.1,<=5.1.46|>=5.2,<=5.2.45|>=5.3,<=5.3.31|>=5.4,<=5.4.36|>=5.5,<5.5.40|>=5.6,<5.6.15", - "illuminate/view": "<6.20.42|>=7,<7.30.6|>=8,<8.75", - "imdbphp/imdbphp": "<=5.1.1", - "impresscms/impresscms": "<=1.4.5", - "impresspages/impresspages": "<1.0.13", - "in2code/femanager": "<6.4.2|>=7,<7.5.3|>=8,<8.3.1", - "in2code/ipandlanguageredirect": "<5.1.2", - "in2code/lux": "<17.6.1|>=18,<24.0.2", - "in2code/powermail": "<7.5.1|>=8,<8.5.1|>=9,<10.9.1|>=11,<12.5.3|==13", - "innologi/typo3-appointments": "<2.0.6", - "intelliants/subrion": "<4.2.2", - "inter-mediator/inter-mediator": "==5.5", - "ipl/web": "<0.10.1", - "islandora/crayfish": "<4.1", - "islandora/islandora": ">=2,<2.4.1", - "ivankristianto/phpwhois": "<=4.3", - "jackalope/jackalope-doctrine-dbal": "<1.7.4", - "jambagecom/div2007": "<0.10.2", - "james-heinrich/getid3": "<1.9.21", - "james-heinrich/phpthumb": "<=1.7.23", - "jasig/phpcas": "<1.3.3", - "jbartels/wec-map": "<3.0.3", - "jcbrand/converse.js": "<3.3.3", - "joelbutcher/socialstream": "<5.6|>=6,<6.2", - "johnbillion/wp-crontrol": "<1.16.2|>=1.17,<1.19.2", - "joomla/application": "<1.0.13", - "joomla/archive": "<1.1.12|>=2,<2.0.1", - "joomla/database": ">=1,<2.2|>=3,<3.4", - "joomla/filesystem": "<1.6.2|>=2,<2.0.1", - "joomla/filter": "<2.0.6|>=3,<3.0.5|==4", - "joomla/framework": "<1.5.7|>=2.5.4,<=3.8.12", - "joomla/input": ">=2,<2.0.2", - "joomla/joomla-cms": "<3.9.12|>=4,<4.4.13|>=5,<5.2.6", - "joomla/joomla-platform": "<1.5.4", - "joomla/session": "<1.3.1", - "joyqi/hyper-down": "<=2.4.27", - "jsdecena/laracom": "<2.0.9", - "jsmitty12/phpwhois": "<5.1", - "juzaweb/cms": "<=3.4.2", - "jweiland/events2": "<8.3.8|>=9,<9.0.6", - "jweiland/kk-downloader": "<1.2.2", - "kazist/phpwhois": "<=4.2.6", - "kelvinmo/simplexrd": "<3.1.1", - "kevinpapst/kimai2": "<1.16.7", - "khodakhah/nodcms": "<=3", - "kimai/kimai": "<=2.20.1", - "kitodo/presentation": "<3.2.3|>=3.3,<3.3.4", - "klaviyo/magento2-extension": ">=1,<3", - "knplabs/knp-snappy": "<=1.4.2", - "kohana/core": "<3.3.3", - "koillection/koillection": "<1.6.12", - "krayin/laravel-crm": "<=1.3", - "kreait/firebase-php": ">=3.2,<3.8.1", - "kumbiaphp/kumbiapp": "<=1.1.1", - "la-haute-societe/tcpdf": "<6.2.22", - "laminas/laminas-diactoros": "<2.18.1|==2.19|==2.20|==2.21|==2.22|==2.23|>=2.24,<2.24.2|>=2.25,<2.25.2", - "laminas/laminas-form": "<2.17.1|>=3,<3.0.2|>=3.1,<3.1.1", - "laminas/laminas-http": "<2.14.2", - "lara-zeus/artemis": ">=1,<=1.0.6", - "lara-zeus/dynamic-dashboard": ">=3,<=3.0.1", - "laravel/fortify": "<1.11.1", - "laravel/framework": "<10.48.29|>=11,<11.44.1|>=12,<12.1.1", - "laravel/laravel": ">=5.4,<5.4.22", - "laravel/pulse": "<1.3.1", - "laravel/reverb": "<1.4", - "laravel/socialite": ">=1,<2.0.10", - "latte/latte": "<2.10.8", - "lavalite/cms": "<=9|==10.1", - "lavitto/typo3-form-to-database": "<2.2.5|>=3,<3.2.2|>=4,<4.2.3|>=5,<5.0.2", - "lcobucci/jwt": ">=3.4,<3.4.6|>=4,<4.0.4|>=4.1,<4.1.5", - "league/commonmark": "<2.7", - "league/flysystem": "<1.1.4|>=2,<2.1.1", - "league/oauth2-server": ">=8.3.2,<8.4.2|>=8.5,<8.5.3", - "leantime/leantime": "<3.3", - "lexik/jwt-authentication-bundle": "<2.10.7|>=2.11,<2.11.3", - "libreform/libreform": ">=2,<=2.0.8", - "librenms/librenms": "<25.11", - "liftkit/database": "<2.13.2", - "lightsaml/lightsaml": "<1.3.5", - "limesurvey/limesurvey": "<6.5.12", - "livehelperchat/livehelperchat": "<=3.91", - "livewire/livewire": "<2.12.7|>=3.0.0.0-beta1,<3.6.4", - "livewire/volt": "<1.7", - "lms/routes": "<2.1.1", - "localizationteam/l10nmgr": "<7.4|>=8,<8.7|>=9,<9.2", - "lomkit/laravel-rest-api": "<2.13", - "luracast/restler": "<3.1", - "luyadev/yii-helpers": "<1.2.1", - "macropay-solutions/laravel-crud-wizard-free": "<3.4.17", - "maestroerror/php-heic-to-jpg": "<1.0.5", - "magento/community-edition": "<2.4.6.0-patch13|>=2.4.7.0-beta1,<2.4.7.0-patch8|>=2.4.8.0-beta1,<2.4.8.0-patch3|>=2.4.9.0-alpha1,<2.4.9.0-alpha3|==2.4.9", - "magento/core": "<=1.9.4.5", - "magento/magento1ce": "<1.9.4.3-dev", - "magento/magento1ee": ">=1,<1.14.4.3-dev", - "magento/product-community-edition": "<2.4.4.0-patch9|>=2.4.5,<2.4.5.0-patch8|>=2.4.6,<2.4.6.0-patch6|>=2.4.7,<2.4.7.0-patch1", - "magento/project-community-edition": "<=2.0.2", - "magneto/core": "<1.9.4.4-dev", - "mahocommerce/maho": "<25.9", - "maikuolan/phpmussel": ">=1,<1.6", - "mainwp/mainwp": "<=4.4.3.3", - "manogi/nova-tiptap": "<=3.2.6", - "mantisbt/mantisbt": "<2.27.2", - "marcwillmann/turn": "<0.3.3", - "marshmallow/nova-tiptap": "<5.7", - "matomo/matomo": "<1.11", - "matyhtf/framework": "<3.0.6", - "mautic/core": "<5.2.9|>=6,<6.0.7", - "mautic/core-lib": ">=1.0.0.0-beta,<4.4.13|>=5.0.0.0-alpha,<5.1.1", - "mautic/grapes-js-builder-bundle": ">=4,<4.4.18|>=5,<5.2.9|>=6,<6.0.7", - "maximebf/debugbar": "<1.19", - "mdanter/ecc": "<2", - "mediawiki/abuse-filter": "<1.39.9|>=1.40,<1.41.3|>=1.42,<1.42.2", - "mediawiki/cargo": "<3.8.3", - "mediawiki/core": "<1.39.5|==1.40", - "mediawiki/data-transfer": ">=1.39,<1.39.11|>=1.41,<1.41.3|>=1.42,<1.42.2", - "mediawiki/matomo": "<2.4.3", - "mediawiki/semantic-media-wiki": "<4.0.2", - "mehrwert/phpmyadmin": "<3.2", - "melisplatform/melis-asset-manager": "<5.0.1", - "melisplatform/melis-cms": "<5.3.4", - "melisplatform/melis-cms-slider": "<5.3.1", - "melisplatform/melis-core": "<5.3.11", - "melisplatform/melis-front": "<5.0.1", - "mezzio/mezzio-swoole": "<3.7|>=4,<4.3", - "mgallegos/laravel-jqgrid": "<=1.3", - "microsoft/microsoft-graph": ">=1.16,<1.109.1|>=2,<2.0.1", - "microsoft/microsoft-graph-beta": "<2.0.1", - "microsoft/microsoft-graph-core": "<2.0.2", - "microweber/microweber": "<=2.0.19", - "mikehaertl/php-shellcommand": "<1.6.1", - "mineadmin/mineadmin": "<=3.0.9", - "miniorange/miniorange-saml": "<1.4.3", - "mittwald/typo3_forum": "<1.2.1", - "mobiledetect/mobiledetectlib": "<2.8.32", - "modx/revolution": "<=3.1", - "mojo42/jirafeau": "<4.4", - "mongodb/mongodb": ">=1,<1.9.2", - "mongodb/mongodb-extension": "<1.21.2", - "monolog/monolog": ">=1.8,<1.12", - "moodle/moodle": "<4.4.11|>=4.5.0.0-beta,<4.5.7|>=5.0.0.0-beta,<5.0.3", - "moonshine/moonshine": "<=3.12.5", - "mos/cimage": "<0.7.19", - "movim/moxl": ">=0.8,<=0.10", - "movingbytes/social-network": "<=1.2.1", - "mpdf/mpdf": "<=7.1.7", - "munkireport/comment": "<4", - "munkireport/managedinstalls": "<2.6", - "munkireport/munki_facts": "<1.5", - "munkireport/reportdata": "<3.5", - "munkireport/softwareupdate": "<1.6", - "mustache/mustache": ">=2,<2.14.1", - "mwdelaney/wp-enable-svg": "<=0.2", - "namshi/jose": "<2.2", - "nasirkhan/laravel-starter": "<11.11", - "nategood/httpful": "<1", - "neoan3-apps/template": "<1.1.1", - "neorazorx/facturascripts": "<2022.04", - "neos/flow": ">=1,<1.0.4|>=1.1,<1.1.1|>=2,<2.0.1|>=2.3,<2.3.16|>=3,<3.0.12|>=3.1,<3.1.10|>=3.2,<3.2.13|>=3.3,<3.3.13|>=4,<4.0.6", - "neos/form": ">=1.2,<4.3.3|>=5,<5.0.9|>=5.1,<5.1.3", - "neos/media-browser": "<7.3.19|>=8,<8.0.16|>=8.1,<8.1.11|>=8.2,<8.2.11|>=8.3,<8.3.9", - "neos/neos": ">=1.1,<1.1.3|>=1.2,<1.2.13|>=2,<2.0.4|>=2.3,<3.0.20|>=3.1,<3.1.18|>=3.2,<3.2.14|>=3.3,<5.3.10|>=7,<7.0.9|>=7.1,<7.1.7|>=7.2,<7.2.6|>=7.3,<7.3.4|>=8,<8.0.2", - "neos/swiftmailer": "<5.4.5", - "nesbot/carbon": "<2.72.6|>=3,<3.8.4", - "netcarver/textile": "<=4.1.2", - "netgen/tagsbundle": ">=3.4,<3.4.11|>=4,<4.0.15", - "nette/application": ">=2,<2.0.19|>=2.1,<2.1.13|>=2.2,<2.2.10|>=2.3,<2.3.14|>=2.4,<2.4.16|>=3,<3.0.6", - "nette/nette": ">=2,<2.0.19|>=2.1,<2.1.13", - "neuron-core/neuron-ai": "<=2.8.11", - "nilsteampassnet/teampass": "<3.1.3.1-dev", - "nitsan/ns-backup": "<13.0.1", - "nonfiction/nterchange": "<4.1.1", - "notrinos/notrinos-erp": "<=0.7", - "noumo/easyii": "<=0.9", - "novaksolutions/infusionsoft-php-sdk": "<1", - "novosga/novosga": "<=2.2.12", - "nukeviet/nukeviet": "<4.5.02", - "nyholm/psr7": "<1.6.1", - "nystudio107/craft-seomatic": "<3.4.12", - "nzedb/nzedb": "<0.8", - "nzo/url-encryptor-bundle": ">=4,<4.3.2|>=5,<5.0.1", - "october/backend": "<1.1.2", - "october/cms": "<1.0.469|==1.0.469|==1.0.471|==1.1.1", - "october/october": "<3.7.5", - "october/rain": "<1.0.472|>=1.1,<1.1.2", - "october/system": "<3.7.5", - "oliverklee/phpunit": "<3.5.15", - "omeka/omeka-s": "<4.0.3", - "onelogin/php-saml": "<2.21.1|>=3,<3.8.1|>=4,<4.3.1", - "oneup/uploader-bundle": ">=1,<1.9.3|>=2,<2.1.5", - "open-web-analytics/open-web-analytics": "<1.8.1", - "opencart/opencart": ">=0", - "openid/php-openid": "<2.3", - "openmage/magento-lts": "<20.16", - "opensolutions/vimbadmin": "<=3.0.15", - "opensource-workshop/connect-cms": "<1.8.7|>=2,<2.4.7", - "orchid/platform": ">=8,<14.43", - "oro/calendar-bundle": ">=4.2,<=4.2.6|>=5,<=5.0.6|>=5.1,<5.1.1", - "oro/commerce": ">=4.1,<5.0.11|>=5.1,<5.1.1", - "oro/crm": ">=1.7,<1.7.4|>=3.1,<4.1.17|>=4.2,<4.2.7", - "oro/crm-call-bundle": ">=4.2,<=4.2.5|>=5,<5.0.4|>=5.1,<5.1.1", - "oro/customer-portal": ">=4.1,<=4.1.13|>=4.2,<=4.2.10|>=5,<=5.0.11|>=5.1,<=5.1.3", - "oro/platform": ">=1.7,<1.7.4|>=3.1,<3.1.29|>=4.1,<4.1.17|>=4.2,<=4.2.10|>=5,<=5.0.12|>=5.1,<=5.1.3", - "oveleon/contao-cookiebar": "<1.16.3|>=2,<2.1.3", - "oxid-esales/oxideshop-ce": "<=7.0.5", - "oxid-esales/paymorrow-module": ">=1,<1.0.2|>=2,<2.0.1", - "packbackbooks/lti-1-3-php-library": "<5", - "padraic/humbug_get_contents": "<1.1.2", - "pagarme/pagarme-php": "<3", - "pagekit/pagekit": "<=1.0.18", - "paragonie/ecc": "<2.0.1", - "paragonie/random_compat": "<2", - "passbolt/passbolt_api": "<4.6.2", - "paypal/adaptivepayments-sdk-php": "<=3.9.2", - "paypal/invoice-sdk-php": "<=3.9", - "paypal/merchant-sdk-php": "<3.12", - "paypal/permissions-sdk-php": "<=3.9.1", - "pear/archive_tar": "<1.4.14", - "pear/auth": "<1.2.4", - "pear/crypt_gpg": "<1.6.7", - "pear/http_request2": "<2.7", - "pear/pear": "<=1.10.1", - "pegasus/google-for-jobs": "<1.5.1|>=2,<2.1.1", - "personnummer/personnummer": "<3.0.2", - "phanan/koel": "<5.1.4", - "phenx/php-svg-lib": "<0.5.2", - "php-censor/php-censor": "<2.0.13|>=2.1,<2.1.5", - "php-mod/curl": "<2.3.2", - "phpbb/phpbb": "<3.3.11", - "phpems/phpems": ">=6,<=6.1.3", - "phpfastcache/phpfastcache": "<6.1.5|>=7,<7.1.2|>=8,<8.0.7", - "phpmailer/phpmailer": "<6.5", - "phpmussel/phpmussel": ">=1,<1.6", - "phpmyadmin/phpmyadmin": "<5.2.2", - "phpmyfaq/phpmyfaq": "<=4.0.13", - "phpoffice/common": "<0.2.9", - "phpoffice/math": "<=0.2", - "phpoffice/phpexcel": "<=1.8.2", - "phpoffice/phpspreadsheet": "<1.30|>=2,<2.1.12|>=2.2,<2.4|>=3,<3.10|>=4,<5", - "phppgadmin/phppgadmin": "<=7.13", - "phpseclib/phpseclib": "<2.0.47|>=3,<3.0.36", - "phpservermon/phpservermon": "<3.6", - "phpsysinfo/phpsysinfo": "<3.4.3", - "phpunit/phpunit": ">=4.8.19,<4.8.28|>=5.0.10,<5.6.3", - "phpwhois/phpwhois": "<=4.2.5", - "phpxmlrpc/extras": "<0.6.1", - "phpxmlrpc/phpxmlrpc": "<4.9.2", - "pi/pi": "<=2.5", - "pimcore/admin-ui-classic-bundle": "<1.7.6", - "pimcore/customer-management-framework-bundle": "<4.2.1", - "pimcore/data-hub": "<1.2.4", - "pimcore/data-importer": "<1.8.9|>=1.9,<1.9.3", - "pimcore/demo": "<10.3", - "pimcore/ecommerce-framework-bundle": "<1.0.10", - "pimcore/perspective-editor": "<1.5.1", - "pimcore/pimcore": "<11.5.4", - "piwik/piwik": "<1.11", - "pixelfed/pixelfed": "<0.12.5", - "plotly/plotly.js": "<2.25.2", - "pocketmine/bedrock-protocol": "<8.0.2", - "pocketmine/pocketmine-mp": "<5.32.1", - "pocketmine/raklib": ">=0.14,<0.14.6|>=0.15,<0.15.1", - "pressbooks/pressbooks": "<5.18", - "prestashop/autoupgrade": ">=4,<4.10.1", - "prestashop/blockreassurance": "<=5.1.3", - "prestashop/blockwishlist": ">=2,<2.1.1", - "prestashop/contactform": ">=1.0.1,<4.3", - "prestashop/gamification": "<2.3.2", - "prestashop/prestashop": "<8.2.3", - "prestashop/productcomments": "<5.0.2", - "prestashop/ps_checkout": "<4.4.1|>=5,<5.0.5", - "prestashop/ps_contactinfo": "<=3.3.2", - "prestashop/ps_emailsubscription": "<2.6.1", - "prestashop/ps_facetedsearch": "<3.4.1", - "prestashop/ps_linklist": "<3.1", - "privatebin/privatebin": "<1.4|>=1.5,<1.7.4|>=1.7.7,<2.0.3", - "processwire/processwire": "<=3.0.246", - "propel/propel": ">=2.0.0.0-alpha1,<=2.0.0.0-alpha7", - "propel/propel1": ">=1,<=1.7.1", - "pterodactyl/panel": "<=1.11.10", - "ptheofan/yii2-statemachine": ">=2.0.0.0-RC1-dev,<=2", - "ptrofimov/beanstalk_console": "<1.7.14", - "pubnub/pubnub": "<6.1", - "punktde/pt_extbase": "<1.5.1", - "pusher/pusher-php-server": "<2.2.1", - "pwweb/laravel-core": "<=0.3.6.0-beta", - "pxlrbt/filament-excel": "<1.1.14|>=2.0.0.0-alpha,<2.3.3", - "pyrocms/pyrocms": "<=3.9.1", - "qcubed/qcubed": "<=3.1.1", - "quickapps/cms": "<=2.0.0.0-beta2", - "rainlab/blog-plugin": "<1.4.1", - "rainlab/debugbar-plugin": "<3.1", - "rainlab/user-plugin": "<=1.4.5", - "rankmath/seo-by-rank-math": "<=1.0.95", - "rap2hpoutre/laravel-log-viewer": "<0.13", - "react/http": ">=0.7,<1.9", - "really-simple-plugins/complianz-gdpr": "<6.4.2", - "redaxo/source": "<5.20.1", - "remdex/livehelperchat": "<4.29", - "renolit/reint-downloadmanager": "<4.0.2|>=5,<5.0.1", - "reportico-web/reportico": "<=8.1", - "rhukster/dom-sanitizer": "<1.0.7", - "rmccue/requests": ">=1.6,<1.8", - "robrichards/xmlseclibs": "<=3.1.3", - "roots/soil": "<4.1", - "roundcube/roundcubemail": "<1.5.10|>=1.6,<1.6.11", - "rudloff/alltube": "<3.0.3", - "rudloff/rtmpdump-bin": "<=2.3.1", - "s-cart/core": "<=9.0.5", - "s-cart/s-cart": "<6.9", - "sabberworm/php-css-parser": ">=1,<1.0.1|>=2,<2.0.1|>=3,<3.0.1|>=4,<4.0.1|>=5,<5.0.9|>=5.1,<5.1.3|>=5.2,<5.2.1|>=6,<6.0.2|>=7,<7.0.4|>=8,<8.0.1|>=8.1,<8.1.1|>=8.2,<8.2.1|>=8.3,<8.3.1", - "sabre/dav": ">=1.6,<1.7.11|>=1.8,<1.8.9", - "samwilson/unlinked-wikibase": "<1.42", - "scheb/two-factor-bundle": "<3.26|>=4,<4.11", - "sensiolabs/connect": "<4.2.3", - "serluck/phpwhois": "<=4.2.6", - "setasign/fpdi": "<2.6.4", - "sfroemken/url_redirect": "<=1.2.1", - "sheng/yiicms": "<1.2.1", - "shopware/core": "<6.6.10.9-dev|>=6.7,<6.7.4.1-dev", - "shopware/platform": "<6.6.10.7-dev|>=6.7,<6.7.3.1-dev", - "shopware/production": "<=6.3.5.2", - "shopware/shopware": "<=5.7.17|>=6.4.6,<6.6.10.10-dev|>=6.7,<6.7.5.1-dev", - "shopware/storefront": "<6.6.10.10-dev|>=6.7,<6.7.5.1-dev", - "shopxo/shopxo": "<=6.4", - "showdoc/showdoc": "<2.10.4", - "shuchkin/simplexlsx": ">=1.0.12,<1.1.13", - "silverstripe-australia/advancedreports": ">=1,<=2", - "silverstripe/admin": "<1.13.19|>=2,<2.1.8", - "silverstripe/assets": ">=1,<1.11.1", - "silverstripe/cms": "<4.11.3", - "silverstripe/comments": ">=1.3,<3.1.1", - "silverstripe/forum": "<=0.6.1|>=0.7,<=0.7.3", - "silverstripe/framework": "<5.3.23", - "silverstripe/graphql": ">=2,<2.0.5|>=3,<3.8.2|>=4,<4.3.7|>=5,<5.1.3", - "silverstripe/hybridsessions": ">=1,<2.4.1|>=2.5,<2.5.1", - "silverstripe/recipe-cms": ">=4.5,<4.5.3", - "silverstripe/registry": ">=2.1,<2.1.2|>=2.2,<2.2.1", - "silverstripe/reports": "<5.2.3", - "silverstripe/restfulserver": ">=1,<1.0.9|>=2,<2.0.4|>=2.1,<2.1.2", - "silverstripe/silverstripe-omnipay": "<2.5.2|>=3,<3.0.2|>=3.1,<3.1.4|>=3.2,<3.2.1", - "silverstripe/subsites": ">=2,<2.6.1", - "silverstripe/taxonomy": ">=1.3,<1.3.1|>=2,<2.0.1", - "silverstripe/userforms": "<3|>=5,<5.4.2", - "silverstripe/versioned-admin": ">=1,<1.11.1", - "simogeo/filemanager": "<=2.5", - "simple-updates/phpwhois": "<=1", - "simplesamlphp/saml2": "<=4.16.15|>=5.0.0.0-alpha1,<=5.0.0.0-alpha19", - "simplesamlphp/saml2-legacy": "<=4.16.15", - "simplesamlphp/simplesamlphp": "<1.18.6", - "simplesamlphp/simplesamlphp-module-infocard": "<1.0.1", - "simplesamlphp/simplesamlphp-module-openid": "<1", - "simplesamlphp/simplesamlphp-module-openidprovider": "<0.9", - "simplesamlphp/xml-common": "<1.20", - "simplesamlphp/xml-security": "==1.6.11", - "simplito/elliptic-php": "<1.0.6", - "sitegeist/fluid-components": "<3.5", - "sjbr/sr-feuser-register": "<2.6.2|>=5.1,<12.5", - "sjbr/sr-freecap": "<2.4.6|>=2.5,<2.5.3", - "sjbr/static-info-tables": "<2.3.1", - "slim/psr7": "<1.4.1|>=1.5,<1.5.1|>=1.6,<1.6.1", - "slim/slim": "<2.6", - "slub/slub-events": "<3.0.3", - "smarty/smarty": "<4.5.3|>=5,<5.1.1", - "snipe/snipe-it": "<=8.3.4", - "socalnick/scn-social-auth": "<1.15.2", - "socialiteproviders/steam": "<1.1", - "solspace/craft-freeform": ">=5,<5.10.16", - "soosyze/soosyze": "<=2", - "spatie/browsershot": "<5.0.5", - "spatie/image-optimizer": "<1.7.3", - "spencer14420/sp-php-email-handler": "<1", - "spipu/html2pdf": "<5.2.8", - "spiral/roadrunner": "<2025.1", - "spoon/library": "<1.4.1", - "spoonity/tcpdf": "<6.2.22", - "squizlabs/php_codesniffer": ">=1,<2.8.1|>=3,<3.0.1", - "ssddanbrown/bookstack": "<24.05.1", - "starcitizentools/citizen-skin": ">=1.9.4,<3.9", - "starcitizentools/short-description": ">=4,<4.0.1", - "starcitizentools/tabber-neue": ">=1.9.1,<2.7.2|>=3,<3.1.1", - "starcitizenwiki/embedvideo": "<=4", - "statamic/cms": "<=5.22", - "stormpath/sdk": "<9.9.99", - "studio-42/elfinder": "<=2.1.64", - "studiomitte/friendlycaptcha": "<0.1.4", - "subhh/libconnect": "<7.0.8|>=8,<8.1", - "sukohi/surpass": "<1", - "sulu/form-bundle": ">=2,<2.5.3", - "sulu/sulu": "<1.6.44|>=2,<2.5.25|>=2.6,<2.6.9|>=3.0.0.0-alpha1,<3.0.0.0-alpha3", - "sumocoders/framework-user-bundle": "<1.4", - "superbig/craft-audit": "<3.0.2", - "svewap/a21glossary": "<=0.4.10", - "swag/paypal": "<5.4.4", - "swiftmailer/swiftmailer": "<6.2.5", - "swiftyedit/swiftyedit": "<1.2", - "sylius/admin-bundle": ">=1,<1.0.17|>=1.1,<1.1.9|>=1.2,<1.2.2", - "sylius/grid": ">=1,<1.1.19|>=1.2,<1.2.18|>=1.3,<1.3.13|>=1.4,<1.4.5|>=1.5,<1.5.1", - "sylius/grid-bundle": "<1.10.1", - "sylius/paypal-plugin": "<1.6.2|>=1.7,<1.7.2|>=2,<2.0.2", - "sylius/resource-bundle": ">=1,<1.3.14|>=1.4,<1.4.7|>=1.5,<1.5.2|>=1.6,<1.6.4", - "sylius/sylius": "<1.12.19|>=1.13.0.0-alpha1,<1.13.4", - "symbiote/silverstripe-multivaluefield": ">=3,<3.1", - "symbiote/silverstripe-queuedjobs": ">=3,<3.0.2|>=3.1,<3.1.4|>=4,<4.0.7|>=4.1,<4.1.2|>=4.2,<4.2.4|>=4.3,<4.3.3|>=4.4,<4.4.3|>=4.5,<4.5.1|>=4.6,<4.6.4", - "symbiote/silverstripe-seed": "<6.0.3", - "symbiote/silverstripe-versionedfiles": "<=2.0.3", - "symfont/process": ">=0", - "symfony/cache": ">=3.1,<3.4.35|>=4,<4.2.12|>=4.3,<4.3.8", - "symfony/dependency-injection": ">=2,<2.0.17|>=2.7,<2.7.51|>=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.1.12|>=4.2,<4.2.7", - "symfony/error-handler": ">=4.4,<4.4.4|>=5,<5.0.4", - "symfony/form": ">=2.3,<2.3.35|>=2.4,<2.6.12|>=2.7,<2.7.50|>=2.8,<2.8.49|>=3,<3.4.20|>=4,<4.0.15|>=4.1,<4.1.9|>=4.2,<4.2.1", - "symfony/framework-bundle": ">=2,<2.3.18|>=2.4,<2.4.8|>=2.5,<2.5.2|>=2.7,<2.7.51|>=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.1.12|>=4.2,<4.2.7|>=5.3.14,<5.3.15|>=5.4.3,<5.4.4|>=6.0.3,<6.0.4", - "symfony/http-client": ">=4.3,<5.4.47|>=6,<6.4.15|>=7,<7.1.8", - "symfony/http-foundation": "<5.4.50|>=6,<6.4.29|>=7,<7.3.7", - "symfony/http-kernel": ">=2,<4.4.50|>=5,<5.4.20|>=6,<6.0.20|>=6.1,<6.1.12|>=6.2,<6.2.6", - "symfony/intl": ">=2.7,<2.7.38|>=2.8,<2.8.31|>=3,<3.2.14|>=3.3,<3.3.13", - "symfony/maker-bundle": ">=1.27,<1.29.2|>=1.30,<1.31.1", - "symfony/mime": ">=4.3,<4.3.8", - "symfony/phpunit-bridge": ">=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.1.12|>=4.2,<4.2.7", - "symfony/polyfill": ">=1,<1.10", - "symfony/polyfill-php55": ">=1,<1.10", - "symfony/process": "<5.4.46|>=6,<6.4.14|>=7,<7.1.7", - "symfony/proxy-manager-bridge": ">=2.7,<2.7.51|>=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.1.12|>=4.2,<4.2.7", - "symfony/routing": ">=2,<2.0.19", - "symfony/runtime": ">=5.3,<5.4.46|>=6,<6.4.14|>=7,<7.1.7", - "symfony/security": ">=2,<2.7.51|>=2.8,<3.4.49|>=4,<4.4.24|>=5,<5.2.8", - "symfony/security-bundle": ">=2,<4.4.50|>=5,<5.4.20|>=6,<6.0.20|>=6.1,<6.1.12|>=6.2,<6.4.10|>=7,<7.0.10|>=7.1,<7.1.3", - "symfony/security-core": ">=2.4,<2.6.13|>=2.7,<2.7.9|>=2.7.30,<2.7.32|>=2.8,<3.4.49|>=4,<4.4.24|>=5,<5.2.9", - "symfony/security-csrf": ">=2.4,<2.7.48|>=2.8,<2.8.41|>=3,<3.3.17|>=3.4,<3.4.11|>=4,<4.0.11", - "symfony/security-guard": ">=2.8,<3.4.48|>=4,<4.4.23|>=5,<5.2.8", - "symfony/security-http": ">=2.3,<2.3.41|>=2.4,<2.7.51|>=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.2.12|>=4.3,<4.3.8|>=4.4,<4.4.7|>=5,<5.0.7|>=5.1,<5.2.8|>=5.3,<5.4.47|>=6,<6.4.15|>=7,<7.1.8", - "symfony/serializer": ">=2,<2.0.11|>=4.1,<4.4.35|>=5,<5.3.12", - "symfony/symfony": "<5.4.50|>=6,<6.4.29|>=7,<7.3.7", - "symfony/translation": ">=2,<2.0.17", - "symfony/twig-bridge": ">=2,<4.4.51|>=5,<5.4.31|>=6,<6.3.8", - "symfony/ux-autocomplete": "<2.11.2", - "symfony/ux-live-component": "<2.25.1", - "symfony/ux-twig-component": "<2.25.1", - "symfony/validator": "<5.4.43|>=6,<6.4.11|>=7,<7.1.4", - "symfony/var-exporter": ">=4.2,<4.2.12|>=4.3,<4.3.8", - "symfony/web-profiler-bundle": ">=2,<2.3.19|>=2.4,<2.4.9|>=2.5,<2.5.4", - "symfony/webhook": ">=6.3,<6.3.8", - "symfony/yaml": ">=2,<2.0.22|>=2.1,<2.1.7|>=2.2.0.0-beta1,<2.2.0.0-beta2", - "symphonycms/symphony-2": "<2.6.4", - "t3/dce": "<0.11.5|>=2.2,<2.6.2", - "t3g/svg-sanitizer": "<1.0.3", - "t3s/content-consent": "<1.0.3|>=2,<2.0.2", - "tastyigniter/tastyigniter": "<4", - "tcg/voyager": "<=1.8", - "tecnickcom/tc-lib-pdf-font": "<2.6.4", - "tecnickcom/tcpdf": "<6.8", - "terminal42/contao-tablelookupwizard": "<3.3.5", - "thelia/backoffice-default-template": ">=2.1,<2.1.2", - "thelia/thelia": ">=2.1,<2.1.3", - "theonedemon/phpwhois": "<=4.2.5", - "thinkcmf/thinkcmf": "<6.0.8", - "thorsten/phpmyfaq": "<=4.0.13", - "tikiwiki/tiki-manager": "<=17.1", - "timber/timber": ">=0.16.6,<1.23.1|>=1.24,<1.24.1|>=2,<2.1", - "tinymce/tinymce": "<7.2", - "tinymighty/wiki-seo": "<1.2.2", - "titon/framework": "<9.9.99", - "tltneon/lgsl": "<7", - "tobiasbg/tablepress": "<=2.0.0.0-RC1", - "topthink/framework": "<6.0.17|>=6.1,<=8.0.4", - "topthink/think": "<=6.1.1", - "topthink/thinkphp": "<=3.2.3|>=6.1.3,<=8.0.4", - "torrentpier/torrentpier": "<=2.8.8", - "tpwd/ke_search": "<4.0.3|>=4.1,<4.6.6|>=5,<5.0.2", - "tribalsystems/zenario": "<=9.7.61188", - "truckersmp/phpwhois": "<=4.3.1", - "ttskch/pagination-service-provider": "<1", - "twbs/bootstrap": "<3.4.1|>=4,<4.3.1", - "twig/twig": "<3.11.2|>=3.12,<3.14.1|>=3.16,<3.19", - "typo3/cms": "<9.5.29|>=10,<10.4.35|>=11,<11.5.23|>=12,<12.2", - "typo3/cms-backend": "<4.1.14|>=4.2,<4.2.15|>=4.3,<4.3.7|>=4.4,<4.4.4|>=7,<=7.6.50|>=8,<=8.7.39|>=9,<9.5.55|>=10,<10.4.54|>=11,<11.5.48|>=12,<12.4.37|>=13,<13.4.18", - "typo3/cms-belog": ">=10,<=10.4.47|>=11,<=11.5.41|>=12,<=12.4.24|>=13,<=13.4.2", - "typo3/cms-beuser": ">=9,<9.5.55|>=10,<10.4.54|>=11,<11.5.48|>=12,<12.4.37|>=13,<13.4.18", - "typo3/cms-core": "<=8.7.56|>=9,<9.5.55|>=10,<10.4.54|>=11,<11.5.48|>=12,<12.4.37|>=13,<13.4.18", - "typo3/cms-dashboard": ">=10,<10.4.54|>=11,<11.5.48|>=12,<12.4.37|>=13,<13.4.18", - "typo3/cms-extbase": "<6.2.24|>=7,<7.6.8|==8.1.1", - "typo3/cms-extensionmanager": ">=10,<=10.4.47|>=11,<=11.5.41|>=12,<=12.4.24|>=13,<=13.4.2", - "typo3/cms-felogin": ">=4.2,<4.2.3", - "typo3/cms-fluid": "<4.3.4|>=4.4,<4.4.1", - "typo3/cms-form": ">=8,<=8.7.39|>=9,<=9.5.24|>=10,<=10.4.47|>=11,<=11.5.41|>=12,<=12.4.24|>=13,<=13.4.2", - "typo3/cms-frontend": "<4.3.9|>=4.4,<4.4.5", - "typo3/cms-indexed-search": ">=10,<=10.4.47|>=11,<=11.5.41|>=12,<=12.4.24|>=13,<=13.4.2", - "typo3/cms-install": "<4.1.14|>=4.2,<4.2.16|>=4.3,<4.3.9|>=4.4,<4.4.5|>=12.2,<12.4.8|==13.4.2", - "typo3/cms-lowlevel": ">=11,<=11.5.41", - "typo3/cms-recordlist": ">=11,<11.5.48", - "typo3/cms-recycler": ">=9,<9.5.55|>=10,<10.4.54|>=11,<11.5.48|>=12,<12.4.37|>=13,<13.4.18", - "typo3/cms-rte-ckeditor": ">=9.5,<9.5.42|>=10,<10.4.39|>=11,<11.5.30", - "typo3/cms-scheduler": ">=11,<=11.5.41", - "typo3/cms-setup": ">=9,<=9.5.50|>=10,<=10.4.49|>=11,<=11.5.43|>=12,<=12.4.30|>=13,<=13.4.11", - "typo3/cms-webhooks": ">=12,<=12.4.30|>=13,<=13.4.11", - "typo3/cms-workspaces": ">=9,<9.5.55|>=10,<10.4.54|>=11,<11.5.48|>=12,<12.4.37|>=13,<13.4.18", - "typo3/flow": ">=1,<1.0.4|>=1.1,<1.1.1|>=2,<2.0.1|>=2.3,<2.3.16|>=3,<3.0.12|>=3.1,<3.1.10|>=3.2,<3.2.13|>=3.3,<3.3.13|>=4,<4.0.6", - "typo3/html-sanitizer": ">=1,<=1.5.2|>=2,<=2.1.3", - "typo3/neos": ">=1.1,<1.1.3|>=1.2,<1.2.13|>=2,<2.0.4|>=2.3,<2.3.99|>=3,<3.0.20|>=3.1,<3.1.18|>=3.2,<3.2.14|>=3.3,<3.3.23|>=4,<4.0.17|>=4.1,<4.1.16|>=4.2,<4.2.12|>=4.3,<4.3.3", - "typo3/phar-stream-wrapper": ">=1,<2.1.1|>=3,<3.1.1", - "typo3/swiftmailer": ">=4.1,<4.1.99|>=5.4,<5.4.5", - "typo3fluid/fluid": ">=2,<2.0.8|>=2.1,<2.1.7|>=2.2,<2.2.4|>=2.3,<2.3.7|>=2.4,<2.4.4|>=2.5,<2.5.11|>=2.6,<2.6.10", - "ua-parser/uap-php": "<3.8", - "uasoft-indonesia/badaso": "<=2.9.7", - "unisharp/laravel-filemanager": "<2.9.1", - "universal-omega/dynamic-page-list3": "<3.6.4", - "unopim/unopim": "<=0.3", - "userfrosting/userfrosting": ">=0.3.1,<4.6.3", - "usmanhalalit/pixie": "<1.0.3|>=2,<2.0.2", - "uvdesk/community-skeleton": "<=1.1.1", - "uvdesk/core-framework": "<=1.1.1", - "vanilla/safecurl": "<0.9.2", - "verbb/comments": "<1.5.5", - "verbb/formie": "<=2.1.43", - "verbb/image-resizer": "<2.0.9", - "verbb/knock-knock": "<1.2.8", - "verot/class.upload.php": "<=2.1.6", - "vertexvaar/falsftp": "<0.2.6", - "villagedefrance/opencart-overclocked": "<=1.11.1", - "vova07/yii2-fileapi-widget": "<0.1.9", - "vrana/adminer": "<=4.8.1", - "vufind/vufind": ">=2,<9.1.1", - "waldhacker/hcaptcha": "<2.1.2", - "wallabag/tcpdf": "<6.2.22", - "wallabag/wallabag": "<2.6.11", - "wanglelecc/laracms": "<=1.0.3", - "wapplersystems/a21glossary": "<=0.4.10", - "web-auth/webauthn-framework": ">=3.3,<3.3.4|>=4.5,<4.9", - "web-auth/webauthn-lib": ">=4.5,<4.9", - "web-feet/coastercms": "==5.5", - "web-tp3/wec_map": "<3.0.3", - "webbuilders-group/silverstripe-kapost-bridge": "<0.4", - "webcoast/deferred-image-processing": "<1.0.2", - "webklex/laravel-imap": "<5.3", - "webklex/php-imap": "<5.3", - "webpa/webpa": "<3.1.2", - "webreinvent/vaahcms": "<=2.3.1", - "wikibase/wikibase": "<=1.39.3", - "wikimedia/parsoid": "<0.12.2", - "willdurand/js-translation-bundle": "<2.1.1", - "winter/wn-backend-module": "<1.2.4", - "winter/wn-cms-module": "<1.0.476|>=1.1,<1.1.11|>=1.2,<1.2.7", - "winter/wn-dusk-plugin": "<2.1", - "winter/wn-system-module": "<1.2.4", - "wintercms/winter": "<=1.2.3", - "wireui/wireui": "<1.19.3|>=2,<2.1.3", - "woocommerce/woocommerce": "<6.6|>=8.8,<8.8.5|>=8.9,<8.9.3", - "wp-cli/wp-cli": ">=0.12,<2.5", - "wp-graphql/wp-graphql": "<=1.14.5", - "wp-premium/gravityforms": "<2.4.21", - "wpanel/wpanel4-cms": "<=4.3.1", - "wpcloud/wp-stateless": "<3.2", - "wpglobus/wpglobus": "<=1.9.6", - "wwbn/avideo": "<14.3", - "xataface/xataface": "<3", - "xpressengine/xpressengine": "<3.0.15", - "yab/quarx": "<2.4.5", - "yeswiki/yeswiki": "<=4.5.4", - "yetiforce/yetiforce-crm": "<6.5", - "yidashi/yii2cmf": "<=2", - "yii2mod/yii2-cms": "<1.9.2", - "yiisoft/yii": "<1.1.31", - "yiisoft/yii2": "<2.0.52", - "yiisoft/yii2-authclient": "<2.2.15", - "yiisoft/yii2-bootstrap": "<2.0.4", - "yiisoft/yii2-dev": "<=2.0.45", - "yiisoft/yii2-elasticsearch": "<2.0.5", - "yiisoft/yii2-gii": "<=2.2.4", - "yiisoft/yii2-jui": "<2.0.4", - "yiisoft/yii2-redis": "<2.0.20", - "yikesinc/yikes-inc-easy-mailchimp-extender": "<6.8.6", - "yoast-seo-for-typo3/yoast_seo": "<7.2.3", - "yourls/yourls": "<=1.8.2", - "yuan1994/tpadmin": "<=1.3.12", - "yungifez/skuul": "<=2.6.5", - "z-push/z-push-dev": "<2.7.6", - "zencart/zencart": "<=1.5.7.0-beta", - "zendesk/zendesk_api_client_php": "<2.2.11", - "zendframework/zend-cache": ">=2.4,<2.4.8|>=2.5,<2.5.3", - "zendframework/zend-captcha": ">=2,<2.4.9|>=2.5,<2.5.2", - "zendframework/zend-crypt": ">=2,<2.4.9|>=2.5,<2.5.2", - "zendframework/zend-db": "<2.2.10|>=2.3,<2.3.5", - "zendframework/zend-developer-tools": ">=1.2.2,<1.2.3", - "zendframework/zend-diactoros": "<1.8.4", - "zendframework/zend-feed": "<2.10.3", - "zendframework/zend-form": ">=2,<2.2.7|>=2.3,<2.3.1", - "zendframework/zend-http": "<2.8.1", - "zendframework/zend-json": ">=2.1,<2.1.6|>=2.2,<2.2.6", - "zendframework/zend-ldap": ">=2,<2.0.99|>=2.1,<2.1.99|>=2.2,<2.2.8|>=2.3,<2.3.3", - "zendframework/zend-mail": "<2.4.11|>=2.5,<2.7.2", - "zendframework/zend-navigation": ">=2,<2.2.7|>=2.3,<2.3.1", - "zendframework/zend-session": ">=2,<2.2.9|>=2.3,<2.3.4", - "zendframework/zend-validator": ">=2.3,<2.3.6", - "zendframework/zend-view": ">=2,<2.2.7|>=2.3,<2.3.1", - "zendframework/zend-xmlrpc": ">=2.1,<2.1.6|>=2.2,<2.2.6", - "zendframework/zendframework": "<=3", - "zendframework/zendframework1": "<1.12.20", - "zendframework/zendopenid": "<2.0.2", - "zendframework/zendrest": "<2.0.2", - "zendframework/zendservice-amazon": "<2.0.3", - "zendframework/zendservice-api": "<1", - "zendframework/zendservice-audioscrobbler": "<2.0.2", - "zendframework/zendservice-nirvanix": "<2.0.2", - "zendframework/zendservice-slideshare": "<2.0.2", - "zendframework/zendservice-technorati": "<2.0.2", - "zendframework/zendservice-windowsazure": "<2.0.2", - "zendframework/zendxml": ">=1,<1.0.1", - "zenstruck/collection": "<0.2.1", - "zetacomponents/mail": "<1.8.2", - "zf-commons/zfc-user": "<1.2.2", - "zfcampus/zf-apigility-doctrine": ">=1,<1.0.3", - "zfr/zfr-oauth2-server-module": "<0.1.2", - "zoujingli/thinkadmin": "<=6.1.53" - }, - "default-branch": true, - "type": "metapackage", - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "role": "maintainer" - }, - { - "name": "Ilya Tribusean", - "email": "slash3b@gmail.com", - "role": "maintainer" - } - ], - "description": "Prevents installation of composer packages with known security vulnerabilities: no API, simply require it", - "keywords": [ - "dev" - ], - "support": { - "issues": "https://github.com/Roave/SecurityAdvisories/issues", - "source": "https://github.com/Roave/SecurityAdvisories/tree/latest" - }, - "funding": [ - { - "url": "https://github.com/Ocramius", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/roave/security-advisories", - "type": "tidelift" - } - ], - "time": "2025-12-12T23:06:01+00:00" - }, - { - "name": "sebastian/cli-parser", - "version": "2.0.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/cli-parser.git", - "reference": "c34583b87e7b7a8055bf6c450c2c77ce32a24084" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/c34583b87e7b7a8055bf6c450c2c77ce32a24084", - "reference": "c34583b87e7b7a8055bf6c450c2c77ce32a24084", - "shasum": "" - }, - "require": { - "php": ">=8.1" - }, - "require-dev": { - "phpunit/phpunit": "^10.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "2.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library for parsing CLI options", - "homepage": "https://github.com/sebastianbergmann/cli-parser", - "support": { - "issues": "https://github.com/sebastianbergmann/cli-parser/issues", - "security": "https://github.com/sebastianbergmann/cli-parser/security/policy", - "source": "https://github.com/sebastianbergmann/cli-parser/tree/2.0.1" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2024-03-02T07:12:49+00:00" - }, - { - "name": "sebastian/code-unit", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/code-unit.git", - "reference": "a81fee9eef0b7a76af11d121767abc44c104e503" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/a81fee9eef0b7a76af11d121767abc44c104e503", - "reference": "a81fee9eef0b7a76af11d121767abc44c104e503", - "shasum": "" - }, - "require": { - "php": ">=8.1" - }, - "require-dev": { - "phpunit/phpunit": "^10.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "2.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Collection of value objects that represent the PHP code units", - "homepage": "https://github.com/sebastianbergmann/code-unit", - "support": { - "issues": "https://github.com/sebastianbergmann/code-unit/issues", - "source": "https://github.com/sebastianbergmann/code-unit/tree/2.0.0" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-02-03T06:58:43+00:00" - }, - { - "name": "sebastian/code-unit-reverse-lookup", - "version": "3.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", - "reference": "5e3a687f7d8ae33fb362c5c0743794bbb2420a1d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/5e3a687f7d8ae33fb362c5c0743794bbb2420a1d", - "reference": "5e3a687f7d8ae33fb362c5c0743794bbb2420a1d", - "shasum": "" - }, - "require": { - "php": ">=8.1" - }, - "require-dev": { - "phpunit/phpunit": "^10.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Looks up which function or method a line of code belongs to", - "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", - "support": { - "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", - "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/3.0.0" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-02-03T06:59:15+00:00" - }, - { - "name": "sebastian/comparator", - "version": "5.0.5", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "55dfef806eb7dfeb6e7a6935601fef866f8ca48d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/55dfef806eb7dfeb6e7a6935601fef866f8ca48d", - "reference": "55dfef806eb7dfeb6e7a6935601fef866f8ca48d", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-mbstring": "*", - "php": ">=8.1", - "sebastian/diff": "^5.0", - "sebastian/exporter": "^5.0" - }, - "require-dev": { - "phpunit/phpunit": "^10.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "5.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - } - ], - "description": "Provides the functionality to compare PHP values for equality", - "homepage": "https://github.com/sebastianbergmann/comparator", - "keywords": [ - "comparator", - "compare", - "equality" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/comparator/issues", - "security": "https://github.com/sebastianbergmann/comparator/security/policy", - "source": "https://github.com/sebastianbergmann/comparator/tree/5.0.5" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - }, - { - "url": "https://liberapay.com/sebastianbergmann", - "type": "liberapay" - }, - { - "url": "https://thanks.dev/u/gh/sebastianbergmann", - "type": "thanks_dev" - }, - { - "url": "https://tidelift.com/funding/github/packagist/sebastian/comparator", - "type": "tidelift" - } - ], - "time": "2026-01-24T09:25:16+00:00" - }, - { - "name": "sebastian/complexity", - "version": "3.2.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/complexity.git", - "reference": "68ff824baeae169ec9f2137158ee529584553799" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/68ff824baeae169ec9f2137158ee529584553799", - "reference": "68ff824baeae169ec9f2137158ee529584553799", - "shasum": "" - }, - "require": { - "nikic/php-parser": "^4.18 || ^5.0", - "php": ">=8.1" - }, - "require-dev": { - "phpunit/phpunit": "^10.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.2-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library for calculating the complexity of PHP code units", - "homepage": "https://github.com/sebastianbergmann/complexity", - "support": { - "issues": "https://github.com/sebastianbergmann/complexity/issues", - "security": "https://github.com/sebastianbergmann/complexity/security/policy", - "source": "https://github.com/sebastianbergmann/complexity/tree/3.2.0" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-12-21T08:37:17+00:00" - }, - { - "name": "sebastian/diff", - "version": "5.1.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "c41e007b4b62af48218231d6c2275e4c9b975b2e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/c41e007b4b62af48218231d6c2275e4c9b975b2e", - "reference": "c41e007b4b62af48218231d6c2275e4c9b975b2e", - "shasum": "" - }, - "require": { - "php": ">=8.1" - }, - "require-dev": { - "phpunit/phpunit": "^10.0", - "symfony/process": "^6.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "5.1-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" - } - ], - "description": "Diff implementation", - "homepage": "https://github.com/sebastianbergmann/diff", - "keywords": [ - "diff", - "udiff", - "unidiff", - "unified diff" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/diff/issues", - "security": "https://github.com/sebastianbergmann/diff/security/policy", - "source": "https://github.com/sebastianbergmann/diff/tree/5.1.1" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2024-03-02T07:15:17+00:00" - }, - { - "name": "sebastian/environment", - "version": "6.1.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "8074dbcd93529b357029f5cc5058fd3e43666984" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/8074dbcd93529b357029f5cc5058fd3e43666984", - "reference": "8074dbcd93529b357029f5cc5058fd3e43666984", - "shasum": "" - }, - "require": { - "php": ">=8.1" - }, - "require-dev": { - "phpunit/phpunit": "^10.0" - }, - "suggest": { - "ext-posix": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "6.1-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides functionality to handle HHVM/PHP environments", - "homepage": "https://github.com/sebastianbergmann/environment", - "keywords": [ - "Xdebug", - "environment", - "hhvm" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/environment/issues", - "security": "https://github.com/sebastianbergmann/environment/security/policy", - "source": "https://github.com/sebastianbergmann/environment/tree/6.1.0" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2024-03-23T08:47:14+00:00" - }, - { - "name": "sebastian/exporter", - "version": "5.1.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "0735b90f4da94969541dac1da743446e276defa6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/0735b90f4da94969541dac1da743446e276defa6", - "reference": "0735b90f4da94969541dac1da743446e276defa6", - "shasum": "" - }, - "require": { - "ext-mbstring": "*", - "php": ">=8.1", - "sebastian/recursion-context": "^5.0" - }, - "require-dev": { - "phpunit/phpunit": "^10.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "5.1-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@gmail.com" - } - ], - "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "https://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/exporter/issues", - "security": "https://github.com/sebastianbergmann/exporter/security/policy", - "source": "https://github.com/sebastianbergmann/exporter/tree/5.1.4" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - }, - { - "url": "https://liberapay.com/sebastianbergmann", - "type": "liberapay" - }, - { - "url": "https://thanks.dev/u/gh/sebastianbergmann", - "type": "thanks_dev" - }, - { - "url": "https://tidelift.com/funding/github/packagist/sebastian/exporter", - "type": "tidelift" - } - ], - "time": "2025-09-24T06:09:11+00:00" - }, - { - "name": "sebastian/global-state", - "version": "6.0.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "987bafff24ecc4c9ac418cab1145b96dd6e9cbd9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/987bafff24ecc4c9ac418cab1145b96dd6e9cbd9", - "reference": "987bafff24ecc4c9ac418cab1145b96dd6e9cbd9", - "shasum": "" - }, - "require": { - "php": ">=8.1", - "sebastian/object-reflector": "^3.0", - "sebastian/recursion-context": "^5.0" - }, - "require-dev": { - "ext-dom": "*", - "phpunit/phpunit": "^10.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "6.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Snapshotting of global state", - "homepage": "https://www.github.com/sebastianbergmann/global-state", - "keywords": [ - "global state" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/global-state/issues", - "security": "https://github.com/sebastianbergmann/global-state/security/policy", - "source": "https://github.com/sebastianbergmann/global-state/tree/6.0.2" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2024-03-02T07:19:19+00:00" - }, - { - "name": "sebastian/lines-of-code", - "version": "2.0.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/lines-of-code.git", - "reference": "856e7f6a75a84e339195d48c556f23be2ebf75d0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/856e7f6a75a84e339195d48c556f23be2ebf75d0", - "reference": "856e7f6a75a84e339195d48c556f23be2ebf75d0", - "shasum": "" - }, - "require": { - "nikic/php-parser": "^4.18 || ^5.0", - "php": ">=8.1" - }, - "require-dev": { - "phpunit/phpunit": "^10.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "2.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library for counting the lines of code in PHP source code", - "homepage": "https://github.com/sebastianbergmann/lines-of-code", - "support": { - "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", - "security": "https://github.com/sebastianbergmann/lines-of-code/security/policy", - "source": "https://github.com/sebastianbergmann/lines-of-code/tree/2.0.2" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-12-21T08:38:20+00:00" - }, - { - "name": "sebastian/object-enumerator", - "version": "5.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/object-enumerator.git", - "reference": "202d0e344a580d7f7d04b3fafce6933e59dae906" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/202d0e344a580d7f7d04b3fafce6933e59dae906", - "reference": "202d0e344a580d7f7d04b3fafce6933e59dae906", - "shasum": "" - }, - "require": { - "php": ">=8.1", - "sebastian/object-reflector": "^3.0", - "sebastian/recursion-context": "^5.0" - }, - "require-dev": { - "phpunit/phpunit": "^10.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "5.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Traverses array structures and object graphs to enumerate all referenced objects", - "homepage": "https://github.com/sebastianbergmann/object-enumerator/", - "support": { - "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", - "source": "https://github.com/sebastianbergmann/object-enumerator/tree/5.0.0" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-02-03T07:08:32+00:00" - }, - { - "name": "sebastian/object-reflector", - "version": "3.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/object-reflector.git", - "reference": "24ed13d98130f0e7122df55d06c5c4942a577957" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/24ed13d98130f0e7122df55d06c5c4942a577957", - "reference": "24ed13d98130f0e7122df55d06c5c4942a577957", - "shasum": "" - }, - "require": { - "php": ">=8.1" - }, - "require-dev": { - "phpunit/phpunit": "^10.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Allows reflection of object attributes, including inherited and non-public ones", - "homepage": "https://github.com/sebastianbergmann/object-reflector/", - "support": { - "issues": "https://github.com/sebastianbergmann/object-reflector/issues", - "source": "https://github.com/sebastianbergmann/object-reflector/tree/3.0.0" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-02-03T07:06:18+00:00" - }, - { - "name": "sebastian/recursion-context", - "version": "5.0.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "47e34210757a2f37a97dcd207d032e1b01e64c7a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/47e34210757a2f37a97dcd207d032e1b01e64c7a", - "reference": "47e34210757a2f37a97dcd207d032e1b01e64c7a", - "shasum": "" - }, - "require": { - "php": ">=8.1" - }, - "require-dev": { - "phpunit/phpunit": "^10.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "5.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "https://github.com/sebastianbergmann/recursion-context", - "support": { - "issues": "https://github.com/sebastianbergmann/recursion-context/issues", - "security": "https://github.com/sebastianbergmann/recursion-context/security/policy", - "source": "https://github.com/sebastianbergmann/recursion-context/tree/5.0.1" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - }, - { - "url": "https://liberapay.com/sebastianbergmann", - "type": "liberapay" - }, - { - "url": "https://thanks.dev/u/gh/sebastianbergmann", - "type": "thanks_dev" - }, - { - "url": "https://tidelift.com/funding/github/packagist/sebastian/recursion-context", - "type": "tidelift" - } - ], - "time": "2025-08-10T07:50:56+00:00" - }, - { - "name": "sebastian/type", - "version": "4.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/type.git", - "reference": "462699a16464c3944eefc02ebdd77882bd3925bf" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/462699a16464c3944eefc02ebdd77882bd3925bf", - "reference": "462699a16464c3944eefc02ebdd77882bd3925bf", - "shasum": "" - }, - "require": { - "php": ">=8.1" - }, - "require-dev": { - "phpunit/phpunit": "^10.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "4.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Collection of value objects that represent the types of the PHP type system", - "homepage": "https://github.com/sebastianbergmann/type", - "support": { - "issues": "https://github.com/sebastianbergmann/type/issues", - "source": "https://github.com/sebastianbergmann/type/tree/4.0.0" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-02-03T07:10:45+00:00" - }, - { - "name": "sebastian/version", - "version": "4.0.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "c51fa83a5d8f43f1402e3f32a005e6262244ef17" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c51fa83a5d8f43f1402e3f32a005e6262244ef17", - "reference": "c51fa83a5d8f43f1402e3f32a005e6262244ef17", - "shasum": "" - }, - "require": { - "php": ">=8.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "4.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library that helps with managing the version number of Git-hosted PHP projects", - "homepage": "https://github.com/sebastianbergmann/version", - "support": { - "issues": "https://github.com/sebastianbergmann/version/issues", - "source": "https://github.com/sebastianbergmann/version/tree/4.0.1" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-02-07T11:34:05+00:00" - }, - { - "name": "theseer/tokenizer", - "version": "1.3.1", - "source": { - "type": "git", - "url": "https://github.com/theseer/tokenizer.git", - "reference": "b7489ce515e168639d17feec34b8847c326b0b3c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/theseer/tokenizer/zipball/b7489ce515e168639d17feec34b8847c326b0b3c", - "reference": "b7489ce515e168639d17feec34b8847c326b0b3c", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-tokenizer": "*", - "ext-xmlwriter": "*", - "php": "^7.2 || ^8.0" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Arne Blankerts", - "email": "arne@blankerts.de", - "role": "Developer" - } - ], - "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", - "support": { - "issues": "https://github.com/theseer/tokenizer/issues", - "source": "https://github.com/theseer/tokenizer/tree/1.3.1" - }, - "funding": [ - { - "url": "https://github.com/theseer", - "type": "github" - } - ], - "time": "2025-11-17T20:03:58+00:00" - } - ], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": { - "nextcloud/ocp": 20, - "roave/security-advisories": 20 - }, - "prefer-stable": false, - "prefer-lowest": false, - "platform": { - "php": "^8.1" - }, - "platform-dev": {}, - "platform-overrides": { - "php": "8.1" - }, - "plugin-api-version": "2.9.0" -} diff --git a/third_party/astrolabe/img/app-dark.svg b/third_party/astrolabe/img/app-dark.svg deleted file mode 100644 index 0edff66..0000000 --- a/third_party/astrolabe/img/app-dark.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/third_party/astrolabe/img/app.svg b/third_party/astrolabe/img/app.svg deleted file mode 100644 index 498850e..0000000 --- a/third_party/astrolabe/img/app.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/third_party/astrolabe/lib/AppInfo/Application.php b/third_party/astrolabe/lib/AppInfo/Application.php deleted file mode 100644 index 75aed93..0000000 --- a/third_party/astrolabe/lib/AppInfo/Application.php +++ /dev/null @@ -1,45 +0,0 @@ -registerSearchProvider(SemanticSearchProvider::class); - - // Register declarative admin settings - $context->registerDeclarativeSettings(AstrolabeAdminSettings::class); - - // Register event listeners for declarative settings - $context->registerEventListener( - DeclarativeSettingsGetValueEvent::class, - AstrolabeAdminSettingsListener::class - ); - $context->registerEventListener( - DeclarativeSettingsSetValueEvent::class, - AstrolabeAdminSettingsListener::class - ); - } - - public function boot(IBootContext $context): void { - } -} diff --git a/third_party/astrolabe/lib/BackgroundJob/RefreshUserTokens.php b/third_party/astrolabe/lib/BackgroundJob/RefreshUserTokens.php deleted file mode 100644 index 7c3c3a0..0000000 --- a/third_party/astrolabe/lib/BackgroundJob/RefreshUserTokens.php +++ /dev/null @@ -1,207 +0,0 @@ -setInterval(self::JOB_INTERVAL_SECONDS); - $this->setTimeSensitivity(IJob::TIME_INSENSITIVE); - } - - protected function run(mixed $argument): void { - $this->logger->info('RefreshUserTokens: Starting background token refresh'); - - $refreshed = 0; - $failed = 0; - $skipped = 0; - $offset = 0; - $totalUsers = 0; - - // Process users in batches to prevent memory issues on large installations - do { - $userIds = $this->tokenStorage->getAllUsersWithTokens(self::BATCH_SIZE, $offset); - $batchCount = count($userIds); - $totalUsers += $batchCount; - - foreach ($userIds as $userId) { - $result = $this->refreshUserTokenIfNeeded($userId); - match ($result) { - 'refreshed' => $refreshed++, - 'failed' => $failed++, - 'skipped' => $skipped++, - }; - } - - $offset += self::BATCH_SIZE; - } while ($batchCount === self::BATCH_SIZE); - - $this->logger->info("RefreshUserTokens: Complete - total=$totalUsers, refreshed=$refreshed, failed=$failed, skipped=$skipped"); - } - - /** - * Refresh a user's token if it's nearing expiration. - * - * Calculates the refresh threshold based on the token's actual lifetime, - * refreshing when less than 50% of the lifetime remains. - * - * Uses locking to prevent race conditions with on-demand refresh in - * getAccessToken(). If lock cannot be acquired, skips this user since - * on-demand refresh is already handling it. - * - * @return string 'refreshed', 'failed', or 'skipped' - */ - private function refreshUserTokenIfNeeded(string $userId): string { - $token = $this->tokenStorage->getUserToken($userId); - - if ($token === null) { - return 'skipped'; - } - - $expiresAt = (int)($token['expires_at'] ?? 0); - $issuedAt = isset($token['issued_at']) ? (int)$token['issued_at'] : null; - $timeRemaining = $expiresAt - time(); - - // Calculate token lifetime from stored data or use default - if ($issuedAt !== null) { - $tokenLifetime = $expiresAt - $issuedAt; - } else { - // Fallback: use default lifetime assumption - $tokenLifetime = self::DEFAULT_TOKEN_LIFETIME_SECONDS; - } - - // Calculate threshold: refresh when 50% of lifetime remains - $threshold = max( - (int)($tokenLifetime * self::REFRESH_AT_REMAINING_PERCENT), - self::MIN_THRESHOLD_SECONDS - ); - - if ($timeRemaining > $threshold) { - // Token still has plenty of time, skip - return 'skipped'; - } - - // Token is expiring soon, attempt refresh with lock - try { - return $this->tokenStorage->withTokenLock($userId, function () use ($userId) { - // Re-check token after acquiring lock (double-check pattern) - // Another process may have refreshed while we waited for lock - $currentToken = $this->tokenStorage->getUserToken($userId); - - if ($currentToken === null) { - return 'skipped'; - } - - // Recalculate threshold with current token data - $currentExpiresAt = (int)($currentToken['expires_at'] ?? 0); - $currentIssuedAt = isset($currentToken['issued_at']) ? (int)$currentToken['issued_at'] : null; - $currentTimeRemaining = $currentExpiresAt - time(); - - if ($currentIssuedAt !== null) { - $currentTokenLifetime = $currentExpiresAt - $currentIssuedAt; - } else { - $currentTokenLifetime = self::DEFAULT_TOKEN_LIFETIME_SECONDS; - } - - $currentThreshold = max( - (int)($currentTokenLifetime * self::REFRESH_AT_REMAINING_PERCENT), - self::MIN_THRESHOLD_SECONDS - ); - - if ($currentTimeRemaining > $currentThreshold) { - // Token was refreshed by another process while we waited - $this->logger->debug("RefreshUserTokens: Token already refreshed for user $userId while waiting for lock"); - return 'skipped'; - } - - // Still needs refresh, proceed - if (!isset($currentToken['refresh_token'])) { - $this->logger->warning("RefreshUserTokens: User $userId has no refresh token"); - return 'failed'; - } - - $this->logger->debug("RefreshUserTokens: Refreshing token for user $userId (remaining={$currentTimeRemaining}s, threshold={$currentThreshold}s)"); - - /** @var string $refreshToken */ - $refreshToken = $currentToken['refresh_token']; - $newTokenData = $this->tokenRefresher->refreshAccessToken($refreshToken); - - if ($newTokenData === null) { - $this->logger->warning("RefreshUserTokens: Refresh returned null for user $userId"); - // Don't delete token here - let on-demand refresh handle cleanup - return 'failed'; - } - - // Calculate new expiration and store issued_at for future calculations - $expiresIn = (int)($newTokenData['expires_in'] ?? self::DEFAULT_TOKEN_LIFETIME_SECONDS); - $now = time(); - - /** @var string $accessToken */ - $accessToken = $newTokenData['access_token']; - /** @var string $newRefreshToken */ - $newRefreshToken = $newTokenData['refresh_token'] ?? $refreshToken; - - $this->tokenStorage->storeUserToken( - $userId, - $accessToken, - $newRefreshToken, - $now + $expiresIn, - $now // issued_at - ); - - $this->logger->debug("RefreshUserTokens: Successfully refreshed token for user $userId"); - return 'refreshed'; - }); - } catch (LockedException $e) { - // Lock held by on-demand refresh - expected, not an error - $this->logger->debug("RefreshUserTokens: Lock held for user $userId, skipping"); - return 'skipped'; - } catch (\Exception $e) { - $this->logger->error("RefreshUserTokens: Failed to refresh for user $userId: " . $e->getMessage()); - return 'failed'; - } - } -} diff --git a/third_party/astrolabe/lib/Controller/ApiController.php b/third_party/astrolabe/lib/Controller/ApiController.php deleted file mode 100644 index 91535a3..0000000 --- a/third_party/astrolabe/lib/Controller/ApiController.php +++ /dev/null @@ -1,854 +0,0 @@ -client = $client; - $this->userSession = $userSession; - $this->urlGenerator = $urlGenerator; - $this->logger = $logger; - $this->tokenStorage = $tokenStorage; - $this->config = $config; - $this->tokenRefresher = $tokenRefresher; - } - - /** - * Revoke user's background access (delete refresh token). - * - * Called from personal settings form POST. - * Redirects back to personal settings after completion. - * - * @return RedirectResponse - */ - #[NoAdminRequired] - public function revokeAccess(): RedirectResponse { - $user = $this->userSession->getUser(); - if (!$user) { - // Should not happen (NoAdminRequired ensures user is logged in) - $this->logger->error('Revoke access called without authenticated user'); - return new RedirectResponse( - $this->urlGenerator->linkToRoute('settings.PersonalSettings.index', ['section' => 'astrolabe']) - ); - } - - $userId = $user->getUID(); - - // Get user's OAuth token - $token = $this->tokenStorage->getUserToken($userId); - if (!$token) { - $this->logger->error("Cannot revoke access: No token found for user $userId"); - return new RedirectResponse( - $this->urlGenerator->linkToRoute('settings.PersonalSettings.index', ['section' => 'astrolabe']) - ); - } - - $accessToken = $token['access_token']; - - // Call MCP server API to revoke access - $result = $this->client->revokeUserAccess($userId, $accessToken); - - if (isset($result['error'])) { - $this->logger->error("Failed to revoke access for user $userId", [ - 'error' => $result['error'] - ]); - // TODO: Add flash message/notification for user feedback - } else { - $this->logger->info("Successfully revoked background access for user $userId"); - - // Delete local OAuth tokens from Nextcloud config - // This ensures hasBackgroundAccess() returns false on next page load - $this->tokenStorage->deleteUserToken($userId); - $this->logger->debug("Deleted local OAuth tokens for user $userId"); - - // TODO: Add success flash message/notification - } - - // Redirect back to personal settings - return new RedirectResponse( - $this->urlGenerator->linkToRoute('settings.PersonalSettings.index', ['section' => 'astrolabe']) - ); - } - - /** - * Execute semantic search via MCP server. - * - * AJAX endpoint for vector search UI in app page. - * Uses user's OAuth token for authentication. - * - * @param string $query Search query - * @param string $algorithm Search algorithm (semantic, bm25, hybrid) - * @param int $limit Number of results (max 50) - * @param string $doc_types Comma-separated document types (e.g., "note,file") - * @param string $include_pca Whether to include PCA coordinates for visualization - * @return JSONResponse - */ - #[NoAdminRequired] - public function search( - string $query = '', - string $algorithm = 'hybrid', - int $limit = 10, - string $doc_types = '', - string $include_pca = 'true', - ): JSONResponse { - if (empty($query)) { - return new JSONResponse([ - 'success' => false, - 'error' => 'Missing required parameter: query' - ], Http::STATUS_BAD_REQUEST); - } - - // Get current user - $user = $this->userSession->getUser(); - if (!$user) { - return new JSONResponse([ - 'success' => false, - 'error' => 'User not authenticated' - ], Http::STATUS_UNAUTHORIZED); - } - - $userId = $user->getUID(); - - // Create refresh callback that calls IdP directly - /** @return array{access_token: string, refresh_token: string, expires_in: int}|null */ - $refreshCallback = function (string $refreshToken): ?array { - $newTokenData = $this->tokenRefresher->refreshAccessToken($refreshToken); - - if ($newTokenData === null) { - return null; - } - - return [ - 'access_token' => $newTokenData['access_token'], - 'refresh_token' => $newTokenData['refresh_token'] ?? $refreshToken, - 'expires_in' => $newTokenData['expires_in'] ?? 3600, - ]; - }; - - // Get user's OAuth token for MCP server with automatic refresh - $accessToken = $this->tokenStorage->getAccessToken($userId, $refreshCallback); - if ($accessToken === null) { - return new JSONResponse([ - 'success' => false, - 'error' => 'MCP server authorization required. Please authorize the app first.' - ], Http::STATUS_UNAUTHORIZED); - } - - // Validate algorithm - $validAlgorithms = ['semantic', 'bm25', 'hybrid']; - if (!in_array($algorithm, $validAlgorithms)) { - $algorithm = 'hybrid'; - } - - // Enforce limit bounds - $limit = max(1, min($limit, 50)); - - // Parse doc_types filter - $docTypesArray = null; - if (!empty($doc_types)) { - $validDocTypes = ['note', 'file', 'deck_card', 'calendar', 'contact', 'news_item']; - $docTypesArray = array_filter( - explode(',', $doc_types), - fn ($t) => in_array(trim($t), $validDocTypes) - ); - $docTypesArray = array_map('trim', $docTypesArray); - if (empty($docTypesArray)) { - $docTypesArray = null; - } - } - - // Parse include_pca (string "true"/"false" from query params) - $includePcaBool = in_array(strtolower($include_pca), ['true', '1', 'yes'], true); - - // Execute search via MCP server with OAuth token - $result = $this->client->search($query, $algorithm, $limit, $includePcaBool, $docTypesArray, $accessToken); - - if (isset($result['error'])) { - return new JSONResponse([ - 'success' => false, - 'error' => $result['error'] - ], Http::STATUS_INTERNAL_SERVER_ERROR); - } - - $response = [ - 'success' => true, - 'results' => $result['results'] ?? [], - 'algorithm_used' => $result['algorithm_used'] ?? $algorithm, - 'total_documents' => $result['total_documents'] ?? 0, - ]; - - // Include PCA visualization coordinates if requested and available - if ($includePcaBool) { - $response['coordinates_3d'] = $result['coordinates_3d'] ?? []; - $response['query_coords'] = $result['query_coords'] ?? []; - if (isset($result['pca_variance'])) { - $response['pca_variance'] = $result['pca_variance']; - } - } - - return new JSONResponse($response); - } - - /** - * Get vector sync status from MCP server. - * - * AJAX endpoint for status refresh in personal settings. - * - * @return JSONResponse - */ - #[NoAdminRequired] - public function vectorStatus(): JSONResponse { - $status = $this->client->getVectorSyncStatus(); - - if (isset($status['error'])) { - return new JSONResponse([ - 'success' => false, - 'error' => $status['error'] - ], Http::STATUS_INTERNAL_SERVER_ERROR); - } - - return new JSONResponse([ - 'success' => true, - 'status' => $status - ]); - } - - /** - * Get MCP server status. - * - * Admin-only endpoint for admin settings page. - * Returns server version, uptime, and vector sync availability. - * - * @return JSONResponse - */ - public function serverStatus(): JSONResponse { - $status = $this->client->getStatus(); - - // Validate that status is an array before accessing - if (!is_array($status)) { - return new JSONResponse([ - 'success' => false, - 'error' => 'Invalid response from MCP server' - ], Http::STATUS_INTERNAL_SERVER_ERROR); - } - - if (isset($status['error'])) { - return new JSONResponse([ - 'success' => false, - 'error' => $status['error'] - ], Http::STATUS_INTERNAL_SERVER_ERROR); - } - - return new JSONResponse([ - 'success' => true, - 'status' => $status - ]); - } - - /** - * Get vector sync status for admin. - * - * Admin-only endpoint for admin settings page. - * Returns indexing metrics and sync status. - * - * @return JSONResponse - */ - public function adminVectorStatus(): JSONResponse { - $status = $this->client->getVectorSyncStatus(); - - // Validate that status is an array before accessing - if (!is_array($status)) { - return new JSONResponse([ - 'success' => false, - 'error' => 'Invalid response from MCP server' - ], Http::STATUS_INTERNAL_SERVER_ERROR); - } - - if (isset($status['error'])) { - return new JSONResponse([ - 'success' => false, - 'error' => $status['error'] - ], Http::STATUS_INTERNAL_SERVER_ERROR); - } - - return new JSONResponse([ - 'success' => true, - 'status' => $status - ]); - } - - /** - * Save admin search settings. - * - * Admin-only endpoint to configure AI Search provider parameters. - * - * @return JSONResponse - */ - public function saveSearchSettings(): JSONResponse { - // Parse JSON body - $input = file_get_contents('php://input'); - $data = json_decode($input, true); - - if ($data === null) { - return new JSONResponse([ - 'success' => false, - 'error' => 'Invalid JSON body' - ], Http::STATUS_BAD_REQUEST); - } - - // Validate and save algorithm - $validAlgorithms = ['hybrid', 'semantic', 'bm25']; - $algorithm = $data['algorithm'] ?? AdminSettings::DEFAULT_SEARCH_ALGORITHM; - if (!in_array($algorithm, $validAlgorithms)) { - $algorithm = AdminSettings::DEFAULT_SEARCH_ALGORITHM; - } - $this->config->setAppValue( - $this->appName, - AdminSettings::SETTING_SEARCH_ALGORITHM, - $algorithm - ); - - // Validate and save fusion method - $validFusions = ['rrf', 'dbsf']; - $fusion = $data['fusion'] ?? AdminSettings::DEFAULT_SEARCH_FUSION; - if (!in_array($fusion, $validFusions)) { - $fusion = AdminSettings::DEFAULT_SEARCH_FUSION; - } - $this->config->setAppValue( - $this->appName, - AdminSettings::SETTING_SEARCH_FUSION, - $fusion - ); - - // Validate and save score threshold (0-100) - $scoreThreshold = (int)($data['scoreThreshold'] ?? AdminSettings::DEFAULT_SEARCH_SCORE_THRESHOLD); - $scoreThreshold = max(0, min(100, $scoreThreshold)); - $this->config->setAppValue( - $this->appName, - AdminSettings::SETTING_SEARCH_SCORE_THRESHOLD, - (string)$scoreThreshold - ); - - // Validate and save limit (5-100) - $limit = (int)($data['limit'] ?? AdminSettings::DEFAULT_SEARCH_LIMIT); - $limit = max(5, min(100, $limit)); - $this->config->setAppValue( - $this->appName, - AdminSettings::SETTING_SEARCH_LIMIT, - (string)$limit - ); - - $this->logger->info('Admin search settings saved', [ - 'algorithm' => $algorithm, - 'fusion' => $fusion, - 'scoreThreshold' => $scoreThreshold, - 'limit' => $limit, - ]); - - return new JSONResponse([ - 'success' => true, - 'settings' => [ - 'algorithm' => $algorithm, - 'fusion' => $fusion, - 'scoreThreshold' => $scoreThreshold, - 'limit' => $limit, - ] - ]); - } - - /** - * Get available webhook presets. - * - * Admin-only endpoint that lists webhook presets filtered by installed apps. - * - * @return JSONResponse - */ - public function getWebhookPresets(): JSONResponse { - // Get admin's OAuth token for API calls - $user = $this->userSession->getUser(); - if (!$user) { - return new JSONResponse([ - 'success' => false, - 'error' => 'User not authenticated' - ], Http::STATUS_UNAUTHORIZED); - } - - $userId = $user->getUID(); - - // Create refresh callback - /** @return array{access_token: string, refresh_token: string, expires_in: int}|null */ - $refreshCallback = function (string $refreshToken): ?array { - $newTokenData = $this->tokenRefresher->refreshAccessToken($refreshToken); - - if ($newTokenData === null) { - return null; - } - - return [ - 'access_token' => $newTokenData['access_token'], - 'refresh_token' => $newTokenData['refresh_token'] ?? $refreshToken, - 'expires_in' => $newTokenData['expires_in'] ?? 3600, - ]; - }; - - // Get access token with automatic refresh - $accessToken = $this->tokenStorage->getAccessToken($userId, $refreshCallback); - if ($accessToken === null) { - return new JSONResponse([ - 'success' => false, - 'error' => 'MCP server authorization required' - ], Http::STATUS_UNAUTHORIZED); - } - - // Get installed apps to filter presets - $installedAppsResult = $this->client->getInstalledApps($accessToken); - if (isset($installedAppsResult['error'])) { - return new JSONResponse([ - 'success' => false, - 'error' => $installedAppsResult['error'] - ], Http::STATUS_INTERNAL_SERVER_ERROR); - } - - $installedApps = $installedAppsResult['apps'] ?? []; - - // Get registered webhooks to check preset status - $webhooksResult = $this->client->listWebhooks($accessToken); - if (isset($webhooksResult['error'])) { - return new JSONResponse([ - 'success' => false, - 'error' => $webhooksResult['error'] - ], Http::STATUS_INTERNAL_SERVER_ERROR); - } - - $registeredWebhooks = $webhooksResult['webhooks'] ?? []; - - // Filter presets by installed apps - $presets = WebhookPresets::filterPresetsByInstalledApps($installedApps); - - // Add enabled status to each preset - // IMPORTANT: Match both event type AND filter to avoid false positives - // (e.g., Notes and Files both use FILE_EVENT_* but with different filters) - $presetsWithStatus = []; - foreach ($presets as $presetId => $preset) { - // Check if all events for this preset are registered with matching filters - $allEventsRegistered = true; - foreach ($preset['events'] as $presetEvent) { - $eventMatched = false; - foreach ($registeredWebhooks as $webhook) { - // Match event type - if ($webhook['event'] !== $presetEvent['event']) { - continue; - } - - // Match filter (both must have filter or both must not have filter) - $presetFilter = !empty($presetEvent['filter']) ? $presetEvent['filter'] : null; - $webhookFilter = !empty($webhook['eventFilter']) ? $webhook['eventFilter'] : null; - - // Compare filters (use json_encode for deep comparison) - if (json_encode($presetFilter) === json_encode($webhookFilter)) { - $eventMatched = true; - break; - } - } - - if (!$eventMatched) { - $allEventsRegistered = false; - break; - } - } - - $presetsWithStatus[$presetId] = array_merge($preset, [ - 'enabled' => $allEventsRegistered - ]); - } - - return new JSONResponse([ - 'success' => true, - 'presets' => $presetsWithStatus - ]); - } - - /** - * Enable a webhook preset. - * - * Admin-only endpoint that registers all webhooks for a preset. - * - * @param string $presetId Preset ID to enable - * @return JSONResponse - */ - public function enableWebhookPreset(string $presetId): JSONResponse { - // Get admin's OAuth token - $user = $this->userSession->getUser(); - if (!$user) { - return new JSONResponse([ - 'success' => false, - 'error' => 'User not authenticated' - ], Http::STATUS_UNAUTHORIZED); - } - - $userId = $user->getUID(); - - // Create refresh callback - /** @return array{access_token: string, refresh_token: string, expires_in: int}|null */ - $refreshCallback = function (string $refreshToken): ?array { - $newTokenData = $this->tokenRefresher->refreshAccessToken($refreshToken); - - if ($newTokenData === null) { - return null; - } - - return [ - 'access_token' => $newTokenData['access_token'], - 'refresh_token' => $newTokenData['refresh_token'] ?? $refreshToken, - 'expires_in' => $newTokenData['expires_in'] ?? 3600, - ]; - }; - - // Get access token with automatic refresh - $accessToken = $this->tokenStorage->getAccessToken($userId, $refreshCallback); - if ($accessToken === null) { - return new JSONResponse([ - 'success' => false, - 'error' => 'MCP server authorization required' - ], Http::STATUS_UNAUTHORIZED); - } - - // Get preset configuration - $preset = WebhookPresets::getPreset($presetId); - if ($preset === null) { - return new JSONResponse([ - 'success' => false, - 'error' => "Unknown preset: $presetId" - ], Http::STATUS_BAD_REQUEST); - } - - // Get MCP server URL for webhook callback URI - $mcpServerUrl = $this->client->getServerUrl(); - $callbackUri = $mcpServerUrl . '/api/v1/webhooks/callback'; - - // Register each event in the preset - $registered = []; - $errors = []; - foreach ($preset['events'] as $eventConfig) { - $result = $this->client->createWebhook( - $eventConfig['event'], - $callbackUri, - !empty($eventConfig['filter']) ? $eventConfig['filter'] : null, - $accessToken - ); - - if (isset($result['error'])) { - $errors[] = [ - 'event' => $eventConfig['event'], - 'error' => $result['error'] - ]; - } else { - $registered[] = $result; - } - } - - if (!empty($errors)) { - return new JSONResponse([ - 'success' => false, - 'error' => 'Failed to register some webhooks', - 'registered' => $registered, - 'errors' => $errors - ], Http::STATUS_INTERNAL_SERVER_ERROR); - } - - $this->logger->info("Enabled webhook preset $presetId for user $userId", [ - 'preset_id' => $presetId, - 'webhooks_registered' => count($registered) - ]); - - return new JSONResponse([ - 'success' => true, - 'message' => "Enabled {$preset['name']}", - 'webhooks' => $registered - ]); - } - - /** - * Disable a webhook preset. - * - * Admin-only endpoint that deletes all webhooks for a preset. - * - * @param string $presetId Preset ID to disable - * @return JSONResponse - */ - public function disableWebhookPreset(string $presetId): JSONResponse { - // Get admin's OAuth token - $user = $this->userSession->getUser(); - if (!$user) { - return new JSONResponse([ - 'success' => false, - 'error' => 'User not authenticated' - ], Http::STATUS_UNAUTHORIZED); - } - - $userId = $user->getUID(); - - // Create refresh callback - /** @return array{access_token: string, refresh_token: string, expires_in: int}|null */ - $refreshCallback = function (string $refreshToken): ?array { - $newTokenData = $this->tokenRefresher->refreshAccessToken($refreshToken); - - if ($newTokenData === null) { - return null; - } - - return [ - 'access_token' => $newTokenData['access_token'], - 'refresh_token' => $newTokenData['refresh_token'] ?? $refreshToken, - 'expires_in' => $newTokenData['expires_in'] ?? 3600, - ]; - }; - - // Get access token with automatic refresh - $accessToken = $this->tokenStorage->getAccessToken($userId, $refreshCallback); - if ($accessToken === null) { - return new JSONResponse([ - 'success' => false, - 'error' => 'MCP server authorization required' - ], Http::STATUS_UNAUTHORIZED); - } - - // Get preset configuration - $preset = WebhookPresets::getPreset($presetId); - if ($preset === null) { - return new JSONResponse([ - 'success' => false, - 'error' => "Unknown preset: $presetId" - ], Http::STATUS_BAD_REQUEST); - } - - // Get all registered webhooks - $webhooksResult = $this->client->listWebhooks($accessToken); - if (isset($webhooksResult['error'])) { - return new JSONResponse([ - 'success' => false, - 'error' => $webhooksResult['error'] - ], Http::STATUS_INTERNAL_SERVER_ERROR); - } - - $registeredWebhooks = $webhooksResult['webhooks'] ?? []; - - // Find webhooks that match this preset's events AND filters - // IMPORTANT: Must match both event type AND filter to avoid deleting - // webhooks from other presets (e.g., Notes vs Files both use FILE_EVENT_*) - $webhooksToDelete = []; - foreach ($registeredWebhooks as $webhook) { - // Check if this webhook matches any event in the preset - foreach ($preset['events'] as $presetEvent) { - // Match event type - if ($webhook['event'] !== $presetEvent['event']) { - continue; - } - - // Match filter (both must have filter or both must not have filter) - $presetFilter = !empty($presetEvent['filter']) ? $presetEvent['filter'] : null; - $webhookFilter = !empty($webhook['eventFilter']) ? $webhook['eventFilter'] : null; - - // Compare filters (use json_encode for deep comparison) - if (json_encode($presetFilter) === json_encode($webhookFilter)) { - $webhooksToDelete[] = $webhook; - break; // This webhook matches, no need to check other preset events - } - } - } - - // Delete each matching webhook - $deleted = []; - $errors = []; - foreach ($webhooksToDelete as $webhook) { - $result = $this->client->deleteWebhook($webhook['id'], $accessToken); - - if (isset($result['error'])) { - $errors[] = [ - 'webhook_id' => $webhook['id'], - 'event' => $webhook['event'], - 'error' => $result['error'] - ]; - } else { - $deleted[] = $webhook['id']; - } - } - - if (!empty($errors)) { - return new JSONResponse([ - 'success' => false, - 'error' => 'Failed to delete some webhooks', - 'deleted' => $deleted, - 'errors' => $errors - ], Http::STATUS_INTERNAL_SERVER_ERROR); - } - - $this->logger->info("Disabled webhook preset $presetId for user $userId", [ - 'preset_id' => $presetId, - 'webhooks_deleted' => count($deleted) - ]); - - return new JSONResponse([ - 'success' => true, - 'message' => "Disabled {$preset['name']}", - 'deleted' => $deleted - ]); - } - - /** - * Get chunk context for visualization. - * - * @param string $doc_type Document type - * @param string $doc_id Document ID - * @param int $start Start offset - * @param int $end End offset - * @return JSONResponse - */ - #[NoAdminRequired] - public function chunkContext( - string $doc_type, - string $doc_id, - int $start, - int $end, - ): JSONResponse { - $user = $this->userSession->getUser(); - if (!$user) { - return new JSONResponse(['error' => 'User not authenticated'], Http::STATUS_UNAUTHORIZED); - } - - $userId = $user->getUID(); - - // Create refresh callback - /** @return array{access_token: string, refresh_token: string, expires_in: int}|null */ - $refreshCallback = function (string $refreshToken): ?array { - $newTokenData = $this->tokenRefresher->refreshAccessToken($refreshToken); - - if ($newTokenData === null) { - return null; - } - - return [ - 'access_token' => $newTokenData['access_token'], - 'refresh_token' => $newTokenData['refresh_token'] ?? $refreshToken, - 'expires_in' => $newTokenData['expires_in'] ?? 3600, - ]; - }; - - // Get user's OAuth token for MCP server with automatic refresh - $accessToken = $this->tokenStorage->getAccessToken($userId, $refreshCallback); - if ($accessToken === null) { - return new JSONResponse([ - 'success' => false, - 'error' => 'MCP server authorization required.' - ], Http::STATUS_UNAUTHORIZED); - } - - $result = $this->client->getChunkContext($doc_type, $doc_id, $start, $end, $accessToken); - - if (isset($result['error'])) { - return new JSONResponse(['success' => false, 'error' => $result['error']], Http::STATUS_INTERNAL_SERVER_ERROR); - } - - return new JSONResponse($result); - } - - /** - * Get PDF page preview (server-side rendered). - * - * AJAX endpoint for PDF viewer in semantic search UI. - * Uses server-side PyMuPDF rendering to avoid CSP/worker issues. - * - * @param string $file_path WebDAV path to PDF file - * @param int $page Page number (1-indexed, default: 1) - * @param float $scale Zoom factor (default: 2.0) - * @return JSONResponse - */ - #[NoAdminRequired] - public function pdfPreview( - string $file_path, - int $page = 1, - float $scale = 2.0, - ): JSONResponse { - $user = $this->userSession->getUser(); - if (!$user) { - return new JSONResponse(['success' => false, 'error' => 'User not authenticated'], Http::STATUS_UNAUTHORIZED); - } - - $userId = $user->getUID(); - - // Create refresh callback - /** @return array{access_token: string, refresh_token: string, expires_in: int}|null */ - $refreshCallback = function (string $refreshToken): ?array { - $newTokenData = $this->tokenRefresher->refreshAccessToken($refreshToken); - - if ($newTokenData === null) { - return null; - } - - return [ - 'access_token' => $newTokenData['access_token'], - 'refresh_token' => $newTokenData['refresh_token'] ?? $refreshToken, - 'expires_in' => $newTokenData['expires_in'] ?? 3600, - ]; - }; - - // Get user's OAuth token for MCP server with automatic refresh - $accessToken = $this->tokenStorage->getAccessToken($userId, $refreshCallback); - if ($accessToken === null) { - return new JSONResponse([ - 'success' => false, - 'error' => 'MCP server authorization required.' - ], Http::STATUS_UNAUTHORIZED); - } - - $result = $this->client->getPdfPreview($file_path, $page, $scale, $accessToken); - - if (isset($result['error'])) { - return new JSONResponse(['success' => false, 'error' => $result['error']], Http::STATUS_INTERNAL_SERVER_ERROR); - } - - return new JSONResponse($result); - } -} diff --git a/third_party/astrolabe/lib/Controller/CredentialsController.php b/third_party/astrolabe/lib/Controller/CredentialsController.php deleted file mode 100644 index 4d414a2..0000000 --- a/third_party/astrolabe/lib/Controller/CredentialsController.php +++ /dev/null @@ -1,324 +0,0 @@ -tokenStorage = $tokenStorage; - $this->userSession = $userSession; - $this->logger = $logger; - $this->config = $config; - $this->client = $client; - $this->httpClientService = $httpClientService; - $this->urlGenerator = $urlGenerator; - } - - /** - * Store app password for background sync. - * - * Validates the app password by making a test request to Nextcloud, - * then stores it encrypted if valid. - * - * @param string $appPassword Nextcloud app password - * @return JSONResponse - */ - #[NoAdminRequired] - public function storeAppPassword(string $appPassword): JSONResponse { - $user = $this->userSession->getUser(); - if (!$user) { - $this->logger->error('storeAppPassword called without authenticated user'); - return new JSONResponse([ - 'success' => false, - 'error' => 'User not authenticated' - ], Http::STATUS_UNAUTHORIZED); - } - - $userId = $user->getUID(); - - // Validate app password format (xxxxx-xxxxx-xxxxx-xxxxx-xxxxx) - if (!preg_match('/^[a-zA-Z0-9]{5}-[a-zA-Z0-9]{5}-[a-zA-Z0-9]{5}-[a-zA-Z0-9]{5}-[a-zA-Z0-9]{5}$/', $appPassword)) { - $this->logger->warning("Invalid app password format for user: $userId"); - return new JSONResponse([ - 'success' => false, - 'error' => 'Invalid app password format' - ], Http::STATUS_BAD_REQUEST); - } - - // Validate app password with Nextcloud - $isValid = $this->validateAppPassword($userId, $appPassword); - - if (!$isValid) { - $this->logger->warning("App password validation failed for user: $userId"); - return new JSONResponse([ - 'success' => false, - 'error' => 'Invalid app password. Please check the password and try again.' - ], Http::STATUS_UNAUTHORIZED); - } - - // Store encrypted app password locally in Nextcloud - try { - $this->tokenStorage->storeBackgroundSyncPassword($userId, $appPassword); - $this->logger->info("Stored app password locally for user: $userId"); - } catch (\Exception $e) { - $this->logger->error("Failed to store app password locally for user $userId", [ - 'error' => $e->getMessage() - ]); - return new JSONResponse([ - 'success' => false, - 'error' => 'Failed to save app password locally' - ], Http::STATUS_INTERNAL_SERVER_ERROR); - } - - // Send app password to MCP server for background sync - // Get MCP server URL from system config (set in config.php) - $mcpServerUrl = $this->config->getSystemValue('mcp_server_url', ''); - if (empty($mcpServerUrl)) { - $this->logger->warning('MCP server URL not configured, app password stored locally only'); - return new JSONResponse([ - 'success' => true, - 'partial_success' => true, - 'local_storage' => true, - 'mcp_sync' => false, - 'message' => 'App password saved locally (MCP server not configured)' - ], Http::STATUS_OK); - } - - try { - $httpClient = $this->httpClientService->newClient(); - - // Send to MCP server with BasicAuth (user proves ownership of password) - $mcpEndpoint = rtrim($mcpServerUrl, '/') . '/api/v1/users/' . urlencode($userId) . '/app-password'; - - $this->logger->debug("Sending app password to MCP server: $mcpEndpoint"); - - $response = $httpClient->post($mcpEndpoint, [ - 'auth' => [$userId, $appPassword], - 'headers' => [ - 'Content-Type' => 'application/json', - 'Accept' => 'application/json', - ], - 'timeout' => 10, - ]); - - $statusCode = $response->getStatusCode(); - $body = json_decode($response->getBody(), true); - - if ($statusCode === 200 && ($body['success'] ?? false)) { - $this->logger->info("Successfully provisioned app password to MCP server for user: $userId"); - return new JSONResponse([ - 'success' => true, - 'partial_success' => false, - 'local_storage' => true, - 'mcp_sync' => true, - 'message' => 'App password saved successfully' - ], Http::STATUS_OK); - } else { - $error = $body['error'] ?? 'Unknown error'; - $this->logger->error("MCP server rejected app password for user $userId: $error"); - // Return partial success since it was stored locally but MCP sync failed - return new JSONResponse([ - 'success' => true, - 'partial_success' => true, - 'local_storage' => true, - 'mcp_sync' => false, - 'message' => 'App password saved locally (MCP server sync failed)', - 'mcp_error' => $error - ], Http::STATUS_OK); - } - } catch (\Exception $e) { - $this->logger->error("Failed to send app password to MCP server for user $userId", [ - 'error' => $e->getMessage() - ]); - // Return partial success since it was stored locally but MCP was unreachable - return new JSONResponse([ - 'success' => true, - 'partial_success' => true, - 'local_storage' => true, - 'mcp_sync' => false, - 'message' => 'App password saved locally (MCP server unreachable)', - 'mcp_error' => $e->getMessage() - ], Http::STATUS_OK); - } - } - - /** - * Validate app password by making a test request to Nextcloud. - * - * @param string $userId User ID - * @param string $appPassword App password to validate - * @return bool True if valid, false otherwise - */ - private function validateAppPassword(string $userId, string $appPassword): bool { - try { - // Use 127.0.0.1 for internal validation (we're running inside Nextcloud container) - // Using IP address instead of 'localhost' to avoid Nextcloud's overwrite.cli.url rewriting - // getAbsoluteURL() returns the external URL which isn't accessible from inside the container - $baseUrl = 'http://127.0.0.1'; - - // Make a test request to Nextcloud API with BasicAuth - // Using OCS API user endpoint as a lightweight test - $testUrl = $baseUrl . '/ocs/v1.php/cloud/user?format=json'; - - $this->logger->debug("Validating app password for user: $userId against $testUrl"); - - // Use Nextcloud's HTTP client - $httpClient = $this->httpClientService->newClient(); - - $response = $httpClient->get($testUrl, [ - 'auth' => [$userId, $appPassword], - 'headers' => [ - 'OCS-APIRequest' => 'true', - 'Accept' => 'application/json', - ], - 'timeout' => 10, - ]); - - $statusCode = $response->getStatusCode(); - - // Success is 200 OK - if ($statusCode === 200) { - $this->logger->debug("App password validation successful for user: $userId"); - return true; - } - - $this->logger->warning("App password validation failed for user: $userId (HTTP $statusCode)"); - return false; - } catch (\Exception $e) { - $this->logger->error("Exception during app password validation for user $userId", [ - 'error' => $e->getMessage() - ]); - return false; - } - } - - /** - * Get background sync credentials status for the current user. - * - * @return JSONResponse - */ - #[NoAdminRequired] - public function getStatus(): JSONResponse { - $user = $this->userSession->getUser(); - if (!$user) { - return new JSONResponse([ - 'success' => false, - 'error' => 'User not authenticated' - ], Http::STATUS_UNAUTHORIZED); - } - - $userId = $user->getUID(); - - $hasAccess = $this->tokenStorage->hasBackgroundSyncAccess($userId); - $syncType = $this->tokenStorage->getBackgroundSyncType($userId); - $provisionedAt = $this->tokenStorage->getBackgroundSyncProvisionedAt($userId); - - return new JSONResponse([ - 'success' => true, - 'has_background_access' => $hasAccess, - 'sync_type' => $syncType, - 'provisioned_at' => $provisionedAt, - ], Http::STATUS_OK); - } - - /** - * Get credentials for a specific user (admin only). - * - * Note: This does NOT return the actual password, only metadata. - * - * @param string $userId User ID to check - * @return JSONResponse - */ - public function getCredentials(string $userId): JSONResponse { - // This endpoint should only be accessible by admins - // For now, just return metadata (not actual credentials) - $hasAccess = $this->tokenStorage->hasBackgroundSyncAccess($userId); - $syncType = $this->tokenStorage->getBackgroundSyncType($userId); - $provisionedAt = $this->tokenStorage->getBackgroundSyncProvisionedAt($userId); - - return new JSONResponse([ - 'success' => true, - 'user_id' => $userId, - 'has_background_access' => $hasAccess, - 'sync_type' => $syncType, - 'provisioned_at' => $provisionedAt, - ], Http::STATUS_OK); - } - - /** - * Delete background sync credentials for the current user. - * - * @return JSONResponse - */ - #[NoAdminRequired] - public function deleteCredentials(): JSONResponse { - $user = $this->userSession->getUser(); - if (!$user) { - return new JSONResponse([ - 'success' => false, - 'error' => 'User not authenticated' - ], Http::STATUS_UNAUTHORIZED); - } - - $userId = $user->getUID(); - - try { - // Delete both OAuth tokens and app password (if any exist) - $this->tokenStorage->deleteUserToken($userId); - $this->tokenStorage->deleteBackgroundSyncPassword($userId); - - $this->logger->info("Deleted background sync credentials for user: $userId"); - - return new JSONResponse([ - 'success' => true, - 'message' => 'Credentials deleted successfully' - ], Http::STATUS_OK); - } catch (\Exception $e) { - $this->logger->error("Failed to delete credentials for user $userId", [ - 'error' => $e->getMessage() - ]); - return new JSONResponse([ - 'success' => false, - 'error' => 'Failed to delete credentials' - ], Http::STATUS_INTERNAL_SERVER_ERROR); - } - } -} diff --git a/third_party/astrolabe/lib/Controller/OauthController.php b/third_party/astrolabe/lib/Controller/OauthController.php deleted file mode 100644 index 6172335..0000000 --- a/third_party/astrolabe/lib/Controller/OauthController.php +++ /dev/null @@ -1,550 +0,0 @@ -config = $config; - $this->session = $session; - $this->userSession = $userSession; - $this->urlGenerator = $urlGenerator; - $this->tokenStorage = $tokenStorage; - $this->logger = $logger; - $this->l = $l; - $this->httpClient = $clientService->newClient(); - $this->client = $client; - } - - /** - * Initiate OAuth authorization flow. - * - * Always generates PKCE code verifier and challenge (RFC 9207). - * Stores state and code verifier in session, then redirects user to IdP authorization endpoint. - * - * @return RedirectResponse|TemplateResponse - */ - #[NoAdminRequired] - #[NoCSRFRequired] - public function initiateOAuth() { - $this->logger->info('initiateOAuth called'); - - $user = $this->userSession->getUser(); - if (!$user) { - $this->logger->error('initiateOAuth: User not authenticated'); - return new TemplateResponse( - 'astrolabe', - 'settings/error', - ['error' => $this->l->t('User not authenticated')] - ); - } - - $this->logger->info('initiateOAuth: User authenticated: ' . $user->getUID()); - - try { - // Get MCP server configuration - $mcpServerUrl = $this->config->getSystemValue('mcp_server_url', ''); - if (empty($mcpServerUrl)) { - throw new \Exception('MCP server URL not configured'); - } - - // Always generate PKCE values (RFC 9207: PKCE recommended for all clients) - $codeVerifier = bin2hex(random_bytes(32)); - $codeChallenge = $this->base64UrlEncode(hash('sha256', $codeVerifier, true)); - - // Check if confidential client secret is also configured - $clientSecret = $this->config->getSystemValue('astrolabe_client_secret', ''); - $isConfidentialClient = !empty($clientSecret); - - if ($isConfidentialClient) { - $this->logger->info('Using confidential client mode with PKCE and client secret'); - } else { - $this->logger->info('Using public client mode with PKCE only'); - } - - // Generate state for CSRF protection - $state = bin2hex(random_bytes(16)); - - // Store values in session - $this->session->set('mcp_oauth_code_verifier', $codeVerifier); - $this->session->set('mcp_oauth_state', $state); - $this->session->set('mcp_oauth_user_id', $user->getUID()); - - // Build OAuth authorization URL - $authUrl = $this->buildAuthorizationUrl( - $mcpServerUrl, - $state, - $codeChallenge - ); - - $this->logger->info('Initiating OAuth flow for user: ' . $user->getUID()); - - return new RedirectResponse($authUrl); - } catch (\Exception $e) { - $this->logger->error('Failed to initiate OAuth flow', [ - 'error' => $e->getMessage() - ]); - - return new TemplateResponse( - 'astrolabe', - 'settings/error', - ['error' => $this->l->t('Failed to initiate OAuth: %s', [$e->getMessage()])] - ); - } - } - - /** - * Handle OAuth callback after user authorization. - * - * Validates state, exchanges authorization code for access token using PKCE, - * and stores tokens for the user. - * - * @param string $code Authorization code - * @param string $state State parameter for CSRF protection - * @param string|null $error Error from IdP - * @param string|null $error_description Error description from IdP - * @return RedirectResponse - */ - #[NoAdminRequired] - #[NoCSRFRequired] - public function oauthCallback( - string $code = '', - string $state = '', - ?string $error = null, - ?string $error_description = null, - ): RedirectResponse { - try { - // Check for errors from IdP - if ($error) { - throw new \Exception("OAuth error: $error - " . ($error_description ?? '')); - } - - // Validate state to prevent CSRF - $storedState = $this->session->get('mcp_oauth_state'); - if (empty($storedState) || $state !== $storedState) { - throw new \Exception('Invalid state parameter (CSRF protection)'); - } - - // Get stored PKCE verifier (always required) - $codeVerifier = $this->session->get('mcp_oauth_code_verifier'); - if (empty($codeVerifier)) { - throw new \Exception('PKCE code verifier not found in session'); - } - - // Get user ID from session - $userId = $this->session->get('mcp_oauth_user_id'); - if (empty($userId)) { - throw new \Exception('User ID not found in session'); - } - - // Get MCP server configuration - $mcpServerUrl = $this->config->getSystemValue('mcp_server_url', ''); - if (empty($mcpServerUrl)) { - throw new \Exception('MCP server URL not configured'); - } - - // Exchange authorization code for tokens - $tokenData = $this->exchangeCodeForToken( - $mcpServerUrl, - $code, - $codeVerifier - ); - - // Store tokens for user - $this->tokenStorage->storeUserToken( - $userId, - $tokenData['access_token'], - $tokenData['refresh_token'] ?? '', - time() + ($tokenData['expires_in'] ?? 3600) - ); - - // Clean up session - $this->session->remove('mcp_oauth_code_verifier'); - $this->session->remove('mcp_oauth_state'); - $this->session->remove('mcp_oauth_user_id'); - - $this->logger->info("OAuth flow completed successfully for user: $userId"); - - // Redirect back to personal settings - return new RedirectResponse( - $this->urlGenerator->linkToRoute('settings.PersonalSettings.index', ['section' => 'astrolabe']) - ); - } catch (\Exception $e) { - $this->logger->error('OAuth callback failed', [ - 'error' => $e->getMessage() - ]); - - // Clean up session - $this->session->remove('mcp_oauth_code_verifier'); - $this->session->remove('mcp_oauth_state'); - $this->session->remove('mcp_oauth_user_id'); - - // Redirect to settings with error - return new RedirectResponse( - $this->urlGenerator->linkToRoute('settings.PersonalSettings.index', [ - 'section' => 'astrolabe', - 'error' => urlencode($e->getMessage()) - ]) - ); - } - } - - /** - * Disconnect user's MCP OAuth tokens. - * - * Deletes stored tokens from Nextcloud. Note: Does not revoke tokens on IdP side. - * - * @return RedirectResponse - */ - #[NoAdminRequired] - public function disconnect(): RedirectResponse { - $user = $this->userSession->getUser(); - if (!$user) { - return new RedirectResponse( - $this->urlGenerator->linkToRoute('settings.PersonalSettings.index', ['section' => 'astrolabe']) - ); - } - - $userId = $user->getUID(); - - try { - $this->tokenStorage->deleteUserToken($userId); - $this->logger->info("Disconnected MCP OAuth for user: $userId"); - } catch (\Exception $e) { - $this->logger->error("Failed to disconnect MCP OAuth for user $userId", [ - 'error' => $e->getMessage() - ]); - } - - return new RedirectResponse( - $this->urlGenerator->linkToRoute('settings.PersonalSettings.index', ['section' => 'astrolabe']) - ); - } - - /** - * Build OAuth authorization URL. - * - * Queries MCP server for IdP configuration, then performs OIDC discovery - * to find the authorization endpoint. Supports both Nextcloud OIDC and - * external IdPs like Keycloak. - * - * Always uses PKCE (RFC 9207 recommends PKCE for all clients). - * - * @param string $mcpServerUrl Base URL of MCP server - * @param string $state CSRF state parameter - * @param string $codeChallenge PKCE code challenge - * @return string Authorization URL - * @throws \Exception if OIDC discovery fails - */ - private function buildAuthorizationUrl( - string $mcpServerUrl, - string $state, - string $codeChallenge, - ): string { - // First, query MCP server to discover which IdP it's configured to use - $this->logger->info('buildAuthorizationUrl: Starting', [ - 'mcp_server_url' => $mcpServerUrl, - ]); - - try { - $statusUrl = $mcpServerUrl . '/api/v1/status'; - $this->logger->info('buildAuthorizationUrl: Fetching MCP server status', [ - 'url' => $statusUrl, - ]); - - $statusResponse = $this->httpClient->get($statusUrl); - $statusData = json_decode($statusResponse->getBody(), true); - - if (json_last_error() !== JSON_ERROR_NONE) { - throw new \RuntimeException('Invalid JSON in status response: ' . json_last_error_msg()); - } - - $this->logger->info('buildAuthorizationUrl: MCP server status received', [ - 'auth_mode' => $statusData['auth_mode'] ?? 'unknown', - 'has_oidc' => isset($statusData['oidc']), - 'oidc_discovery_url' => $statusData['oidc']['discovery_url'] ?? 'not_set', - ]); - - } catch (\Exception $e) { - $this->logger->error('buildAuthorizationUrl: Failed to fetch MCP server status', [ - 'url' => $mcpServerUrl . '/api/v1/status', - 'error' => $e->getMessage(), - 'trace' => $e->getTraceAsString(), - ]); - throw new \Exception('Cannot connect to MCP server: ' . $e->getMessage()); - } - - // Determine OIDC discovery URL - // Priority: 1) MCP server's configured discovery URL, 2) Nextcloud OIDC app - if (isset($statusData['oidc']['discovery_url'])) { - // MCP server has external IdP configured (e.g., Keycloak) - $discoveryUrl = $statusData['oidc']['discovery_url']; - $this->logger->info('Using IdP from MCP server configuration', [ - 'discovery_url' => $discoveryUrl, - ]); - } else { - // Fall back to Nextcloud's OIDC app - // Use internal localhost URL for HTTP request (accessible from inside container) - // We'll transform the returned URLs to external format after discovery - $discoveryUrl = 'http://localhost/.well-known/openid-configuration'; - $internalBaseUrl = 'http://localhost'; - - $this->logger->info('Using Nextcloud OIDC app as IdP (internal request)', [ - 'discovery_url' => $discoveryUrl, - ]); - } - - // Perform OIDC discovery - $this->logger->info('buildAuthorizationUrl: Starting OIDC discovery', [ - 'discovery_url' => $discoveryUrl, - ]); - - try { - $response = $this->httpClient->get($discoveryUrl); - $responseBody = $response->getBody(); - $this->logger->info('buildAuthorizationUrl: Got OIDC discovery response', [ - 'status_code' => $response->getStatusCode(), - 'body_length' => strlen($responseBody), - ]); - - $discovery = json_decode($responseBody, true); - - if (json_last_error() !== JSON_ERROR_NONE) { - throw new \RuntimeException('Invalid JSON in OIDC discovery: ' . json_last_error_msg()); - } - - if (!isset($discovery['authorization_endpoint'])) { - throw new \RuntimeException('Missing authorization_endpoint in OIDC discovery'); - } - - $authEndpoint = $discovery['authorization_endpoint']; - - // Transform internal URL to external URL if using Nextcloud OIDC app - // The discovery was done via internal http://localhost but browsers need - // the external URL (e.g., http://localhost:8080) - if (isset($internalBaseUrl)) { - $externalBaseUrl = $this->urlGenerator->getAbsoluteURL('/'); - $externalBaseUrl = rtrim($externalBaseUrl, '/'); - $authEndpoint = str_replace($internalBaseUrl, $externalBaseUrl, $authEndpoint); - } - - $this->logger->info('buildAuthorizationUrl: OIDC discovery succeeded', [ - 'auth_endpoint' => $authEndpoint, - 'token_endpoint' => $discovery['token_endpoint'] ?? 'not_set', - ]); - - } catch (\Exception $e) { - $this->logger->error('buildAuthorizationUrl: OIDC discovery failed', [ - 'discovery_url' => $discoveryUrl, - 'error' => $e->getMessage(), - 'trace' => $e->getTraceAsString(), - ]); - throw new \Exception('Failed to discover OAuth endpoints: ' . $e->getMessage()); - } - - // Build callback URL - $redirectUri = $this->urlGenerator->linkToRouteAbsolute( - 'astrolabe.oauth.oauthCallback' - ); - - // Get public MCP server URL for token audience (RFC 8707 Resource Indicator) - // Use public URL that clients/browsers see, not internal Docker URL - $mcpServerPublicUrl = $this->config->getSystemValue('mcp_server_public_url', $mcpServerUrl); - - // Build authorization URL parameters - $params = [ - 'client_id' => $this->client->getClientId(), - 'redirect_uri' => $redirectUri, - 'response_type' => 'code', - 'scope' => 'openid profile email offline_access', // Request MCP scopes - 'state' => $state, - 'resource' => $mcpServerPublicUrl, // RFC 8707 Resource Indicator - request token with MCP server audience - ]; - - // Add PKCE parameters (always required per RFC 9207) - $params['code_challenge'] = $codeChallenge; - $params['code_challenge_method'] = 'S256'; - - return $authEndpoint . '?' . http_build_query($params); - } - - /** - * Exchange authorization code for access token. - * - * Always uses PKCE code_verifier (RFC 9207). - * For confidential clients: Also includes client_secret for additional security. - * For public clients: Uses PKCE code_verifier only. - * - * Queries MCP server for IdP configuration, then performs OIDC discovery - * to find the token endpoint. Supports both Nextcloud OIDC and external IdPs. - * - * @param string $mcpServerUrl Base URL of MCP server - * @param string $code Authorization code - * @param string $codeVerifier PKCE code verifier - * @return array Token data containing access_token, refresh_token, expires_in - * @throws \Exception on HTTP or token error - */ - private function exchangeCodeForToken( - string $mcpServerUrl, - string $code, - string $codeVerifier, - ): array { - // Query MCP server to discover which IdP it's configured to use - try { - $statusResponse = $this->httpClient->get($mcpServerUrl . '/api/v1/status'); - $statusData = json_decode($statusResponse->getBody(), true); - - if (json_last_error() !== JSON_ERROR_NONE) { - throw new \RuntimeException('Invalid status response from MCP server'); - } - - } catch (\Exception $e) { - $this->logger->error('Failed to fetch MCP server status during token exchange', [ - 'error' => $e->getMessage(), - ]); - throw new \Exception('Cannot connect to MCP server: ' . $e->getMessage()); - } - - // Determine OIDC discovery URL and token endpoint - $useInternalNextcloud = !isset($statusData['oidc']['discovery_url']); - - if (!$useInternalNextcloud) { - // External IdP configured - use discovery - $discoveryUrl = $statusData['oidc']['discovery_url']; - - try { - $response = $this->httpClient->get($discoveryUrl); - $discovery = json_decode($response->getBody(), true); - - if (json_last_error() !== JSON_ERROR_NONE || !isset($discovery['token_endpoint'])) { - throw new \RuntimeException('Invalid OIDC discovery response'); - } - - $tokenEndpoint = $discovery['token_endpoint']; - - } catch (\Exception $e) { - $this->logger->error('OIDC discovery failed during token exchange', [ - 'discovery_url' => $discoveryUrl, - 'error' => $e->getMessage(), - ]); - throw new \Exception('Failed to discover token endpoint: ' . $e->getMessage()); - } - } else { - // Nextcloud's OIDC app - use internal URL directly (no HTTP request needed) - // This avoids network issues when overwritehost includes external port - $tokenEndpoint = 'http://localhost/apps/oidc/token'; - } - - $redirectUri = $this->urlGenerator->linkToRouteAbsolute( - 'astrolabe.oauth.oauthCallback' - ); - - // Build token request parameters - $postData = [ - 'grant_type' => 'authorization_code', - 'code' => $code, - 'redirect_uri' => $redirectUri, - 'client_id' => $this->client->getClientId(), - ]; - - // Always include PKCE code verifier (RFC 9207) - $postData['code_verifier'] = $codeVerifier; - - // Also include client secret if configured (defense in depth for confidential clients) - $clientSecret = $this->config->getSystemValue('astrolabe_client_secret', ''); - if (!empty($clientSecret)) { - $postData['client_secret'] = $clientSecret; - $this->logger->info('Using PKCE with client secret for token exchange'); - } else { - $this->logger->info('Using PKCE only for token exchange'); - } - - // Use Nextcloud's HTTP client for token request - try { - $response = $this->httpClient->post($tokenEndpoint, [ - 'body' => http_build_query($postData), - 'headers' => [ - 'Content-Type' => 'application/x-www-form-urlencoded', - 'Accept' => 'application/json', - ], - ]); - - $tokenData = json_decode($response->getBody(), true); - - if (json_last_error() !== JSON_ERROR_NONE || !isset($tokenData['access_token'])) { - throw new \RuntimeException('Invalid token response from server'); - } - - return $tokenData; - - } catch (\Exception $e) { - $this->logger->error('Token exchange failed', [ - 'error' => $e->getMessage(), - 'token_endpoint' => $tokenEndpoint, - ]); - throw new \Exception('Token exchange failed: ' . $e->getMessage()); - } - } - - /** - * Base64 URL-safe encoding (for PKCE). - * - * @param string $data Data to encode - * @return string Base64 URL-encoded string - */ - private function base64UrlEncode(string $data): string { - return rtrim(strtr(base64_encode($data), '+/', '-_'), '='); - } -} diff --git a/third_party/astrolabe/lib/Controller/PageController.php b/third_party/astrolabe/lib/Controller/PageController.php deleted file mode 100644 index 998fc1d..0000000 --- a/third_party/astrolabe/lib/Controller/PageController.php +++ /dev/null @@ -1,29 +0,0 @@ - - */ -class AstrolabeAdminSettingsListener implements IEventListener { - public function __construct( - private IConfig $config, - private LoggerInterface $logger, - ) { - } - - public function handle(Event $event): void { - if (!$event instanceof DeclarativeSettingsGetValueEvent && !$event instanceof DeclarativeSettingsSetValueEvent) { - return; - } - - if ($event->getApp() !== Application::APP_ID) { - return; - } - - if ($event->getFormId() !== 'astrolabe-admin-settings') { - return; - } - - if ($event instanceof DeclarativeSettingsGetValueEvent) { - $this->handleGetValue($event); - } elseif ($event instanceof DeclarativeSettingsSetValueEvent) { - $this->handleSetValue($event); - } - } - - private function handleGetValue(DeclarativeSettingsGetValueEvent $event): void { - $fieldId = $event->getFieldId(); - - // Map field IDs to system config keys - $value = match($fieldId) { - 'mcp_server_url' => $this->config->getSystemValue('mcp_server_url', ''), - 'mcp_server_api_key' => '****', // Never leak the API key on read - 'astrolabe_client_id' => $this->config->getSystemValue('astrolabe_client_id', ''), - 'astrolabe_client_secret' => '****', // Never leak the secret on read - default => null, - }; - - if ($value !== null) { - $event->setValue($value); - } - } - - private function handleSetValue(DeclarativeSettingsSetValueEvent $event): void { - $fieldId = $event->getFieldId(); - $value = $event->getValue(); - - // Only save if value is not empty (allow clearing by setting to empty string) - // For password fields, if the value is '****', don't update (user didn't change it) - if ($fieldId === 'mcp_server_api_key' && $value === '****') { - $event->stopPropagation(); - return; - } - if ($fieldId === 'astrolabe_client_secret' && $value === '****') { - $event->stopPropagation(); - return; - } - - try { - match($fieldId) { - 'mcp_server_url' => $this->config->setSystemValue('mcp_server_url', (string)$value), - 'mcp_server_api_key' => $this->config->setSystemValue('mcp_server_api_key', (string)$value), - 'astrolabe_client_id' => $this->config->setSystemValue('astrolabe_client_id', (string)$value), - 'astrolabe_client_secret' => $this->config->setSystemValue('astrolabe_client_secret', (string)$value), - default => null, - }; - - $this->logger->info('Astrolabe admin setting updated', [ - 'field' => $fieldId, - 'app' => Application::APP_ID, - ]); - } catch (\Exception $e) { - $this->logger->error('Failed to update Astrolabe admin setting', [ - 'field' => $fieldId, - 'error' => $e->getMessage(), - 'app' => Application::APP_ID, - ]); - throw $e; - } - - $event->stopPropagation(); - } -} diff --git a/third_party/astrolabe/lib/Search/SemanticSearchProvider.php b/third_party/astrolabe/lib/Search/SemanticSearchProvider.php deleted file mode 100644 index bdcb2f0..0000000 --- a/third_party/astrolabe/lib/Search/SemanticSearchProvider.php +++ /dev/null @@ -1,349 +0,0 @@ -l10n->t('Astrolabe'); - } - - /** - * Order in search results. Lower = higher priority. - * Use negative value when user is in our app's context. - */ - public function getOrder(string $route, array $routeParameters): int { - if (str_contains($route, Application::APP_ID)) { - return -1; // Prioritize when in Astrolabe app - } - return 40; // Above most apps, below files/mail - } - - /** - * Execute semantic search via MCP server. - * - * SECURITY: Results are filtered server-side to only include documents - * owned by the searching user. User identity comes from OAuth token. - */ - public function search(IUser $user, ISearchQuery $query): SearchResult { - $term = $query->getTerm(); - $limit = $query->getLimit(); - $cursor = $query->getCursor(); - - // Skip empty queries - if (empty(trim($term))) { - return SearchResult::complete($this->getName(), []); - } - - $userId = $user->getUID(); - - // Create refresh callback matching ApiController pattern - /** @return array{access_token: string, refresh_token: string, expires_in: int}|null */ - $refreshCallback = function (string $refreshToken): ?array { - $newTokenData = $this->tokenRefresher->refreshAccessToken($refreshToken); - - if ($newTokenData === null) { - return null; - } - - return [ - 'access_token' => $newTokenData['access_token'], - 'refresh_token' => $newTokenData['refresh_token'] ?? $refreshToken, - 'expires_in' => $newTokenData['expires_in'] ?? 3600, - ]; - }; - - // Get OAuth token for user with automatic refresh - $accessToken = $this->tokenStorage->getAccessToken($userId, $refreshCallback); - if ($accessToken === null) { - // User hasn't authorized the app yet - return empty results - $this->logger->debug('No OAuth token for user in semantic search', [ - 'user_id' => $userId, - ]); - return SearchResult::complete($this->getName(), []); - } - - // Check if MCP server is available and vector sync enabled - $status = $this->client->getStatus(); - if (!empty($status['error']) || !($status['vector_sync_enabled'] ?? false)) { - $this->logger->debug('MCP server not available or vector sync disabled', [ - 'status' => $status, - ]); - return SearchResult::complete($this->getName(), []); - } - - // Load admin search settings - $algorithm = $this->config->getAppValue( - Application::APP_ID, - AdminSettings::SETTING_SEARCH_ALGORITHM, - AdminSettings::DEFAULT_SEARCH_ALGORITHM - ); - $fusion = $this->config->getAppValue( - Application::APP_ID, - AdminSettings::SETTING_SEARCH_FUSION, - AdminSettings::DEFAULT_SEARCH_FUSION - ); - $scoreThreshold = (int)$this->config->getAppValue( - Application::APP_ID, - AdminSettings::SETTING_SEARCH_SCORE_THRESHOLD, - (string)AdminSettings::DEFAULT_SEARCH_SCORE_THRESHOLD - ); - $configuredLimit = (int)$this->config->getAppValue( - Application::APP_ID, - AdminSettings::SETTING_SEARCH_LIMIT, - (string)AdminSettings::DEFAULT_SEARCH_LIMIT - ); - - // Use configured limit if query limit is higher - $effectiveLimit = min($limit, $configuredLimit); - - // Calculate offset from cursor - $offset = $cursor ? (int)$cursor : 0; - - // Execute semantic search with OAuth token and admin settings - // Server extracts user_id from token - results filtered to that user's documents - $results = $this->client->searchForUnifiedSearch( - query: $term, - token: $accessToken, - limit: $effectiveLimit, - offset: $offset, - algorithm: $algorithm, - fusion: $fusion, - scoreThreshold: $scoreThreshold / 100.0, // Convert percentage to 0-1 range - ); - - if (!empty($results['error'])) { - $this->logger->warning('Semantic search failed', [ - 'error' => $results['error'], - 'query' => $term, - ]); - return SearchResult::complete($this->getName(), []); - } - - // Transform results to SearchResultEntry objects - $entries = []; - foreach ($results['results'] ?? [] as $result) { - $entries[] = $this->transformResult($result); - } - - // Return paginated if more results might exist - $totalFound = $results['total_found'] ?? count($entries); - if (count($entries) >= $effectiveLimit && $totalFound > $offset + $effectiveLimit) { - return SearchResult::paginated( - $this->getName(), - $entries, - (string)($offset + $effectiveLimit) - ); - } - - return SearchResult::complete($this->getName(), $entries); - } - - /** - * Transform MCP search result to Nextcloud SearchResultEntry. - */ - private function transformResult(array $result): SearchResultEntry { - $docType = $result['doc_type'] ?? 'unknown'; - $title = $result['title'] ?? $this->l10n->t('Untitled'); - $score = $result['score'] ?? 0; - $id = isset($result['id']) ? (string)$result['id'] : null; - $mimeType = $result['mime_type'] ?? null; - - // Build resource URL based on document type - $resourceUrl = $this->buildResourceUrl($result); - - // Get icon and thumbnail based on document type - [$thumbnailUrl, $iconClass] = $this->getIconAndThumbnail($docType, $id, $mimeType); - - // Build metadata string with chunk and page info - $metadataParts = []; - - // Chunk info (always available) - if (isset($result['chunk_index']) && isset($result['total_chunks'])) { - $chunkNum = $result['chunk_index'] + 1; // Convert 0-based to 1-based - $metadataParts[] = sprintf('Chunk %d/%d', $chunkNum, $result['total_chunks']); - } - - // Page info for PDFs - if (!empty($result['page_number']) && !empty($result['page_count'])) { - $metadataParts[] = sprintf('Page %d/%d', $result['page_number'], $result['page_count']); - } - - // Combine metadata parts - $metadata = !empty($metadataParts) ? implode(' · ', $metadataParts) : ''; - - // Subline shows only chunk/page metadata (no excerpt, consistent with chunk viz) - $subline = $metadata ?: sprintf( - '%s · %d%% %s', - $this->getDocTypeLabel($docType), - (int)($score * 100), - $this->l10n->t('relevant') - ); - - return new SearchResultEntry( - $thumbnailUrl, - $title, - $subline, - $resourceUrl, - $iconClass, - false // not rounded - ); - } - - /** - * Build URL to navigate to Astrolabe with chunk viewer. - * - * Links to Astrolabe app with query parameters that trigger the chunk modal, - * allowing users to preview the chunk before navigating to the full document. - */ - private function buildResourceUrl(array $result): string { - // Build base URL to Astrolabe app - $baseUrl = $this->urlGenerator->linkToRoute(Application::APP_ID . '.page.index'); - - // Extract chunk parameters - $docType = $result['doc_type'] ?? 'unknown'; - $id = $result['id'] ?? null; - $chunkStart = $result['chunk_start_offset'] ?? null; - $chunkEnd = $result['chunk_end_offset'] ?? null; - - // If we have chunk information, build URL with parameters - if ($id !== null && $chunkStart !== null && $chunkEnd !== null) { - $params = [ - 'doc_type' => $docType, - 'doc_id' => $id, - 'chunk_start' => $chunkStart, - 'chunk_end' => $chunkEnd, - ]; - - // Add optional metadata - if (isset($result['title'])) { - $params['title'] = $result['title']; - } - if (isset($result['path'])) { - $params['path'] = $result['path']; - } - if (isset($result['page_number'])) { - $params['page_number'] = $result['page_number']; - } - if (isset($result['board_id'])) { - $params['board_id'] = $result['board_id']; - } - - // Encode parameters for URL - $queryString = http_build_query($params); - return $baseUrl . '?' . $queryString; - } - - // Fallback to base URL if no chunk information - return $baseUrl; - } - - /** - * Get icon and thumbnail for document type. - * - * Returns [thumbnailUrl, iconClass] tuple. - * For files, uses mimetype-specific icons and preview thumbnails when available. - * For other document types, uses appropriate icon classes. - * - * @return array{string, string} [thumbnailUrl, iconClass] - */ - private function getIconAndThumbnail(string $docType, ?string $id, ?string $mimeType): array { - if ($docType === 'file' && $id !== null && $mimeType !== null) { - // For files, check if preview is supported - $thumbnailUrl = ''; - if ($this->previewManager->isMimeSupported($mimeType)) { - $thumbnailUrl = $this->urlGenerator->linkToRouteAbsolute( - 'core.Preview.getPreviewByFileId', - ['x' => 32, 'y' => 32, 'fileId' => $id] - ); - } - - // Get mimetype-specific icon class - $iconClass = $mimeType === FileInfo::MIMETYPE_FOLDER - ? 'icon-folder' - : $this->mimeTypeDetector->mimeTypeIcon($mimeType); - - return [$thumbnailUrl, $iconClass]; - } - - // For non-file document types, use icon classes - $iconClass = match ($docType) { - 'note' => 'icon-notes', - 'deck_card' => 'icon-deck', - 'calendar', 'calendar_event' => 'icon-calendar', - 'news_item' => 'icon-rss', - 'contact' => 'icon-contacts', - default => 'icon-file', - }; - - return ['', $iconClass]; - } - - /** - * Get human-readable label for document type. - */ - private function getDocTypeLabel(string $docType): string { - return match ($docType) { - 'note' => $this->l10n->t('Note'), - 'file' => $this->l10n->t('File'), - 'deck_card' => $this->l10n->t('Deck Card'), - 'calendar', 'calendar_event' => $this->l10n->t('Calendar'), - 'news_item' => $this->l10n->t('News'), - 'contact' => $this->l10n->t('Contact'), - default => $this->l10n->t('Document'), - }; - } - -} diff --git a/third_party/astrolabe/lib/Service/IdpTokenRefresher.php b/third_party/astrolabe/lib/Service/IdpTokenRefresher.php deleted file mode 100644 index 682e105..0000000 --- a/third_party/astrolabe/lib/Service/IdpTokenRefresher.php +++ /dev/null @@ -1,220 +0,0 @@ -config = $config; - $this->httpClient = $clientService->newClient(); - $this->logger = $logger; - $this->mcpServerClient = $mcpServerClient; - } - - /** - * Get Nextcloud base URL for constructing internal OIDC endpoint URLs. - * - * IMPORTANT: This is for INTERNAL server-to-server requests (PHP to local Apache), - * NOT for external client URLs. We must use the internal container URL, not the - * external URL that browsers see. - * - * Configuration priority: - * 1. astrolabe_internal_url - Explicit internal URL (for custom container setups) - * 2. http://localhost - Default for Docker containers (web server on port 80) - * - * NOTE: We intentionally DO NOT use overwrite.cli.url here because: - * - overwrite.cli.url is the EXTERNAL URL (e.g., http://localhost:8080) - * - External URLs are not accessible from inside the container - * - This method is for internal HTTP requests to the local web server - * - * @return string Base URL for internal requests (e.g., "http://localhost") - */ - private function getNextcloudBaseUrl(): string { - // Check for explicit internal URL config (for custom container setups) - $internalUrl = $this->config->getSystemValue('astrolabe_internal_url', ''); - if (!is_string($internalUrl)) { - $internalUrl = ''; - } - if (!empty($internalUrl)) { - // Validate URL format - if (!filter_var($internalUrl, FILTER_VALIDATE_URL)) { - $this->logger->warning('Invalid astrolabe_internal_url format, using default', [ - 'configured_url' => $internalUrl, - ]); - return 'http://localhost'; - } - // Warn if it looks like an external URL (common misconfiguration) - if (preg_match('/:\d{4,5}$/', $internalUrl)) { - $this->logger->warning('astrolabe_internal_url appears to use external port mapping', [ - 'configured_url' => $internalUrl, - 'hint' => 'Internal URLs should use port 80, not mapped ports like :8080', - ]); - } - return rtrim($internalUrl, '/'); - } - - // Default: container environment with web server on localhost:80 - // This works because PHP runs inside the same container as Apache - return 'http://localhost'; - } - - /** - * Refresh access token using refresh token. - * - * Calls IdP's token endpoint directly (NOT MCP server). - * - * @param string $refreshToken The refresh token - * @return array|null New token data or null on failure - */ - public function refreshAccessToken(string $refreshToken): ?array { - // Check if confidential client secret is configured - $clientSecret = $this->config->getSystemValue('astrolabe_client_secret', ''); - - if (empty($clientSecret)) { - $this->logger->warning('Cannot refresh: no client secret configured. Confidential client required for token refresh.'); - return null; - } - - try { - // Get MCP server URL - $mcpServerUrl = $this->config->getSystemValue('mcp_server_url', ''); - if (empty($mcpServerUrl)) { - throw new \Exception('MCP server URL not configured'); - } - - // Query MCP server to discover which IdP it's configured to use - $statusResponse = $this->httpClient->get($mcpServerUrl . '/api/v1/status'); - $statusData = json_decode($statusResponse->getBody(), true); - - if (json_last_error() !== JSON_ERROR_NONE) { - throw new \RuntimeException('Invalid status response from MCP server'); - } - - // Determine OIDC discovery URL and token endpoint - $useInternalNextcloud = !isset($statusData['oidc']['discovery_url']); - - if (!$useInternalNextcloud) { - // External IdP configured - use OIDC discovery - $discoveryUrl = $statusData['oidc']['discovery_url']; - - $this->logger->debug('IdpTokenRefresher: Using external IdP', [ - 'discovery_url' => $discoveryUrl, - ]); - - $discoveryResponse = $this->httpClient->get($discoveryUrl); - $discovery = json_decode($discoveryResponse->getBody(), true); - - if (json_last_error() !== JSON_ERROR_NONE || !isset($discovery['token_endpoint'])) { - throw new \RuntimeException('Invalid OIDC discovery response'); - } - - $tokenEndpoint = $discovery['token_endpoint']; - } else { - // Nextcloud's OIDC app - use internal URL - $tokenEndpoint = $this->getNextcloudBaseUrl() . '/apps/oidc/token'; - - $this->logger->debug('IdpTokenRefresher: Using Nextcloud OIDC app', [ - 'token_endpoint' => $tokenEndpoint, - ]); - } - - // Call IdP's token endpoint with refresh_token grant - $postData = [ - 'grant_type' => 'refresh_token', - 'refresh_token' => $refreshToken, - 'client_id' => $this->mcpServerClient->getClientId(), - 'client_secret' => $clientSecret, - ]; - - $this->logger->info('IdpTokenRefresher: Requesting token refresh'); - - $response = $this->httpClient->post($tokenEndpoint, [ - 'body' => http_build_query($postData), - 'headers' => [ - 'Content-Type' => 'application/x-www-form-urlencoded', - 'Accept' => 'application/json', - ], - ]); - - $tokenData = json_decode($response->getBody(), true); - - if (json_last_error() !== JSON_ERROR_NONE || !isset($tokenData['access_token'])) { - throw new \RuntimeException('Invalid token response from IdP'); - } - - // Validate refresh_token is present (required for token rotation) - if (!isset($tokenData['refresh_token'])) { - $this->logger->error( - 'IdpTokenRefresher: No refresh token in response - token rotation will fail', - [ - 'has_access_token' => isset($tokenData['access_token']), - 'response_keys' => array_keys($tokenData), - ] - ); - return null; - } - - $this->logger->info('IdpTokenRefresher: Token refresh successful'); - - return $tokenData; - - } catch (\OCP\Http\Client\LocalServerException $e) { - // Network/connection error - may be transient - $this->logger->warning('IdpTokenRefresher: Network error during refresh', [ - 'error' => $e->getMessage(), - ]); - return null; - } catch (\Exception $e) { - $statusCode = null; - if (method_exists($e, 'getCode')) { - $statusCode = $e->getCode(); - } - - // Log with appropriate level based on error type - if ($statusCode === 401 || $statusCode === 403) { - // Auth error - token is invalid, should be deleted - $this->logger->error('IdpTokenRefresher: Auth error - token invalid', [ - 'status_code' => $statusCode, - 'error' => $e->getMessage(), - ]); - } elseif ($statusCode >= 500) { - // Server error - may be transient - $this->logger->warning('IdpTokenRefresher: Server error during refresh', [ - 'status_code' => $statusCode, - 'error' => $e->getMessage(), - ]); - } else { - $this->logger->error('IdpTokenRefresher: Token refresh failed', [ - 'status_code' => $statusCode, - 'error' => $e->getMessage(), - ]); - } - return null; - } - } -} diff --git a/third_party/astrolabe/lib/Service/McpServerClient.php b/third_party/astrolabe/lib/Service/McpServerClient.php deleted file mode 100644 index 73225b8..0000000 --- a/third_party/astrolabe/lib/Service/McpServerClient.php +++ /dev/null @@ -1,666 +0,0 @@ -httpClient = $clientService->newClient(); - $this->config = $config; - $this->logger = $logger; - - // Get MCP server configuration from Nextcloud config - $baseUrl = $this->config->getSystemValue('mcp_server_url', 'http://localhost:8000'); - $this->baseUrl = is_string($baseUrl) ? $baseUrl : 'http://localhost:8000'; - } - - /** - * Get server status (version, auth mode, features). - * - * Public endpoint - no authentication required. - * - * @return array{ - * version?: string, - * auth_mode?: string, - * vector_sync_enabled?: bool, - * uptime_seconds?: int, - * management_api_version?: string, - * error?: string - * } - */ - public function getStatus(): array { - try { - $response = $this->httpClient->get($this->baseUrl . '/api/v1/status'); - $data = json_decode($response->getBody(), true); - - if (json_last_error() !== JSON_ERROR_NONE) { - throw new \RuntimeException('Invalid JSON response from server'); - } - - return $data; - } catch (\Exception $e) { - $this->logger->error('Failed to get MCP server status', [ - 'error' => $e->getMessage(), - 'server_url' => $this->baseUrl, - ]); - return ['error' => $e->getMessage()]; - } - } - - /** - * Get user session details. - * - * Requires authentication via OAuth bearer token. - * - * @param string $userId The user ID to query - * @param string $token OAuth bearer token - * @return array{ - * session_id?: string, - * background_access_granted?: bool, - * background_access_details?: array, - * idp_profile?: array, - * error?: string - * } - */ - public function getUserSession(string $userId, string $token): array { - try { - $response = $this->httpClient->get( - $this->baseUrl . '/api/v1/users/' . urlencode($userId) . '/session', - [ - 'headers' => [ - 'Authorization' => 'Bearer ' . $token - ] - ] - ); - $data = json_decode($response->getBody(), true); - - if (json_last_error() !== JSON_ERROR_NONE) { - throw new \RuntimeException('Invalid JSON response from server'); - } - - return $data; - } catch (\Exception $e) { - $this->logger->error("Failed to get session for user $userId", [ - 'error' => $e->getMessage(), - 'user_id' => $userId, - ]); - return ['error' => $e->getMessage()]; - } - } - - /** - * Revoke user's background access (delete refresh token). - * - * Requires authentication via OAuth bearer token. - * - * @param string $userId The user ID whose access to revoke - * @param string $token OAuth bearer token - * @return array{success?: bool, message?: string, error?: string} - */ - public function revokeUserAccess(string $userId, string $token): array { - try { - $response = $this->httpClient->post( - $this->baseUrl . '/api/v1/users/' . urlencode($userId) . '/revoke', - [ - 'headers' => [ - 'Authorization' => 'Bearer ' . $token - ] - ] - ); - $data = json_decode($response->getBody(), true); - - if (json_last_error() !== JSON_ERROR_NONE) { - throw new \RuntimeException('Invalid JSON response from server'); - } - - return $data; - } catch (\Exception $e) { - $this->logger->error("Failed to revoke access for user $userId", [ - 'error' => $e->getMessage(), - 'user_id' => $userId, - ]); - return ['error' => $e->getMessage()]; - } - } - - /** - * Get vector sync status (indexing metrics). - * - * Public endpoint - no authentication required. - * Only available if VECTOR_SYNC_ENABLED=true on server. - * - * @return array{ - * status?: string, - * indexed_documents?: int, - * pending_documents?: int, - * last_sync_time?: string, - * documents_per_second?: float, - * errors_24h?: int, - * error?: string - * } - */ - public function getVectorSyncStatus(): array { - try { - $response = $this->httpClient->get($this->baseUrl . '/api/v1/vector-sync/status'); - $data = json_decode($response->getBody(), true); - - if (json_last_error() !== JSON_ERROR_NONE) { - throw new \RuntimeException('Invalid JSON response from server'); - } - - return $data; - } catch (\Exception $e) { - $this->logger->error('Failed to get vector sync status', [ - 'error' => $e->getMessage(), - ]); - return ['error' => $e->getMessage()]; - } - } - - /** - * Execute semantic search for vector visualization. - * - * Requires OAuth bearer token for user-filtered search. - * Only available if VECTOR_SYNC_ENABLED=true on server. - * - * @param string $query Search query string - * @param string $algorithm Search algorithm: "semantic", "bm25", or "hybrid" - * @param int $limit Number of results (max 50) - * @param bool $includePca Whether to include PCA coordinates for 2D plot - * @param array|null $docTypes Document types to filter (e.g., ['note', 'file']) - * @param string|null $token OAuth bearer token for authentication - * @return array{ - * results?: array, - * pca_coordinates?: array, - * algorithm_used?: string, - * total_documents?: int, - * error?: string - * } - */ - public function search( - string $query, - string $algorithm = 'hybrid', - int $limit = 10, - bool $includePca = true, - ?array $docTypes = null, - ?string $token = null, - ): array { - try { - $requestBody = [ - 'query' => $query, - 'algorithm' => $algorithm, - 'limit' => min($limit, 50), // Enforce max limit - 'include_pca' => $includePca, - ]; - - // Add doc_types filter if specified - if ($docTypes !== null && count($docTypes) > 0) { - $requestBody['doc_types'] = $docTypes; - } - - $options = ['json' => $requestBody]; - - // Add authorization header if token provided - if ($token !== null) { - $options['headers'] = [ - 'Authorization' => 'Bearer ' . $token - ]; - } - - $response = $this->httpClient->post( - $this->baseUrl . '/api/v1/vector-viz/search', - $options - ); - $data = json_decode($response->getBody(), true); - - if (json_last_error() !== JSON_ERROR_NONE) { - throw new \RuntimeException('Invalid JSON response from server'); - } - - return $data; - } catch (\Exception $e) { - $this->logger->error('Failed to execute search', [ - 'error' => $e->getMessage(), - 'query' => $query, - 'algorithm' => $algorithm, - ]); - return ['error' => $e->getMessage()]; - } - } - - /** - * Execute semantic search for Nextcloud Unified Search. - * - * Simplified search method specifically for the unified search provider. - * Uses OAuth bearer token for authentication and user-scoped filtering. - * - * @param string $query Search query string - * @param string $token OAuth bearer token for authentication - * @param int $limit Maximum number of results (default: 20) - * @param int $offset Pagination offset (default: 0) - * @param string $algorithm Search algorithm: hybrid, semantic, or bm25 (default: hybrid) - * @param string $fusion Fusion method for hybrid: rrf or dbsf (default: rrf) - * @param float $scoreThreshold Minimum score threshold 0-1 (default: 0) - * @return array{ - * results?: array, - * total_found?: int, - * algorithm_used?: string, - * error?: string - * } - */ - public function searchForUnifiedSearch( - string $query, - string $token, - int $limit = 20, - int $offset = 0, - string $algorithm = 'hybrid', - string $fusion = 'rrf', - float $scoreThreshold = 0.0, - ): array { - try { - $response = $this->httpClient->post( - $this->baseUrl . '/api/v1/search', - [ - 'headers' => [ - 'Authorization' => 'Bearer ' . $token, - 'Content-Type' => 'application/json', - ], - 'json' => [ - 'query' => $query, - 'algorithm' => $algorithm, - 'fusion' => $fusion, - 'score_threshold' => $scoreThreshold, - 'limit' => min($limit, 100), - 'offset' => $offset, - 'include_pca' => false, - 'include_chunks' => true, - ] - ] - ); - $data = json_decode($response->getBody(), true); - - if (json_last_error() !== JSON_ERROR_NONE) { - throw new \RuntimeException('Invalid JSON response from server'); - } - - return $data; - } catch (\Exception $e) { - $this->logger->error('Unified search failed', [ - 'error' => $e->getMessage(), - 'query' => $query, - ]); - return ['error' => $e->getMessage()]; - } - } - - /** - * Check if the MCP server is reachable and API key is valid. - * - * @return bool True if server is reachable and healthy - */ - public function isServerReachable(): bool { - $status = $this->getStatus(); - return !isset($status['error']); - } - - /** - * Get the configured MCP server internal URL (for API calls). - * - * @return string The internal base URL - */ - public function getServerUrl(): string { - return $this->baseUrl; - } - - /** - * Get the public MCP server URL (for display, OAuth audience). - * - * Falls back to internal URL if public URL not configured. - * - * @return string The public URL users/browsers see - */ - public function getPublicServerUrl(): string { - return $this->config->getSystemValue('mcp_server_public_url', $this->baseUrl); - } - - /** - * Get the OAuth client ID from system config. - * - * The Astrolabe app has its own OAuth client (separate from MCP server's client). - * Client ID must be configured in config.php for OAuth functionality to work. - * - * @return string OAuth client ID or empty string if not configured - */ - public function getClientId(): string { - $clientId = $this->config->getSystemValue('astrolabe_client_id', ''); - - if (empty($clientId)) { - $this->logger->warning('astrolabe_client_id is not configured in config.php - OAuth functionality will not work'); - return ''; - } - - $this->logger->debug('Using client ID from system config: ' . substr($clientId, 0, 8) . '...'); - return $clientId; - } - - /** - * List all registered webhooks for a user. - * - * Requires OAuth bearer token for authentication. - * - * @param string $token OAuth bearer token - * @return array{ - * webhooks?: array, - * error?: string - * } - */ - public function listWebhooks(string $token): array { - try { - $response = $this->httpClient->get( - $this->baseUrl . '/api/v1/webhooks', - [ - 'headers' => [ - 'Authorization' => 'Bearer ' . $token - ] - ] - ); - $data = json_decode($response->getBody(), true); - - if (json_last_error() !== JSON_ERROR_NONE) { - throw new \RuntimeException('Invalid JSON response from server'); - } - - return $data; - } catch (\Exception $e) { - $this->logger->error('Failed to list webhooks', [ - 'error' => $e->getMessage(), - ]); - return ['error' => $e->getMessage()]; - } - } - - /** - * Create a new webhook registration. - * - * Requires OAuth bearer token for authentication. - * - * @param string $event Event type (e.g., "\\OCA\\Files::postCreate") - * @param string $uri Callback URI for webhook notifications - * @param array|null $eventFilter Optional event filter parameters - * @param string $token OAuth bearer token - * @return array{ - * id?: int, - * event?: string, - * uri?: string, - * event_filter?: array, - * enabled?: bool, - * error?: string - * } - */ - public function createWebhook( - string $event, - string $uri, - ?array $eventFilter, - string $token, - ): array { - try { - $requestBody = [ - 'event' => $event, - 'uri' => $uri, - ]; - - if ($eventFilter !== null) { - $requestBody['event_filter'] = $eventFilter; - } - - $response = $this->httpClient->post( - $this->baseUrl . '/api/v1/webhooks', - [ - 'headers' => [ - 'Authorization' => 'Bearer ' . $token, - 'Content-Type' => 'application/json', - ], - 'json' => $requestBody - ] - ); - $data = json_decode($response->getBody(), true); - - if (json_last_error() !== JSON_ERROR_NONE) { - throw new \RuntimeException('Invalid JSON response from server'); - } - - return $data; - } catch (\Exception $e) { - $this->logger->error('Failed to create webhook', [ - 'error' => $e->getMessage(), - 'event' => $event, - ]); - return ['error' => $e->getMessage()]; - } - } - - /** - * Delete a webhook registration. - * - * Requires OAuth bearer token for authentication. - * - * @param int $webhookId Webhook ID to delete - * @param string $token OAuth bearer token - * @return array{success?: bool, error?: string} - */ - public function deleteWebhook(int $webhookId, string $token): array { - try { - $response = $this->httpClient->delete( - $this->baseUrl . '/api/v1/webhooks/' . $webhookId, - [ - 'headers' => [ - 'Authorization' => 'Bearer ' . $token - ] - ] - ); - - // Successful DELETE may return 204 No Content - if ($response->getStatusCode() === 204) { - return ['success' => true]; - } - - $data = json_decode($response->getBody(), true); - - if (json_last_error() !== JSON_ERROR_NONE) { - throw new \RuntimeException('Invalid JSON response from server'); - } - - return $data; - } catch (\Exception $e) { - $this->logger->error('Failed to delete webhook', [ - 'error' => $e->getMessage(), - 'webhook_id' => $webhookId, - ]); - return ['error' => $e->getMessage()]; - } - } - - /** - * Get list of installed Nextcloud apps. - * - * Used to filter webhook presets based on available apps. - * Requires OAuth bearer token for authentication. - * - * @param string $token OAuth bearer token - * @return array{ - * apps?: array, - * error?: string - * } - */ - public function getInstalledApps(string $token): array { - try { - $response = $this->httpClient->get( - $this->baseUrl . '/api/v1/apps', - [ - 'headers' => [ - 'Authorization' => 'Bearer ' . $token - ] - ] - ); - $data = json_decode($response->getBody(), true); - - if (json_last_error() !== JSON_ERROR_NONE) { - throw new \RuntimeException('Invalid JSON response from server'); - } - - return $data; - } catch (\Exception $e) { - $this->logger->error('Failed to get installed apps', [ - 'error' => $e->getMessage(), - ]); - return ['error' => $e->getMessage()]; - } - } - - /** - * Get chunk context (text, surrounding context, page image). - * - * Requires OAuth bearer token for authentication. - * - * @param string $docType Document type - * @param string $docId Document ID - * @param int $start Start offset - * @param int $end End offset - * @param string $token OAuth bearer token - * @return array - */ - public function getChunkContext( - string $docType, - string $docId, - int $start, - int $end, - string $token, - ): array { - try { - $response = $this->httpClient->get( - $this->baseUrl . '/api/v1/chunk-context', - [ - 'headers' => [ - 'Authorization' => 'Bearer ' . $token - ], - 'query' => [ - 'doc_type' => $docType, - 'doc_id' => $docId, - 'start' => $start, - 'end' => $end, - 'context' => 500 - ] - ] - ); - $data = json_decode($response->getBody(), true); - - if (json_last_error() !== JSON_ERROR_NONE) { - throw new \RuntimeException('Invalid JSON response from server'); - } - - return $data; - } catch (\Exception $e) { - $this->logger->error('Failed to get chunk context', [ - 'error' => $e->getMessage(), - 'doc_type' => $docType, - 'doc_id' => $docId, - ]); - return ['error' => $e->getMessage()]; - } - } - - /** - * Get PDF page preview (server-side rendered). - * - * Renders a PDF page to PNG using PyMuPDF on the server. - * This avoids client-side PDF.js issues with CSP and ES private fields. - * - * Requires OAuth bearer token for authentication. - * - * @param string $filePath WebDAV path to PDF file - * @param int $page Page number (1-indexed) - * @param float $scale Zoom factor (default: 2.0) - * @param string $token OAuth bearer token - * @return array{ - * success?: bool, - * image?: string, - * page_number?: int, - * total_pages?: int, - * error?: string - * } - */ - public function getPdfPreview( - string $filePath, - int $page, - float $scale, - string $token, - ): array { - try { - $response = $this->httpClient->get( - $this->baseUrl . '/api/v1/pdf-preview', - [ - 'headers' => [ - 'Authorization' => 'Bearer ' . $token - ], - 'query' => [ - 'file_path' => $filePath, - 'page' => $page, - 'scale' => $scale, - ] - ] - ); - /** @var array{success?: bool, image?: string, page_number?: int, total_pages?: int, error?: string} $data */ - $data = json_decode((string)$response->getBody(), true); - - if (json_last_error() !== JSON_ERROR_NONE) { - throw new \RuntimeException('Invalid JSON response from server'); - } - - return $data; - } catch (\Exception $e) { - $this->logger->error('Failed to get PDF preview', [ - 'error' => $e->getMessage(), - 'file_path' => $filePath, - 'page' => $page, - ]); - return ['error' => $e->getMessage()]; - } - } -} diff --git a/third_party/astrolabe/lib/Service/McpTokenStorage.php b/third_party/astrolabe/lib/Service/McpTokenStorage.php deleted file mode 100644 index 15d0973..0000000 --- a/third_party/astrolabe/lib/Service/McpTokenStorage.php +++ /dev/null @@ -1,519 +0,0 @@ -config = $config; - $this->crypto = $crypto; - $this->db = $db; - $this->logger = $logger; - $this->lockingProvider = $lockingProvider; - } - - /** - * Store MCP OAuth tokens for a user. - * - * Tokens are encrypted before storage to protect user credentials. - * - * @param string $userId User ID - * @param string $accessToken OAuth access token - * @param string $refreshToken OAuth refresh token - * @param int $expiresAt Unix timestamp when token expires - * @param int|null $issuedAt Unix timestamp when token was issued (for lifetime calculation) - */ - public function storeUserToken( - string $userId, - string $accessToken, - string $refreshToken, - int $expiresAt, - ?int $issuedAt = null, - ): void { - try { - $tokenData = [ - 'access_token' => $accessToken, - 'refresh_token' => $refreshToken, - 'expires_at' => $expiresAt, - 'issued_at' => $issuedAt ?? time(), - ]; - - // Encrypt token data before storage - $encrypted = $this->crypto->encrypt(json_encode($tokenData)); - - // Store in user preferences - $this->config->setUserValue( - $userId, - 'astrolabe', - 'oauth_tokens', - $encrypted - ); - - $this->logger->info("Stored MCP OAuth tokens for user: $userId"); - } catch (\Exception $e) { - $this->logger->error("Failed to store MCP tokens for user $userId", [ - 'error' => $e->getMessage() - ]); - throw $e; - } - } - - /** - * Get MCP OAuth tokens for a user. - * - * @param string $userId User ID - * @return array|null Token data array with keys: access_token, refresh_token, expires_at - */ - public function getUserToken(string $userId): ?array { - try { - $encrypted = $this->config->getUserValue( - $userId, - 'astrolabe', - 'oauth_tokens', - '' - ); - - if (empty($encrypted)) { - return null; - } - - // Decrypt and parse token data - $decrypted = $this->crypto->decrypt($encrypted); - $tokenData = json_decode($decrypted, true); - - if (!$tokenData || !isset($tokenData['access_token'])) { - $this->logger->warning("Invalid token data for user: $userId"); - return null; - } - - return $tokenData; - } catch (\Exception $e) { - $this->logger->error("Failed to retrieve MCP tokens for user $userId", [ - 'error' => $e->getMessage() - ]); - return null; - } - } - - /** - * Check if a token is expired or about to expire. - * - * Uses TOKEN_EXPIRY_BUFFER_SECONDS buffer to refresh tokens before they actually expire. - * - * @param array $token Token data array - * @return bool True if expired or about to expire - */ - public function isExpired(array $token): bool { - if (!isset($token['expires_at'])) { - return true; - } - - // Expire early to avoid race conditions - return time() >= ($token['expires_at'] - self::TOKEN_EXPIRY_BUFFER_SECONDS); - } - - /** - * Get the lock path for a user's token refresh operation. - * - * @param string $userId User ID - * @return string Lock path - */ - private function getTokenRefreshLockPath(string $userId): string { - return 'astrolabe/oauth/tokens/' . $userId; - } - - /** - * Execute callback while holding exclusive lock on user's token. - * - * Prevents race conditions between background job and on-demand token refresh. - * - * Note: Lock TTL is configured at the Nextcloud server level (default: 3600s). - * If a process crashes while holding the lock, it will auto-expire after the TTL. - * The ILockingProvider interface does not support per-call timeouts. - * - * @template T - * @param string $userId User ID - * @param callable(): T $callback - * @return T - * @throws LockedException If lock cannot be acquired - */ - public function withTokenLock(string $userId, callable $callback): mixed { - $lockPath = $this->getTokenRefreshLockPath($userId); - - $this->lockingProvider->acquireLock($lockPath, ILockingProvider::LOCK_EXCLUSIVE); - try { - return $callback(); - } finally { - $this->lockingProvider->releaseLock($lockPath, ILockingProvider::LOCK_EXCLUSIVE); - } - } - - /** - * Delete stored tokens for a user. - * - * Used when user disconnects or revokes access. - * - * @param string $userId User ID - */ - public function deleteUserToken(string $userId): void { - try { - $this->config->deleteUserValue( - $userId, - 'astrolabe', - 'oauth_tokens' - ); - - $this->logger->info("Deleted MCP OAuth tokens for user: $userId"); - } catch (\Exception $e) { - $this->logger->error("Failed to delete MCP tokens for user $userId", [ - 'error' => $e->getMessage() - ]); - throw $e; - } - } - - /** - * Get user IDs that have OAuth tokens stored. - * - * Queries oc_preferences directly since IConfig doesn't support - * listing all users with a specific key set. - * - * @param int $limit Maximum users to return (0 = no limit, for backward compatibility) - * @param int $offset Starting offset for pagination - * @return list Array of user IDs - */ - public function getAllUsersWithTokens(int $limit = 0, int $offset = 0): array { - $qb = $this->db->getQueryBuilder(); - $qb->select('userid') - ->from('preferences') - ->where($qb->expr()->eq('appid', $qb->createNamedParameter('astrolabe'))) - ->andWhere($qb->expr()->eq('configkey', $qb->createNamedParameter('oauth_tokens'))); - - if ($limit > 0) { - $qb->setMaxResults($limit); - } - if ($offset > 0) { - $qb->setFirstResult($offset); - } - - $result = $qb->executeQuery(); - /** @var list $userIds */ - $userIds = []; - /** @psalm-suppress MixedAssignment - IResult::fetch() returns mixed */ - while (($row = $result->fetch()) !== false) { - if (is_array($row) && isset($row['userid']) && is_string($row['userid'])) { - $userIds[] = $row['userid']; - } - } - $result->closeCursor(); - - return $userIds; - } - - /** - * Get the access token for a user, handling expiration and refresh. - * - * This is a convenience method that combines token retrieval, - * expiration checking, and automatic refresh if needed. - * - * Uses double-check locking pattern to prevent race conditions between - * background job and on-demand refresh while minimizing lock contention. - * - * @param string $userId User ID - * @param callable|null $refreshCallback Callback to refresh token if expired - * Should accept (refreshToken) and return new token data - * @return string|null Access token, or null if not available - */ - public function getAccessToken(string $userId, ?callable $refreshCallback = null): ?string { - // Quick check without lock (optimization) - $token = $this->getUserToken($userId); - - if (!$token) { - return null; - } - - // If not expired, return immediately without lock - if (!$this->isExpired($token)) { - return $token['access_token']; - } - - // Token expired - acquire lock for refresh - try { - /** - * @return string|null - * @psalm-suppress MixedInferredReturnType - */ - return $this->withTokenLock($userId, function () use ($userId, $refreshCallback): ?string { - // Re-check after acquiring lock (double-check pattern) - // Another process may have refreshed while we waited for the lock - $currentToken = $this->getUserToken($userId); - - if ($currentToken === null) { - return null; - } - - // Check if another process already refreshed the token - if (!$this->isExpired($currentToken)) { - $this->logger->debug("Token already refreshed for user $userId while waiting for lock"); - /** @var string */ - return $currentToken['access_token']; - } - - // Still expired, perform refresh - if ($refreshCallback && isset($currentToken['refresh_token'])) { - try { - /** @var string $refreshToken */ - $refreshToken = $currentToken['refresh_token']; - $newTokenData = $refreshCallback($refreshToken); - - if ($newTokenData && isset($newTokenData['access_token'])) { - // Store refreshed token - // Use new refresh token if provided (rotation), otherwise keep old one - $now = time(); - /** @var string $accessToken */ - $accessToken = $newTokenData['access_token']; - /** @var string $newRefreshToken */ - $newRefreshToken = $newTokenData['refresh_token'] ?? $refreshToken; - $expiresIn = (int)($newTokenData['expires_in'] ?? 3600); - - $this->storeUserToken( - $userId, - $accessToken, - $newRefreshToken, - $now + $expiresIn, - $now // issued_at for accurate lifetime calculation - ); - - return $accessToken; - } - } catch (\Exception $e) { - $this->logger->error("Failed to refresh token for user $userId", [ - 'error' => $e->getMessage() - ]); - // Delete stale token to prevent repeated refresh attempts - $this->deleteUserToken($userId); - return null; - } - - // Refresh callback returned null or invalid data - delete stale token - $this->deleteUserToken($userId); - $this->logger->info("Deleted stale token for user $userId after refresh failure"); - return null; - } - - // Token expired and no refresh callback available - delete stale token - $this->deleteUserToken($userId); - $this->logger->info("Token expired for user $userId, no refresh available"); - return null; - }); - } catch (LockedException $e) { - // Could not acquire lock - another process is refreshing - // Return stale token rather than failing - caller can retry if needed - $this->logger->warning("Could not acquire token lock for user $userId, returning stale token"); - /** @var string|null $staleToken */ - $staleToken = $token['access_token'] ?? null; - return $staleToken; - } - } - - /** - * Store app password for background sync. - * - * App passwords are encrypted before storage and used as an alternative - * to OAuth refresh tokens for background sync operations. - * - * @param string $userId User ID - * @param string $appPassword Nextcloud app password - */ - public function storeBackgroundSyncPassword( - string $userId, - string $appPassword, - ): void { - try { - // Encrypt app password before storage - $encrypted = $this->crypto->encrypt($appPassword); - - // Store in user preferences - $this->config->setUserValue( - $userId, - 'astrolabe', - 'background_sync_password', - $encrypted - ); - - // Mark credential type - $this->config->setUserValue( - $userId, - 'astrolabe', - 'background_sync_type', - 'app_password' - ); - - // Store provisioned timestamp - $this->config->setUserValue( - $userId, - 'astrolabe', - 'background_sync_provisioned_at', - (string)time() - ); - - $this->logger->info("Stored background sync app password for user: $userId"); - } catch (\Exception $e) { - $this->logger->error("Failed to store app password for user $userId", [ - 'error' => $e->getMessage() - ]); - throw $e; - } - } - - /** - * Get app password for background sync. - * - * @param string $userId User ID - * @return string|null Decrypted app password, or null if not set - */ - public function getBackgroundSyncPassword(string $userId): ?string { - try { - $encrypted = $this->config->getUserValue( - $userId, - 'astrolabe', - 'background_sync_password', - '' - ); - - if (empty($encrypted)) { - return null; - } - - // Decrypt app password - return $this->crypto->decrypt($encrypted); - } catch (\Exception $e) { - $this->logger->error("Failed to retrieve app password for user $userId", [ - 'error' => $e->getMessage() - ]); - return null; - } - } - - /** - * Delete background sync app password for a user. - * - * @param string $userId User ID - */ - public function deleteBackgroundSyncPassword(string $userId): void { - try { - $this->config->deleteUserValue( - $userId, - 'astrolabe', - 'background_sync_password' - ); - - $this->config->deleteUserValue( - $userId, - 'astrolabe', - 'background_sync_type' - ); - - $this->config->deleteUserValue( - $userId, - 'astrolabe', - 'background_sync_provisioned_at' - ); - - $this->logger->info("Deleted background sync app password for user: $userId"); - } catch (\Exception $e) { - $this->logger->error("Failed to delete app password for user $userId", [ - 'error' => $e->getMessage() - ]); - throw $e; - } - } - - /** - * Check if user has provisioned background sync access. - * - * Returns true if either OAuth tokens or app password is configured. - * - * @param string $userId User ID - * @return bool True if background sync is provisioned - */ - public function hasBackgroundSyncAccess(string $userId): bool { - // Check for OAuth tokens - $oauthToken = $this->getUserToken($userId); - if ($oauthToken !== null) { - return true; - } - - // Check for app password - $appPassword = $this->getBackgroundSyncPassword($userId); - return $appPassword !== null; - } - - /** - * Get background sync credential type for a user. - * - * @param string $userId User ID - * @return string|null 'oauth' or 'app_password', or null if not provisioned - */ - public function getBackgroundSyncType(string $userId): ?string { - $type = $this->config->getUserValue( - $userId, - 'astrolabe', - 'background_sync_type', - '' - ); - - // Fallback to OAuth if tokens exist but type not set - if (empty($type) && $this->getUserToken($userId) !== null) { - return 'oauth'; - } - - return empty($type) ? null : $type; - } - - /** - * Get background sync provisioned timestamp for a user. - * - * @param string $userId User ID - * @return int|null Unix timestamp, or null if not provisioned - */ - public function getBackgroundSyncProvisionedAt(string $userId): ?int { - $timestamp = $this->config->getUserValue( - $userId, - 'astrolabe', - 'background_sync_provisioned_at', - '' - ); - - return empty($timestamp) ? null : (int)$timestamp; - } -} diff --git a/third_party/astrolabe/lib/Service/WebhookPresets.php b/third_party/astrolabe/lib/Service/WebhookPresets.php deleted file mode 100644 index f24d089..0000000 --- a/third_party/astrolabe/lib/Service/WebhookPresets.php +++ /dev/null @@ -1,188 +0,0 @@ - - * }> - */ - public static function getPresets(): array { - return [ - 'notes_sync' => [ - 'name' => 'Notes Sync', - 'description' => 'Real-time synchronization for Notes app (create, update, delete)', - 'app' => 'notes', - 'events' => [ - [ - 'event' => self::FILE_EVENT_CREATED, - 'filter' => ['event.node.path' => '/^\\/.*\\/files\\/Notes\\//'], - ], - [ - 'event' => self::FILE_EVENT_WRITTEN, - 'filter' => ['event.node.path' => '/^\\/.*\\/files\\/Notes\\//'], - ], - [ - 'event' => self::FILE_EVENT_DELETED, - 'filter' => ['event.node.path' => '/^\\/.*\\/files\\/Notes\\//'], - ], - ], - ], - 'calendar_sync' => [ - 'name' => 'Calendar Sync', - 'description' => 'Real-time synchronization for Calendar events (create, update, delete)', - 'app' => 'calendar', - 'events' => [ - [ - 'event' => self::CALENDAR_EVENT_CREATED, - 'filter' => [], - ], - [ - 'event' => self::CALENDAR_EVENT_UPDATED, - 'filter' => [], - ], - [ - 'event' => self::CALENDAR_EVENT_DELETED, - 'filter' => [], - ], - ], - ], - 'tables_sync' => [ - 'name' => 'Tables Sync', - 'description' => 'Real-time synchronization for Tables rows (add, update, delete)', - 'app' => 'tables', - 'events' => [ - [ - 'event' => self::TABLES_EVENT_ROW_ADDED, - 'filter' => [], - ], - [ - 'event' => self::TABLES_EVENT_ROW_UPDATED, - 'filter' => [], - ], - [ - 'event' => self::TABLES_EVENT_ROW_DELETED, - 'filter' => [], - ], - ], - ], - 'forms_sync' => [ - 'name' => 'Forms Sync', - 'description' => 'Real-time synchronization for Forms submissions', - 'app' => 'forms', - 'events' => [ - [ - 'event' => self::FORMS_EVENT_FORM_SUBMITTED, - 'filter' => [], - ], - ], - ], - 'files_sync' => [ - 'name' => 'All Files Sync', - 'description' => 'Real-time synchronization for all file operations (create, update, delete)', - 'app' => 'files', - 'events' => [ - [ - 'event' => self::FILE_EVENT_CREATED, - 'filter' => [], - ], - [ - 'event' => self::FILE_EVENT_WRITTEN, - 'filter' => [], - ], - [ - 'event' => self::FILE_EVENT_DELETED, - 'filter' => [], - ], - ], - ], - ]; - } - - /** - * Get a webhook preset by ID. - * - * @param string $presetId Preset identifier (e.g., "notes_sync", "calendar_sync") - * @return array|null Preset configuration or null if not found - */ - public static function getPreset(string $presetId): ?array { - $presets = self::getPresets(); - return $presets[$presetId] ?? null; - } - - /** - * Get list of event class names for a preset. - * - * @param string $presetId Preset identifier - * @return array List of fully qualified event class names - */ - public static function getPresetEvents(string $presetId): array { - $preset = self::getPreset($presetId); - if ($preset === null) { - return []; - } - - return array_map( - fn ($eventConfig) => $eventConfig['event'], - $preset['events'] - ); - } - - /** - * Filter webhook presets to only show those for installed apps. - * - * @param array $installedApps List of installed app names - * @return array Filtered presets - */ - public static function filterPresetsByInstalledApps(array $installedApps): array { - $filtered = []; - foreach (self::getPresets() as $presetId => $preset) { - $appName = $preset['app']; - // "files" is always available (core functionality) - if ($appName === 'files' || in_array($appName, $installedApps)) { - $filtered[$presetId] = $preset; - } - } - return $filtered; - } -} diff --git a/third_party/astrolabe/lib/Settings/Admin.php b/third_party/astrolabe/lib/Settings/Admin.php deleted file mode 100644 index bcda1c6..0000000 --- a/third_party/astrolabe/lib/Settings/Admin.php +++ /dev/null @@ -1,117 +0,0 @@ -client = $client; - $this->config = $config; - $this->initialState = $initialState; - } - - /** - * @return TemplateResponse - */ - public function getForm(): TemplateResponse { - // Get configuration from config.php (local, fast) - $serverUrl = $this->config->getSystemValue('mcp_server_url', ''); - $apiKeyConfigured = !empty($this->config->getSystemValue('mcp_server_api_key', '')); - $clientId = $this->config->getSystemValue('astrolabe_client_id', ''); - $clientIdConfigured = !empty($clientId); - $clientSecret = $this->config->getSystemValue('astrolabe_client_secret', ''); - $clientSecretConfigured = !empty($clientSecret); - - // Load search settings from app config - $searchSettings = [ - 'algorithm' => $this->config->getAppValue( - Application::APP_ID, - self::SETTING_SEARCH_ALGORITHM, - self::DEFAULT_SEARCH_ALGORITHM - ), - 'fusion' => $this->config->getAppValue( - Application::APP_ID, - self::SETTING_SEARCH_FUSION, - self::DEFAULT_SEARCH_FUSION - ), - 'scoreThreshold' => (int)$this->config->getAppValue( - Application::APP_ID, - self::SETTING_SEARCH_SCORE_THRESHOLD, - (string)self::DEFAULT_SEARCH_SCORE_THRESHOLD - ), - 'limit' => (int)$this->config->getAppValue( - Application::APP_ID, - self::SETTING_SEARCH_LIMIT, - (string)self::DEFAULT_SEARCH_LIMIT - ), - ]; - - // Provide initial state for Vue.js frontend - // MCP server data will be fetched asynchronously by Vue component - $this->initialState->provideInitialState('admin-config', [ - 'config' => [ - 'serverUrl' => $serverUrl, - 'apiKeyConfigured' => $apiKeyConfigured, - 'clientIdConfigured' => $clientIdConfigured, - 'clientSecretConfigured' => $clientSecretConfigured, - ], - 'searchSettings' => $searchSettings, - ]); - - $parameters = []; - - return new TemplateResponse( - Application::APP_ID, - 'settings/admin', - $parameters, - TemplateResponse::RENDER_AS_BLANK - ); - } - - /** - * @return string The section ID - */ - public function getSection(): string { - return 'astrolabe'; - } - - /** - * @return int Priority (lower = higher up) - */ - public function getPriority(): int { - return 10; - } -} diff --git a/third_party/astrolabe/lib/Settings/AdminSection.php b/third_party/astrolabe/lib/Settings/AdminSection.php deleted file mode 100644 index 295efee..0000000 --- a/third_party/astrolabe/lib/Settings/AdminSection.php +++ /dev/null @@ -1,52 +0,0 @@ -l = $l; - $this->urlGenerator = $urlGenerator; - } - - /** - * @return string The section ID - */ - public function getID(): string { - return 'astrolabe'; - } - - /** - * @return string The translated section name - */ - public function getName(): string { - return $this->l->t('Astrolabe'); - } - - /** - * @return int Priority (lower = higher up in list) - */ - public function getPriority(): int { - return 80; - } - - /** - * @return string Section icon (SVG or image URL) - */ - public function getIcon(): string { - return $this->urlGenerator->imagePath('astrolabe', 'app-dark.svg'); - } -} diff --git a/third_party/astrolabe/lib/Settings/AstrolabeAdminSettings.php b/third_party/astrolabe/lib/Settings/AstrolabeAdminSettings.php deleted file mode 100644 index f549f5d..0000000 --- a/third_party/astrolabe/lib/Settings/AstrolabeAdminSettings.php +++ /dev/null @@ -1,64 +0,0 @@ - 'astrolabe-admin-settings', - 'priority' => 10, - 'section_type' => DeclarativeSettingsTypes::SECTION_TYPE_ADMIN, - 'section_id' => 'astrolabe', - 'storage_type' => DeclarativeSettingsTypes::STORAGE_TYPE_EXTERNAL, - 'title' => $this->l->t('MCP Server Configuration'), - 'description' => $this->l->t('Configure the connection to your Nextcloud MCP Server'), - 'doc_url' => 'https://github.com/cbcoutinho/nextcloud-mcp-server', - - 'fields' => [ - [ - 'id' => 'mcp_server_url', - 'title' => $this->l->t('MCP Server URL'), - 'description' => $this->l->t('The base URL of your Nextcloud MCP Server instance (e.g., http://localhost:8000)'), - 'type' => DeclarativeSettingsTypes::URL, - 'placeholder' => 'http://localhost:8000', - 'default' => '', - ], - [ - 'id' => 'mcp_server_api_key', - 'title' => $this->l->t('API Key'), - 'description' => $this->l->t('Authentication key for the MCP server (leave empty if not required)'), - 'type' => DeclarativeSettingsTypes::PASSWORD, - 'placeholder' => $this->l->t('Enter API key'), - 'default' => '', - ], - [ - 'id' => 'astrolabe_client_id', - 'title' => $this->l->t('OAuth Client ID'), - 'description' => $this->l->t('The OAuth client ID for Astrolabe (required for multi-user deployments)'), - 'type' => DeclarativeSettingsTypes::TEXT, - 'placeholder' => $this->l->t('Enter OAuth client ID'), - 'default' => '', - ], - [ - 'id' => 'astrolabe_client_secret', - 'title' => $this->l->t('OAuth Client Secret'), - 'description' => $this->l->t('Optional: Client secret for OAuth. If not set, PKCE will be used as fallback.'), - 'type' => DeclarativeSettingsTypes::PASSWORD, - 'placeholder' => $this->l->t('Enter client secret (optional)'), - 'default' => '', - ], - ], - ]; - } -} diff --git a/third_party/astrolabe/lib/Settings/Personal.php b/third_party/astrolabe/lib/Settings/Personal.php deleted file mode 100644 index f6f38fd..0000000 --- a/third_party/astrolabe/lib/Settings/Personal.php +++ /dev/null @@ -1,238 +0,0 @@ -client = $client; - $this->userSession = $userSession; - $this->initialState = $initialState; - $this->tokenStorage = $tokenStorage; - $this->urlGenerator = $urlGenerator; - } - - /** - * @return TemplateResponse - */ - public function getForm(): TemplateResponse { - $user = $this->userSession->getUser(); - if (!$user) { - return new TemplateResponse(Application::APP_ID, 'settings/error', [ - 'error' => 'User not authenticated' - ], TemplateResponse::RENDER_AS_BLANK); - } - - $userId = $user->getUID(); - - // Fetch server status to determine auth mode - $serverStatus = $this->client->getStatus(); - - // Check for server connection error - if (isset($serverStatus['error'])) { - return new TemplateResponse( - Application::APP_ID, - 'settings/error', - [ - 'error' => 'Cannot connect to MCP server', - 'details' => $serverStatus['error'], - 'server_url' => $this->client->getPublicServerUrl(), - ], - TemplateResponse::RENDER_AS_BLANK - ); - } - - // Get auth mode from server (defaults to oauth if not specified) - $authMode = $serverStatus['auth_mode'] ?? 'oauth'; - $supportsAppPasswords = $serverStatus['supports_app_passwords'] ?? false; - - // Check if user has MCP OAuth token - $token = $this->tokenStorage->getUserToken($userId); - - // For multi_user_basic mode with app password support (hybrid mode) - // User needs BOTH: - // 1. OAuth token for Astrolabe→MCP API calls (stored in McpTokenStorage) - // 2. App password for MCP→Nextcloud background sync - if ($authMode === 'multi_user_basic' && $supportsAppPasswords) { - // Check both credentials - $hasOAuthToken = ($token !== null && !$this->tokenStorage->isExpired($token)); - // In hybrid mode, check specifically for app password (not general background access) - // because MCP server needs the app password for background sync - $hasAppPassword = ($this->tokenStorage->getBackgroundSyncPassword($userId) !== null); - $backgroundSyncType = $this->tokenStorage->getBackgroundSyncType($userId); - $backgroundSyncProvisionedAt = $this->tokenStorage->getBackgroundSyncProvisionedAt($userId); - - // OAuth URL for Astrolabe's own OAuth controller (NOT MCP server's browser OAuth) - $oauthUrl = $this->urlGenerator->linkToRoute('astrolabe.oauth.initiateOAuth'); - - // Consolidated template parameters (camelCase convention) - $parameters = [ - 'userId' => $userId, - 'serverUrl' => $this->client->getPublicServerUrl(), - 'serverStatus' => $serverStatus, - 'authMode' => $authMode, - 'supportsAppPasswords' => $supportsAppPasswords, - 'session' => null, // No session in hybrid mode - 'vectorSyncEnabled' => $serverStatus['vector_sync_enabled'] ?? false, - // OAuth token status (for Astrolabe→MCP API calls) - 'hasOAuthToken' => $hasOAuthToken, - 'oauthUrl' => $oauthUrl, - // App password status (for MCP→Nextcloud background sync) - 'hasBackgroundAccess' => $hasAppPassword, - 'backgroundAccessGranted' => $hasAppPassword, // Legacy alias - 'backgroundSyncType' => $backgroundSyncType, - 'backgroundSyncProvisionedAt' => $backgroundSyncProvisionedAt, - 'requesttoken' => \OCP\Util::callRegister(), - ]; - - return new TemplateResponse( - Application::APP_ID, - 'settings/personal', - $parameters, - TemplateResponse::RENDER_AS_BLANK - ); - } - // For OAuth modes, if no token or token is expired, show OAuth authorization UI - elseif (!$token || $this->tokenStorage->isExpired($token)) { - $oauthUrl = $this->urlGenerator->linkToRoute('astrolabe.oauth.initiateOAuth'); - - return new TemplateResponse( - Application::APP_ID, - 'settings/oauth-required', - [ - 'oauth_url' => $oauthUrl, - 'server_url' => $this->client->getPublicServerUrl(), - 'has_expired' => ($token !== null), // true if token exists but expired - ], - TemplateResponse::RENDER_AS_BLANK - ); - } - - // User has valid token - fetch data from MCP server - $accessToken = $token['access_token']; - - // Fetch server status (public endpoint, no token needed) - $serverStatus = $this->client->getStatus(); - - // Fetch user session data (requires token) - $userSession = $this->client->getUserSession($userId, $accessToken); - - // Check for server connection error - if (isset($serverStatus['error'])) { - return new TemplateResponse( - Application::APP_ID, - 'settings/error', - [ - 'error' => 'Cannot connect to MCP server', - 'details' => $serverStatus['error'], - 'server_url' => $this->client->getPublicServerUrl(), - ], - TemplateResponse::RENDER_AS_BLANK - ); - } - - // Check for authentication error (invalid/expired token) - if (isset($userSession['error'])) { - // Token might be invalid - delete it and show OAuth UI - $this->tokenStorage->deleteUserToken($userId); - - $oauthUrl = $this->urlGenerator->linkToRoute('astrolabe.oauth.initiateOAuth'); - - return new TemplateResponse( - Application::APP_ID, - 'settings/oauth-required', - [ - 'oauth_url' => $oauthUrl, - 'server_url' => $this->client->getPublicServerUrl(), - 'has_expired' => true, - 'error_message' => 'Your session has expired. Please sign in again.', - ], - TemplateResponse::RENDER_AS_BLANK - ); - } - - // Check background sync credential status - $hasBackgroundAccess = $this->tokenStorage->hasBackgroundSyncAccess($userId); - $backgroundSyncType = $this->tokenStorage->getBackgroundSyncType($userId); - $backgroundSyncProvisionedAt = $this->tokenStorage->getBackgroundSyncProvisionedAt($userId); - - // OAuth URL for standard OAuth mode (in case user needs to re-authorize) - $oauthUrl = $this->urlGenerator->linkToRoute('astrolabe.oauth.initiateOAuth'); - - // Provide initial state for Vue.js frontend (if needed) - $this->initialState->provideInitialState('user-data', [ - 'userId' => $userId, - 'serverStatus' => $serverStatus, - 'session' => $userSession, - ]); - - // Consolidated template parameters (camelCase convention) - $parameters = [ - 'userId' => $userId, - 'serverUrl' => $this->client->getPublicServerUrl(), - 'serverStatus' => $serverStatus, - 'session' => $userSession, - 'vectorSyncEnabled' => $serverStatus['vector_sync_enabled'] ?? false, - // OAuth status - 'hasOAuthToken' => true, - 'oauthUrl' => $oauthUrl, - // Background sync status - 'hasBackgroundAccess' => $hasBackgroundAccess, - 'backgroundAccessGranted' => $userSession['background_access_granted'] ?? false, // Legacy - 'backgroundSyncType' => $backgroundSyncType, - 'backgroundSyncProvisionedAt' => $backgroundSyncProvisionedAt, - 'requesttoken' => \OCP\Util::callRegister(), - ]; - - return new TemplateResponse( - Application::APP_ID, - 'settings/personal', - $parameters, - TemplateResponse::RENDER_AS_BLANK - ); - } - - /** - * @return string The section ID - */ - public function getSection(): string { - return 'astrolabe'; - } - - /** - * @return int Priority (lower = higher up) - */ - public function getPriority(): int { - return 50; - } -} diff --git a/third_party/astrolabe/lib/Settings/PersonalSection.php b/third_party/astrolabe/lib/Settings/PersonalSection.php deleted file mode 100644 index fd64f21..0000000 --- a/third_party/astrolabe/lib/Settings/PersonalSection.php +++ /dev/null @@ -1,52 +0,0 @@ -l = $l; - $this->urlGenerator = $urlGenerator; - } - - /** - * @return string The section ID - */ - public function getID(): string { - return 'astrolabe'; - } - - /** - * @return string The translated section name - */ - public function getName(): string { - return $this->l->t('Astrolabe'); - } - - /** - * @return int Priority (lower = higher up in list, 0-99) - */ - public function getPriority(): int { - return 80; - } - - /** - * @return string Section icon (SVG or image URL) - */ - public function getIcon(): string { - return $this->urlGenerator->imagePath('astrolabe', 'app-dark.svg'); - } -} diff --git a/third_party/astrolabe/openapi.json b/third_party/astrolabe/openapi.json deleted file mode 100644 index 3f0c242..0000000 --- a/third_party/astrolabe/openapi.json +++ /dev/null @@ -1,149 +0,0 @@ -{ - "openapi": "3.0.3", - "info": { - "title": "astrolabe", - "version": "0.0.1", - "description": "Manage the MCP Server from within Nextcloud UI", - "license": { - "name": "agpl" - } - }, - "components": { - "securitySchemes": { - "basic_auth": { - "type": "http", - "scheme": "basic" - }, - "bearer_auth": { - "type": "http", - "scheme": "bearer" - } - }, - "schemas": { - "OCSMeta": { - "type": "object", - "required": [ - "status", - "statuscode" - ], - "properties": { - "status": { - "type": "string" - }, - "statuscode": { - "type": "integer" - }, - "message": { - "type": "string" - }, - "totalitems": { - "type": "string" - }, - "itemsperpage": { - "type": "string" - } - } - } - } - }, - "paths": { - "/ocs/v2.php/apps/astrolabe/api": { - "get": { - "operationId": "api-index", - "summary": "An example API endpoint", - "tags": [ - "api" - ], - "security": [ - { - "bearer_auth": [] - }, - { - "basic_auth": [] - } - ], - "parameters": [ - { - "name": "OCS-APIRequest", - "in": "header", - "description": "Required to be true for the API request to pass", - "required": true, - "schema": { - "type": "boolean", - "default": true - } - } - ], - "responses": { - "200": { - "description": "Data returned", - "content": { - "application/json": { - "schema": { - "type": "object", - "required": [ - "ocs" - ], - "properties": { - "ocs": { - "type": "object", - "required": [ - "meta", - "data" - ], - "properties": { - "meta": { - "$ref": "#/components/schemas/OCSMeta" - }, - "data": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "message": { - "type": "string" - } - } - } - } - } - } - } - } - } - }, - "401": { - "description": "Current user is not logged in", - "content": { - "application/json": { - "schema": { - "type": "object", - "required": [ - "ocs" - ], - "properties": { - "ocs": { - "type": "object", - "required": [ - "meta", - "data" - ], - "properties": { - "meta": { - "$ref": "#/components/schemas/OCSMeta" - }, - "data": {} - } - } - } - } - } - } - } - } - } - } - }, - "tags": [] -} diff --git a/third_party/astrolabe/package-lock.json b/third_party/astrolabe/package-lock.json deleted file mode 100644 index 38482a7..0000000 --- a/third_party/astrolabe/package-lock.json +++ /dev/null @@ -1,10450 +0,0 @@ -{ - "name": "astrolabe", - "version": "0.10.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "astrolabe", - "version": "0.10.0", - "license": "AGPL-3.0-or-later", - "dependencies": { - "@nextcloud/axios": "^2.5.1", - "@nextcloud/dialogs": "^7.2.0", - "@nextcloud/initial-state": "^3.0.0", - "@nextcloud/l10n": "^3.1.0", - "@nextcloud/router": "^3.0.1", - "@nextcloud/vue": "^9.3.3", - "markdown-it": "^14.1.0", - "plotly.js-dist-min": "^3.0.0", - "vue": "^3.0.0", - "vue-material-design-icons": "^5.3.1" - }, - "devDependencies": { - "@nextcloud/browserslist-config": "3.1.2", - "@nextcloud/eslint-config": "8.4.2", - "@nextcloud/stylelint-config": "3.1.1", - "@vitejs/plugin-vue": "^6.0.3", - "sass-embedded": "^1.97.1", - "terser": "5.44.1", - "vite": "7.2.7" - }, - "engines": { - "node": "^22.0.0", - "npm": "^10.5.0" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.27.1", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.27.1", - "js-tokens": "^4.0.0", - "picocolors": "^1.1.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.28.5", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.28.5", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.28.5", - "@babel/helper-compilation-targets": "^7.27.2", - "@babel/helper-module-transforms": "^7.28.3", - "@babel/helpers": "^7.28.4", - "@babel/parser": "^7.28.5", - "@babel/template": "^7.27.2", - "@babel/traverse": "^7.28.5", - "@babel/types": "^7.28.5", - "@jridgewell/remapping": "^2.3.5", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/eslint-parser": { - "version": "7.28.5", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", - "eslint-visitor-keys": "^2.1.0", - "semver": "^6.3.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || >=14.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.11.0", - "eslint": "^7.5.0 || ^8.0.0 || ^9.0.0" - } - }, - "node_modules/@babel/generator": { - "version": "7.28.5", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@babel/parser": "^7.28.5", - "@babel/types": "^7.28.5", - "@jridgewell/gen-mapping": "^0.3.12", - "@jridgewell/trace-mapping": "^0.3.28", - "jsesc": "^3.0.2" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.27.2", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@babel/compat-data": "^7.27.2", - "@babel/helper-validator-option": "^7.27.1", - "browserslist": "^4.24.0", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-globals": { - "version": "7.28.0", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.27.1", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@babel/traverse": "^7.27.1", - "@babel/types": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.28.3", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@babel/helper-module-imports": "^7.27.1", - "@babel/helper-validator-identifier": "^7.27.1", - "@babel/traverse": "^7.28.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.27.1", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.28.5", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.27.1", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.28.4", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@babel/template": "^7.27.2", - "@babel/types": "^7.28.4" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/parser": { - "version": "7.28.5", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.28.5" - }, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/runtime": { - "version": "7.28.4", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/template": { - "version": "7.27.2", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/parser": "^7.27.2", - "@babel/types": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.28.5", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.28.5", - "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.28.5", - "@babel/template": "^7.27.2", - "@babel/types": "^7.28.5", - "debug": "^4.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/types": { - "version": "7.28.5", - "license": "MIT", - "dependencies": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.28.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@bufbuild/protobuf": { - "version": "2.10.2", - "resolved": "https://registry.npmjs.org/@bufbuild/protobuf/-/protobuf-2.10.2.tgz", - "integrity": "sha512-uFsRXwIGyu+r6AMdz+XijIIZJYpoWeYzILt5yZ2d3mCjQrWUTVpVD9WL/jZAbvp+Ed04rOhrsk7FiTcEDseB5A==", - "dev": true, - "license": "(Apache-2.0 AND BSD-3-Clause)" - }, - "node_modules/@buttercup/fetch": { - "version": "0.2.1", - "license": "MIT", - "optionalDependencies": { - "node-fetch": "^3.3.0" - } - }, - "node_modules/@cacheable/memory": { - "version": "2.0.6", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@cacheable/utils": "^2.3.2", - "@keyv/bigmap": "^1.3.0", - "hookified": "^1.13.0", - "keyv": "^5.5.4" - } - }, - "node_modules/@cacheable/memory/node_modules/@keyv/bigmap": { - "version": "1.3.0", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "hashery": "^1.2.0", - "hookified": "^1.13.0" - }, - "engines": { - "node": ">= 18" - }, - "peerDependencies": { - "keyv": "^5.5.4" - } - }, - "node_modules/@cacheable/memory/node_modules/keyv": { - "version": "5.5.5", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@keyv/serialize": "^1.1.1" - } - }, - "node_modules/@cacheable/utils": { - "version": "2.3.2", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "hashery": "^1.2.0", - "keyv": "^5.5.4" - } - }, - "node_modules/@cacheable/utils/node_modules/keyv": { - "version": "5.5.5", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@keyv/serialize": "^1.1.1" - } - }, - "node_modules/@ckpack/vue-color": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@ckpack/vue-color/-/vue-color-1.6.0.tgz", - "integrity": "sha512-b9kFTKhYbNArfgP1lmnaVm0VNsWdZjqIbyHUYry7mZ+E7JeTQclbjq1+2xWn0SE3wzqRYlXmAVjECPOgteWmMQ==", - "license": "MIT", - "dependencies": { - "@ctrl/tinycolor": "^3.6.0", - "material-colors": "^1.2.6" - }, - "engines": { - "node": ">=12" - }, - "peerDependencies": { - "vue": "^3.2.0" - } - }, - "node_modules/@csstools/css-parser-algorithms": { - "version": "3.0.5", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT", - "peer": true, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@csstools/css-tokenizer": "^3.0.4" - } - }, - "node_modules/@csstools/css-syntax-patches-for-csstree": { - "version": "1.0.21", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "peer": true, - "engines": { - "node": ">=18" - } - }, - "node_modules/@csstools/css-tokenizer": { - "version": "3.0.4", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT", - "peer": true, - "engines": { - "node": ">=18" - } - }, - "node_modules/@csstools/media-query-list-parser": { - "version": "4.0.3", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT", - "peer": true, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@csstools/css-parser-algorithms": "^3.0.5", - "@csstools/css-tokenizer": "^3.0.4" - } - }, - "node_modules/@ctrl/tinycolor": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz", - "integrity": "sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==", - "license": "MIT", - "engines": { - "node": ">=10" - } - }, - "node_modules/@dual-bundle/import-meta-resolve": { - "version": "4.2.1", - "dev": true, - "license": "MIT", - "peer": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/JounQin" - } - }, - "node_modules/@emnapi/core": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.7.1.tgz", - "integrity": "sha512-o1uhUASyo921r2XtHYOHy7gdkGLge8ghBEQHMWmyJFoXlpU58kIrhhN3w26lpQb6dspetweapMn2CSNwQ8I4wg==", - "dev": true, - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "@emnapi/wasi-threads": "1.1.0", - "tslib": "^2.4.0" - } - }, - "node_modules/@emnapi/runtime": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.7.1.tgz", - "integrity": "sha512-PVtJr5CmLwYAU9PZDMITZoR5iAOShYREoR45EyyLrbntV50mdePTgUn4AmOw90Ifcj+x2kRjdzr1HP3RrNiHGA==", - "dev": true, - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@emnapi/wasi-threads": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.1.0.tgz", - "integrity": "sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==", - "dev": true, - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@es-joy/jsdoccomment": { - "version": "0.41.0", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "comment-parser": "1.4.1", - "esquery": "^1.5.0", - "jsdoc-type-pratt-parser": "~4.0.0" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/@esbuild/aix-ppc64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz", - "integrity": "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-arm": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.12.tgz", - "integrity": "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz", - "integrity": "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.12.tgz", - "integrity": "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz", - "integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz", - "integrity": "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz", - "integrity": "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz", - "integrity": "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-arm": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz", - "integrity": "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz", - "integrity": "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz", - "integrity": "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz", - "integrity": "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==", - "cpu": [ - "loong64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz", - "integrity": "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==", - "cpu": [ - "mips64el" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz", - "integrity": "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz", - "integrity": "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz", - "integrity": "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==", - "cpu": [ - "s390x" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-x64": { - "version": "0.25.12", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/netbsd-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz", - "integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz", - "integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openbsd-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz", - "integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz", - "integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openharmony-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz", - "integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openharmony" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz", - "integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz", - "integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz", - "integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz", - "integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.9.0", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "dev": true, - "license": "Apache-2.0", - "peer": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.12.2", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "2.1.4", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { - "version": "1.1.12", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/@eslint/eslintrc/node_modules/minimatch": { - "version": "3.1.2", - "dev": true, - "license": "ISC", - "peer": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/@eslint/js": { - "version": "8.57.1", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/@file-type/xml": { - "version": "0.4.4", - "license": "MIT", - "dependencies": { - "sax": "^1.4.1", - "strtok3": "^10.3.4" - } - }, - "node_modules/@floating-ui/core": { - "version": "1.7.3", - "license": "MIT", - "dependencies": { - "@floating-ui/utils": "^0.2.10" - } - }, - "node_modules/@floating-ui/dom": { - "version": "1.7.4", - "license": "MIT", - "dependencies": { - "@floating-ui/core": "^1.7.3", - "@floating-ui/utils": "^0.2.10" - } - }, - "node_modules/@floating-ui/utils": { - "version": "0.2.10", - "license": "MIT" - }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.13.0", - "dev": true, - "license": "Apache-2.0", - "peer": true, - "dependencies": { - "@humanwhocodes/object-schema": "^2.0.3", - "debug": "^4.3.1", - "minimatch": "^3.0.5" - }, - "engines": { - "node": ">=10.10.0" - } - }, - "node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": { - "version": "1.1.12", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/@humanwhocodes/config-array/node_modules/minimatch": { - "version": "3.1.2", - "dev": true, - "license": "ISC", - "peer": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "dev": true, - "license": "Apache-2.0", - "peer": true, - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/object-schema": { - "version": "2.0.3", - "dev": true, - "license": "BSD-3-Clause", - "peer": true - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.13", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.0", - "@jridgewell/trace-mapping": "^0.3.24" - } - }, - "node_modules/@jridgewell/remapping": { - "version": "2.3.5", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.24" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/source-map": { - "version": "0.3.11", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.5", - "license": "MIT" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.31", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@keyv/serialize": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/@mdi/js": { - "version": "7.4.47", - "resolved": "https://registry.npmjs.org/@mdi/js/-/js-7.4.47.tgz", - "integrity": "sha512-KPnNOtm5i2pMabqZxpUz7iQf+mfrYZyKCZ8QNz85czgEt7cuHcGorWfdzUMWYA0SD+a6Hn4FmJ+YhzzzjkTZrQ==", - "license": "Apache-2.0" - }, - "node_modules/@napi-rs/wasm-runtime": { - "version": "0.2.12", - "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.12.tgz", - "integrity": "sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==", - "dev": true, - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "@emnapi/core": "^1.4.3", - "@emnapi/runtime": "^1.4.3", - "@tybys/wasm-util": "^0.10.0" - } - }, - "node_modules/@nextcloud/auth": { - "version": "2.5.3", - "license": "GPL-3.0-or-later", - "dependencies": { - "@nextcloud/browser-storage": "^0.5.0", - "@nextcloud/event-bus": "^3.3.2" - }, - "engines": { - "node": "^20.0.0 || ^22.0.0 || ^24.0.0" - } - }, - "node_modules/@nextcloud/axios": { - "version": "2.5.2", - "license": "GPL-3.0-or-later", - "dependencies": { - "@nextcloud/auth": "^2.5.1", - "@nextcloud/router": "^3.0.1", - "axios": "^1.12.2" - }, - "engines": { - "node": "^20.0.0 || ^22.0.0 || ^24.0.0" - } - }, - "node_modules/@nextcloud/browser-storage": { - "version": "0.5.0", - "license": "GPL-3.0-or-later", - "engines": { - "node": "^24 || ^22 || ^20" - } - }, - "node_modules/@nextcloud/browserslist-config": { - "version": "3.1.2", - "dev": true, - "license": "GPL-3.0-or-later", - "engines": { - "node": "^20 || ^22 || ^24", - "npm": ">=10.5.0" - }, - "peerDependencies": { - "browserslist": "^4.26.3" - } - }, - "node_modules/@nextcloud/capabilities": { - "version": "1.2.1", - "license": "GPL-3.0-or-later", - "dependencies": { - "@nextcloud/initial-state": "^3.0.0" - }, - "engines": { - "node": "^20.0.0 || ^22.0.0 || ^24.0.0" - } - }, - "node_modules/@nextcloud/dialogs": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@nextcloud/dialogs/-/dialogs-7.2.0.tgz", - "integrity": "sha512-seb2yYnGsP72t3aeK7WdcgfANpb/AHYc86Fz0kfzM11tvdqbs6Mz4Ja3bxccIJFXoyAp+NYS9UKpxA7bAQPywQ==", - "license": "AGPL-3.0-or-later", - "dependencies": { - "@mdi/js": "^7.4.47", - "@nextcloud/auth": "^2.5.3", - "@nextcloud/axios": "^2.5.2", - "@nextcloud/browser-storage": "^0.5.0", - "@nextcloud/event-bus": "^3.3.3", - "@nextcloud/files": "^3.12.2", - "@nextcloud/initial-state": "^3.0.0", - "@nextcloud/l10n": "^3.4.1", - "@nextcloud/paths": "^3.0.0", - "@nextcloud/router": "^3.1.0", - "@nextcloud/sharing": "^0.3.0", - "@nextcloud/vue": "^9.3.1", - "@types/toastify-js": "^1.12.4", - "@vueuse/core": "^14.1.0", - "cancelable-promise": "^4.3.1", - "p-queue": "^9.0.1", - "toastify-js": "^1.12.0", - "vue": "^3.5.25", - "webdav": "^5.8.0" - }, - "engines": { - "node": "^20 || ^22 || ^24" - } - }, - "node_modules/@nextcloud/eslint-config": { - "version": "8.4.2", - "dev": true, - "license": "AGPL-3.0-or-later", - "engines": { - "node": "^20.0.0", - "npm": "^10.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.26.9", - "@babel/eslint-parser": "^7.16.5", - "@nextcloud/eslint-plugin": "^2.2.1", - "@vue/eslint-config-typescript": "^13.0.0", - "eslint": "^8.27.0", - "eslint-config-standard": "^17.1.0", - "eslint-import-resolver-exports": "^1.0.0-beta.5", - "eslint-import-resolver-typescript": "^3.8.0", - "eslint-plugin-import": "^2.26.0", - "eslint-plugin-jsdoc": "^46.2.6", - "eslint-plugin-n": "^16.0.0", - "eslint-plugin-promise": "^6.6.0", - "eslint-plugin-vue": "^9.7.0", - "typescript": "^5.0.2" - } - }, - "node_modules/@nextcloud/eslint-plugin": { - "version": "2.2.1", - "dev": true, - "license": "ISC", - "peer": true, - "dependencies": { - "fast-xml-parser": "^4.2.5", - "requireindex": "^1.2.0", - "semver": "^7.5.3" - }, - "engines": { - "node": "^20.0.0", - "npm": "^10.0.0" - }, - "peerDependencies": { - "eslint": ">=7.0.0" - } - }, - "node_modules/@nextcloud/eslint-plugin/node_modules/semver": { - "version": "7.7.3", - "dev": true, - "license": "ISC", - "peer": true, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@nextcloud/event-bus": { - "version": "3.3.3", - "license": "GPL-3.0-or-later", - "dependencies": { - "@types/semver": "^7.7.0", - "semver": "^7.7.2" - }, - "engines": { - "node": "^20 || ^22 || ^24" - } - }, - "node_modules/@nextcloud/event-bus/node_modules/semver": { - "version": "7.7.3", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@nextcloud/files": { - "version": "3.12.2", - "resolved": "https://registry.npmjs.org/@nextcloud/files/-/files-3.12.2.tgz", - "integrity": "sha512-vBo8tf3Xh6efiF8CrEo3pKj9AtvAF6RdDGO1XKL65IxV8+UUd9Uxl2lUExHlzoDRRczCqfGfaWfRRaFhYqce5Q==", - "license": "AGPL-3.0-or-later", - "dependencies": { - "@nextcloud/auth": "^2.5.3", - "@nextcloud/capabilities": "^1.2.1", - "@nextcloud/l10n": "^3.4.1", - "@nextcloud/logger": "^3.0.3", - "@nextcloud/paths": "^3.0.0", - "@nextcloud/router": "^3.1.0", - "@nextcloud/sharing": "^0.3.0", - "cancelable-promise": "^4.3.1", - "is-svg": "^6.1.0", - "typescript-event-target": "^1.1.1", - "webdav": "^5.8.0" - }, - "engines": { - "node": "^20.0.0 || ^22.0.0 || ^24.0.0" - } - }, - "node_modules/@nextcloud/initial-state": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@nextcloud/initial-state/-/initial-state-3.0.0.tgz", - "integrity": "sha512-cV+HBdkQJGm8FxkBI5rFT/FbMNWNBvpbj6OPrg4Ae4YOOsQ15CL8InPOAw1t4XkOkQK2NEdUGQLVUz/19wXbdQ==", - "license": "GPL-3.0-or-later", - "engines": { - "node": "^20.0.0 || ^22.0.0 || ^24.0.0" - } - }, - "node_modules/@nextcloud/l10n": { - "version": "3.4.1", - "license": "GPL-3.0-or-later", - "dependencies": { - "@nextcloud/router": "^3.0.1", - "@nextcloud/typings": "^1.9.1", - "@types/escape-html": "^1.0.4", - "dompurify": "^3.2.6", - "escape-html": "^1.0.3" - }, - "engines": { - "node": "^20 || ^22 || ^24" - } - }, - "node_modules/@nextcloud/logger": { - "version": "3.0.3", - "license": "GPL-3.0-or-later", - "dependencies": { - "@nextcloud/auth": "^2.5.3" - }, - "engines": { - "node": "^20.0.0 || ^22.0.0 || ^24.0.0" - } - }, - "node_modules/@nextcloud/paths": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@nextcloud/paths/-/paths-3.0.0.tgz", - "integrity": "sha512-+sTfTkIbVUa2Ue3bkz3R7F1mhddvHPOWUxkSNg7Q5dAsimVFBaTRgiBAJmsAag3JPsxyuS8kUgeb0zdEssRdTA==", - "license": "GPL-3.0-or-later", - "engines": { - "node": "^20.0.0 || ^22.0.0 || ^24.0.0" - } - }, - "node_modules/@nextcloud/router": { - "version": "3.1.0", - "license": "GPL-3.0-or-later", - "dependencies": { - "@nextcloud/typings": "^1.10.0" - }, - "engines": { - "node": "^20.0.0 || ^22.0.0 || ^24.0.0" - } - }, - "node_modules/@nextcloud/sharing": { - "version": "0.3.0", - "license": "GPL-3.0-or-later", - "dependencies": { - "@nextcloud/initial-state": "^3.0.0", - "is-svg": "^6.1.0" - }, - "engines": { - "node": "^20.0.0 || ^22.0.0 || ^24.0.0" - }, - "optionalDependencies": { - "@nextcloud/files": "^3.12.0" - } - }, - "node_modules/@nextcloud/stylelint-config": { - "version": "3.1.1", - "dev": true, - "license": "AGPL-3.0-or-later", - "dependencies": { - "stylelint-use-logical": "^2.1.2" - }, - "engines": { - "node": "^20 || ^22 || ^24" - }, - "peerDependencies": { - "stylelint": "^16.13.2", - "stylelint-config-recommended-scss": "^15.0.1", - "stylelint-config-recommended-vue": "^1.5.0" - } - }, - "node_modules/@nextcloud/typings": { - "version": "1.10.0", - "license": "GPL-3.0-or-later", - "dependencies": { - "@types/jquery": "3.5.16" - }, - "engines": { - "node": "^20.0.0 || ^22.0.0 || ^24.0.0" - } - }, - "node_modules/@nextcloud/vue": { - "version": "9.4.0", - "resolved": "https://registry.npmjs.org/@nextcloud/vue/-/vue-9.4.0.tgz", - "integrity": "sha512-MoEbaFqFeZfTB+8d/BtgObAfzJMQ+vdidzMP/zKzx9J4cW+vgY5bciDUueY+t3f0uwSJXO3xsqXXWj9x2KihzQ==", - "license": "AGPL-3.0-or-later", - "dependencies": { - "@ckpack/vue-color": "^1.6.0", - "@floating-ui/dom": "^1.7.4", - "@nextcloud/auth": "^2.5.3", - "@nextcloud/axios": "^2.5.2", - "@nextcloud/browser-storage": "^0.5.0", - "@nextcloud/capabilities": "^1.2.1", - "@nextcloud/event-bus": "^3.3.3", - "@nextcloud/initial-state": "^3.0.0", - "@nextcloud/l10n": "^3.4.1", - "@nextcloud/logger": "^3.0.3", - "@nextcloud/router": "^3.1.0", - "@nextcloud/sharing": "^0.3.0", - "@vuepic/vue-datepicker": "^11.0.3", - "@vueuse/components": "^14.1.0", - "@vueuse/core": "^14.0.0", - "blurhash": "^2.0.5", - "clone": "^2.1.2", - "debounce": "^3.0.0", - "dompurify": "^3.3.1", - "emoji-mart-vue-fast": "^15.0.5", - "escape-html": "^1.0.3", - "floating-vue": "^5.2.2", - "focus-trap": "^7.8.0", - "linkifyjs": "^4.3.2", - "p-queue": "^9.1.0", - "rehype-external-links": "^3.0.0", - "rehype-highlight": "^7.0.2", - "rehype-react": "^8.0.0", - "remark-breaks": "^4.0.0", - "remark-parse": "^11.0.0", - "remark-rehype": "^11.1.2", - "remark-unlink-protocols": "^1.0.0", - "splitpanes": "^4.0.4", - "striptags": "^3.2.0", - "tabbable": "^6.4.0", - "tributejs": "^5.1.3", - "ts-md5": "^2.0.1", - "unified": "^11.0.5", - "unist-builder": "^4.0.0", - "unist-util-visit": "^5.0.0", - "vue": "^3.5.18", - "vue-router": "^4.6.4", - "vue-select": "^4.0.0-beta.6" - }, - "engines": { - "node": "^20.11.0 || ^22 || ^24" - } - }, - "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { - "version": "5.1.1-v1", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "eslint-scope": "5.1.1" - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nolyfill/is-core-module": { - "version": "1.0.39", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=12.4.0" - } - }, - "node_modules/@parcel/watcher": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.1.tgz", - "integrity": "sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "dependencies": { - "detect-libc": "^1.0.3", - "is-glob": "^4.0.3", - "micromatch": "^4.0.5", - "node-addon-api": "^7.0.0" - }, - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - }, - "optionalDependencies": { - "@parcel/watcher-android-arm64": "2.5.1", - "@parcel/watcher-darwin-arm64": "2.5.1", - "@parcel/watcher-darwin-x64": "2.5.1", - "@parcel/watcher-freebsd-x64": "2.5.1", - "@parcel/watcher-linux-arm-glibc": "2.5.1", - "@parcel/watcher-linux-arm-musl": "2.5.1", - "@parcel/watcher-linux-arm64-glibc": "2.5.1", - "@parcel/watcher-linux-arm64-musl": "2.5.1", - "@parcel/watcher-linux-x64-glibc": "2.5.1", - "@parcel/watcher-linux-x64-musl": "2.5.1", - "@parcel/watcher-win32-arm64": "2.5.1", - "@parcel/watcher-win32-ia32": "2.5.1", - "@parcel/watcher-win32-x64": "2.5.1" - } - }, - "node_modules/@parcel/watcher-android-arm64": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.1.tgz", - "integrity": "sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-darwin-arm64": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.1.tgz", - "integrity": "sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-darwin-x64": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.1.tgz", - "integrity": "sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-freebsd-x64": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.1.tgz", - "integrity": "sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-arm-glibc": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.1.tgz", - "integrity": "sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-arm-musl": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.1.tgz", - "integrity": "sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-arm64-glibc": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.1.tgz", - "integrity": "sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-arm64-musl": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.1.tgz", - "integrity": "sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-x64-glibc": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.1.tgz", - "integrity": "sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-x64-musl": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.1.tgz", - "integrity": "sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-win32-arm64": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.1.tgz", - "integrity": "sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-win32-ia32": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.1.tgz", - "integrity": "sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-win32-x64": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.1.tgz", - "integrity": "sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@rolldown/pluginutils": { - "version": "1.0.0-beta.53", - "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.53.tgz", - "integrity": "sha512-vENRlFU4YbrwVqNDZ7fLvy+JR1CRkyr01jhSiDpE1u6py3OMzQfztQU2jxykW3ALNxO4kSlqIDeYyD0Y9RcQeQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.53.3.tgz", - "integrity": "sha512-mRSi+4cBjrRLoaal2PnqH82Wqyb+d3HsPUN/W+WslCXsZsyHa9ZeQQX/pQsZaVIWDkPcpV6jJ+3KLbTbgnwv8w==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-android-arm64": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.53.3.tgz", - "integrity": "sha512-CbDGaMpdE9sh7sCmTrTUyllhrg65t6SwhjlMJsLr+J8YjFuPmCEjbBSx4Z/e4SmDyH3aB5hGaJUP2ltV/vcs4w==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.53.3.tgz", - "integrity": "sha512-Nr7SlQeqIBpOV6BHHGZgYBuSdanCXuw09hon14MGOLGmXAFYjx1wNvquVPmpZnl0tLjg25dEdr4IQ6GgyToCUA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.53.3.tgz", - "integrity": "sha512-DZ8N4CSNfl965CmPktJ8oBnfYr3F8dTTNBQkRlffnUarJ2ohudQD17sZBa097J8xhQ26AwhHJ5mvUyQW8ddTsQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.53.3.tgz", - "integrity": "sha512-yMTrCrK92aGyi7GuDNtGn2sNW+Gdb4vErx4t3Gv/Tr+1zRb8ax4z8GWVRfr3Jw8zJWvpGHNpss3vVlbF58DZ4w==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.53.3.tgz", - "integrity": "sha512-lMfF8X7QhdQzseM6XaX0vbno2m3hlyZFhwcndRMw8fbAGUGL3WFMBdK0hbUBIUYcEcMhVLr1SIamDeuLBnXS+Q==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.53.3.tgz", - "integrity": "sha512-k9oD15soC/Ln6d2Wv/JOFPzZXIAIFLp6B+i14KhxAfnq76ajt0EhYc5YPeX6W1xJkAdItcVT+JhKl1QZh44/qw==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.53.3.tgz", - "integrity": "sha512-vTNlKq+N6CK/8UktsrFuc+/7NlEYVxgaEgRXVUVK258Z5ymho29skzW1sutgYjqNnquGwVUObAaxae8rZ6YMhg==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.53.3.tgz", - "integrity": "sha512-RGrFLWgMhSxRs/EWJMIFM1O5Mzuz3Xy3/mnxJp/5cVhZ2XoCAxJnmNsEyeMJtpK+wu0FJFWz+QF4mjCA7AUQ3w==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.53.3.tgz", - "integrity": "sha512-kASyvfBEWYPEwe0Qv4nfu6pNkITLTb32p4yTgzFCocHnJLAHs+9LjUu9ONIhvfT/5lv4YS5muBHyuV84epBo/A==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-loong64-gnu": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.53.3.tgz", - "integrity": "sha512-JiuKcp2teLJwQ7vkJ95EwESWkNRFJD7TQgYmCnrPtlu50b4XvT5MOmurWNrCj3IFdyjBQ5p9vnrX4JM6I8OE7g==", - "cpu": [ - "loong64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-ppc64-gnu": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.53.3.tgz", - "integrity": "sha512-EoGSa8nd6d3T7zLuqdojxC20oBfNT8nexBbB/rkxgKj5T5vhpAQKKnD+h3UkoMuTyXkP5jTjK/ccNRmQrPNDuw==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.53.3.tgz", - "integrity": "sha512-4s+Wped2IHXHPnAEbIB0YWBv7SDohqxobiiPA1FIWZpX+w9o2i4LezzH/NkFUl8LRci/8udci6cLq+jJQlh+0g==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.53.3.tgz", - "integrity": "sha512-68k2g7+0vs2u9CxDt5ktXTngsxOQkSEV/xBbwlqYcUrAVh6P9EgMZvFsnHy4SEiUl46Xf0IObWVbMvPrr2gw8A==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.53.3.tgz", - "integrity": "sha512-VYsFMpULAz87ZW6BVYw3I6sWesGpsP9OPcyKe8ofdg9LHxSbRMd7zrVrr5xi/3kMZtpWL/wC+UIJWJYVX5uTKg==", - "cpu": [ - "s390x" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.53.3", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.53.3", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-openharmony-arm64": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.53.3.tgz", - "integrity": "sha512-OueLAWgrNSPGAdUdIjSWXw+u/02BRTcnfw9PN41D2vq/JSEPnJnVuBgw18VkN8wcd4fjUs+jFHVM4t9+kBSNLw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openharmony" - ] - }, - "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.53.3.tgz", - "integrity": "sha512-GOFuKpsxR/whszbF/bzydebLiXIHSgsEUp6M0JI8dWvi+fFa1TD6YQa4aSZHtpmh2/uAlj/Dy+nmby3TJ3pkTw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.53.3.tgz", - "integrity": "sha512-iah+THLcBJdpfZ1TstDFbKNznlzoxa8fmnFYK4V67HvmuNYkVdAywJSoteUszvBQ9/HqN2+9AZghbajMsFT+oA==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-x64-gnu": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.53.3.tgz", - "integrity": "sha512-J9QDiOIZlZLdcot5NXEepDkstocktoVjkaKUtqzgzpt2yWjGlbYiKyp05rWwk4nypbYUNoFAztEgixoLaSETkg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.53.3.tgz", - "integrity": "sha512-UhTd8u31dXadv0MopwGgNOBpUVROFKWVQgAg5N1ESyCz8AuBcMqm4AuTjrwgQKGDfoFuz02EuMRHQIw/frmYKQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rtsao/scc": { - "version": "1.1.0", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/@tokenizer/token": { - "version": "0.3.0", - "license": "MIT" - }, - "node_modules/@tybys/wasm-util": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.1.tgz", - "integrity": "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==", - "dev": true, - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@types/debug": { - "version": "4.1.12", - "license": "MIT", - "dependencies": { - "@types/ms": "*" - } - }, - "node_modules/@types/escape-html": { - "version": "1.0.4", - "license": "MIT" - }, - "node_modules/@types/estree": { - "version": "1.0.8", - "license": "MIT" - }, - "node_modules/@types/estree-jsx": { - "version": "1.0.5", - "license": "MIT", - "dependencies": { - "@types/estree": "*" - } - }, - "node_modules/@types/hast": { - "version": "3.0.4", - "license": "MIT", - "dependencies": { - "@types/unist": "*" - } - }, - "node_modules/@types/jquery": { - "version": "3.5.16", - "license": "MIT", - "dependencies": { - "@types/sizzle": "*" - } - }, - "node_modules/@types/json5": { - "version": "0.0.29", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/@types/mdast": { - "version": "4.0.4", - "license": "MIT", - "dependencies": { - "@types/unist": "*" - } - }, - "node_modules/@types/ms": { - "version": "2.1.0", - "license": "MIT" - }, - "node_modules/@types/semver": { - "version": "7.7.1", - "license": "MIT" - }, - "node_modules/@types/sizzle": { - "version": "2.3.10", - "license": "MIT" - }, - "node_modules/@types/toastify-js": { - "version": "1.12.4", - "resolved": "https://registry.npmjs.org/@types/toastify-js/-/toastify-js-1.12.4.tgz", - "integrity": "sha512-zfZHU4tKffPCnZRe7pjv/eFKzTVHozKewFCKaCjZ4gFinKgJRz/t0bkZiMCXJxPhv/ZoeDGNOeRD09R0kQZ/nw==", - "license": "MIT" - }, - "node_modules/@types/trusted-types": { - "version": "2.0.7", - "license": "MIT", - "optional": true - }, - "node_modules/@types/unist": { - "version": "3.0.3", - "license": "MIT" - }, - "node_modules/@types/web-bluetooth": { - "version": "0.0.21", - "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.21.tgz", - "integrity": "sha512-oIQLCGWtcFZy2JW77j9k8nHzAOpqMHLQejDA48XXMWH6tjCQHz5RCFz1bzsmROyL6PUm+LLnUiI4BCn221inxA==", - "license": "MIT" - }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "7.18.0", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "7.18.0", - "@typescript-eslint/type-utils": "7.18.0", - "@typescript-eslint/utils": "7.18.0", - "@typescript-eslint/visitor-keys": "7.18.0", - "graphemer": "^1.4.0", - "ignore": "^5.3.1", - "natural-compare": "^1.4.0", - "ts-api-utils": "^1.3.0" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^7.0.0", - "eslint": "^8.56.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/parser": { - "version": "7.18.0", - "dev": true, - "license": "BSD-2-Clause", - "peer": true, - "dependencies": { - "@typescript-eslint/scope-manager": "7.18.0", - "@typescript-eslint/types": "7.18.0", - "@typescript-eslint/typescript-estree": "7.18.0", - "@typescript-eslint/visitor-keys": "7.18.0", - "debug": "^4.3.4" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.56.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "7.18.0", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@typescript-eslint/types": "7.18.0", - "@typescript-eslint/visitor-keys": "7.18.0" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/type-utils": { - "version": "7.18.0", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@typescript-eslint/typescript-estree": "7.18.0", - "@typescript-eslint/utils": "7.18.0", - "debug": "^4.3.4", - "ts-api-utils": "^1.3.0" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.56.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/types": { - "version": "7.18.0", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "7.18.0", - "dev": true, - "license": "BSD-2-Clause", - "peer": true, - "dependencies": { - "@typescript-eslint/types": "7.18.0", - "@typescript-eslint/visitor-keys": "7.18.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "minimatch": "^9.0.4", - "semver": "^7.6.0", - "ts-api-utils": "^1.3.0" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.7.3", - "dev": true, - "license": "ISC", - "peer": true, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/utils": { - "version": "7.18.0", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "7.18.0", - "@typescript-eslint/types": "7.18.0", - "@typescript-eslint/typescript-estree": "7.18.0" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.56.0" - } - }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "7.18.0", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@typescript-eslint/types": "7.18.0", - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "dev": true, - "license": "Apache-2.0", - "peer": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@ungap/structured-clone": { - "version": "1.3.0", - "license": "ISC" - }, - "node_modules/@unrs/resolver-binding-android-arm-eabi": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.11.1.tgz", - "integrity": "sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "peer": true - }, - "node_modules/@unrs/resolver-binding-android-arm64": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm64/-/resolver-binding-android-arm64-1.11.1.tgz", - "integrity": "sha512-lCxkVtb4wp1v+EoN+HjIG9cIIzPkX5OtM03pQYkG+U5O/wL53LC4QbIeazgiKqluGeVEeBlZahHalCaBvU1a2g==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "peer": true - }, - "node_modules/@unrs/resolver-binding-darwin-arm64": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.11.1.tgz", - "integrity": "sha512-gPVA1UjRu1Y/IsB/dQEsp2V1pm44Of6+LWvbLc9SDk1c2KhhDRDBUkQCYVWe6f26uJb3fOK8saWMgtX8IrMk3g==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "peer": true - }, - "node_modules/@unrs/resolver-binding-darwin-x64": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.11.1.tgz", - "integrity": "sha512-cFzP7rWKd3lZaCsDze07QX1SC24lO8mPty9vdP+YVa3MGdVgPmFc59317b2ioXtgCMKGiCLxJ4HQs62oz6GfRQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "peer": true - }, - "node_modules/@unrs/resolver-binding-freebsd-x64": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.11.1.tgz", - "integrity": "sha512-fqtGgak3zX4DCB6PFpsH5+Kmt/8CIi4Bry4rb1ho6Av2QHTREM+47y282Uqiu3ZRF5IQioJQ5qWRV6jduA+iGw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "peer": true - }, - "node_modules/@unrs/resolver-binding-linux-arm-gnueabihf": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.11.1.tgz", - "integrity": "sha512-u92mvlcYtp9MRKmP+ZvMmtPN34+/3lMHlyMj7wXJDeXxuM0Vgzz0+PPJNsro1m3IZPYChIkn944wW8TYgGKFHw==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true - }, - "node_modules/@unrs/resolver-binding-linux-arm-musleabihf": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.11.1.tgz", - "integrity": "sha512-cINaoY2z7LVCrfHkIcmvj7osTOtm6VVT16b5oQdS4beibX2SYBwgYLmqhBjA1t51CarSaBuX5YNsWLjsqfW5Cw==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true - }, - "node_modules/@unrs/resolver-binding-linux-arm64-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.11.1.tgz", - "integrity": "sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true - }, - "node_modules/@unrs/resolver-binding-linux-arm64-musl": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.11.1.tgz", - "integrity": "sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true - }, - "node_modules/@unrs/resolver-binding-linux-ppc64-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.11.1.tgz", - "integrity": "sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true - }, - "node_modules/@unrs/resolver-binding-linux-riscv64-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.11.1.tgz", - "integrity": "sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true - }, - "node_modules/@unrs/resolver-binding-linux-riscv64-musl": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.11.1.tgz", - "integrity": "sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true - }, - "node_modules/@unrs/resolver-binding-linux-s390x-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.11.1.tgz", - "integrity": "sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg==", - "cpu": [ - "s390x" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true - }, - "node_modules/@unrs/resolver-binding-linux-x64-gnu": { - "version": "1.11.1", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true - }, - "node_modules/@unrs/resolver-binding-linux-x64-musl": { - "version": "1.11.1", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true - }, - "node_modules/@unrs/resolver-binding-wasm32-wasi": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.11.1.tgz", - "integrity": "sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ==", - "cpu": [ - "wasm32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "@napi-rs/wasm-runtime": "^0.2.11" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@unrs/resolver-binding-win32-arm64-msvc": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.11.1.tgz", - "integrity": "sha512-nRcz5Il4ln0kMhfL8S3hLkxI85BXs3o8EYoattsJNdsX4YUU89iOkVn7g0VHSRxFuVMdM4Q1jEpIId1Ihim/Uw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "peer": true - }, - "node_modules/@unrs/resolver-binding-win32-ia32-msvc": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.11.1.tgz", - "integrity": "sha512-DCEI6t5i1NmAZp6pFonpD5m7i6aFrpofcp4LA2i8IIq60Jyo28hamKBxNrZcyOwVOZkgsRp9O2sXWBWP8MnvIQ==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "peer": true - }, - "node_modules/@unrs/resolver-binding-win32-x64-msvc": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.11.1.tgz", - "integrity": "sha512-lrW200hZdbfRtztbygyaq/6jP6AKE8qQN2KvPcJ+x7wiD038YtnYtZ82IMNJ69GJibV7bwL3y9FgK+5w/pYt6g==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "peer": true - }, - "node_modules/@vitejs/plugin-vue": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-6.0.3.tgz", - "integrity": "sha512-TlGPkLFLVOY3T7fZrwdvKpjprR3s4fxRln0ORDo1VQ7HHyxJwTlrjKU3kpVWTlaAjIEuCTokmjkZnr8Tpc925w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@rolldown/pluginutils": "1.0.0-beta.53" - }, - "engines": { - "node": "^20.19.0 || >=22.12.0" - }, - "peerDependencies": { - "vite": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0", - "vue": "^3.2.25" - } - }, - "node_modules/@vue/compiler-core": { - "version": "3.5.27", - "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.27.tgz", - "integrity": "sha512-gnSBQjZA+//qDZen+6a2EdHqJ68Z7uybrMf3SPjEGgG4dicklwDVmMC1AeIHxtLVPT7sn6sH1KOO+tS6gwOUeQ==", - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.28.5", - "@vue/shared": "3.5.27", - "entities": "^7.0.0", - "estree-walker": "^2.0.2", - "source-map-js": "^1.2.1" - } - }, - "node_modules/@vue/compiler-core/node_modules/entities": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-7.0.1.tgz", - "integrity": "sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==", - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/@vue/compiler-dom": { - "version": "3.5.27", - "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.27.tgz", - "integrity": "sha512-oAFea8dZgCtVVVTEC7fv3T5CbZW9BxpFzGGxC79xakTr6ooeEqmRuvQydIiDAkglZEAd09LgVf1RoDnL54fu5w==", - "license": "MIT", - "dependencies": { - "@vue/compiler-core": "3.5.27", - "@vue/shared": "3.5.27" - } - }, - "node_modules/@vue/compiler-sfc": { - "version": "3.5.27", - "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.27.tgz", - "integrity": "sha512-sHZu9QyDPeDmN/MRoshhggVOWE5WlGFStKFwu8G52swATgSny27hJRWteKDSUUzUH+wp+bmeNbhJnEAel/auUQ==", - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.28.5", - "@vue/compiler-core": "3.5.27", - "@vue/compiler-dom": "3.5.27", - "@vue/compiler-ssr": "3.5.27", - "@vue/shared": "3.5.27", - "estree-walker": "^2.0.2", - "magic-string": "^0.30.21", - "postcss": "^8.5.6", - "source-map-js": "^1.2.1" - } - }, - "node_modules/@vue/compiler-ssr": { - "version": "3.5.27", - "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.27.tgz", - "integrity": "sha512-Sj7h+JHt512fV1cTxKlYhg7qxBvack+BGncSpH+8vnN+KN95iPIcqB5rsbblX40XorP+ilO7VIKlkuu3Xq2vjw==", - "license": "MIT", - "dependencies": { - "@vue/compiler-dom": "3.5.27", - "@vue/shared": "3.5.27" - } - }, - "node_modules/@vue/devtools-api": { - "version": "6.6.4", - "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.6.4.tgz", - "integrity": "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==", - "license": "MIT" - }, - "node_modules/@vue/eslint-config-typescript": { - "version": "13.0.0", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@typescript-eslint/eslint-plugin": "^7.1.1", - "@typescript-eslint/parser": "^7.1.1", - "vue-eslint-parser": "^9.3.1" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "peerDependencies": { - "eslint": "^8.56.0", - "eslint-plugin-vue": "^9.0.0", - "typescript": ">=4.7.4" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@vue/reactivity": { - "version": "3.5.27", - "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.27.tgz", - "integrity": "sha512-vvorxn2KXfJ0nBEnj4GYshSgsyMNFnIQah/wczXlsNXt+ijhugmW+PpJ2cNPe4V6jpnBcs0MhCODKllWG+nvoQ==", - "license": "MIT", - "dependencies": { - "@vue/shared": "3.5.27" - } - }, - "node_modules/@vue/runtime-core": { - "version": "3.5.27", - "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.27.tgz", - "integrity": "sha512-fxVuX/fzgzeMPn/CLQecWeDIFNt3gQVhxM0rW02Tvp/YmZfXQgcTXlakq7IMutuZ/+Ogbn+K0oct9J3JZfyk3A==", - "license": "MIT", - "dependencies": { - "@vue/reactivity": "3.5.27", - "@vue/shared": "3.5.27" - } - }, - "node_modules/@vue/runtime-dom": { - "version": "3.5.27", - "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.27.tgz", - "integrity": "sha512-/QnLslQgYqSJ5aUmb5F0z0caZPGHRB8LEAQ1s81vHFM5CBfnun63rxhvE/scVb/j3TbBuoZwkJyiLCkBluMpeg==", - "license": "MIT", - "dependencies": { - "@vue/reactivity": "3.5.27", - "@vue/runtime-core": "3.5.27", - "@vue/shared": "3.5.27", - "csstype": "^3.2.3" - } - }, - "node_modules/@vue/server-renderer": { - "version": "3.5.27", - "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.27.tgz", - "integrity": "sha512-qOz/5thjeP1vAFc4+BY3Nr6wxyLhpeQgAE/8dDtKo6a6xdk+L4W46HDZgNmLOBUDEkFXV3G7pRiUqxjX0/2zWA==", - "license": "MIT", - "dependencies": { - "@vue/compiler-ssr": "3.5.27", - "@vue/shared": "3.5.27" - }, - "peerDependencies": { - "vue": "3.5.27" - } - }, - "node_modules/@vue/shared": { - "version": "3.5.27", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.27.tgz", - "integrity": "sha512-dXr/3CgqXsJkZ0n9F3I4elY8wM9jMJpP3pvRG52r6m0tu/MsAFIe6JpXVGeNMd/D9F4hQynWT8Rfuj0bdm9kFQ==", - "license": "MIT" - }, - "node_modules/@vuepic/vue-datepicker": { - "version": "11.0.3", - "resolved": "https://registry.npmjs.org/@vuepic/vue-datepicker/-/vue-datepicker-11.0.3.tgz", - "integrity": "sha512-sb2adwqwK2PizLQOpxCYps2SwhVT6/ic2HMIOqHJXuYa6iAJZWGL5YVlS7O4aW+sk6ZyxlDURLO7kDZPL4HB/w==", - "license": "MIT", - "dependencies": { - "date-fns": "^4.1.0" - }, - "engines": { - "node": ">=18.12.0" - }, - "peerDependencies": { - "vue": ">=3.3.0" - } - }, - "node_modules/@vueuse/components": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@vueuse/components/-/components-14.1.0.tgz", - "integrity": "sha512-SDRJUAv3H7/PMh+KkYpq0d5KMzpKOfqx4qcV4xyN4mZOLPw8NkiWu+yDcfXwI8h1uCqhRNz2cdeaLa+IuaehFw==", - "license": "MIT", - "dependencies": { - "@vueuse/core": "14.1.0", - "@vueuse/shared": "14.1.0" - }, - "peerDependencies": { - "vue": "^3.5.0" - } - }, - "node_modules/@vueuse/core": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-14.1.0.tgz", - "integrity": "sha512-rgBinKs07hAYyPF834mDTigH7BtPqvZ3Pryuzt1SD/lg5wEcWqvwzXXYGEDb2/cP0Sj5zSvHl3WkmMELr5kfWw==", - "license": "MIT", - "dependencies": { - "@types/web-bluetooth": "^0.0.21", - "@vueuse/metadata": "14.1.0", - "@vueuse/shared": "14.1.0" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - }, - "peerDependencies": { - "vue": "^3.5.0" - } - }, - "node_modules/@vueuse/metadata": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-14.1.0.tgz", - "integrity": "sha512-7hK4g015rWn2PhKcZ99NyT+ZD9sbwm7SGvp7k+k+rKGWnLjS/oQozoIZzWfCewSUeBmnJkIb+CNr7Zc/EyRnnA==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, - "node_modules/@vueuse/shared": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-14.1.0.tgz", - "integrity": "sha512-EcKxtYvn6gx1F8z9J5/rsg3+lTQnvOruQd8fUecW99DCK04BkWD7z5KQ/wTAx+DazyoEE9dJt/zV8OIEQbM6kw==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/antfu" - }, - "peerDependencies": { - "vue": "^3.5.0" - } - }, - "node_modules/acorn": { - "version": "8.15.0", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "dev": true, - "license": "MIT", - "peer": true, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/are-docs-informative": { - "version": "0.0.2", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=14" - } - }, - "node_modules/argparse": { - "version": "2.0.1", - "license": "Python-2.0" - }, - "node_modules/array-buffer-byte-length": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bound": "^1.0.3", - "is-array-buffer": "^3.0.5" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array-includes": { - "version": "3.1.9", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "define-properties": "^1.2.1", - "es-abstract": "^1.24.0", - "es-object-atoms": "^1.1.1", - "get-intrinsic": "^1.3.0", - "is-string": "^1.1.1", - "math-intrinsics": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array-union": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/array.prototype.findlastindex": { - "version": "1.2.6", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.9", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "es-shim-unscopables": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.flat": { - "version": "1.3.3", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.flatmap": { - "version": "1.3.3", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/arraybuffer.prototype.slice": { - "version": "1.0.4", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "array-buffer-byte-length": "^1.0.1", - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6", - "is-array-buffer": "^3.0.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/astral-regex": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/async-function": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/asynckit": { - "version": "0.4.0", - "license": "MIT" - }, - "node_modules/available-typed-arrays": { - "version": "1.0.7", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "possible-typed-array-names": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/axios": { - "version": "1.13.2", - "license": "MIT", - "dependencies": { - "follow-redirects": "^1.15.6", - "form-data": "^4.0.4", - "proxy-from-env": "^1.1.0" - } - }, - "node_modules/bail": { - "version": "2.0.2", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "license": "MIT" - }, - "node_modules/base-64": { - "version": "1.0.0", - "license": "MIT" - }, - "node_modules/baseline-browser-mapping": { - "version": "2.9.7", - "dev": true, - "license": "Apache-2.0", - "peer": true, - "bin": { - "baseline-browser-mapping": "dist/cli.js" - } - }, - "node_modules/blurhash": { - "version": "2.0.5", - "license": "MIT" - }, - "node_modules/boolbase": { - "version": "1.0.0", - "dev": true, - "license": "ISC", - "peer": true - }, - "node_modules/brace-expansion": { - "version": "2.0.2", - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/braces": { - "version": "3.0.3", - "dev": true, - "license": "MIT", - "dependencies": { - "fill-range": "^7.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browserslist": { - "version": "4.28.1", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "peer": true, - "dependencies": { - "baseline-browser-mapping": "^2.9.0", - "caniuse-lite": "^1.0.30001759", - "electron-to-chromium": "^1.5.263", - "node-releases": "^2.0.27", - "update-browserslist-db": "^1.2.0" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/buffer-builder": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/buffer-builder/-/buffer-builder-0.2.0.tgz", - "integrity": "sha512-7VPMEPuYznPSoR21NE1zvd2Xna6c/CloiZCfcMXR1Jny6PjX0N4Nsa38zcBFo/FMK+BlA+FLKbJCQ0i2yxp+Xg==", - "dev": true, - "license": "MIT/X11" - }, - "node_modules/buffer-from": { - "version": "1.1.2", - "dev": true, - "license": "MIT" - }, - "node_modules/builtin-modules": { - "version": "3.3.0", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/builtins": { - "version": "5.1.0", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "semver": "^7.0.0" - } - }, - "node_modules/builtins/node_modules/semver": { - "version": "7.7.3", - "dev": true, - "license": "ISC", - "peer": true, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/byte-length": { - "version": "1.0.2", - "license": "MIT" - }, - "node_modules/cacheable": { - "version": "2.3.0", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@cacheable/memory": "^2.0.6", - "@cacheable/utils": "^2.3.2", - "hookified": "^1.13.0", - "keyv": "^5.5.4", - "qified": "^0.5.2" - } - }, - "node_modules/cacheable/node_modules/keyv": { - "version": "5.5.5", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@keyv/serialize": "^1.1.1" - } - }, - "node_modules/call-bind": { - "version": "1.0.8", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bind-apply-helpers": "^1.0.0", - "es-define-property": "^1.0.0", - "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/call-bind-apply-helpers": { - "version": "1.0.2", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/call-bound": { - "version": "1.0.4", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "get-intrinsic": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/cancelable-promise": { - "version": "4.3.1", - "license": "MIT" - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001760", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "CC-BY-4.0", - "peer": true - }, - "node_modules/ccount": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", - "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/character-entities": { - "version": "2.0.2", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/character-entities-html4": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", - "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/character-entities-legacy": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", - "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/character-reference-invalid": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz", - "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/charenc": { - "version": "0.0.2", - "license": "BSD-3-Clause", - "engines": { - "node": "*" - } - }, - "node_modules/chokidar": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", - "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "readdirp": "^4.0.1" - }, - "engines": { - "node": ">= 14.16.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/clone": { - "version": "2.1.2", - "license": "MIT", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/colord": { - "version": "2.9.3", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/colorjs.io": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/colorjs.io/-/colorjs.io-0.5.2.tgz", - "integrity": "sha512-twmVoizEW7ylZSN32OgKdXRmo1qg+wT5/6C3xu5b9QsWzSFAhHLn2xd8ro0diCsKfCj1RdaTP/nrcW+vAoQPIw==", - "dev": true, - "license": "MIT" - }, - "node_modules/combined-stream": { - "version": "1.0.8", - "license": "MIT", - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/comma-separated-tokens": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", - "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/commander": { - "version": "2.20.3", - "dev": true, - "license": "MIT" - }, - "node_modules/comment-parser": { - "version": "1.4.1", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/concat-map": { - "version": "0.0.1", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/convert-source-map": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/core-js": { - "version": "3.47.0", - "hasInstallScript": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/cosmiconfig": { - "version": "9.0.0", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "env-paths": "^2.2.1", - "import-fresh": "^3.3.0", - "js-yaml": "^4.1.0", - "parse-json": "^5.2.0" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/d-fischer" - }, - "peerDependencies": { - "typescript": ">=4.9.5" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/crypt": { - "version": "0.0.2", - "license": "BSD-3-Clause", - "engines": { - "node": "*" - } - }, - "node_modules/css-functions-list": { - "version": "3.2.3", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=12 || >=16" - } - }, - "node_modules/css-tree": { - "version": "3.1.0", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "mdn-data": "2.12.2", - "source-map-js": "^1.0.1" - }, - "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" - } - }, - "node_modules/cssesc": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "peer": true, - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/csstype": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", - "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", - "license": "MIT" - }, - "node_modules/data-uri-to-buffer": { - "version": "4.0.1", - "license": "MIT", - "engines": { - "node": ">= 12" - } - }, - "node_modules/data-view-buffer": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/data-view-byte-length": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/inspect-js" - } - }, - "node_modules/data-view-byte-offset": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/date-fns": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.1.0.tgz", - "integrity": "sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/kossnocorp" - } - }, - "node_modules/debounce": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/debounce/-/debounce-3.0.0.tgz", - "integrity": "sha512-64byRbF0/AirwbuHqB3/ZpMG9/nckDa6ZA0yd6UnaQNwbbemCOwvz2sL5sjXLHhZHADyiwLm0M5qMhltUUx+TA==", - "license": "MIT", - "engines": { - "node": ">=20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/debug": { - "version": "4.4.3", - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/decode-named-character-reference": { - "version": "1.2.0", - "license": "MIT", - "dependencies": { - "character-entities": "^2.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/define-data-property": { - "version": "1.1.4", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/define-properties": { - "version": "1.2.1", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "define-data-property": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "license": "MIT", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/dequal": { - "version": "2.0.3", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/detect-libc": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", - "dev": true, - "license": "Apache-2.0", - "optional": true, - "bin": { - "detect-libc": "bin/detect-libc.js" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/devlop": { - "version": "1.1.0", - "license": "MIT", - "dependencies": { - "dequal": "^2.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/dir-glob": { - "version": "3.0.1", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/doctrine": { - "version": "3.0.0", - "dev": true, - "license": "Apache-2.0", - "peer": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/dom-serializer": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.2", - "entities": "^4.2.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" - } - }, - "node_modules/domelementtype": { - "version": "2.3.0", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "license": "BSD-2-Clause", - "peer": true - }, - "node_modules/domhandler": { - "version": "5.0.3", - "dev": true, - "license": "BSD-2-Clause", - "peer": true, - "dependencies": { - "domelementtype": "^2.3.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" - } - }, - "node_modules/dompurify": { - "version": "3.3.1", - "license": "(MPL-2.0 OR Apache-2.0)", - "optionalDependencies": { - "@types/trusted-types": "^2.0.7" - } - }, - "node_modules/domutils": { - "version": "3.2.2", - "dev": true, - "license": "BSD-2-Clause", - "peer": true, - "dependencies": { - "dom-serializer": "^2.0.0", - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, - "node_modules/dunder-proto": { - "version": "1.0.1", - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "es-errors": "^1.3.0", - "gopd": "^1.2.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/electron-to-chromium": { - "version": "1.5.267", - "dev": true, - "license": "ISC", - "peer": true - }, - "node_modules/emoji-mart-vue-fast": { - "version": "15.0.5", - "license": "BSD-3-Clause", - "dependencies": { - "@babel/runtime": "^7.18.6", - "core-js": "^3.23.5" - }, - "peerDependencies": { - "vue": ">2.0.0" - } - }, - "node_modules/emoji-regex": { - "version": "8.0.0", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/entities": { - "version": "4.5.0", - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/env-paths": { - "version": "2.2.1", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/error-ex": { - "version": "1.3.4", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/es-abstract": { - "version": "1.24.1", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "array-buffer-byte-length": "^1.0.2", - "arraybuffer.prototype.slice": "^1.0.4", - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "data-view-buffer": "^1.0.2", - "data-view-byte-length": "^1.0.2", - "data-view-byte-offset": "^1.0.1", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "es-set-tostringtag": "^2.1.0", - "es-to-primitive": "^1.3.0", - "function.prototype.name": "^1.1.8", - "get-intrinsic": "^1.3.0", - "get-proto": "^1.0.1", - "get-symbol-description": "^1.1.0", - "globalthis": "^1.0.4", - "gopd": "^1.2.0", - "has-property-descriptors": "^1.0.2", - "has-proto": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "internal-slot": "^1.1.0", - "is-array-buffer": "^3.0.5", - "is-callable": "^1.2.7", - "is-data-view": "^1.0.2", - "is-negative-zero": "^2.0.3", - "is-regex": "^1.2.1", - "is-set": "^2.0.3", - "is-shared-array-buffer": "^1.0.4", - "is-string": "^1.1.1", - "is-typed-array": "^1.1.15", - "is-weakref": "^1.1.1", - "math-intrinsics": "^1.1.0", - "object-inspect": "^1.13.4", - "object-keys": "^1.1.1", - "object.assign": "^4.1.7", - "own-keys": "^1.0.1", - "regexp.prototype.flags": "^1.5.4", - "safe-array-concat": "^1.1.3", - "safe-push-apply": "^1.0.0", - "safe-regex-test": "^1.1.0", - "set-proto": "^1.0.0", - "stop-iteration-iterator": "^1.1.0", - "string.prototype.trim": "^1.2.10", - "string.prototype.trimend": "^1.0.9", - "string.prototype.trimstart": "^1.0.8", - "typed-array-buffer": "^1.0.3", - "typed-array-byte-length": "^1.0.3", - "typed-array-byte-offset": "^1.0.4", - "typed-array-length": "^1.0.7", - "unbox-primitive": "^1.1.0", - "which-typed-array": "^1.1.19" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es-define-property": { - "version": "1.0.1", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-errors": { - "version": "1.3.0", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-object-atoms": { - "version": "1.1.1", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-set-tostringtag": { - "version": "2.1.0", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-shim-unscopables": { - "version": "1.1.0", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-to-primitive": { - "version": "1.3.0", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "is-callable": "^1.2.7", - "is-date-object": "^1.0.5", - "is-symbol": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/esbuild": { - "version": "0.25.12", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.25.12", - "@esbuild/android-arm": "0.25.12", - "@esbuild/android-arm64": "0.25.12", - "@esbuild/android-x64": "0.25.12", - "@esbuild/darwin-arm64": "0.25.12", - "@esbuild/darwin-x64": "0.25.12", - "@esbuild/freebsd-arm64": "0.25.12", - "@esbuild/freebsd-x64": "0.25.12", - "@esbuild/linux-arm": "0.25.12", - "@esbuild/linux-arm64": "0.25.12", - "@esbuild/linux-ia32": "0.25.12", - "@esbuild/linux-loong64": "0.25.12", - "@esbuild/linux-mips64el": "0.25.12", - "@esbuild/linux-ppc64": "0.25.12", - "@esbuild/linux-riscv64": "0.25.12", - "@esbuild/linux-s390x": "0.25.12", - "@esbuild/linux-x64": "0.25.12", - "@esbuild/netbsd-arm64": "0.25.12", - "@esbuild/netbsd-x64": "0.25.12", - "@esbuild/openbsd-arm64": "0.25.12", - "@esbuild/openbsd-x64": "0.25.12", - "@esbuild/openharmony-arm64": "0.25.12", - "@esbuild/sunos-x64": "0.25.12", - "@esbuild/win32-arm64": "0.25.12", - "@esbuild/win32-ia32": "0.25.12", - "@esbuild/win32-x64": "0.25.12" - } - }, - "node_modules/escalade": { - "version": "3.2.0", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-html": { - "version": "1.0.3", - "license": "MIT" - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint": { - "version": "8.57.1", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.57.1", - "@humanwhocodes/config-array": "^0.13.0", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "@ungap/structured-clone": "^1.2.0", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-compat-utils": { - "version": "0.5.1", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "semver": "^7.5.4" - }, - "engines": { - "node": ">=12" - }, - "peerDependencies": { - "eslint": ">=6.0.0" - } - }, - "node_modules/eslint-compat-utils/node_modules/semver": { - "version": "7.7.3", - "dev": true, - "license": "ISC", - "peer": true, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint-config-standard": { - "version": "17.1.0", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "peer": true, - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "eslint": "^8.0.1", - "eslint-plugin-import": "^2.25.2", - "eslint-plugin-n": "^15.0.0 || ^16.0.0 ", - "eslint-plugin-promise": "^6.0.0" - } - }, - "node_modules/eslint-import-resolver-exports": { - "version": "1.0.0-beta.5", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "resolve.exports": "^2.0.0" - }, - "peerDependencies": { - "eslint": "*", - "eslint-plugin-import": "*" - } - }, - "node_modules/eslint-import-resolver-node": { - "version": "0.3.9", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "debug": "^3.2.7", - "is-core-module": "^2.13.0", - "resolve": "^1.22.4" - } - }, - "node_modules/eslint-import-resolver-node/node_modules/debug": { - "version": "3.2.7", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-import-resolver-typescript": { - "version": "3.10.1", - "dev": true, - "license": "ISC", - "peer": true, - "dependencies": { - "@nolyfill/is-core-module": "1.0.39", - "debug": "^4.4.0", - "get-tsconfig": "^4.10.0", - "is-bun-module": "^2.0.0", - "stable-hash": "^0.0.5", - "tinyglobby": "^0.2.13", - "unrs-resolver": "^1.6.2" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint-import-resolver-typescript" - }, - "peerDependencies": { - "eslint": "*", - "eslint-plugin-import": "*", - "eslint-plugin-import-x": "*" - }, - "peerDependenciesMeta": { - "eslint-plugin-import": { - "optional": true - }, - "eslint-plugin-import-x": { - "optional": true - } - } - }, - "node_modules/eslint-module-utils": { - "version": "2.12.1", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "debug": "^3.2.7" - }, - "engines": { - "node": ">=4" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } - } - }, - "node_modules/eslint-module-utils/node_modules/debug": { - "version": "3.2.7", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-plugin-es-x": { - "version": "7.8.0", - "dev": true, - "funding": [ - "https://github.com/sponsors/ota-meshi", - "https://opencollective.com/eslint" - ], - "license": "MIT", - "peer": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.1.2", - "@eslint-community/regexpp": "^4.11.0", - "eslint-compat-utils": "^0.5.1" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "peerDependencies": { - "eslint": ">=8" - } - }, - "node_modules/eslint-plugin-import": { - "version": "2.32.0", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@rtsao/scc": "^1.1.0", - "array-includes": "^3.1.9", - "array.prototype.findlastindex": "^1.2.6", - "array.prototype.flat": "^1.3.3", - "array.prototype.flatmap": "^1.3.3", - "debug": "^3.2.7", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.9", - "eslint-module-utils": "^2.12.1", - "hasown": "^2.0.2", - "is-core-module": "^2.16.1", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.fromentries": "^2.0.8", - "object.groupby": "^1.0.3", - "object.values": "^1.2.1", - "semver": "^6.3.1", - "string.prototype.trimend": "^1.0.9", - "tsconfig-paths": "^3.15.0" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9" - } - }, - "node_modules/eslint-plugin-import/node_modules/brace-expansion": { - "version": "1.1.12", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/eslint-plugin-import/node_modules/debug": { - "version": "3.2.7", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-plugin-import/node_modules/doctrine": { - "version": "2.1.0", - "dev": true, - "license": "Apache-2.0", - "peer": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-plugin-import/node_modules/minimatch": { - "version": "3.1.2", - "dev": true, - "license": "ISC", - "peer": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/eslint-plugin-jsdoc": { - "version": "46.10.1", - "dev": true, - "license": "BSD-3-Clause", - "peer": true, - "dependencies": { - "@es-joy/jsdoccomment": "~0.41.0", - "are-docs-informative": "^0.0.2", - "comment-parser": "1.4.1", - "debug": "^4.3.4", - "escape-string-regexp": "^4.0.0", - "esquery": "^1.5.0", - "is-builtin-module": "^3.2.1", - "semver": "^7.5.4", - "spdx-expression-parse": "^4.0.0" - }, - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0 || ^9.0.0" - } - }, - "node_modules/eslint-plugin-jsdoc/node_modules/semver": { - "version": "7.7.3", - "dev": true, - "license": "ISC", - "peer": true, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint-plugin-n": { - "version": "16.6.2", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0", - "builtins": "^5.0.1", - "eslint-plugin-es-x": "^7.5.0", - "get-tsconfig": "^4.7.0", - "globals": "^13.24.0", - "ignore": "^5.2.4", - "is-builtin-module": "^3.2.1", - "is-core-module": "^2.12.1", - "minimatch": "^3.1.2", - "resolve": "^1.22.2", - "semver": "^7.5.3" - }, - "engines": { - "node": ">=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=7.0.0" - } - }, - "node_modules/eslint-plugin-n/node_modules/brace-expansion": { - "version": "1.1.12", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/eslint-plugin-n/node_modules/minimatch": { - "version": "3.1.2", - "dev": true, - "license": "ISC", - "peer": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/eslint-plugin-n/node_modules/semver": { - "version": "7.7.3", - "dev": true, - "license": "ISC", - "peer": true, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint-plugin-promise": { - "version": "6.6.0", - "dev": true, - "license": "ISC", - "peer": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - }, - "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0 || ^9.0.0" - } - }, - "node_modules/eslint-plugin-vue": { - "version": "9.33.0", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0", - "globals": "^13.24.0", - "natural-compare": "^1.4.0", - "nth-check": "^2.1.1", - "postcss-selector-parser": "^6.0.15", - "semver": "^7.6.3", - "vue-eslint-parser": "^9.4.3", - "xml-name-validator": "^4.0.0" - }, - "engines": { - "node": "^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "eslint": "^6.2.0 || ^7.0.0 || ^8.0.0 || ^9.0.0" - } - }, - "node_modules/eslint-plugin-vue/node_modules/semver": { - "version": "7.7.3", - "dev": true, - "license": "ISC", - "peer": true, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint-scope": { - "version": "5.1.1", - "dev": true, - "license": "BSD-2-Clause", - "peer": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "2.1.0", - "dev": true, - "license": "Apache-2.0", - "peer": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint/node_modules/brace-expansion": { - "version": "1.1.12", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/eslint/node_modules/eslint-scope": { - "version": "7.2.2", - "dev": true, - "license": "BSD-2-Clause", - "peer": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "dev": true, - "license": "Apache-2.0", - "peer": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint/node_modules/estraverse": { - "version": "5.3.0", - "dev": true, - "license": "BSD-2-Clause", - "peer": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/eslint/node_modules/minimatch": { - "version": "3.1.2", - "dev": true, - "license": "ISC", - "peer": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/espree": { - "version": "9.6.1", - "dev": true, - "license": "BSD-2-Clause", - "peer": true, - "dependencies": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/espree/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "dev": true, - "license": "Apache-2.0", - "peer": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esquery": { - "version": "1.6.0", - "dev": true, - "license": "BSD-3-Clause", - "peer": true, - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esquery/node_modules/estraverse": { - "version": "5.3.0", - "dev": true, - "license": "BSD-2-Clause", - "peer": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "dev": true, - "license": "BSD-2-Clause", - "peer": true, - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.3.0", - "dev": true, - "license": "BSD-2-Clause", - "peer": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "4.3.0", - "dev": true, - "license": "BSD-2-Clause", - "peer": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estree-util-is-identifier-name": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz", - "integrity": "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==", - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/estree-walker": { - "version": "2.0.2", - "license": "MIT" - }, - "node_modules/esutils": { - "version": "2.0.3", - "dev": true, - "license": "BSD-2-Clause", - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eventemitter3": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", - "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==", - "license": "MIT" - }, - "node_modules/extend": { - "version": "3.0.2", - "license": "MIT" - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/fast-glob": { - "version": "3.3.3", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.8" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "dev": true, - "license": "ISC", - "peer": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/fast-uri": { - "version": "3.1.0", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fastify" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/fastify" - } - ], - "license": "BSD-3-Clause", - "peer": true - }, - "node_modules/fast-xml-parser": { - "version": "4.5.3", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/NaturalIntelligence" - } - ], - "license": "MIT", - "dependencies": { - "strnum": "^1.1.1" - }, - "bin": { - "fxparser": "src/cli/cli.js" - } - }, - "node_modules/fastest-levenshtein": { - "version": "1.0.16", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">= 4.9.1" - } - }, - "node_modules/fastq": { - "version": "1.19.1", - "dev": true, - "license": "ISC", - "peer": true, - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/fdir": { - "version": "6.5.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "picomatch": "^3 || ^4" - }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } - } - }, - "node_modules/fetch-blob": { - "version": "3.2.0", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/jimmywarting" - }, - { - "type": "paypal", - "url": "https://paypal.me/jimmywarting" - } - ], - "license": "MIT", - "dependencies": { - "node-domexception": "^1.0.0", - "web-streams-polyfill": "^3.0.3" - }, - "engines": { - "node": "^12.20 || >= 14.13" - } - }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/fill-range": { - "version": "7.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "3.2.0", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.3", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/flatted": { - "version": "3.3.3", - "dev": true, - "license": "ISC", - "peer": true - }, - "node_modules/floating-vue": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/floating-vue/-/floating-vue-5.2.2.tgz", - "integrity": "sha512-afW+h2CFafo+7Y9Lvw/xsqjaQlKLdJV7h1fCHfcYQ1C4SVMlu7OAekqWgu5d4SgvkBVU0pVpLlVsrSTBURFRkg==", - "license": "MIT", - "dependencies": { - "@floating-ui/dom": "~1.1.1", - "vue-resize": "^2.0.0-alpha.1" - }, - "peerDependencies": { - "@nuxt/kit": "^3.2.0", - "vue": "^3.2.0" - }, - "peerDependenciesMeta": { - "@nuxt/kit": { - "optional": true - } - } - }, - "node_modules/floating-vue/node_modules/@floating-ui/dom": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.1.1.tgz", - "integrity": "sha512-TpIO93+DIujg3g7SykEAGZMDtbJRrmnYRCNYSjJlvIbGhBjRSNTLVbNeDQBrzy9qDgUbiWdc7KA0uZHZ2tJmiw==", - "license": "MIT", - "dependencies": { - "@floating-ui/core": "^1.1.0" - } - }, - "node_modules/focus-trap": { - "version": "7.8.0", - "resolved": "https://registry.npmjs.org/focus-trap/-/focus-trap-7.8.0.tgz", - "integrity": "sha512-/yNdlIkpWbM0ptxno3ONTuf+2g318kh2ez3KSeZN5dZ8YC6AAmgeWz+GasYYiBJPFaYcSAPeu4GfhUaChzIJXA==", - "license": "MIT", - "dependencies": { - "tabbable": "^6.4.0" - } - }, - "node_modules/follow-redirects": { - "version": "1.15.11", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "license": "MIT", - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/for-each": { - "version": "0.3.5", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "is-callable": "^1.2.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/form-data": { - "version": "4.0.5", - "license": "MIT", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "es-set-tostringtag": "^2.1.0", - "hasown": "^2.0.2", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/formdata-polyfill": { - "version": "4.0.10", - "license": "MIT", - "dependencies": { - "fetch-blob": "^3.1.2" - }, - "engines": { - "node": ">=12.20.0" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "dev": true, - "license": "ISC", - "peer": true - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.2", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/function.prototype.name": { - "version": "1.1.8", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "functions-have-names": "^1.2.3", - "hasown": "^2.0.2", - "is-callable": "^1.2.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/functions-have-names": { - "version": "1.2.3", - "dev": true, - "license": "MIT", - "peer": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/generator-function": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/get-intrinsic": { - "version": "1.3.0", - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "function-bind": "^1.1.2", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "math-intrinsics": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-proto": { - "version": "1.0.1", - "license": "MIT", - "dependencies": { - "dunder-proto": "^1.0.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/get-symbol-description": { - "version": "1.1.0", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-tsconfig": { - "version": "4.13.0", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "resolve-pkg-maps": "^1.0.0" - }, - "funding": { - "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" - } - }, - "node_modules/glob": { - "version": "7.2.3", - "dev": true, - "license": "ISC", - "peer": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "dev": true, - "license": "ISC", - "peer": true, - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/glob/node_modules/brace-expansion": { - "version": "1.1.12", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/glob/node_modules/minimatch": { - "version": "3.1.2", - "dev": true, - "license": "ISC", - "peer": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/global-modules": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "global-prefix": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/global-prefix": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "ini": "^1.3.5", - "kind-of": "^6.0.2", - "which": "^1.3.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/global-prefix/node_modules/which": { - "version": "1.3.1", - "dev": true, - "license": "ISC", - "peer": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, - "node_modules/globals": { - "version": "13.24.0", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globalthis": { - "version": "1.0.4", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "define-properties": "^1.2.1", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/globby": { - "version": "11.1.0", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globjoin": { - "version": "0.1.4", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/gopd": { - "version": "1.2.0", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/graphemer": { - "version": "1.4.0", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/has-bigints": { - "version": "1.1.0", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/has-property-descriptors": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "es-define-property": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-proto": { - "version": "1.2.0", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "dunder-proto": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.1.0", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.2", - "license": "MIT", - "dependencies": { - "has-symbols": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/hashery": { - "version": "1.3.0", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "hookified": "^1.13.0" - }, - "engines": { - "node": ">=20" - } - }, - "node_modules/hasown": { - "version": "2.0.2", - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/hast-util-is-element": { - "version": "3.0.0", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-to-jsx-runtime": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.6.tgz", - "integrity": "sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "@types/hast": "^3.0.0", - "@types/unist": "^3.0.0", - "comma-separated-tokens": "^2.0.0", - "devlop": "^1.0.0", - "estree-util-is-identifier-name": "^3.0.0", - "hast-util-whitespace": "^3.0.0", - "mdast-util-mdx-expression": "^2.0.0", - "mdast-util-mdx-jsx": "^3.0.0", - "mdast-util-mdxjs-esm": "^2.0.0", - "property-information": "^7.0.0", - "space-separated-tokens": "^2.0.0", - "style-to-js": "^1.0.0", - "unist-util-position": "^5.0.0", - "vfile-message": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-to-text": { - "version": "4.0.2", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/unist": "^3.0.0", - "hast-util-is-element": "^3.0.0", - "unist-util-find-after": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-whitespace": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", - "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/highlight.js": { - "version": "11.11.1", - "license": "BSD-3-Clause", - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/hookified": { - "version": "1.14.0", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/hot-patcher": { - "version": "2.0.1", - "license": "MIT" - }, - "node_modules/html-tags": { - "version": "3.3.1", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/htmlparser2": { - "version": "8.0.2", - "dev": true, - "funding": [ - "https://github.com/fb55/htmlparser2?sponsor=1", - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "license": "MIT", - "peer": true, - "dependencies": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3", - "domutils": "^3.0.1", - "entities": "^4.4.0" - } - }, - "node_modules/ignore": { - "version": "5.3.2", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/immutable": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.4.tgz", - "integrity": "sha512-p6u1bG3YSnINT5RQmx/yRZBpenIl30kVxkTLDyHLIMk0gict704Q9n+thfDI7lTRm9vXdDYutVzXhzcThxTnXA==", - "dev": true, - "license": "MIT" - }, - "node_modules/import-fresh": { - "version": "3.3.1", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "dev": true, - "license": "ISC", - "peer": true, - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "dev": true, - "license": "ISC", - "peer": true - }, - "node_modules/ini": { - "version": "1.3.8", - "dev": true, - "license": "ISC", - "peer": true - }, - "node_modules/inline-style-parser": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.7.tgz", - "integrity": "sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA==", - "license": "MIT" - }, - "node_modules/internal-slot": { - "version": "1.1.0", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "es-errors": "^1.3.0", - "hasown": "^2.0.2", - "side-channel": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/is-absolute-url": { - "version": "4.0.1", - "license": "MIT", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-alphabetical": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", - "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-alphanumerical": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz", - "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==", - "license": "MIT", - "dependencies": { - "is-alphabetical": "^2.0.0", - "is-decimal": "^2.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-array-buffer": { - "version": "3.0.5", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "get-intrinsic": "^1.2.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/is-async-function": { - "version": "2.1.1", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "async-function": "^1.0.0", - "call-bound": "^1.0.3", - "get-proto": "^1.0.1", - "has-tostringtag": "^1.0.2", - "safe-regex-test": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-bigint": { - "version": "1.1.0", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "has-bigints": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-boolean-object": { - "version": "1.2.2", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bound": "^1.0.3", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-buffer": { - "version": "1.1.6", - "license": "MIT" - }, - "node_modules/is-builtin-module": { - "version": "3.2.1", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "builtin-modules": "^3.3.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-bun-module": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "semver": "^7.7.1" - } - }, - "node_modules/is-bun-module/node_modules/semver": { - "version": "7.7.3", - "dev": true, - "license": "ISC", - "peer": true, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/is-callable": { - "version": "1.2.7", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-core-module": { - "version": "2.16.1", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-data-view": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bound": "^1.0.2", - "get-intrinsic": "^1.2.6", - "is-typed-array": "^1.1.13" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-date-object": { - "version": "1.1.0", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bound": "^1.0.2", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-decimal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz", - "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-finalizationregistry": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bound": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-generator-function": { - "version": "1.1.2", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bound": "^1.0.4", - "generator-function": "^2.0.0", - "get-proto": "^1.0.1", - "has-tostringtag": "^1.0.2", - "safe-regex-test": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-hexadecimal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", - "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-map": { - "version": "2.0.3", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-negative-zero": { - "version": "2.0.3", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-number-object": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bound": "^1.0.3", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-plain-obj": { - "version": "4.1.0", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-plain-object": { - "version": "5.0.0", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-regex": { - "version": "1.2.1", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bound": "^1.0.2", - "gopd": "^1.2.0", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-set": { - "version": "2.0.3", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.4", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bound": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-string": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bound": "^1.0.3", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-svg": { - "version": "6.1.0", - "license": "MIT", - "dependencies": { - "@file-type/xml": "^0.4.3" - }, - "engines": { - "node": ">=20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-symbol": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bound": "^1.0.2", - "has-symbols": "^1.1.0", - "safe-regex-test": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typed-array": { - "version": "1.1.15", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "which-typed-array": "^1.1.16" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakmap": { - "version": "2.0.2", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakref": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bound": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakset": { - "version": "2.0.4", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bound": "^1.0.3", - "get-intrinsic": "^1.2.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/isarray": { - "version": "2.0.5", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/isexe": { - "version": "2.0.0", - "dev": true, - "license": "ISC", - "peer": true - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/js-yaml": { - "version": "4.1.1", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsdoc-type-pratt-parser": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/jsesc": { - "version": "3.1.0", - "dev": true, - "license": "MIT", - "peer": true, - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/json5": { - "version": "2.2.3", - "dev": true, - "license": "MIT", - "peer": true, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/keyv": { - "version": "4.5.4", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/kind-of": { - "version": "6.0.3", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/known-css-properties": { - "version": "0.37.0", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/layerr": { - "version": "3.0.0", - "license": "MIT" - }, - "node_modules/levn": { - "version": "0.4.1", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/linkify-it": { - "version": "5.0.0", - "license": "MIT", - "dependencies": { - "uc.micro": "^2.0.0" - } - }, - "node_modules/linkifyjs": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/linkifyjs/-/linkifyjs-4.3.2.tgz", - "integrity": "sha512-NT1CJtq3hHIreOianA8aSXn6Cw0JzYOuDQbOrSPe7gqFnCpKP++MQe3ODgO3oh2GJFORkAAdqredOa60z63GbA==", - "license": "MIT" - }, - "node_modules/locate-path": { - "version": "6.0.0", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lodash": { - "version": "4.17.21", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/lodash.truncate": { - "version": "4.4.2", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/longest-streak": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", - "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/lowlight": { - "version": "3.3.0", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "devlop": "^1.0.0", - "highlight.js": "~11.11.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/lru-cache": { - "version": "5.1.1", - "dev": true, - "license": "ISC", - "peer": true, - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/magic-string": { - "version": "0.30.21", - "license": "MIT", - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.5" - } - }, - "node_modules/markdown-it": { - "version": "14.1.0", - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1", - "entities": "^4.4.0", - "linkify-it": "^5.0.0", - "mdurl": "^2.0.0", - "punycode.js": "^2.3.1", - "uc.micro": "^2.1.0" - }, - "bin": { - "markdown-it": "bin/markdown-it.mjs" - } - }, - "node_modules/material-colors": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/material-colors/-/material-colors-1.2.6.tgz", - "integrity": "sha512-6qE4B9deFBIa9YSpOc9O0Sgc43zTeVYbgDT5veRKSlB2+ZuHNoVVxA1L/ckMUayV9Ay9y7Z/SZCLcGteW9i7bg==", - "license": "ISC" - }, - "node_modules/math-intrinsics": { - "version": "1.1.0", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/mathml-tag-names": { - "version": "2.1.3", - "dev": true, - "license": "MIT", - "peer": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/md5": { - "version": "2.3.0", - "license": "BSD-3-Clause", - "dependencies": { - "charenc": "0.0.2", - "crypt": "0.0.2", - "is-buffer": "~1.1.6" - } - }, - "node_modules/mdast-squeeze-paragraphs": { - "version": "6.0.0", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "unist-util-visit": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-find-and-replace": { - "version": "3.0.2", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "escape-string-regexp": "^5.0.0", - "unist-util-is": "^6.0.0", - "unist-util-visit-parents": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-find-and-replace/node_modules/escape-string-regexp": { - "version": "5.0.0", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/mdast-util-from-markdown": { - "version": "2.0.2", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "@types/unist": "^3.0.0", - "decode-named-character-reference": "^1.0.0", - "devlop": "^1.0.0", - "mdast-util-to-string": "^4.0.0", - "micromark": "^4.0.0", - "micromark-util-decode-numeric-character-reference": "^2.0.0", - "micromark-util-decode-string": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0", - "unist-util-stringify-position": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-mdx-expression": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.1.tgz", - "integrity": "sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==", - "license": "MIT", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "devlop": "^1.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-mdx-jsx": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.2.0.tgz", - "integrity": "sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==", - "license": "MIT", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "@types/unist": "^3.0.0", - "ccount": "^2.0.0", - "devlop": "^1.1.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0", - "parse-entities": "^4.0.0", - "stringify-entities": "^4.0.0", - "unist-util-stringify-position": "^4.0.0", - "vfile-message": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-mdxjs-esm": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz", - "integrity": "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==", - "license": "MIT", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "devlop": "^1.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-newline-to-break": { - "version": "2.0.0", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-find-and-replace": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-phrasing": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", - "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "unist-util-is": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-hast": { - "version": "13.2.1", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "@ungap/structured-clone": "^1.0.0", - "devlop": "^1.0.0", - "micromark-util-sanitize-uri": "^2.0.0", - "trim-lines": "^3.0.0", - "unist-util-position": "^5.0.0", - "unist-util-visit": "^5.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-markdown": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz", - "integrity": "sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "@types/unist": "^3.0.0", - "longest-streak": "^3.0.0", - "mdast-util-phrasing": "^4.0.0", - "mdast-util-to-string": "^4.0.0", - "micromark-util-classify-character": "^2.0.0", - "micromark-util-decode-string": "^2.0.0", - "unist-util-visit": "^5.0.0", - "zwitch": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-string": { - "version": "4.0.0", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdn-data": { - "version": "2.12.2", - "dev": true, - "license": "CC0-1.0", - "peer": true - }, - "node_modules/mdurl": { - "version": "2.0.0", - "license": "MIT" - }, - "node_modules/meow": { - "version": "13.2.0", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/merge2": { - "version": "1.4.1", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/micromark": { - "version": "4.0.2", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "@types/debug": "^4.0.0", - "debug": "^4.0.0", - "decode-named-character-reference": "^1.0.0", - "devlop": "^1.0.0", - "micromark-core-commonmark": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-combine-extensions": "^2.0.0", - "micromark-util-decode-numeric-character-reference": "^2.0.0", - "micromark-util-encode": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-resolve-all": "^2.0.0", - "micromark-util-sanitize-uri": "^2.0.0", - "micromark-util-subtokenize": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-core-commonmark": { - "version": "2.0.3", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "decode-named-character-reference": "^1.0.0", - "devlop": "^1.0.0", - "micromark-factory-destination": "^2.0.0", - "micromark-factory-label": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-factory-title": "^2.0.0", - "micromark-factory-whitespace": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-classify-character": "^2.0.0", - "micromark-util-html-tag-name": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-resolve-all": "^2.0.0", - "micromark-util-subtokenize": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-destination": { - "version": "2.0.1", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-label": { - "version": "2.0.1", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "devlop": "^1.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-space": { - "version": "2.0.1", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-title": { - "version": "2.0.1", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-whitespace": { - "version": "2.0.1", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-character": { - "version": "2.1.1", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-chunked": { - "version": "2.0.1", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/micromark-util-classify-character": { - "version": "2.0.1", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-combine-extensions": { - "version": "2.0.1", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-chunked": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-decode-numeric-character-reference": { - "version": "2.0.2", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/micromark-util-decode-string": { - "version": "2.0.1", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "decode-named-character-reference": "^1.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-decode-numeric-character-reference": "^2.0.0", - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/micromark-util-encode": { - "version": "2.0.1", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-util-html-tag-name": { - "version": "2.0.1", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-util-normalize-identifier": { - "version": "2.0.1", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/micromark-util-resolve-all": { - "version": "2.0.1", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-sanitize-uri": { - "version": "2.0.1", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-encode": "^2.0.0", - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/micromark-util-subtokenize": { - "version": "2.1.0", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "devlop": "^1.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-symbol": { - "version": "2.0.1", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-util-types": { - "version": "2.0.2", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromatch": { - "version": "4.0.8", - "dev": true, - "license": "MIT", - "dependencies": { - "braces": "^3.0.3", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/micromatch/node_modules/picomatch": { - "version": "2.3.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/mime-db": { - "version": "1.52.0", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "license": "MIT", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/minimatch": { - "version": "9.0.5", - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/minimist": { - "version": "1.2.8", - "dev": true, - "license": "MIT", - "peer": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "license": "MIT" - }, - "node_modules/nanoid": { - "version": "3.3.11", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/napi-postinstall": { - "version": "0.3.4", - "dev": true, - "license": "MIT", - "peer": true, - "bin": { - "napi-postinstall": "lib/cli.js" - }, - "engines": { - "node": "^12.20.0 || ^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/napi-postinstall" - } - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/nested-property": { - "version": "4.0.0", - "license": "MIT" - }, - "node_modules/node-addon-api": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", - "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", - "dev": true, - "license": "MIT", - "optional": true - }, - "node_modules/node-domexception": { - "version": "1.0.0", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/jimmywarting" - }, - { - "type": "github", - "url": "https://paypal.me/jimmywarting" - } - ], - "license": "MIT", - "engines": { - "node": ">=10.5.0" - } - }, - "node_modules/node-fetch": { - "version": "3.3.2", - "license": "MIT", - "dependencies": { - "data-uri-to-buffer": "^4.0.0", - "fetch-blob": "^3.1.4", - "formdata-polyfill": "^4.0.10" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/node-fetch" - } - }, - "node_modules/node-releases": { - "version": "2.0.27", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/nth-check": { - "version": "2.1.1", - "dev": true, - "license": "BSD-2-Clause", - "peer": true, - "dependencies": { - "boolbase": "^1.0.0" - }, - "funding": { - "url": "https://github.com/fb55/nth-check?sponsor=1" - } - }, - "node_modules/object-inspect": { - "version": "1.13.4", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-keys": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.assign": { - "version": "4.1.7", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0", - "has-symbols": "^1.1.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.fromentries": { - "version": "2.0.8", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.groupby": { - "version": "1.0.3", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.values": { - "version": "1.2.1", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/once": { - "version": "1.4.0", - "dev": true, - "license": "ISC", - "peer": true, - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/optionator": { - "version": "0.9.4", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/own-keys": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "get-intrinsic": "^1.2.6", - "object-keys": "^1.1.1", - "safe-push-apply": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-queue": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-9.1.0.tgz", - "integrity": "sha512-O/ZPaXuQV29uSLbxWBGGZO1mCQXV2BLIwUr59JUU9SoH76mnYvtms7aafH/isNSNGwuEfP6W/4xD0/TJXxrizw==", - "license": "MIT", - "dependencies": { - "eventemitter3": "^5.0.1", - "p-timeout": "^7.0.0" - }, - "engines": { - "node": ">=20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-timeout": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-7.0.1.tgz", - "integrity": "sha512-AxTM2wDGORHGEkPCt8yqxOTMgpfbEHqF51f/5fJCmwFC3C/zNcGT63SymH2ttOAaiIws2zVg4+izQCjrakcwHg==", - "license": "MIT", - "engines": { - "node": ">=20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse-entities": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.2.tgz", - "integrity": "sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==", - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "character-entities-legacy": "^3.0.0", - "character-reference-invalid": "^2.0.0", - "decode-named-character-reference": "^1.0.0", - "is-alphanumerical": "^2.0.0", - "is-decimal": "^2.0.0", - "is-hexadecimal": "^2.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/parse-entities/node_modules/@types/unist": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", - "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==", - "license": "MIT" - }, - "node_modules/parse-json": { - "version": "5.2.0", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/path-posix": { - "version": "1.0.0", - "license": "ISC" - }, - "node_modules/path-type": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/picocolors": { - "version": "1.1.1", - "license": "ISC" - }, - "node_modules/picomatch": { - "version": "4.0.3", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/plotly.js-dist-min": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/plotly.js-dist-min/-/plotly.js-dist-min-3.3.1.tgz", - "integrity": "sha512-ZxKM9DlEoEF3wBzGRPGHt6gWTJrm5N81J9AgX9UBX/Qjc9L4lRxtPBPq+RmBJWoA71j1X5Z1ouuguLkdoo88tg==", - "license": "MIT" - }, - "node_modules/possible-typed-array-names": { - "version": "1.1.0", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/postcss": { - "version": "8.5.6", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "nanoid": "^3.3.11", - "picocolors": "^1.1.1", - "source-map-js": "^1.2.1" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/postcss-html": { - "version": "1.8.0", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "htmlparser2": "^8.0.0", - "js-tokens": "^9.0.0", - "postcss": "^8.5.0", - "postcss-safe-parser": "^6.0.0" - }, - "engines": { - "node": "^12 || >=14" - } - }, - "node_modules/postcss-html/node_modules/js-tokens": { - "version": "9.0.1", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/postcss-media-query-parser": { - "version": "0.2.3", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/postcss-resolve-nested-selector": { - "version": "0.1.6", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/postcss-safe-parser": { - "version": "6.0.0", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": "^8.3.3" - } - }, - "node_modules/postcss-scss": { - "version": "4.0.9", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss-scss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "peer": true, - "engines": { - "node": ">=12.0" - }, - "peerDependencies": { - "postcss": "^8.4.29" - } - }, - "node_modules/postcss-selector-parser": { - "version": "6.1.2", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-value-parser": { - "version": "4.2.0", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/property-information": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.1.0.tgz", - "integrity": "sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/proxy-from-env": { - "version": "1.1.0", - "license": "MIT" - }, - "node_modules/punycode": { - "version": "2.3.1", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/punycode.js": { - "version": "2.3.1", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/qified": { - "version": "0.5.3", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "hookified": "^1.13.0" - }, - "engines": { - "node": ">=20" - } - }, - "node_modules/querystringify": { - "version": "2.2.0", - "license": "MIT" - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "peer": true - }, - "node_modules/readdirp": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", - "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", - "dev": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">= 14.18.0" - }, - "funding": { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/reflect.getprototypeof": { - "version": "1.0.10", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.9", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.7", - "get-proto": "^1.0.1", - "which-builtin-type": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/regexp.prototype.flags": { - "version": "1.5.4", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-errors": "^1.3.0", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "set-function-name": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/rehype-external-links": { - "version": "3.0.0", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "@ungap/structured-clone": "^1.0.0", - "hast-util-is-element": "^3.0.0", - "is-absolute-url": "^4.0.0", - "space-separated-tokens": "^2.0.0", - "unist-util-visit": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/rehype-highlight": { - "version": "7.0.2", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "hast-util-to-text": "^4.0.0", - "lowlight": "^3.0.0", - "unist-util-visit": "^5.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/rehype-react": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/rehype-react/-/rehype-react-8.0.0.tgz", - "integrity": "sha512-vzo0YxYbB2HE+36+9HWXVdxNoNDubx63r5LBzpxBGVWM8s9mdnMdbmuJBAX6TTyuGdZjZix6qU3GcSuKCIWivw==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "hast-util-to-jsx-runtime": "^2.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-breaks": { - "version": "4.0.0", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-newline-to-break": "^2.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-parse": { - "version": "11.0.0", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-from-markdown": "^2.0.0", - "micromark-util-types": "^2.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-rehype": { - "version": "11.1.2", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "mdast-util-to-hast": "^13.0.0", - "unified": "^11.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-unlink-protocols": { - "version": "1.0.0", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-squeeze-paragraphs": "^6.0.0", - "unist-util-visit": "^5.0.0" - } - }, - "node_modules/require-from-string": { - "version": "2.0.2", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/requireindex": { - "version": "1.2.0", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=0.10.5" - } - }, - "node_modules/requires-port": { - "version": "1.0.0", - "license": "MIT" - }, - "node_modules/resolve": { - "version": "1.22.11", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "is-core-module": "^2.16.1", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/resolve-pkg-maps": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "peer": true, - "funding": { - "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" - } - }, - "node_modules/resolve.exports": { - "version": "2.0.3", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/reusify": { - "version": "1.1.0", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "dev": true, - "license": "ISC", - "peer": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/rollup": { - "version": "4.53.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree": "1.0.8" - }, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.53.3", - "@rollup/rollup-android-arm64": "4.53.3", - "@rollup/rollup-darwin-arm64": "4.53.3", - "@rollup/rollup-darwin-x64": "4.53.3", - "@rollup/rollup-freebsd-arm64": "4.53.3", - "@rollup/rollup-freebsd-x64": "4.53.3", - "@rollup/rollup-linux-arm-gnueabihf": "4.53.3", - "@rollup/rollup-linux-arm-musleabihf": "4.53.3", - "@rollup/rollup-linux-arm64-gnu": "4.53.3", - "@rollup/rollup-linux-arm64-musl": "4.53.3", - "@rollup/rollup-linux-loong64-gnu": "4.53.3", - "@rollup/rollup-linux-ppc64-gnu": "4.53.3", - "@rollup/rollup-linux-riscv64-gnu": "4.53.3", - "@rollup/rollup-linux-riscv64-musl": "4.53.3", - "@rollup/rollup-linux-s390x-gnu": "4.53.3", - "@rollup/rollup-linux-x64-gnu": "4.53.3", - "@rollup/rollup-linux-x64-musl": "4.53.3", - "@rollup/rollup-openharmony-arm64": "4.53.3", - "@rollup/rollup-win32-arm64-msvc": "4.53.3", - "@rollup/rollup-win32-ia32-msvc": "4.53.3", - "@rollup/rollup-win32-x64-gnu": "4.53.3", - "@rollup/rollup-win32-x64-msvc": "4.53.3", - "fsevents": "~2.3.2" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "peer": true, - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/rxjs": { - "version": "7.8.2", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz", - "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.1.0" - } - }, - "node_modules/safe-array-concat": { - "version": "1.1.3", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "get-intrinsic": "^1.2.6", - "has-symbols": "^1.1.0", - "isarray": "^2.0.5" - }, - "engines": { - "node": ">=0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safe-push-apply": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "es-errors": "^1.3.0", - "isarray": "^2.0.5" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safe-regex-test": { - "version": "1.1.0", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "is-regex": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/sass": { - "version": "1.97.1", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.97.1.tgz", - "integrity": "sha512-uf6HoO8fy6ClsrShvMgaKUn14f2EHQLQRtpsZZLeU/Mv0Q1K5P0+x2uvH6Cub39TVVbWNSrraUhDAoFph6vh0A==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "chokidar": "^4.0.0", - "immutable": "^5.0.2", - "source-map-js": ">=0.6.2 <2.0.0" - }, - "bin": { - "sass": "sass.js" - }, - "engines": { - "node": ">=14.0.0" - }, - "optionalDependencies": { - "@parcel/watcher": "^2.4.1" - } - }, - "node_modules/sass-embedded": { - "version": "1.97.1", - "resolved": "https://registry.npmjs.org/sass-embedded/-/sass-embedded-1.97.1.tgz", - "integrity": "sha512-wH3CbOThHYGX0bUyqFf7laLKyhVWIFc2lHynitkqMIUCtX2ixH9mQh0bN7+hkUu5BFt/SXvEMjFbkEbBMpQiSQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@bufbuild/protobuf": "^2.5.0", - "buffer-builder": "^0.2.0", - "colorjs.io": "^0.5.0", - "immutable": "^5.0.2", - "rxjs": "^7.4.0", - "supports-color": "^8.1.1", - "sync-child-process": "^1.0.2", - "varint": "^6.0.0" - }, - "bin": { - "sass": "dist/bin/sass.js" - }, - "engines": { - "node": ">=16.0.0" - }, - "optionalDependencies": { - "sass-embedded-all-unknown": "1.97.1", - "sass-embedded-android-arm": "1.97.1", - "sass-embedded-android-arm64": "1.97.1", - "sass-embedded-android-riscv64": "1.97.1", - "sass-embedded-android-x64": "1.97.1", - "sass-embedded-darwin-arm64": "1.97.1", - "sass-embedded-darwin-x64": "1.97.1", - "sass-embedded-linux-arm": "1.97.1", - "sass-embedded-linux-arm64": "1.97.1", - "sass-embedded-linux-musl-arm": "1.97.1", - "sass-embedded-linux-musl-arm64": "1.97.1", - "sass-embedded-linux-musl-riscv64": "1.97.1", - "sass-embedded-linux-musl-x64": "1.97.1", - "sass-embedded-linux-riscv64": "1.97.1", - "sass-embedded-linux-x64": "1.97.1", - "sass-embedded-unknown-all": "1.97.1", - "sass-embedded-win32-arm64": "1.97.1", - "sass-embedded-win32-x64": "1.97.1" - } - }, - "node_modules/sass-embedded-all-unknown": { - "version": "1.97.1", - "resolved": "https://registry.npmjs.org/sass-embedded-all-unknown/-/sass-embedded-all-unknown-1.97.1.tgz", - "integrity": "sha512-0au5gUNibfob7W/g+ycBx74O22CL8vwHiZdEDY6J0uzMkHPiSJk//h0iRf5AUnMArFHJjFd3urIiQIaoRKYa1Q==", - "cpu": [ - "!arm", - "!arm64", - "!riscv64", - "!x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "sass": "1.97.1" - } - }, - "node_modules/sass-embedded-android-arm": { - "version": "1.97.1", - "resolved": "https://registry.npmjs.org/sass-embedded-android-arm/-/sass-embedded-android-arm-1.97.1.tgz", - "integrity": "sha512-B5dlv4utJ+yC8ZpBeWTHwSZPVKRlqA8pcaD0FAzeNm/DelIFgQUQtt0UwgYoAI6wDIiie5uSVpMK9l2DaCbiBQ==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/sass-embedded-android-arm64": { - "version": "1.97.1", - "resolved": "https://registry.npmjs.org/sass-embedded-android-arm64/-/sass-embedded-android-arm64-1.97.1.tgz", - "integrity": "sha512-h62DmOiS2Jn87s8+8GhJcMerJnTKa1IsIa9iIKjLiqbAvBDKCGUs027RugZkM+Zx7I+vhPq86PUXBYZ9EkRxdw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/sass-embedded-android-riscv64": { - "version": "1.97.1", - "resolved": "https://registry.npmjs.org/sass-embedded-android-riscv64/-/sass-embedded-android-riscv64-1.97.1.tgz", - "integrity": "sha512-tGup88vgaXPnUHEgDMujrt5rfYadvkiVjRb/45FJTx2hQFoGVbmUXz5XqUFjIIbEjQ3kAJqp86A2jy11s43UiQ==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/sass-embedded-android-x64": { - "version": "1.97.1", - "resolved": "https://registry.npmjs.org/sass-embedded-android-x64/-/sass-embedded-android-x64-1.97.1.tgz", - "integrity": "sha512-CAzKjjzu90LZduye2O9+UGX1oScMyF5/RVOa5CxACKALeIS+3XL3LVdV47kwKPoBv5B1aFUvGLscY0CR7jBAbg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/sass-embedded-darwin-arm64": { - "version": "1.97.1", - "resolved": "https://registry.npmjs.org/sass-embedded-darwin-arm64/-/sass-embedded-darwin-arm64-1.97.1.tgz", - "integrity": "sha512-tyDzspzh5PbqdAFGtVKUXuf0up6Lff3c1U8J7+4Y7jW6AWRBnq95vTzIIxfnNifGCTI2fW5e7GAZpYygKpNwcw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/sass-embedded-darwin-x64": { - "version": "1.97.1", - "resolved": "https://registry.npmjs.org/sass-embedded-darwin-x64/-/sass-embedded-darwin-x64-1.97.1.tgz", - "integrity": "sha512-FMrRuSPI2ICt2M2SYaLbiG4yxn86D6ae+XtrRdrrBMhWprAcB7Iyu67bgRzZkipMZNIKKeTR7EUvJHgZzi5ixQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/sass-embedded-linux-arm": { - "version": "1.97.1", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-arm/-/sass-embedded-linux-arm-1.97.1.tgz", - "integrity": "sha512-48VxaTUApLyx1NXFdZhKqI/7FYLmz8Ju3Ki2V/p+mhn5raHgAiYeFgn8O1WGxTOh+hBb9y3FdSR5a8MNTbmKMQ==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/sass-embedded-linux-arm64": { - "version": "1.97.1", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-arm64/-/sass-embedded-linux-arm64-1.97.1.tgz", - "integrity": "sha512-im80gfDWRivw9Su3r3YaZmJaCATcJgu3CsCSLodPk1b1R2+X/E12zEQayvrl05EGT9PDwTtuiqKgS4ND4xjwVg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/sass-embedded-linux-musl-arm": { - "version": "1.97.1", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-arm/-/sass-embedded-linux-musl-arm-1.97.1.tgz", - "integrity": "sha512-FUFs466t3PVViVOKY/60JgLLtl61Pf7OW+g5BeEfuqVcSvYUECVHeiYHtX1fT78PEVa0h9tHpM6XpWti+7WYFA==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/sass-embedded-linux-musl-arm64": { - "version": "1.97.1", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-arm64/-/sass-embedded-linux-musl-arm64-1.97.1.tgz", - "integrity": "sha512-kD35WSD9o0279Ptwid3Jnbovo1FYnuG2mayYk9z4ZI4mweXEK6vTu+tlvCE/MdF/zFKSj11qaxaH+uzXe2cO5A==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/sass-embedded-linux-musl-riscv64": { - "version": "1.97.1", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-riscv64/-/sass-embedded-linux-musl-riscv64-1.97.1.tgz", - "integrity": "sha512-ZgpYps5YHuhA2+KiLkPukRbS5298QObgUhPll/gm5i0LOZleKCwrFELpVPcbhsSBuxqji2uaag5OL+n3JRBVVg==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/sass-embedded-linux-musl-x64": { - "version": "1.97.1", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-x64/-/sass-embedded-linux-musl-x64-1.97.1.tgz", - "integrity": "sha512-wcAigOyyvZ6o1zVypWV7QLZqpOEVnlBqJr9MbpnRIm74qFTSbAEmShoh8yMXBymzuVSmEbThxAwW01/TLf62tA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/sass-embedded-linux-riscv64": { - "version": "1.97.1", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-riscv64/-/sass-embedded-linux-riscv64-1.97.1.tgz", - "integrity": "sha512-9j1qE1ZrLMuGb+LUmBzw93Z4TNfqlRkkxjPVZy6u5vIggeSfvGbte7eRoYBNWX6SFew/yBCL90KXIirWFSGrlQ==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/sass-embedded-linux-x64": { - "version": "1.97.1", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-x64/-/sass-embedded-linux-x64-1.97.1.tgz", - "integrity": "sha512-7nrLFYMH/UgvEgXR5JxQJ6y9N4IJmnFnYoDxN0nw0jUp+CQWQL4EJ4RqAKTGelneueRbccvt2sEyPK+X0KJ9Jg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/sass-embedded-unknown-all": { - "version": "1.97.1", - "resolved": "https://registry.npmjs.org/sass-embedded-unknown-all/-/sass-embedded-unknown-all-1.97.1.tgz", - "integrity": "sha512-oPSeKc7vS2dx3ZJHiUhHKcyqNq0GWzAiR8zMVpPd/kVMl5ZfVyw+5HTCxxWDBGkX02lNpou27JkeBPCaneYGAQ==", - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "!android", - "!darwin", - "!linux", - "!win32" - ], - "dependencies": { - "sass": "1.97.1" - } - }, - "node_modules/sass-embedded-win32-arm64": { - "version": "1.97.1", - "resolved": "https://registry.npmjs.org/sass-embedded-win32-arm64/-/sass-embedded-win32-arm64-1.97.1.tgz", - "integrity": "sha512-L5j7J6CbZgHGwcfVedMVpM3z5MYeighcyZE8GF2DVmjWzZI3JtPKNY11wNTD/P9o1Uql10YPOKhGH0iWIXOT7Q==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/sass-embedded-win32-x64": { - "version": "1.97.1", - "resolved": "https://registry.npmjs.org/sass-embedded-win32-x64/-/sass-embedded-win32-x64-1.97.1.tgz", - "integrity": "sha512-rfaZAKXU8cW3E7gvdafyD6YtgbEcsDeT99OEiHXRT0UGFuXT8qCOjpAwIKaOA3XXr2d8S42xx6cXcaZ1a+1fgw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/sass-embedded/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/sax": { - "version": "1.4.3", - "license": "BlueOak-1.0.0" - }, - "node_modules/semver": { - "version": "6.3.1", - "dev": true, - "license": "ISC", - "peer": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/set-function-length": { - "version": "1.2.2", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/set-function-name": { - "version": "2.0.2", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "functions-have-names": "^1.2.3", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/set-proto": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "dunder-proto": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/side-channel": { - "version": "1.1.0", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3", - "side-channel-list": "^1.0.0", - "side-channel-map": "^1.0.1", - "side-channel-weakmap": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-list": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-map": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-weakmap": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3", - "side-channel-map": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/signal-exit": { - "version": "4.1.0", - "dev": true, - "license": "ISC", - "peer": true, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/slash": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/slice-ansi": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" - } - }, - "node_modules/source-map": { - "version": "0.6.1", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-js": { - "version": "1.2.1", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.21", - "dev": true, - "license": "MIT", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/space-separated-tokens": { - "version": "2.0.2", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/spdx-exceptions": { - "version": "2.5.0", - "dev": true, - "license": "CC-BY-3.0", - "peer": true - }, - "node_modules/spdx-expression-parse": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-license-ids": { - "version": "3.0.22", - "dev": true, - "license": "CC0-1.0", - "peer": true - }, - "node_modules/splitpanes": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/splitpanes/-/splitpanes-4.0.4.tgz", - "integrity": "sha512-RbysugZhjbCw5fgplvk3hOXr41stahQDtZhHVkhnnJI6H4wlGDhM2kIpbehy7v92duy9GnMa8zIhHigIV1TWtg==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/antoniandre" - }, - "peerDependencies": { - "vue": "^3.2.0" - } - }, - "node_modules/stable-hash": { - "version": "0.0.5", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/stop-iteration-iterator": { - "version": "1.1.0", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "es-errors": "^1.3.0", - "internal-slot": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/string-width": { - "version": "4.2.3", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string.prototype.trim": { - "version": "1.2.10", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "define-data-property": "^1.1.4", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-object-atoms": "^1.0.0", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimend": { - "version": "1.0.9", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.8", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/stringify-entities": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz", - "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", - "license": "MIT", - "dependencies": { - "character-entities-html4": "^2.0.0", - "character-entities-legacy": "^3.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-bom": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/striptags": { - "version": "3.2.0", - "license": "MIT" - }, - "node_modules/strnum": { - "version": "1.1.2", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/NaturalIntelligence" - } - ], - "license": "MIT" - }, - "node_modules/strtok3": { - "version": "10.3.4", - "license": "MIT", - "dependencies": { - "@tokenizer/token": "^0.3.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/Borewit" - } - }, - "node_modules/style-to-js": { - "version": "1.1.21", - "resolved": "https://registry.npmjs.org/style-to-js/-/style-to-js-1.1.21.tgz", - "integrity": "sha512-RjQetxJrrUJLQPHbLku6U/ocGtzyjbJMP9lCNK7Ag0CNh690nSH8woqWH9u16nMjYBAok+i7JO1NP2pOy8IsPQ==", - "license": "MIT", - "dependencies": { - "style-to-object": "1.0.14" - } - }, - "node_modules/style-to-object": { - "version": "1.0.14", - "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.14.tgz", - "integrity": "sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw==", - "license": "MIT", - "dependencies": { - "inline-style-parser": "0.2.7" - } - }, - "node_modules/stylelint": { - "version": "16.26.1", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/stylelint" - }, - { - "type": "github", - "url": "https://github.com/sponsors/stylelint" - } - ], - "license": "MIT", - "peer": true, - "dependencies": { - "@csstools/css-parser-algorithms": "^3.0.5", - "@csstools/css-syntax-patches-for-csstree": "^1.0.19", - "@csstools/css-tokenizer": "^3.0.4", - "@csstools/media-query-list-parser": "^4.0.3", - "@csstools/selector-specificity": "^5.0.0", - "@dual-bundle/import-meta-resolve": "^4.2.1", - "balanced-match": "^2.0.0", - "colord": "^2.9.3", - "cosmiconfig": "^9.0.0", - "css-functions-list": "^3.2.3", - "css-tree": "^3.1.0", - "debug": "^4.4.3", - "fast-glob": "^3.3.3", - "fastest-levenshtein": "^1.0.16", - "file-entry-cache": "^11.1.1", - "global-modules": "^2.0.0", - "globby": "^11.1.0", - "globjoin": "^0.1.4", - "html-tags": "^3.3.1", - "ignore": "^7.0.5", - "imurmurhash": "^0.1.4", - "is-plain-object": "^5.0.0", - "known-css-properties": "^0.37.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.6", - "postcss-resolve-nested-selector": "^0.1.6", - "postcss-safe-parser": "^7.0.1", - "postcss-selector-parser": "^7.1.0", - "postcss-value-parser": "^4.2.0", - "resolve-from": "^5.0.0", - "string-width": "^4.2.3", - "supports-hyperlinks": "^3.2.0", - "svg-tags": "^1.0.0", - "table": "^6.9.0", - "write-file-atomic": "^5.0.1" - }, - "bin": { - "stylelint": "bin/stylelint.mjs" - }, - "engines": { - "node": ">=18.12.0" - } - }, - "node_modules/stylelint-config-html": { - "version": "1.1.0", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": "^12 || >=14" - }, - "funding": { - "url": "https://github.com/sponsors/ota-meshi" - }, - "peerDependencies": { - "postcss-html": "^1.0.0", - "stylelint": ">=14.0.0" - } - }, - "node_modules/stylelint-config-recommended": { - "version": "16.0.0", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/stylelint" - }, - { - "type": "github", - "url": "https://github.com/sponsors/stylelint" - } - ], - "license": "MIT", - "peer": true, - "engines": { - "node": ">=18.12.0" - }, - "peerDependencies": { - "stylelint": "^16.16.0" - } - }, - "node_modules/stylelint-config-recommended-scss": { - "version": "15.0.1", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "postcss-scss": "^4.0.9", - "stylelint-config-recommended": "^16.0.0", - "stylelint-scss": "^6.12.0" - }, - "engines": { - "node": ">=20" - }, - "peerDependencies": { - "postcss": "^8.3.3", - "stylelint": "^16.16.0" - }, - "peerDependenciesMeta": { - "postcss": { - "optional": true - } - } - }, - "node_modules/stylelint-config-recommended-vue": { - "version": "1.6.1", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "semver": "^7.3.5", - "stylelint-config-html": ">=1.0.0", - "stylelint-config-recommended": ">=6.0.0" - }, - "engines": { - "node": "^12 || >=14" - }, - "funding": { - "url": "https://github.com/sponsors/ota-meshi" - }, - "peerDependencies": { - "postcss-html": "^1.0.0", - "stylelint": ">=14.0.0" - } - }, - "node_modules/stylelint-config-recommended-vue/node_modules/semver": { - "version": "7.7.3", - "dev": true, - "license": "ISC", - "peer": true, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/stylelint-scss": { - "version": "6.13.0", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "css-tree": "^3.0.1", - "is-plain-object": "^5.0.0", - "known-css-properties": "^0.37.0", - "mdn-data": "^2.25.0", - "postcss-media-query-parser": "^0.2.3", - "postcss-resolve-nested-selector": "^0.1.6", - "postcss-selector-parser": "^7.1.1", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": ">=18.12.0" - }, - "peerDependencies": { - "stylelint": "^16.8.2" - } - }, - "node_modules/stylelint-scss/node_modules/mdn-data": { - "version": "2.25.0", - "dev": true, - "license": "CC0-1.0", - "peer": true - }, - "node_modules/stylelint-scss/node_modules/postcss-selector-parser": { - "version": "7.1.1", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/stylelint-use-logical": { - "version": "2.1.2", - "dev": true, - "license": "CC0-1.0", - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "stylelint": ">= 11 < 17" - } - }, - "node_modules/stylelint/node_modules/@csstools/selector-specificity": { - "version": "5.0.0", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "peer": true, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss-selector-parser": "^7.0.0" - } - }, - "node_modules/stylelint/node_modules/balanced-match": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/stylelint/node_modules/file-entry-cache": { - "version": "11.1.1", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "flat-cache": "^6.1.19" - } - }, - "node_modules/stylelint/node_modules/flat-cache": { - "version": "6.1.19", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "cacheable": "^2.2.0", - "flatted": "^3.3.3", - "hookified": "^1.13.0" - } - }, - "node_modules/stylelint/node_modules/ignore": { - "version": "7.0.5", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/stylelint/node_modules/postcss-safe-parser": { - "version": "7.0.1", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss-safe-parser" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "peer": true, - "engines": { - "node": ">=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/stylelint/node_modules/postcss-selector-parser": { - "version": "7.1.1", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/stylelint/node_modules/resolve-from": { - "version": "5.0.0", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-hyperlinks": { - "version": "3.2.0", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" - }, - "engines": { - "node": ">=14.18" - }, - "funding": { - "url": "https://github.com/chalk/supports-hyperlinks?sponsor=1" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/svg-tags": { - "version": "1.0.0", - "dev": true, - "peer": true - }, - "node_modules/sync-child-process": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/sync-child-process/-/sync-child-process-1.0.2.tgz", - "integrity": "sha512-8lD+t2KrrScJ/7KXCSyfhT3/hRq78rC0wBFqNJXv3mZyn6hW2ypM05JmlSvtqRbeq6jqA94oHbxAr2vYsJ8vDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "sync-message-port": "^1.0.0" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/sync-message-port": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/sync-message-port/-/sync-message-port-1.1.3.tgz", - "integrity": "sha512-GTt8rSKje5FilG+wEdfCkOcLL7LWqpMlr2c3LRuKt/YXxcJ52aGSbGBAdI4L3aaqfrBt6y711El53ItyH1NWzg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/tabbable": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.4.0.tgz", - "integrity": "sha512-05PUHKSNE8ou2dwIxTngl4EzcnsCDZGJ/iCLtDflR/SHB/ny14rXc+qU5P4mG9JkusiV7EivzY9Mhm55AzAvCg==", - "license": "MIT" - }, - "node_modules/table": { - "version": "6.9.0", - "dev": true, - "license": "BSD-3-Clause", - "peer": true, - "dependencies": { - "ajv": "^8.0.1", - "lodash.truncate": "^4.4.2", - "slice-ansi": "^4.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/table/node_modules/ajv": { - "version": "8.17.1", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "fast-deep-equal": "^3.1.3", - "fast-uri": "^3.0.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/table/node_modules/json-schema-traverse": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/terser": { - "version": "5.44.1", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.15.0", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/text-table": { - "version": "0.2.0", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/tinyglobby": { - "version": "0.2.15", - "dev": true, - "license": "MIT", - "dependencies": { - "fdir": "^6.5.0", - "picomatch": "^4.0.3" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/SuperchupuDev" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/toastify-js": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/toastify-js/-/toastify-js-1.12.0.tgz", - "integrity": "sha512-HeMHCO9yLPvP9k0apGSdPUWrUbLnxUKNFzgUoZp1PHCLploIX/4DSQ7V8H25ef+h4iO9n0he7ImfcndnN6nDrQ==", - "license": "MIT" - }, - "node_modules/tributejs": { - "version": "5.1.3", - "license": "MIT" - }, - "node_modules/trim-lines": { - "version": "3.0.1", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/trough": { - "version": "2.2.0", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/ts-api-utils": { - "version": "1.4.3", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "typescript": ">=4.2.0" - } - }, - "node_modules/ts-md5": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ts-md5/-/ts-md5-2.0.1.tgz", - "integrity": "sha512-yF35FCoEOFBzOclSkMNEUbFQZuv89KEQ+5Xz03HrMSGUGB1+r+El+JiGOFwsP4p9RFNzwlrydYoTLvPOuICl9w==", - "license": "MIT", - "engines": { - "node": ">=18" - } - }, - "node_modules/tsconfig-paths": { - "version": "3.15.0", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@types/json5": "^0.0.29", - "json5": "^1.0.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - } - }, - "node_modules/tsconfig-paths/node_modules/json5": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "dev": true, - "license": "0BSD" - }, - "node_modules/type-check": { - "version": "0.4.0", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-fest": { - "version": "0.20.2", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "peer": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/typed-array-buffer": { - "version": "1.0.3", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-typed-array": "^1.1.14" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/typed-array-byte-length": { - "version": "1.0.3", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bind": "^1.0.8", - "for-each": "^0.3.3", - "gopd": "^1.2.0", - "has-proto": "^1.2.0", - "is-typed-array": "^1.1.14" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-array-byte-offset": { - "version": "1.0.4", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "for-each": "^0.3.3", - "gopd": "^1.2.0", - "has-proto": "^1.2.0", - "is-typed-array": "^1.1.15", - "reflect.getprototypeof": "^1.0.9" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-array-length": { - "version": "1.0.7", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "is-typed-array": "^1.1.13", - "possible-typed-array-names": "^1.0.0", - "reflect.getprototypeof": "^1.0.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typescript": { - "version": "5.9.3", - "devOptional": true, - "license": "Apache-2.0", - "peer": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/typescript-event-target": { - "version": "1.1.1", - "license": "MIT" - }, - "node_modules/uc.micro": { - "version": "2.1.0", - "license": "MIT" - }, - "node_modules/unbox-primitive": { - "version": "1.1.0", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bound": "^1.0.3", - "has-bigints": "^1.0.2", - "has-symbols": "^1.1.0", - "which-boxed-primitive": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/unified": { - "version": "11.0.5", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "bail": "^2.0.0", - "devlop": "^1.0.0", - "extend": "^3.0.0", - "is-plain-obj": "^4.0.0", - "trough": "^2.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-builder": { - "version": "4.0.0", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-find-after": { - "version": "5.0.0", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-is": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-is": { - "version": "6.0.1", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-position": { - "version": "5.0.0", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-stringify-position": { - "version": "4.0.0", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-visit": { - "version": "5.0.0", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-is": "^6.0.0", - "unist-util-visit-parents": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-visit-parents": { - "version": "6.0.2", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-is": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unrs-resolver": { - "version": "1.11.1", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "peer": true, - "dependencies": { - "napi-postinstall": "^0.3.0" - }, - "funding": { - "url": "https://opencollective.com/unrs-resolver" - }, - "optionalDependencies": { - "@unrs/resolver-binding-android-arm-eabi": "1.11.1", - "@unrs/resolver-binding-android-arm64": "1.11.1", - "@unrs/resolver-binding-darwin-arm64": "1.11.1", - "@unrs/resolver-binding-darwin-x64": "1.11.1", - "@unrs/resolver-binding-freebsd-x64": "1.11.1", - "@unrs/resolver-binding-linux-arm-gnueabihf": "1.11.1", - "@unrs/resolver-binding-linux-arm-musleabihf": "1.11.1", - "@unrs/resolver-binding-linux-arm64-gnu": "1.11.1", - "@unrs/resolver-binding-linux-arm64-musl": "1.11.1", - "@unrs/resolver-binding-linux-ppc64-gnu": "1.11.1", - "@unrs/resolver-binding-linux-riscv64-gnu": "1.11.1", - "@unrs/resolver-binding-linux-riscv64-musl": "1.11.1", - "@unrs/resolver-binding-linux-s390x-gnu": "1.11.1", - "@unrs/resolver-binding-linux-x64-gnu": "1.11.1", - "@unrs/resolver-binding-linux-x64-musl": "1.11.1", - "@unrs/resolver-binding-wasm32-wasi": "1.11.1", - "@unrs/resolver-binding-win32-arm64-msvc": "1.11.1", - "@unrs/resolver-binding-win32-ia32-msvc": "1.11.1", - "@unrs/resolver-binding-win32-x64-msvc": "1.11.1" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.2.2", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "peer": true, - "dependencies": { - "escalade": "^3.2.0", - "picocolors": "^1.1.1" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "dev": true, - "license": "BSD-2-Clause", - "peer": true, - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/url-join": { - "version": "5.0.0", - "license": "MIT", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - } - }, - "node_modules/url-parse": { - "version": "1.5.10", - "license": "MIT", - "dependencies": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/varint": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz", - "integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==", - "dev": true, - "license": "MIT" - }, - "node_modules/vfile": { - "version": "6.0.3", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "vfile-message": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/vfile-message": { - "version": "4.0.3", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-stringify-position": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/vite": { - "version": "7.2.7", - "dev": true, - "license": "MIT", - "dependencies": { - "esbuild": "^0.25.0", - "fdir": "^6.5.0", - "picomatch": "^4.0.3", - "postcss": "^8.5.6", - "rollup": "^4.43.0", - "tinyglobby": "^0.2.15" - }, - "bin": { - "vite": "bin/vite.js" - }, - "engines": { - "node": "^20.19.0 || >=22.12.0" - }, - "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" - }, - "optionalDependencies": { - "fsevents": "~2.3.3" - }, - "peerDependencies": { - "@types/node": "^20.19.0 || >=22.12.0", - "jiti": ">=1.21.0", - "less": "^4.0.0", - "lightningcss": "^1.21.0", - "sass": "^1.70.0", - "sass-embedded": "^1.70.0", - "stylus": ">=0.54.8", - "sugarss": "^5.0.0", - "terser": "^5.16.0", - "tsx": "^4.8.1", - "yaml": "^2.4.2" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "jiti": { - "optional": true - }, - "less": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "sass": { - "optional": true - }, - "sass-embedded": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - }, - "tsx": { - "optional": true - }, - "yaml": { - "optional": true - } - } - }, - "node_modules/vue": { - "version": "3.5.27", - "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.27.tgz", - "integrity": "sha512-aJ/UtoEyFySPBGarREmN4z6qNKpbEguYHMmXSiOGk69czc+zhs0NF6tEFrY8TZKAl8N/LYAkd4JHVd5E/AsSmw==", - "license": "MIT", - "dependencies": { - "@vue/compiler-dom": "3.5.27", - "@vue/compiler-sfc": "3.5.27", - "@vue/runtime-dom": "3.5.27", - "@vue/server-renderer": "3.5.27", - "@vue/shared": "3.5.27" - }, - "peerDependencies": { - "typescript": "*" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/vue-eslint-parser": { - "version": "9.4.3", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "debug": "^4.3.4", - "eslint-scope": "^7.1.1", - "eslint-visitor-keys": "^3.3.0", - "espree": "^9.3.1", - "esquery": "^1.4.0", - "lodash": "^4.17.21", - "semver": "^7.3.6" - }, - "engines": { - "node": "^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=6.0.0" - } - }, - "node_modules/vue-eslint-parser/node_modules/eslint-scope": { - "version": "7.2.2", - "dev": true, - "license": "BSD-2-Clause", - "peer": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/vue-eslint-parser/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "dev": true, - "license": "Apache-2.0", - "peer": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/vue-eslint-parser/node_modules/estraverse": { - "version": "5.3.0", - "dev": true, - "license": "BSD-2-Clause", - "peer": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/vue-eslint-parser/node_modules/semver": { - "version": "7.7.3", - "dev": true, - "license": "ISC", - "peer": true, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/vue-material-design-icons": { - "version": "5.3.1", - "license": "MIT" - }, - "node_modules/vue-resize": { - "version": "2.0.0-alpha.1", - "resolved": "https://registry.npmjs.org/vue-resize/-/vue-resize-2.0.0-alpha.1.tgz", - "integrity": "sha512-7+iqOueLU7uc9NrMfrzbG8hwMqchfVfSzpVlCMeJQe4pyibqyoifDNbKTZvwxZKDvGkB+PdFeKvnGZMoEb8esg==", - "license": "MIT", - "peerDependencies": { - "vue": "^3.0.0" - } - }, - "node_modules/vue-router": { - "version": "4.6.4", - "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.6.4.tgz", - "integrity": "sha512-Hz9q5sa33Yhduglwz6g9skT8OBPii+4bFn88w6J+J4MfEo4KRRpmiNG/hHHkdbRFlLBOqxN8y8gf2Fb0MTUgVg==", - "license": "MIT", - "dependencies": { - "@vue/devtools-api": "^6.6.4" - }, - "funding": { - "url": "https://github.com/sponsors/posva" - }, - "peerDependencies": { - "vue": "^3.5.0" - } - }, - "node_modules/vue-select": { - "version": "4.0.0-beta.6", - "resolved": "https://registry.npmjs.org/vue-select/-/vue-select-4.0.0-beta.6.tgz", - "integrity": "sha512-K+zrNBSpwMPhAxYLTCl56gaMrWZGgayoWCLqe5rWwkB8aUbAUh7u6sXjIR7v4ckp2WKC7zEEUY27g6h1MRsIHw==", - "license": "MIT", - "peerDependencies": { - "vue": "3.x" - } - }, - "node_modules/web-streams-polyfill": { - "version": "3.3.3", - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/webdav": { - "version": "5.8.0", - "license": "MIT", - "dependencies": { - "@buttercup/fetch": "^0.2.1", - "base-64": "^1.0.0", - "byte-length": "^1.0.2", - "entities": "^6.0.0", - "fast-xml-parser": "^4.5.1", - "hot-patcher": "^2.0.1", - "layerr": "^3.0.0", - "md5": "^2.3.0", - "minimatch": "^9.0.5", - "nested-property": "^4.0.0", - "node-fetch": "^3.3.2", - "path-posix": "^1.0.0", - "url-join": "^5.0.0", - "url-parse": "^1.5.10" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/webdav/node_modules/entities": { - "version": "6.0.1", - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/which": { - "version": "2.0.2", - "dev": true, - "license": "ISC", - "peer": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/which-boxed-primitive": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "is-bigint": "^1.1.0", - "is-boolean-object": "^1.2.1", - "is-number-object": "^1.1.1", - "is-string": "^1.1.1", - "is-symbol": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-builtin-type": { - "version": "1.2.1", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bound": "^1.0.2", - "function.prototype.name": "^1.1.6", - "has-tostringtag": "^1.0.2", - "is-async-function": "^2.0.0", - "is-date-object": "^1.1.0", - "is-finalizationregistry": "^1.1.0", - "is-generator-function": "^1.0.10", - "is-regex": "^1.2.1", - "is-weakref": "^1.0.2", - "isarray": "^2.0.5", - "which-boxed-primitive": "^1.1.0", - "which-collection": "^1.0.2", - "which-typed-array": "^1.1.16" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-collection": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "is-map": "^2.0.3", - "is-set": "^2.0.3", - "is-weakmap": "^2.0.2", - "is-weakset": "^2.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-typed-array": { - "version": "1.1.19", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "for-each": "^0.3.5", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/word-wrap": { - "version": "1.2.5", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "dev": true, - "license": "ISC", - "peer": true - }, - "node_modules/write-file-atomic": { - "version": "5.0.1", - "dev": true, - "license": "ISC", - "peer": true, - "dependencies": { - "imurmurhash": "^0.1.4", - "signal-exit": "^4.0.1" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/xml-name-validator": { - "version": "4.0.0", - "dev": true, - "license": "Apache-2.0", - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/yallist": { - "version": "3.1.1", - "dev": true, - "license": "ISC", - "peer": true - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/zwitch": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", - "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - } - } -} diff --git a/third_party/astrolabe/package.json b/third_party/astrolabe/package.json deleted file mode 100644 index 46ae04b..0000000 --- a/third_party/astrolabe/package.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "name": "astrolabe", - "version": "0.10.1", - "license": "AGPL-3.0-or-later", - "engines": { - "node": "^22.0.0", - "npm": "^10.5.0" - }, - "scripts": { - "build": "vite build", - "dev": "vite --mode development build", - "watch": "vite --mode development build --watch", - "lint": "eslint src", - "stylelint": "stylelint src/**/*.vue src/**/*.scss src/**/*.css" - }, - "type": "module", - "browserslist": [ - "extends @nextcloud/browserslist-config" - ], - "dependencies": { - "@nextcloud/axios": "^2.5.1", - "@nextcloud/dialogs": "^7.2.0", - "@nextcloud/initial-state": "^3.0.0", - "@nextcloud/l10n": "^3.1.0", - "@nextcloud/router": "^3.0.1", - "@nextcloud/vue": "^9.3.3", - "markdown-it": "^14.1.0", - "plotly.js-dist-min": "^3.0.0", - "vue": "^3.0.0", - "vue-material-design-icons": "^5.3.1" - }, - "devDependencies": { - "@nextcloud/browserslist-config": "3.1.2", - "@nextcloud/eslint-config": "8.4.2", - "@nextcloud/stylelint-config": "3.1.1", - "@vitejs/plugin-vue": "^6.0.3", - "sass-embedded": "^1.97.1", - "terser": "5.44.1", - "vite": "7.2.7" - } -} diff --git a/third_party/astrolabe/psalm-baseline.xml b/third_party/astrolabe/psalm-baseline.xml deleted file mode 100644 index b4c0207..0000000 --- a/third_party/astrolabe/psalm-baseline.xml +++ /dev/null @@ -1,488 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - getBody()]]> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - getBody()]]> - getBody()]]> - - - getBody()]]> - getBody()]]> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - getBody()]]> - getBody()]]> - getBody()]]> - - - - - - - - - - - - - - - - - - - - - - - - - - - , - * error?: string - * }]]> - - - , - * total_found?: int, - * algorithm_used?: string, - * error?: string - * }]]> - - - - , - * error?: string - * }]]> - - - - - - - - - - - - - - - - - config->getSystemValue('mcp_server_public_url', $this->baseUrl)]]> - - - getBody()]]> - getBody()]]> - getBody()]]> - getBody()]]> - getBody()]]> - getBody()]]> - getBody()]]> - getBody()]]> - getBody()]]> - getBody()]]> - getBody()]]> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - $eventConfig['event']]]> - - - - - - - - - ]]> - $eventConfig['event'], - $preset['events'] - )]]> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/third_party/astrolabe/psalm.xml b/third_party/astrolabe/psalm.xml deleted file mode 100644 index 920055b..0000000 --- a/third_party/astrolabe/psalm.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - diff --git a/third_party/astrolabe/rector.php b/third_party/astrolabe/rector.php deleted file mode 100644 index 32a7586..0000000 --- a/third_party/astrolabe/rector.php +++ /dev/null @@ -1,30 +0,0 @@ -withPaths([ - __DIR__ . '/lib', - __DIR__ . '/tests', - ]) - ->withPhpSets(php80: true) - ->withPreparedSets( - deadCode: true, - codeQuality: true, - codingStyle: true, - typeDeclarations: true, - privatization: true, - instanceOf: true, - earlyReturn: true, - strictBooleans: true, - carbon: true, - rectorPreset: true, - phpunitCodeQuality: true, - doctrineCodeQuality: true, - symfonyCodeQuality: true, - symfonyConfigs: true, - twig: true, - phpunit: true, - ); diff --git a/third_party/astrolabe/screenshots/01-unified-search-astrolabe.png b/third_party/astrolabe/screenshots/01-unified-search-astrolabe.png deleted file mode 100644 index 805836286e3e46573f2036fcbc1c6323de18d362..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 753978 zcmb5VWn5HU_%4h=C?Y5g($Xa@F@Q7*j0lnf(u~A_bPS--fQi3uf5it*R_IQt0@xPr@D`Yg+-vOB=-gj3#SJQ>n<1% z2e?zYR2~ETusg}?ILUrAH+F(R?dUZjw&qwK#`OHp=*`ScfggS$`e)C?1o*@RpV7<8 zYYu&;!vLKq|8&xTS~$5He>BIkw1e83b32-TG&i?%w1PVA-D#4r6kXh3z)XOjc9dJj+d-e(eT_q-?O z%*!Bse)a>@MGIC@H$8JhI9`XKRAz!$2p(M@S%lmJg!uc<_jY#T-~a!)W|O9mz4h;# zzMt>PQ2zTC7Ms#X?pVm(|J=P#nfg(V$B!e(^gj=Ng%pHXOg;WdAMu}eV@a946YP!k zjT>-a`2L?~a_wdA_+!V%U9)WhQk~fUZi6)} zgL$-uuA*z^`l>^w>2@d+L6SSWNSu*RGK9GRDU|%k>P(x@IAq;XdFLs|nV2X-QmjNS@={9>D!i`^-;tQGJ^; zy~3qa7Os+tmw0N1^8DiJeLK(}u(1WTng2AG-W@Withr}w=OYgDRDN~e5Svw`q(=>1 zdZC|Xe^=l?t%*RN@ys>@pIldpyYVR@-EPFg(Fmh}7!M{hLr`mYvQ|JD*dnr*N-z15$ zb2Ei%D%7G-Mvo|xpR@Vpyaj8(6s*oYDSzEh`j5{2^+%*y?-A2|TUX`0e*u0d(!Si~ zV@zrikJ zK~2I{sg&+lkq%yZ#7?=p>8h4kF-PdaX738r9qC;W{5ATY%hFIIV9rZ3B%OWWnDzrr zD8FbQoT=>r{zh6DCcXrSVMbVu6zQCn8Q@aZU3`f-P4 z+<~rQzYGObyMj?yFs5NJW#sogDVZcLts3{({Li}T@|QE!wZa{iL+QLVW^D(oX@VKA z5(<|?Lqc#~dt@3kKZA^zO@Hj=#{0LN^pOxN8=I7>4`V&hbhpcrB53VmK)$@3;{!fO z%%kyY_A%WaG?_-~kAmFy=N*2>IKnzRTFx9$Oi=sHv!^eyie0lP&%k`|qC89q(0xE0{U^yI*p}RB$e^ z9)6yYh*Z;f2LC{ZN11j`fNZ+;754h%?>_X)iBuZIqTm`fAE%dOz3&KWP#*62ExLV+ z|5{ZnEFw`VYU=iA&g0`_lPS{cWOfdYOdT!-W@cthJw1+V1$b#Z3u}LHd)Y5TGk!p3 z-g)y)!LUSXqQ6JO!ixIrpSHRAf#G`6|0vL(A)=GOIZW?tvd+Y-2zA z1ngvz));1OH|5>_<1*>rjE;}LdHXi52&Tif1U5Hkj*E*^pQKk+*7>PwfpKV2mpI~l z58;_fmHUqg_Dv~+AXyfcA|LGacH$9dvtzS5gmoE|9m>^e@Ybp}Pj1SWo}Y`IZDSi#uwCn=;_O5u9kuQDNt(0+g`GCrGMtW~9dDE$2w2|!dx};x z#epPX!bBdg2Zjlp4|sX9yUBP>lFpSqH{0p℞|exHIW9PrP%aft{@;q%G~1_6|6W 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�eDTHI2Ba!eW_Nn)YY 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%0D=Q3p; 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 qx4x&MbFuU|4f(u_YLXw6~uU%8FD17 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 z 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%0DE9e%?YX=o)NT`A1FCins7Mat+?B5nn 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

hEBRZJh11PSP*w?)c3qPay9& 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

7l-g{boQ(on2{=u(7pZ~ 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�~fM12+E~gdVs^QO2W3!l#A1u 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

^M1I5gxHqfxCR<-WglfNk|9ck)9jN|mY;V-r^E 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 diff --git a/third_party/astrolabe/screenshots/02-semantic-search-with-plot.png b/third_party/astrolabe/screenshots/02-semantic-search-with-plot.png deleted file mode 100644 index 3dcd3868e74059e1dc2590d62a55b38f9b09a7d5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 208705 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

X)-MnC}VbI~3emSoi%^EpC~%SKZ5+>T!c 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 oQ}%3{$1(1D{7xjJxYe+##> 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%0A^8(3(WW8^xBudBT85Pku$7uGG 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 Ok&{xEtP(f+{{I2QakEGO diff --git a/third_party/astrolabe/screenshots/03-chunk-viewer-open.png b/third_party/astrolabe/screenshots/03-chunk-viewer-open.png deleted file mode 100644 index 6d36e1ab9bcb99c9c398c4a4fc4f751bdf2d9cb6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 223095 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°s9&u*Dfs}Fic7h)k{aezL@N8$eQEdS`kz>Ql? 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�<8U)q;lpsSP?Du7Q5G?5@^7MX2v?KEyXB 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%0Aw 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 - - - - - - - - - -

-
-

{{ t('astrolabe', 'Semantic Search') }}

-

- {{ t('astrolabe', 'Search your indexed content using semantic similarity. Find documents by meaning, not just keywords.') }} -

-
- - -
-
- - - - - - - {{ t('astrolabe', 'Search') }} - -
- - - - - {{ showAdvanced ? t('astrolabe', 'Hide advanced') : t('astrolabe', 'Advanced options') }} - - - -
-
-
- -
- - {{ docType.label }} - -
-
- -
- - -
- -
- - -
-
-
-
- - -
- - {{ t('astrolabe', 'Searching...') }} -
- - - - {{ error }} - - - -
- - -
-
-

{{ t('astrolabe', 'Index Status') }}

-

- {{ t('astrolabe', 'View the status of your vector index and sync progress.') }} -

-
- -
- - {{ t('astrolabe', 'Loading status...') }} -
- - - {{ statusError }} - - -
-
-
- {{ t('astrolabe', 'Sync Status') }} -
-
- {{ vectorStatus.status }} -
-
- -
-
- {{ t('astrolabe', 'Indexed Documents') }} -
-
- {{ vectorStatus.indexed_documents || 0 }} -
-
- -
-
- {{ t('astrolabe', 'Pending Documents') }} -
-
- {{ vectorStatus.pending_documents || 0 }} -
-
- -
-
- {{ t('astrolabe', 'Last Sync') }} -
-
- {{ vectorStatus.last_sync_time }} -
-
-
- - - - {{ t('astrolabe', 'Refresh') }} - -
- - - -
-
- -
-

- - {{ viewerTitle }} - - - {{ viewerTitle }} -

- - - -
- - -
- -
- - {{ t('astrolabe', 'Loading content...') }} -
- - - - - - -
- - - -
-
- - - - - - - - diff --git a/third_party/astrolabe/src/adminSettings.js b/third_party/astrolabe/src/adminSettings.js deleted file mode 100644 index ab2feed..0000000 --- a/third_party/astrolabe/src/adminSettings.js +++ /dev/null @@ -1,18 +0,0 @@ -/** - * Admin settings page Vue app for Astrolabe. - * - * Mounts the AdminSettings Vue component for async loading - * and improved UX. - */ - -import { createApp } from 'vue' -import { translate as t, translatePlural as n } from '@nextcloud/l10n' -import AdminSettings from './components/admin/AdminSettings.vue' - -const app = createApp(AdminSettings) - -// Add translation methods globally -app.config.globalProperties.t = t -app.config.globalProperties.n = n - -app.mount('#astrolabe-admin-settings') diff --git a/third_party/astrolabe/src/components/MarkdownViewer.vue b/third_party/astrolabe/src/components/MarkdownViewer.vue deleted file mode 100644 index 3c0b36a..0000000 --- a/third_party/astrolabe/src/components/MarkdownViewer.vue +++ /dev/null @@ -1,172 +0,0 @@ - - - - - diff --git a/third_party/astrolabe/src/components/PDFViewer.vue b/third_party/astrolabe/src/components/PDFViewer.vue deleted file mode 100644 index e4081a1..0000000 --- a/third_party/astrolabe/src/components/PDFViewer.vue +++ /dev/null @@ -1,183 +0,0 @@ - - - - - diff --git a/third_party/astrolabe/src/components/admin/AdminSettings.vue b/third_party/astrolabe/src/components/admin/AdminSettings.vue deleted file mode 100644 index 8c38926..0000000 --- a/third_party/astrolabe/src/components/admin/AdminSettings.vue +++ /dev/null @@ -1,695 +0,0 @@ - - - - - diff --git a/third_party/astrolabe/src/main.js b/third_party/astrolabe/src/main.js deleted file mode 100644 index f28d460..0000000 --- a/third_party/astrolabe/src/main.js +++ /dev/null @@ -1,11 +0,0 @@ -import { createApp } from 'vue' -import { translate as t, translatePlural as n } from '@nextcloud/l10n' -import App from './App.vue' - -const app = createApp(App) - -// Add translation methods globally -app.config.globalProperties.t = t -app.config.globalProperties.n = n - -app.mount('#astrolabe') diff --git a/third_party/astrolabe/src/personalSettings.js b/third_party/astrolabe/src/personalSettings.js deleted file mode 100644 index 12c1427..0000000 --- a/third_party/astrolabe/src/personalSettings.js +++ /dev/null @@ -1,124 +0,0 @@ -/** - * Personal settings page JavaScript for Astrolabe. - * - * Loads styles for the personal settings page and handles form interactions. - */ - -import './styles/settings.css' - -// Wait for DOM to be ready -document.addEventListener('DOMContentLoaded', function() { - // Helper function to show error notifications - function showError(message) { - if (typeof OC !== 'undefined' && OC.Notification) { - OC.Notification.showTemporary(message, { type: 'error' }) - } else { - alert(message) - } - } - - function showSuccess(message) { - if (typeof OC !== 'undefined' && OC.Notification) { - OC.Notification.showTemporary(message, { type: 'success' }) - } else { - alert(message) - } - } - - // App password form with error handling - const appPasswordForm = document.getElementById('mcp-app-password-form') - if (appPasswordForm) { - appPasswordForm.addEventListener('submit', async function(e) { - e.preventDefault() - const submitButton = document.getElementById('mcp-save-app-password-button') - const originalText = submitButton.textContent - - try { - submitButton.disabled = true - submitButton.textContent = t('astrolabe', 'Saving...') - - const formData = new FormData(appPasswordForm) - const response = await fetch(appPasswordForm.action, { - method: 'POST', - body: formData, - }) - - const result = await response.json() - - if (response.ok && result.success) { - showSuccess(t('astrolabe', 'Background sync access successfully provisioned!')) - setTimeout(() => window.location.reload(), 1000) - } else { - showError(result.error || t('astrolabe', 'Failed to save app password. Please check that it is valid.')) - } - } catch (error) { - console.error('App password provisioning error:', error) - showError(t('astrolabe', 'Unable to connect to server. Please check that the MCP server is running and try again.')) - } finally { - submitButton.disabled = false - submitButton.textContent = originalText - } - }) - } - - // Revoke form confirmation - const revokeForm = document.getElementById('mcp-revoke-form') - if (revokeForm) { - revokeForm.addEventListener('submit', function(e) { - if (!confirm(t('astrolabe', 'Are you sure you want to disable indexing? Your content will be removed from semantic search.'))) { - e.preventDefault() - } - }) - } - - // Disconnect form confirmation - const disconnectForm = document.getElementById('mcp-disconnect-form') - if (disconnectForm) { - disconnectForm.addEventListener('submit', function(e) { - if (!confirm(t('astrolabe', 'Are you sure you want to disconnect from Astrolabe? You will need to re-authorize to use semantic search.'))) { - e.preventDefault() - } - }) - } - - // Revoke background access form with error handling - const revokeBackgroundForm = document.getElementById('mcp-revoke-background-form') - if (revokeBackgroundForm) { - revokeBackgroundForm.addEventListener('submit', async function(e) { - e.preventDefault() - - if (!confirm(t('astrolabe', 'Are you sure you want to revoke background sync access? The MCP server will no longer be able to access your Nextcloud data for background operations.'))) { - return - } - - const submitButton = revokeBackgroundForm.querySelector('button[type="submit"]') - const originalText = submitButton.textContent - - try { - submitButton.disabled = true - submitButton.textContent = t('astrolabe', 'Revoking...') - - const formData = new FormData(revokeBackgroundForm) - const response = await fetch(revokeBackgroundForm.action, { - method: 'POST', - body: formData, - }) - - const result = await response.json() - - if (response.ok && result.success) { - showSuccess(t('astrolabe', 'Background sync access revoked successfully.')) - setTimeout(() => window.location.reload(), 1000) - } else { - showError(result.error || t('astrolabe', 'Failed to revoke background sync access.')) - } - } catch (error) { - console.error('Revoke error:', error) - showError(t('astrolabe', 'Unable to connect to server. Your access may already be revoked, or the server may be down.')) - } finally { - submitButton.disabled = false - submitButton.textContent = originalText - } - }) - } -}) diff --git a/third_party/astrolabe/src/styles/settings.css b/third_party/astrolabe/src/styles/settings.css deleted file mode 100644 index 69a2f71..0000000 --- a/third_party/astrolabe/src/styles/settings.css +++ /dev/null @@ -1,290 +0,0 @@ -/** - * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors - * SPDX-License-Identifier: AGPL-3.0-or-later - * - * Astrolabe settings styles - * Relies on Nextcloud's core .section class for layout - */ - -/* Info tables */ -.mcp-info-table { - width: 100%; - border-collapse: collapse; - margin: calc(var(--default-grid-baseline) * 3) 0; -} - -.mcp-info-table tr { - border-bottom: 1px solid var(--color-border); -} - -.mcp-info-table tr:last-child { - border-bottom: none; -} - -.mcp-info-table td { - padding: calc(var(--default-grid-baseline) * 2) 0; - vertical-align: top; -} - -.mcp-info-table td:first-child { - width: 200px; - color: var(--color-text-maxcontrast); - font-weight: 600; - padding-inline-end: calc(var(--default-grid-baseline) * 4); -} - -.mcp-info-table td:last-child { - color: var(--color-main-text); -} - -/* Status badges */ -.badge { - display: inline-flex; - align-items: center; - gap: calc(var(--default-grid-baseline) * 1.5); - padding: calc(var(--default-grid-baseline) * 1.5) calc(var(--default-grid-baseline) * 3); - border-radius: calc(var(--border-radius-element) * 1.5); - font-size: 13px; - font-weight: 600; -} - -.badge-success { - background: var(--color-success); - color: var(--color-success-text); -} - -.badge-warning { - background: var(--color-warning); - color: var(--color-warning-text); -} - -.badge-neutral { - background: var(--color-background-dark); - color: var(--color-text-maxcontrast); -} - -.badge-info { - background: var(--color-primary-element); - color: var(--color-primary-element-text); -} - -/* Input groups */ -.mcp-input-group { - display: flex; - gap: calc(var(--default-grid-baseline) * 2); - align-items: stretch; - margin-top: calc(var(--default-grid-baseline) * 2); -} - -.mcp-input-group input[type='password'], -.mcp-input-group input[type='text'] { - flex: 1; - font-family: monospace; -} - -/* Revoke/warning sections */ -.mcp-revoke-section { - margin-top: calc(var(--default-grid-baseline) * 4); - padding: calc(var(--default-grid-baseline) * 4); - background: var(--color-warning); - border-radius: var(--border-radius-element); - border-inline-start: calc(var(--default-grid-baseline)) solid var(--color-warning-text); -} - -/* Feature lists */ -.mcp-feature-list { - list-style: none; - padding: 0; - margin: calc(var(--default-grid-baseline) * 3) 0; -} - -.mcp-feature-list li { - display: flex; - gap: calc(var(--default-grid-baseline) * 3); - padding: calc(var(--default-grid-baseline) * 2) 0; - align-items: start; -} - -.mcp-feature-list .icon { - flex-shrink: 0; - width: 24px; - height: 24px; - opacity: 0.7; -} - -.mcp-feature-list div { - flex: 1; -} - -.mcp-feature-list strong { - display: block; - font-weight: 600; - margin-bottom: calc(var(--default-grid-baseline)); -} - -.mcp-feature-list p { - margin: 0; - color: var(--color-text-maxcontrast); -} - -/* Responsive tables */ -@media (max-width: 768px) { - .mcp-info-table td:first-child, - .mcp-info-table td:last-child { - display: block; - width: 100%; - } - - .mcp-info-table td:first-child { - padding-bottom: calc(var(--default-grid-baseline)); - } - - .mcp-info-table td:last-child { - padding-top: calc(var(--default-grid-baseline)); - } -} - -/* Admin settings forms */ -.mcp-settings-form { - max-width: 600px; -} - -.mcp-form-group { - margin-bottom: calc(var(--default-grid-baseline) * 5); -} - -.mcp-form-group label { - display: block; - font-weight: 600; - margin-bottom: calc(var(--default-grid-baseline) * 2); -} - -.mcp-range { - width: 100%; - margin-top: calc(var(--default-grid-baseline) * 2); - accent-color: var(--color-primary-element); -} - -.mcp-form-actions { - display: flex; - align-items: center; - gap: calc(var(--default-grid-baseline) * 4); - margin-top: calc(var(--default-grid-baseline) * 6); - padding-top: calc(var(--default-grid-baseline) * 5); - border-top: 1px solid var(--color-border); -} - -/* Webhook preset cards */ -.mcp-preset-grid { - display: grid; - grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); - gap: calc(var(--default-grid-baseline) * 4); - margin: calc(var(--default-grid-baseline) * 4) 0; -} - -.mcp-preset-card { - background: var(--color-background-dark); - border-radius: var(--border-radius-container); - padding: calc(var(--default-grid-baseline) * 4); - border: 2px solid transparent; - transition: border-color var(--animation-slow), box-shadow var(--animation-slow); -} - -.mcp-preset-card:hover { - border-color: var(--color-border-dark); - box-shadow: 0 2px 8px var(--color-box-shadow); -} - -.mcp-preset-header { - display: flex; - justify-content: space-between; - align-items: center; - margin-bottom: calc(var(--default-grid-baseline) * 3); -} - -.mcp-preset-header h4 { - margin: 0; - font-weight: 600; -} - -.mcp-preset-status { - padding: calc(var(--default-grid-baseline)) calc(var(--default-grid-baseline) * 2.5); - border-radius: calc(var(--border-radius-element) * 1.5); - font-size: 11px; - font-weight: 600; - text-transform: uppercase; -} - -.mcp-status-enabled { - background: var(--color-success); - color: var(--color-success-text); -} - -.mcp-status-disabled { - background: var(--color-background-darker); - color: var(--color-text-maxcontrast); -} - -.mcp-preset-description { - color: var(--color-text-maxcontrast); - margin-bottom: calc(var(--default-grid-baseline) * 3); -} - -.mcp-preset-meta { - display: flex; - justify-content: space-between; - align-items: center; - padding-top: calc(var(--default-grid-baseline) * 3); - border-top: 1px solid var(--color-border); - margin-bottom: calc(var(--default-grid-baseline) * 3); - font-size: 12px; - color: var(--color-text-maxcontrast); -} - -.mcp-preset-actions { - display: flex; - gap: calc(var(--default-grid-baseline) * 2); -} - -.mcp-preset-toggle { - flex: 1; - padding: calc(var(--default-grid-baseline) * 2) calc(var(--default-grid-baseline) * 4); - border-radius: var(--border-radius-element); - font-size: 13px; - font-weight: 600; - cursor: pointer; - transition: all var(--animation-quick); - border: none; -} - -.mcp-preset-toggle.primary { - background: var(--color-primary-element); - color: var(--color-primary-element-text); -} - -.mcp-preset-toggle.primary:hover:not(:disabled) { - background: var(--color-primary-element-hover); -} - -.mcp-preset-toggle.secondary { - background: var(--color-background-darker); - color: var(--color-main-text); - border: 1px solid var(--color-border); -} - -.mcp-preset-toggle.secondary:hover:not(:disabled) { - background: var(--color-background-hover); - border-color: var(--color-border-dark); -} - -.mcp-preset-toggle:disabled { - opacity: 0.6; - cursor: not-allowed; -} - -.mcp-loading { - text-align: center; - padding: calc(var(--default-grid-baseline) * 5); - color: var(--color-text-maxcontrast); - font-style: italic; -} diff --git a/third_party/astrolabe/stylelint.config.cjs b/third_party/astrolabe/stylelint.config.cjs deleted file mode 100644 index ff8f902..0000000 --- a/third_party/astrolabe/stylelint.config.cjs +++ /dev/null @@ -1,3 +0,0 @@ -module.exports = { - extends: '@nextcloud/stylelint-config', -} diff --git a/third_party/astrolabe/templates/index.php b/third_party/astrolabe/templates/index.php deleted file mode 100644 index 8059c60..0000000 --- a/third_party/astrolabe/templates/index.php +++ /dev/null @@ -1,13 +0,0 @@ - - -
diff --git a/third_party/astrolabe/templates/settings/admin.php b/third_party/astrolabe/templates/settings/admin.php deleted file mode 100644 index cbe1e79..0000000 --- a/third_party/astrolabe/templates/settings/admin.php +++ /dev/null @@ -1,15 +0,0 @@ - - -
- -
diff --git a/third_party/astrolabe/templates/settings/error.php b/third_party/astrolabe/templates/settings/error.php deleted file mode 100644 index 6f31e49..0000000 --- a/third_party/astrolabe/templates/settings/error.php +++ /dev/null @@ -1,51 +0,0 @@ - - -
-
-

- - -

- - -

t('Details:')); ?>

-

- - - -

t('Server URL:')); ?>

-

- - - -

- - -

t('Troubleshooting Steps:')); ?>

-
    -
  1. t('Verify the MCP server is running and accessible')); ?>
  2. -
  3. t('Check that mcp_server_url in config.php is correct')); ?>
  4. -
  5. t('Ensure mcp_server_api_key matches the server configuration')); ?>
  6. -
  7. t('Check firewall rules and network connectivity')); ?>
  8. -
  9. t('Review MCP server logs for errors')); ?>
  10. -
- -

- - t('View Documentation')); ?> - -

-
-
diff --git a/third_party/astrolabe/templates/settings/oauth-required.php b/third_party/astrolabe/templates/settings/oauth-required.php deleted file mode 100644 index 0443d50..0000000 --- a/third_party/astrolabe/templates/settings/oauth-required.php +++ /dev/null @@ -1,117 +0,0 @@ - - -
-

t('Astrolabe')); ?>

-

t('AI-powered semantic search across your Nextcloud content.')); ?>

-
- - -
-

t('Session Expired')); ?>

-

-
- - -
-

t('Enable Semantic Search')); ?>

- - -

- t('Your authorization has expired. Please sign in again to continue using semantic search.')); ?> -

- -

- t('To search your content by meaning, Astrolabe needs permission to index your Nextcloud data.')); ?> -

- - -

- t('What happens next?')); ?> -

- -
    -
  1. t('Sign in to confirm your identity')); ?>
  2. -
  3. t('Grant permission to index your content')); ?>
  4. -
  5. t('Your content will be indexed for semantic search')); ?>
  6. -
  7. t('Start searching with natural language')); ?>
  8. -
- -

t('Content to be Indexed')); ?>

- -
    -
  • - -
    - t('Notes & Files')); ?> -

    t('Your notes and documents will be searchable by meaning')); ?>

    -
    -
  • -
  • - -
    - t('Calendar & Tasks')); ?> -

    t('Find events and tasks with natural language queries')); ?>

    -
    -
  • -
  • - -
    - t('Deck Cards')); ?> -

    t('Search across your Deck boards and cards')); ?>

    -
    -
  • -
- - - -

- t('You can disable indexing at any time from this settings page.')); ?> -

-
- -
-

t('About Astrolabe')); ?>

- -

- t('Astrolabe enables semantic search - finding content by meaning rather than exact keywords. Ask questions like "meeting notes from last week" or "recipes with chicken" to find relevant documents.')); ?> -

- -

- t('Your content is processed to understand its meaning, enabling powerful natural language search across all your Nextcloud data.')); ?> -

- - -
diff --git a/third_party/astrolabe/templates/settings/personal.php b/third_party/astrolabe/templates/settings/personal.php deleted file mode 100644 index 9efdd7a..0000000 --- a/third_party/astrolabe/templates/settings/personal.php +++ /dev/null @@ -1,303 +0,0 @@ -getURLGenerator(); - -script('astrolabe', 'astrolabe-personalSettings'); -style('astrolabe', 'astrolabe-main'); // All CSS bundled into main -?> - -
-

t('Astrolabe')); ?>

-

t('AI-powered semantic search across your Nextcloud content. Find documents by meaning, not just keywords.')); ?>

-
- -
-

t('Service Status')); ?>

- - - - - - - - - -
t('Service URL')); ?>
t('Version')); ?>
-
- -
-

t('Background Sync Access')); ?>

- - - - -
-

- - - t('Active')); ?> - -

- - - - - - - - - - - - - - - - - - - - - - -
t('Credential Type')); ?> - - t('App Password')); ?> - - t('OAuth Refresh Token')); ?> - -
t('Provisioned At')); ?>
t('Provisioned At')); ?>
t('Indexed Content')); ?>
- -
- -
- - -

- t('This will revoke background sync access. The MCP server will no longer be able to access your Nextcloud data for background operations.')); ?> -

-
- -
- - -

- t('This will stop background indexing and remove your content from semantic search. You can re-enable it at any time.')); ?> -

-
- -
-
- - - - -

- t('To use semantic search, you need to complete two setup steps:')); ?> -

- - -
-

- - t('Complete')); ?> - - t('Required')); ?> - - t('Step 1: Authorize Search Access')); ?> -

-

- t('Authorize Astrolabe to perform searches on your behalf.')); ?> -

- - - - t('Authorize')); ?> - - -

t('Search access authorized.')); ?>

- -
- - -
-

- - t('Complete')); ?> - - t('Required')); ?> - - t('Step 2: Enable Background Indexing')); ?> -

-

- t('Provide an app password to allow background indexing of your content.')); ?> -

- -
-

- - t('Generate app password in Security settings')); ?> - -

- -
- -
- - -
-

- t('The app password will be validated and securely encrypted before storage.')); ?> -

-
-
- -

t('Background indexing enabled.')); ?>

- -
- - - -

- t('Enable background sync to allow the MCP server to access your Nextcloud data for background operations like content indexing.')); ?> -

- -
-

t('Option 1: OAuth Refresh Token (Recommended for Future)')); ?>

-

- t('When Nextcloud fully supports OAuth for app APIs. Currently waiting for upstream PR to merge.')); ?> -

- - - t('Authorize via OAuth')); ?> - -
- -
-

t('Option 2: App Password (Works Today - Recommended)')); ?>

-

- t('Generate an app password in Security settings and provide it below. This is the recommended interim solution.')); ?> -

- -
-

t('Step 1:')); ?> - - t('Generate app password in Security settings')); ?> - -

- -

t('Step 2:')); ?> t('Enter the app password below:')); ?>

- -
- -
- - -
-

- t('The app password will be validated and securely encrypted before storage.')); ?> -

-
-
-
- - -
- - -
-

t('Identity Provider Profile')); ?>

- - $value): ?> - - - - - -
- - - - - -
-
- - - -
-

t('Search Your Content')); ?>

-

t('Use natural language to search across your Notes, Files, Calendar, and Deck cards. Ask questions like "meeting notes from last week" or "recipes with chicken".')); ?>

- - - t('Open Astrolabe')); ?> - -
- -
-

t('Semantic Search')); ?>

-

- t('Semantic search is not enabled on this server. Contact your administrator to enable this feature.')); ?> -

-
- - -
-

t('Manage Connection')); ?>

-

t('You are connected to the Astrolabe service.')); ?>

- -
-
- - -

- t('This will disconnect from the Astrolabe service. You will need to re-authorize to use semantic search features.')); ?> -

-
-
-
diff --git a/third_party/astrolabe/tests/bootstrap.php b/third_party/astrolabe/tests/bootstrap.php deleted file mode 100644 index 6acece4..0000000 --- a/third_party/astrolabe/tests/bootstrap.php +++ /dev/null @@ -1,9 +0,0 @@ - - - - . - - - - ../appinfo - ../lib - - - diff --git a/third_party/astrolabe/tests/unit/BackgroundJob/RefreshUserTokensTest.php b/third_party/astrolabe/tests/unit/BackgroundJob/RefreshUserTokensTest.php deleted file mode 100644 index d467841..0000000 --- a/third_party/astrolabe/tests/unit/BackgroundJob/RefreshUserTokensTest.php +++ /dev/null @@ -1,635 +0,0 @@ -timeFactory = $this->createMock(ITimeFactory::class); - $this->tokenStorage = $this->createMock(McpTokenStorage::class); - $this->tokenRefresher = $this->createMock(IdpTokenRefresher::class); - $this->logger = $this->createMock(LoggerInterface::class); - - $this->job = new RefreshUserTokens( - $this->timeFactory, - $this->tokenStorage, - $this->tokenRefresher, - $this->logger - ); - } - - /** - * Set up default withTokenLock behavior that executes the callback. - * Call this in tests that need the lock to succeed. - */ - private function setupDefaultLockBehavior(): void { - $this->tokenStorage->method('withTokenLock') - ->willReturnCallback(fn ($userId, $callback) => $callback()); - } - - // ========================================================================= - // Constructor Tests - // ========================================================================= - - public function testConstructorSetsInterval(): void { - // Use reflection to access the protected interval property - $reflection = new \ReflectionClass($this->job); - $property = $reflection->getProperty('interval'); - $property->setAccessible(true); - - $this->assertEquals(900, $property->getValue($this->job)); - } - - // ========================================================================= - // run() Method Tests - // ========================================================================= - - public function testRunWithNoUsers(): void { - $this->tokenStorage->method('getAllUsersWithTokens') - ->willReturn([]); - - $this->logger->expects($this->exactly(2)) - ->method('info') - ->willReturnCallback(function (string $message) { - static $callCount = 0; - $callCount++; - if ($callCount === 1) { - $this->assertStringContainsString('Starting', $message); - } else { - $this->assertStringContainsString('total=0', $message); - $this->assertStringContainsString('refreshed=0, failed=0, skipped=0', $message); - } - }); - - // Call run() via reflection since it's protected - $this->invokeRun(); - } - - public function testRunWithMultipleUsersAndMixedResults(): void { - $this->setupDefaultLockBehavior(); - - $this->tokenStorage->method('getAllUsersWithTokens') - ->willReturn(['alice', 'bob', 'charlie']); - - // Alice: token with plenty of time (skipped) - // Bob: token near expiry with refresh token (refreshed) - // Charlie: token near expiry without refresh token (failed) - $this->tokenStorage->method('getUserToken') - ->willReturnCallback(function (string $userId) { - $now = time(); - return match ($userId) { - 'alice' => [ - 'access_token' => 'alice-token', - 'refresh_token' => 'alice-refresh', - 'expires_at' => $now + 3600, // 1 hour remaining (>50% of default lifetime) - 'issued_at' => $now, - ], - 'bob' => [ - 'access_token' => 'bob-token', - 'refresh_token' => 'bob-refresh', - 'expires_at' => $now + 100, // ~100s remaining (<50% of default lifetime) - 'issued_at' => $now - 3500, - ], - 'charlie' => [ - 'access_token' => 'charlie-token', - // No refresh_token - 'expires_at' => $now + 100, - 'issued_at' => $now - 3500, - ], - default => null, - }; - }); - - // Bob's refresh should succeed - $this->tokenRefresher->method('refreshAccessToken') - ->with('bob-refresh') - ->willReturn([ - 'access_token' => 'bob-new-token', - 'refresh_token' => 'bob-new-refresh', - 'expires_in' => 3600, - ]); - - $this->tokenStorage->expects($this->once()) - ->method('storeUserToken') - ->with( - 'bob', - 'bob-new-token', - 'bob-new-refresh', - $this->anything(), - $this->anything() - ); - - $this->logger->expects($this->exactly(2)) - ->method('info') - ->willReturnCallback(function (string $message) { - static $callCount = 0; - $callCount++; - if ($callCount === 2) { - $this->assertStringContainsString('total=3', $message); - $this->assertStringContainsString('refreshed=1, failed=1, skipped=1', $message); - } - }); - - $this->invokeRun(); - } - - public function testRunProcessesUsersInBatches(): void { - $this->setupDefaultLockBehavior(); - - // Simulate 150 users processed in 2 batches (100 + 50) - $batch1 = array_map(fn ($i) => "user{$i}", range(1, 100)); - $batch2 = array_map(fn ($i) => "user{$i}", range(101, 150)); - - $callCount = 0; - $this->tokenStorage->method('getAllUsersWithTokens') - ->willReturnCallback(function (int $limit, int $offset) use (&$callCount, $batch1, $batch2) { - $callCount++; - // First call: offset 0, return 100 users (full batch) - if ($offset === 0) { - $this->assertEquals(100, $limit); - return $batch1; - } - // Second call: offset 100, return 50 users (partial batch = last) - if ($offset === 100) { - $this->assertEquals(100, $limit); - return $batch2; - } - // Should not be called again - $this->fail("Unexpected getAllUsersWithTokens call with offset $offset"); - }); - - // All tokens have plenty of time (all skipped) - $this->tokenStorage->method('getUserToken') - ->willReturnCallback(function (string $userId) { - $now = time(); - return [ - 'access_token' => "{$userId}-token", - 'refresh_token' => "{$userId}-refresh", - 'expires_at' => $now + 3600, - 'issued_at' => $now, - ]; - }); - - $this->tokenRefresher->expects($this->never()) - ->method('refreshAccessToken'); - - $this->logger->expects($this->exactly(2)) - ->method('info') - ->willReturnCallback(function (string $message) { - static $infoCallCount = 0; - $infoCallCount++; - if ($infoCallCount === 2) { - $this->assertStringContainsString('total=150', $message); - $this->assertStringContainsString('refreshed=0, failed=0, skipped=150', $message); - } - }); - - $this->invokeRun(); - - // Verify getAllUsersWithTokens was called exactly twice (2 batches) - $this->assertEquals(2, $callCount); - } - - // ========================================================================= - // refreshUserTokenIfNeeded() Tests - // ========================================================================= - - public function testRefreshSkippedWhenTokenHasPlentyOfTime(): void { - $now = time(); - $this->tokenStorage->method('getUserToken') - ->with('testuser') - ->willReturn([ - 'access_token' => 'valid-token', - 'refresh_token' => 'refresh-token', - 'expires_at' => $now + 3600, // 1 hour remaining - 'issued_at' => $now, - ]); - - $this->tokenRefresher->expects($this->never()) - ->method('refreshAccessToken'); - - $result = $this->invokeRefreshUserTokenIfNeeded('testuser'); - - $this->assertEquals('skipped', $result); - } - - public function testRefreshTriggeredWhenTokenNearExpiry(): void { - $this->setupDefaultLockBehavior(); - - $now = time(); - $this->tokenStorage->method('getUserToken') - ->with('testuser') - ->willReturn([ - 'access_token' => 'expiring-token', - 'refresh_token' => 'refresh-token', - 'expires_at' => $now + 300, // 5 min remaining (< 50% of 3600s) - 'issued_at' => $now - 3300, // Issued 55 min ago - ]); - - $this->tokenRefresher->expects($this->once()) - ->method('refreshAccessToken') - ->with('refresh-token') - ->willReturn([ - 'access_token' => 'new-token', - 'refresh_token' => 'new-refresh-token', - 'expires_in' => 3600, - ]); - - $this->tokenStorage->expects($this->once()) - ->method('storeUserToken'); - - $result = $this->invokeRefreshUserTokenIfNeeded('testuser'); - - $this->assertEquals('refreshed', $result); - } - - public function testRefreshFailsWhenNoRefreshToken(): void { - $this->setupDefaultLockBehavior(); - - $now = time(); - $this->tokenStorage->method('getUserToken') - ->with('testuser') - ->willReturn([ - 'access_token' => 'expiring-token', - // No refresh_token - 'expires_at' => $now + 100, - 'issued_at' => $now - 3500, - ]); - - $this->logger->expects($this->once()) - ->method('warning') - ->with($this->stringContains('no refresh token')); - - $this->tokenRefresher->expects($this->never()) - ->method('refreshAccessToken'); - - $result = $this->invokeRefreshUserTokenIfNeeded('testuser'); - - $this->assertEquals('failed', $result); - } - - public function testRefreshFailsWhenRefresherReturnsNull(): void { - $this->setupDefaultLockBehavior(); - - $now = time(); - $this->tokenStorage->method('getUserToken') - ->with('testuser') - ->willReturn([ - 'access_token' => 'expiring-token', - 'refresh_token' => 'invalid-refresh', - 'expires_at' => $now + 100, - 'issued_at' => $now - 3500, - ]); - - $this->tokenRefresher->expects($this->once()) - ->method('refreshAccessToken') - ->with('invalid-refresh') - ->willReturn(null); - - $this->logger->expects($this->once()) - ->method('warning') - ->with($this->stringContains('Refresh returned null')); - - // Should NOT delete token - let on-demand refresh handle cleanup - $this->tokenStorage->expects($this->never()) - ->method('deleteUserToken'); - - $result = $this->invokeRefreshUserTokenIfNeeded('testuser'); - - $this->assertEquals('failed', $result); - } - - public function testRefreshUsesIssuedAtForLifetimeCalculation(): void { - $this->setupDefaultLockBehavior(); - - $now = time(); - // Token with custom lifetime: issued 50 min ago, expires in 10 min (total 60 min) - // 10/60 = 16.7% remaining, which is < 50%, so should refresh - $this->tokenStorage->method('getUserToken') - ->with('testuser') - ->willReturn([ - 'access_token' => 'token', - 'refresh_token' => 'refresh', - 'expires_at' => $now + 600, // 10 min remaining - 'issued_at' => $now - 3000, // 50 min ago, total lifetime 60 min - ]); - - $this->tokenRefresher->expects($this->once()) - ->method('refreshAccessToken') - ->willReturn([ - 'access_token' => 'new-token', - 'refresh_token' => 'new-refresh', - 'expires_in' => 3600, - ]); - - $result = $this->invokeRefreshUserTokenIfNeeded('testuser'); - - $this->assertEquals('refreshed', $result); - } - - public function testRefreshUsesDefaultLifetimeWhenNoIssuedAt(): void { - $this->setupDefaultLockBehavior(); - - $now = time(); - // Token without issued_at, uses default 3600s lifetime - // 300s remaining / 3600s = 8.3% remaining, which is < 50%, so should refresh - $this->tokenStorage->method('getUserToken') - ->with('testuser') - ->willReturn([ - 'access_token' => 'token', - 'refresh_token' => 'refresh', - 'expires_at' => $now + 300, // 5 min remaining - // No issued_at - ]); - - $this->tokenRefresher->expects($this->once()) - ->method('refreshAccessToken') - ->willReturn([ - 'access_token' => 'new-token', - 'refresh_token' => 'new-refresh', - 'expires_in' => 3600, - ]); - - $result = $this->invokeRefreshUserTokenIfNeeded('testuser'); - - $this->assertEquals('refreshed', $result); - } - - public function testRefreshStoresNewTokenWithIssuedAt(): void { - $this->setupDefaultLockBehavior(); - - $now = time(); - $this->tokenStorage->method('getUserToken') - ->with('testuser') - ->willReturn([ - 'access_token' => 'old-token', - 'refresh_token' => 'old-refresh', - 'expires_at' => $now + 100, - 'issued_at' => $now - 3500, - ]); - - $this->tokenRefresher->expects($this->once()) - ->method('refreshAccessToken') - ->willReturn([ - 'access_token' => 'new-token', - 'refresh_token' => 'new-refresh', - 'expires_in' => 3600, - ]); - - // Verify storeUserToken is called with issued_at parameter - $this->tokenStorage->expects($this->once()) - ->method('storeUserToken') - ->with( - 'testuser', - 'new-token', - 'new-refresh', - $this->greaterThan($now), // expires_at = now + 3600 - $this->greaterThanOrEqual($now) // issued_at = now - ); - - $result = $this->invokeRefreshUserTokenIfNeeded('testuser'); - - $this->assertEquals('refreshed', $result); - } - - public function testRefreshKeepsOldRefreshTokenIfNotRotated(): void { - $this->setupDefaultLockBehavior(); - - $now = time(); - $this->tokenStorage->method('getUserToken') - ->with('testuser') - ->willReturn([ - 'access_token' => 'old-token', - 'refresh_token' => 'original-refresh', - 'expires_at' => $now + 100, - 'issued_at' => $now - 3500, - ]); - - // IdP returns new access token but no new refresh token (no rotation) - $this->tokenRefresher->expects($this->once()) - ->method('refreshAccessToken') - ->willReturn([ - 'access_token' => 'new-token', - // No refresh_token in response - 'expires_in' => 3600, - ]); - - // Should use the original refresh token - $this->tokenStorage->expects($this->once()) - ->method('storeUserToken') - ->with( - 'testuser', - 'new-token', - 'original-refresh', // Original refresh token preserved - $this->anything(), - $this->anything() - ); - - $result = $this->invokeRefreshUserTokenIfNeeded('testuser'); - - $this->assertEquals('refreshed', $result); - } - - public function testRefreshHandlesException(): void { - $this->setupDefaultLockBehavior(); - - $now = time(); - $this->tokenStorage->method('getUserToken') - ->with('testuser') - ->willReturn([ - 'access_token' => 'token', - 'refresh_token' => 'refresh', - 'expires_at' => $now + 100, - 'issued_at' => $now - 3500, - ]); - - $this->tokenRefresher->expects($this->once()) - ->method('refreshAccessToken') - ->willThrowException(new \Exception('Network error')); - - $this->logger->expects($this->once()) - ->method('error') - ->with($this->stringContains('Failed to refresh')); - - $result = $this->invokeRefreshUserTokenIfNeeded('testuser'); - - $this->assertEquals('failed', $result); - } - - public function testRefreshSkippedWhenNoToken(): void { - $this->tokenStorage->method('getUserToken') - ->with('testuser') - ->willReturn(null); - - $this->tokenRefresher->expects($this->never()) - ->method('refreshAccessToken'); - - $result = $this->invokeRefreshUserTokenIfNeeded('testuser'); - - $this->assertEquals('skipped', $result); - } - - // ========================================================================= - // Locking Tests - // ========================================================================= - - public function testRefreshSkippedWhenLockCannotBeAcquired(): void { - $now = time(); - $this->tokenStorage->method('getUserToken') - ->with('testuser') - ->willReturn([ - 'access_token' => 'expiring-token', - 'refresh_token' => 'refresh-token', - 'expires_at' => $now + 100, // ~100s remaining (< 50% of default) - 'issued_at' => $now - 3500, - ]); - - // Lock acquisition fails (on-demand refresh is holding it) - $this->tokenStorage->expects($this->once()) - ->method('withTokenLock') - ->willThrowException(new LockedException('astrolabe/oauth/tokens/testuser')); - - // Token refresher should NOT be called when lock fails - $this->tokenRefresher->expects($this->never()) - ->method('refreshAccessToken'); - - $this->logger->expects($this->once()) - ->method('debug') - ->with($this->stringContains('Lock held for user testuser')); - - $result = $this->invokeRefreshUserTokenIfNeeded('testuser'); - - $this->assertEquals('skipped', $result); - } - - public function testRefreshUsesLockForTokenRefresh(): void { - $now = time(); - $this->tokenStorage->method('getUserToken') - ->with('testuser') - ->willReturn([ - 'access_token' => 'expiring-token', - 'refresh_token' => 'refresh-token', - 'expires_at' => $now + 100, - 'issued_at' => $now - 3500, - ]); - - // withTokenLock is called and executes the callback - $this->tokenStorage->expects($this->once()) - ->method('withTokenLock') - ->with('testuser', $this->isInstanceOf(\Closure::class)) - ->willReturnCallback(function ($userId, $callback) { - return $callback(); - }); - - $this->tokenRefresher->expects($this->once()) - ->method('refreshAccessToken') - ->with('refresh-token') - ->willReturn([ - 'access_token' => 'new-token', - 'refresh_token' => 'new-refresh-token', - 'expires_in' => 3600, - ]); - - $this->tokenStorage->expects($this->once()) - ->method('storeUserToken'); - - $result = $this->invokeRefreshUserTokenIfNeeded('testuser'); - - $this->assertEquals('refreshed', $result); - } - - public function testRefreshSkippedWhenTokenAlreadyRefreshedWhileWaitingForLock(): void { - $now = time(); - - // First call (before lock): token is expiring - // Calls inside lock callback: token is now fresh - $callCount = 0; - $this->tokenStorage->method('getUserToken') - ->with('testuser') - ->willReturnCallback(function () use (&$callCount, $now) { - $callCount++; - if ($callCount === 1) { - // First check: token is expiring - return [ - 'access_token' => 'expiring-token', - 'refresh_token' => 'refresh-token', - 'expires_at' => $now + 100, - 'issued_at' => $now - 3500, - ]; - } - // Inside lock: token was already refreshed - return [ - 'access_token' => 'already-refreshed-token', - 'refresh_token' => 'new-refresh-token', - 'expires_at' => $now + 3600, // Fresh token - 'issued_at' => $now, - ]; - }); - - // withTokenLock is called and executes the callback - $this->tokenStorage->expects($this->once()) - ->method('withTokenLock') - ->willReturnCallback(function ($userId, $callback) { - return $callback(); - }); - - // Token refresher should NOT be called since token is already fresh - $this->tokenRefresher->expects($this->never()) - ->method('refreshAccessToken'); - - $this->logger->expects($this->once()) - ->method('debug') - ->with($this->stringContains('already refreshed')); - - $result = $this->invokeRefreshUserTokenIfNeeded('testuser'); - - $this->assertEquals('skipped', $result); - } - - // ========================================================================= - // Helper Methods - // ========================================================================= - - /** - * Invoke the protected run() method. - */ - private function invokeRun(): void { - $reflection = new \ReflectionClass($this->job); - $method = $reflection->getMethod('run'); - $method->setAccessible(true); - $method->invoke($this->job, null); - } - - /** - * Invoke the private refreshUserTokenIfNeeded() method. - */ - private function invokeRefreshUserTokenIfNeeded(string $userId): string { - $reflection = new \ReflectionClass($this->job); - $method = $reflection->getMethod('refreshUserTokenIfNeeded'); - $method->setAccessible(true); - return $method->invoke($this->job, $userId); - } -} diff --git a/third_party/astrolabe/tests/unit/Service/IdpTokenRefresherTest.php b/third_party/astrolabe/tests/unit/Service/IdpTokenRefresherTest.php deleted file mode 100644 index 37c7096..0000000 --- a/third_party/astrolabe/tests/unit/Service/IdpTokenRefresherTest.php +++ /dev/null @@ -1,429 +0,0 @@ -config = $this->createMock(IConfig::class); - $this->clientService = $this->createMock(IClientService::class); - $this->httpClient = $this->createMock(IClient::class); - $this->logger = $this->createMock(LoggerInterface::class); - $this->mcpServerClient = $this->createMock(McpServerClient::class); - - $this->clientService->method('newClient')->willReturn($this->httpClient); - - $this->refresher = new IdpTokenRefresher( - $this->config, - $this->clientService, - $this->logger, - $this->mcpServerClient - ); - } - - // ========================================================================= - // getNextcloudBaseUrl() tests - // ========================================================================= - - /** - * @dataProvider provideBaseUrlTestCases - */ - public function testGetNextcloudBaseUrl(string $configValue, string $expected): void { - $this->config->method('getSystemValue') - ->with('astrolabe_internal_url', '') - ->willReturn($configValue); - - // Use reflection to test private method - $reflection = new \ReflectionClass($this->refresher); - $method = $reflection->getMethod('getNextcloudBaseUrl'); - $method->setAccessible(true); - - $result = $method->invoke($this->refresher); - - $this->assertEquals($expected, $result); - } - - /** - * Provides test cases for getNextcloudBaseUrl(). - * - * @return array - */ - public static function provideBaseUrlTestCases(): array { - return [ - 'default - no config' => ['', 'http://localhost'], - 'custom internal url' => ['http://web:8080', 'http://web:8080'], - 'custom url with trailing slash' => ['http://web:8080/', 'http://web:8080'], - 'kubernetes service' => ['http://nextcloud.default.svc:80', 'http://nextcloud.default.svc:80'], - 'https internal url' => ['https://internal.example.com', 'https://internal.example.com'], - ]; - } - - // ========================================================================= - // refreshAccessToken() tests - // ========================================================================= - - public function testRefreshAccessTokenFailsWithoutClientSecret(): void { - $this->config->method('getSystemValue') - ->willReturnMap([ - ['astrolabe_client_secret', '', ''], - ]); - - $this->logger->expects($this->once()) - ->method('warning') - ->with($this->stringContains('no client secret configured')); - - $result = $this->refresher->refreshAccessToken('test-refresh-token'); - - $this->assertNull($result); - } - - public function testRefreshAccessTokenFailsWithoutMcpServerUrl(): void { - $this->config->method('getSystemValue') - ->willReturnMap([ - ['astrolabe_client_secret', '', 'test-secret'], - ['mcp_server_url', '', ''], - ]); - - $this->logger->expects($this->once()) - ->method('error') - ->with( - $this->stringContains('Token refresh failed'), - $this->callback(fn ($ctx) => str_contains($ctx['error'], 'MCP server URL not configured')) - ); - - $result = $this->refresher->refreshAccessToken('test-refresh-token'); - - $this->assertNull($result); - } - - public function testRefreshAccessTokenWithInternalNextcloudOidc(): void { - // Setup config - $this->config->method('getSystemValue') - ->willReturnMap([ - ['astrolabe_client_secret', '', 'test-secret'], - ['mcp_server_url', '', 'http://mcp-server:8000'], - ['astrolabe_internal_url', '', ''], - ]); - - $this->mcpServerClient->method('getClientId') - ->willReturn('test-client-id'); - - // Mock MCP server status response (no external IdP configured) - $statusResponse = $this->createMock(IResponse::class); - $statusResponse->method('getBody') - ->willReturn(json_encode([ - 'version' => '1.0.0', - 'auth_mode' => 'multi_user_oauth', - // No 'oidc.discovery_url' = use internal Nextcloud OIDC - ])); - - // Mock token endpoint response - $tokenResponse = $this->createMock(IResponse::class); - $tokenResponse->method('getBody') - ->willReturn(json_encode([ - 'access_token' => 'new-access-token', - 'refresh_token' => 'new-refresh-token', - 'expires_in' => 3600, - 'token_type' => 'Bearer', - ])); - - // Setup HTTP client to return appropriate responses - $this->httpClient->method('get') - ->with('http://mcp-server:8000/api/v1/status') - ->willReturn($statusResponse); - - $this->httpClient->method('post') - ->with( - 'http://localhost/apps/oidc/token', - $this->callback(function ($options) { - // Verify the POST body contains expected parameters - $body = $options['body'] ?? ''; - return str_contains($body, 'grant_type=refresh_token') - && str_contains($body, 'client_id=test-client-id') - && str_contains($body, 'client_secret=test-secret') - && str_contains($body, 'refresh_token=test-refresh-token'); - }) - ) - ->willReturn($tokenResponse); - - $result = $this->refresher->refreshAccessToken('test-refresh-token'); - - $this->assertNotNull($result); - $this->assertEquals('new-access-token', $result['access_token']); - $this->assertEquals('new-refresh-token', $result['refresh_token']); - $this->assertEquals(3600, $result['expires_in']); - } - - public function testRefreshAccessTokenWithExternalIdp(): void { - // Setup config - $this->config->method('getSystemValue') - ->willReturnMap([ - ['astrolabe_client_secret', '', 'test-secret'], - ['mcp_server_url', '', 'http://mcp-server:8000'], - ]); - - $this->mcpServerClient->method('getClientId') - ->willReturn('test-client-id'); - - // Mock MCP server status response (external IdP configured) - $statusResponse = $this->createMock(IResponse::class); - $statusResponse->method('getBody') - ->willReturn(json_encode([ - 'version' => '1.0.0', - 'auth_mode' => 'multi_user_oauth', - 'oidc' => [ - 'discovery_url' => 'https://keycloak.example.com/realms/test/.well-known/openid-configuration', - ], - ])); - - // Mock OIDC discovery response - $discoveryResponse = $this->createMock(IResponse::class); - $discoveryResponse->method('getBody') - ->willReturn(json_encode([ - 'issuer' => 'https://keycloak.example.com/realms/test', - 'token_endpoint' => 'https://keycloak.example.com/realms/test/protocol/openid-connect/token', - 'authorization_endpoint' => 'https://keycloak.example.com/realms/test/protocol/openid-connect/auth', - ])); - - // Mock token endpoint response - $tokenResponse = $this->createMock(IResponse::class); - $tokenResponse->method('getBody') - ->willReturn(json_encode([ - 'access_token' => 'keycloak-access-token', - 'refresh_token' => 'keycloak-refresh-token', - 'expires_in' => 300, - 'token_type' => 'Bearer', - ])); - - // Setup HTTP client calls in order - $this->httpClient->method('get') - ->willReturnCallback(function ($url) use ($statusResponse, $discoveryResponse) { - if (str_contains($url, 'status')) { - return $statusResponse; - } - if (str_contains($url, '.well-known/openid-configuration')) { - return $discoveryResponse; - } - throw new \Exception("Unexpected URL: $url"); - }); - - $this->httpClient->method('post') - ->with( - 'https://keycloak.example.com/realms/test/protocol/openid-connect/token', - $this->anything() - ) - ->willReturn($tokenResponse); - - $result = $this->refresher->refreshAccessToken('test-refresh-token'); - - $this->assertNotNull($result); - $this->assertEquals('keycloak-access-token', $result['access_token']); - $this->assertEquals('keycloak-refresh-token', $result['refresh_token']); - $this->assertEquals(300, $result['expires_in']); - } - - public function testRefreshAccessTokenFailsOnMissingRefreshTokenInResponse(): void { - // Setup config - $this->config->method('getSystemValue') - ->willReturnMap([ - ['astrolabe_client_secret', '', 'test-secret'], - ['mcp_server_url', '', 'http://mcp-server:8000'], - ['astrolabe_internal_url', '', ''], - ]); - - $this->mcpServerClient->method('getClientId') - ->willReturn('test-client-id'); - - // Mock MCP server status response - $statusResponse = $this->createMock(IResponse::class); - $statusResponse->method('getBody') - ->willReturn(json_encode(['version' => '1.0.0'])); - - // Mock token response WITHOUT refresh_token (token rotation failure) - $tokenResponse = $this->createMock(IResponse::class); - $tokenResponse->method('getBody') - ->willReturn(json_encode([ - 'access_token' => 'new-access-token', - // Missing refresh_token! - 'expires_in' => 3600, - ])); - - $this->httpClient->method('get')->willReturn($statusResponse); - $this->httpClient->method('post')->willReturn($tokenResponse); - - $this->logger->expects($this->once()) - ->method('error') - ->with( - $this->stringContains('No refresh token in response'), - $this->anything() - ); - - $result = $this->refresher->refreshAccessToken('test-refresh-token'); - - $this->assertNull($result); - } - - public function testRefreshAccessTokenHandlesHttpException(): void { - // Setup config - $this->config->method('getSystemValue') - ->willReturnMap([ - ['astrolabe_client_secret', '', 'test-secret'], - ['mcp_server_url', '', 'http://mcp-server:8000'], - ]); - - // HTTP client throws exception - $this->httpClient->method('get') - ->willThrowException(new \Exception('Connection refused')); - - $this->logger->expects($this->once()) - ->method('error') - ->with( - $this->stringContains('Token refresh failed'), - $this->callback(fn ($ctx) => str_contains($ctx['error'], 'Connection refused')) - ); - - $result = $this->refresher->refreshAccessToken('test-refresh-token'); - - $this->assertNull($result); - } - - public function testRefreshAccessTokenHandlesInvalidStatusResponse(): void { - // Setup config - $this->config->method('getSystemValue') - ->willReturnMap([ - ['astrolabe_client_secret', '', 'test-secret'], - ['mcp_server_url', '', 'http://mcp-server:8000'], - ]); - - // Mock invalid JSON response - $statusResponse = $this->createMock(IResponse::class); - $statusResponse->method('getBody') - ->willReturn('not valid json'); - - $this->httpClient->method('get')->willReturn($statusResponse); - - $this->logger->expects($this->once()) - ->method('error') - ->with( - $this->stringContains('Token refresh failed'), - $this->callback(fn ($ctx) => str_contains($ctx['error'], 'Invalid status response')) - ); - - $result = $this->refresher->refreshAccessToken('test-refresh-token'); - - $this->assertNull($result); - } - - public function testRefreshAccessTokenHandlesInvalidDiscoveryResponse(): void { - // Setup config - $this->config->method('getSystemValue') - ->willReturnMap([ - ['astrolabe_client_secret', '', 'test-secret'], - ['mcp_server_url', '', 'http://mcp-server:8000'], - ]); - - $this->mcpServerClient->method('getClientId') - ->willReturn('test-client-id'); - - // Mock MCP server status response with external IdP - $statusResponse = $this->createMock(IResponse::class); - $statusResponse->method('getBody') - ->willReturn(json_encode([ - 'oidc' => [ - 'discovery_url' => 'https://keycloak.example.com/.well-known/openid-configuration', - ], - ])); - - // Mock invalid discovery response (missing token_endpoint) - $discoveryResponse = $this->createMock(IResponse::class); - $discoveryResponse->method('getBody') - ->willReturn(json_encode([ - 'issuer' => 'https://keycloak.example.com', - // Missing token_endpoint! - ])); - - $this->httpClient->method('get') - ->willReturnCallback(function ($url) use ($statusResponse, $discoveryResponse) { - if (str_contains($url, 'status')) { - return $statusResponse; - } - return $discoveryResponse; - }); - - $this->logger->expects($this->once()) - ->method('error') - ->with( - $this->stringContains('Token refresh failed'), - $this->callback(fn ($ctx) => str_contains($ctx['error'], 'Invalid OIDC discovery response')) - ); - - $result = $this->refresher->refreshAccessToken('test-refresh-token'); - - $this->assertNull($result); - } - - public function testRefreshAccessTokenHandlesInvalidTokenResponse(): void { - // Setup config - $this->config->method('getSystemValue') - ->willReturnMap([ - ['astrolabe_client_secret', '', 'test-secret'], - ['mcp_server_url', '', 'http://mcp-server:8000'], - ['astrolabe_internal_url', '', ''], - ]); - - $this->mcpServerClient->method('getClientId') - ->willReturn('test-client-id'); - - // Mock MCP server status response - $statusResponse = $this->createMock(IResponse::class); - $statusResponse->method('getBody') - ->willReturn(json_encode(['version' => '1.0.0'])); - - // Mock token response without access_token - $tokenResponse = $this->createMock(IResponse::class); - $tokenResponse->method('getBody') - ->willReturn(json_encode([ - 'error' => 'invalid_grant', - 'error_description' => 'Refresh token expired', - ])); - - $this->httpClient->method('get')->willReturn($statusResponse); - $this->httpClient->method('post')->willReturn($tokenResponse); - - $this->logger->expects($this->once()) - ->method('error') - ->with( - $this->stringContains('Token refresh failed'), - $this->callback(fn ($ctx) => str_contains($ctx['error'], 'Invalid token response')) - ); - - $result = $this->refresher->refreshAccessToken('test-refresh-token'); - - $this->assertNull($result); - } -} diff --git a/third_party/astrolabe/tests/unit/Service/McpTokenStorageTest.php b/third_party/astrolabe/tests/unit/Service/McpTokenStorageTest.php deleted file mode 100644 index d2bc761..0000000 --- a/third_party/astrolabe/tests/unit/Service/McpTokenStorageTest.php +++ /dev/null @@ -1,829 +0,0 @@ -config = $this->createMock(IConfig::class); - $this->crypto = $this->createMock(ICrypto::class); - $this->db = $this->createMock(IDBConnection::class); - $this->logger = $this->createMock(LoggerInterface::class); - $this->lockingProvider = $this->createMock(ILockingProvider::class); - - $this->storage = new McpTokenStorage( - $this->config, - $this->crypto, - $this->db, - $this->logger, - $this->lockingProvider - ); - } - - // ========================================================================= - // OAuth Token Storage Tests - // ========================================================================= - - public function testStoreUserToken(): void { - $userId = 'testuser'; - $accessToken = 'access-token-123'; - $refreshToken = 'refresh-token-456'; - $expiresAt = time() + 3600; - - $this->crypto->expects($this->once()) - ->method('encrypt') - ->with($this->callback(function (string $json) use ($accessToken, $refreshToken, $expiresAt) { - $data = json_decode($json, true); - return $data['access_token'] === $accessToken - && $data['refresh_token'] === $refreshToken - && $data['expires_at'] === $expiresAt - && isset($data['issued_at']); // issued_at should be set (defaults to time()) - })) - ->willReturn('encrypted-data'); - - $this->config->expects($this->once()) - ->method('setUserValue') - ->with($userId, 'astrolabe', 'oauth_tokens', 'encrypted-data'); - - $this->storage->storeUserToken($userId, $accessToken, $refreshToken, $expiresAt); - } - - public function testGetUserTokenReturnsTokenData(): void { - $userId = 'testuser'; - $tokenData = [ - 'access_token' => 'access-token-123', - 'refresh_token' => 'refresh-token-456', - 'expires_at' => time() + 3600, - ]; - - $this->config->method('getUserValue') - ->with($userId, 'astrolabe', 'oauth_tokens', '') - ->willReturn('encrypted-data'); - - $this->crypto->method('decrypt') - ->with('encrypted-data') - ->willReturn(json_encode($tokenData)); - - $result = $this->storage->getUserToken($userId); - - $this->assertEquals($tokenData, $result); - } - - public function testGetUserTokenReturnsNullWhenNoTokenStored(): void { - $userId = 'testuser'; - - $this->config->method('getUserValue') - ->with($userId, 'astrolabe', 'oauth_tokens', '') - ->willReturn(''); - - $result = $this->storage->getUserToken($userId); - - $this->assertNull($result); - } - - public function testGetUserTokenReturnsNullOnDecryptionFailure(): void { - $userId = 'testuser'; - - $this->config->method('getUserValue') - ->willReturn('encrypted-data'); - - $this->crypto->method('decrypt') - ->willThrowException(new \Exception('Decryption failed')); - - $result = $this->storage->getUserToken($userId); - - $this->assertNull($result); - } - - public function testDeleteUserToken(): void { - $userId = 'testuser'; - - $this->config->expects($this->once()) - ->method('deleteUserValue') - ->with($userId, 'astrolabe', 'oauth_tokens'); - - $this->storage->deleteUserToken($userId); - } - - // ========================================================================= - // Token Expiration Tests - // ========================================================================= - - public function testIsExpiredReturnsTrueWhenNoExpiresAt(): void { - $token = ['access_token' => 'test']; - - $this->assertTrue($this->storage->isExpired($token)); - } - - public function testIsExpiredReturnsTrueWhenExpired(): void { - $token = [ - 'access_token' => 'test', - 'expires_at' => time() - 100, // Expired 100 seconds ago - ]; - - $this->assertTrue($this->storage->isExpired($token)); - } - - public function testIsExpiredReturnsTrueWhenAboutToExpire(): void { - $token = [ - 'access_token' => 'test', - 'expires_at' => time() + 30, // Expires in 30 seconds (within 60s buffer) - ]; - - $this->assertTrue($this->storage->isExpired($token)); - } - - public function testIsExpiredReturnsFalseWhenValid(): void { - $token = [ - 'access_token' => 'test', - 'expires_at' => time() + 3600, // Expires in 1 hour - ]; - - $this->assertFalse($this->storage->isExpired($token)); - } - - // ========================================================================= - // getAccessToken with Refresh Callback Tests - // ========================================================================= - - public function testGetAccessTokenReturnsNullWhenNoToken(): void { - $userId = 'testuser'; - - $this->config->method('getUserValue') - ->willReturn(''); - - $result = $this->storage->getAccessToken($userId); - - $this->assertNull($result); - } - - public function testGetAccessTokenReturnsTokenWhenValid(): void { - $userId = 'testuser'; - $tokenData = [ - 'access_token' => 'valid-access-token', - 'refresh_token' => 'refresh-token', - 'expires_at' => time() + 3600, // Valid for 1 hour - ]; - - $this->config->method('getUserValue') - ->willReturn('encrypted-data'); - - $this->crypto->method('decrypt') - ->willReturn(json_encode($tokenData)); - - $result = $this->storage->getAccessToken($userId); - - $this->assertEquals('valid-access-token', $result); - } - - public function testGetAccessTokenRefreshesExpiredToken(): void { - $userId = 'testuser'; - $expiredTokenData = [ - 'access_token' => 'expired-access-token', - 'refresh_token' => 'old-refresh-token', - 'expires_at' => time() - 100, // Expired - ]; - - $newTokenData = [ - 'access_token' => 'new-access-token', - 'refresh_token' => 'new-refresh-token', - 'expires_in' => 3600, - ]; - - // First call returns expired token, subsequent calls for storing new token - $this->config->method('getUserValue') - ->willReturn('encrypted-data'); - - $this->crypto->method('decrypt') - ->willReturn(json_encode($expiredTokenData)); - - // Encrypt is called when storing the new token - $this->crypto->method('encrypt') - ->willReturn('new-encrypted-data'); - - $this->config->expects($this->once()) - ->method('setUserValue') - ->with($userId, 'astrolabe', 'oauth_tokens', 'new-encrypted-data'); - - // Refresh callback - $refreshCallback = function (string $refreshToken) use ($newTokenData) { - $this->assertEquals('old-refresh-token', $refreshToken); - return $newTokenData; - }; - - $result = $this->storage->getAccessToken($userId, $refreshCallback); - - $this->assertEquals('new-access-token', $result); - } - - public function testGetAccessTokenReturnsNullWhenRefreshFailsAndDeletesToken(): void { - $userId = 'testuser'; - $expiredTokenData = [ - 'access_token' => 'expired-access-token', - 'refresh_token' => 'old-refresh-token', - 'expires_at' => time() - 100, // Expired - ]; - - $this->config->method('getUserValue') - ->willReturn('encrypted-data'); - - $this->crypto->method('decrypt') - ->willReturn(json_encode($expiredTokenData)); - - // Expect stale token to be deleted when refresh fails - $this->config->expects($this->once()) - ->method('deleteUserValue') - ->with($userId, 'astrolabe', 'oauth_tokens'); - - // Refresh callback returns null (failure) - $refreshCallback = fn (string $refreshToken) => null; - - $result = $this->storage->getAccessToken($userId, $refreshCallback); - - $this->assertNull($result); - } - - public function testGetAccessTokenReturnsNullWhenExpiredAndNoCallbackAndDeletesToken(): void { - $userId = 'testuser'; - $expiredTokenData = [ - 'access_token' => 'expired-access-token', - 'refresh_token' => 'old-refresh-token', - 'expires_at' => time() - 100, // Expired - ]; - - $this->config->method('getUserValue') - ->willReturn('encrypted-data'); - - $this->crypto->method('decrypt') - ->willReturn(json_encode($expiredTokenData)); - - // Expect stale token to be deleted when expired with no callback - $this->config->expects($this->once()) - ->method('deleteUserValue') - ->with($userId, 'astrolabe', 'oauth_tokens'); - - // No refresh callback provided - $result = $this->storage->getAccessToken($userId, null); - - $this->assertNull($result); - } - - // ========================================================================= - // Token Refresh Locking Tests - // ========================================================================= - - public function testGetAccessTokenAcquiresLockWhenRefreshing(): void { - $userId = 'testuser'; - $expiredTokenData = [ - 'access_token' => 'expired-access-token', - 'refresh_token' => 'old-refresh-token', - 'expires_at' => time() - 100, // Expired - ]; - - $newTokenData = [ - 'access_token' => 'new-access-token', - 'refresh_token' => 'new-refresh-token', - 'expires_in' => 3600, - ]; - - $this->config->method('getUserValue') - ->willReturn('encrypted-data'); - - $this->crypto->method('decrypt') - ->willReturn(json_encode($expiredTokenData)); - - $this->crypto->method('encrypt') - ->willReturn('new-encrypted-data'); - - // Verify lock is acquired and released - $this->lockingProvider->expects($this->once()) - ->method('acquireLock') - ->with('astrolabe/oauth/tokens/testuser', ILockingProvider::LOCK_EXCLUSIVE); - - $this->lockingProvider->expects($this->once()) - ->method('releaseLock') - ->with('astrolabe/oauth/tokens/testuser', ILockingProvider::LOCK_EXCLUSIVE); - - $refreshCallback = fn (string $refreshToken) => $newTokenData; - - $result = $this->storage->getAccessToken($userId, $refreshCallback); - - $this->assertEquals('new-access-token', $result); - } - - public function testGetAccessTokenReturnsStaleTokenOnLockedException(): void { - $userId = 'testuser'; - $expiredTokenData = [ - 'access_token' => 'expired-access-token', - 'refresh_token' => 'old-refresh-token', - 'expires_at' => time() - 100, // Expired - ]; - - $this->config->method('getUserValue') - ->willReturn('encrypted-data'); - - $this->crypto->method('decrypt') - ->willReturn(json_encode($expiredTokenData)); - - // Lock acquisition fails - $this->lockingProvider->expects($this->once()) - ->method('acquireLock') - ->willThrowException(new LockedException('astrolabe/oauth/tokens/testuser')); - - // Refresh callback should NOT be called when lock fails - $refreshCallbackCalled = false; - $refreshCallback = function (string $refreshToken) use (&$refreshCallbackCalled) { - $refreshCallbackCalled = true; - return ['access_token' => 'new-token', 'expires_in' => 3600]; - }; - - $result = $this->storage->getAccessToken($userId, $refreshCallback); - - // Should return stale token instead of failing - $this->assertEquals('expired-access-token', $result); - $this->assertFalse($refreshCallbackCalled); - } - - public function testGetAccessTokenSkipsRefreshWhenTokenAlreadyRefreshedWhileWaitingForLock(): void { - $userId = 'testuser'; - $expiredTokenData = [ - 'access_token' => 'expired-access-token', - 'refresh_token' => 'old-refresh-token', - 'expires_at' => time() - 100, // Expired - ]; - - // After lock is acquired, token appears fresh (another process refreshed it) - $freshTokenData = [ - 'access_token' => 'fresh-access-token', - 'refresh_token' => 'fresh-refresh-token', - 'expires_at' => time() + 3600, // Valid for 1 hour - ]; - - $callCount = 0; - $this->config->method('getUserValue') - ->willReturn('encrypted-data'); - - // First call returns expired, subsequent calls return fresh - $this->crypto->method('decrypt') - ->willReturnCallback(function () use (&$callCount, $expiredTokenData, $freshTokenData) { - $callCount++; - return $callCount === 1 - ? json_encode($expiredTokenData) - : json_encode($freshTokenData); - }); - - $this->lockingProvider->expects($this->once()) - ->method('acquireLock'); - - $this->lockingProvider->expects($this->once()) - ->method('releaseLock'); - - // Refresh callback should NOT be called since token is already fresh - $refreshCallbackCalled = false; - $refreshCallback = function (string $refreshToken) use (&$refreshCallbackCalled) { - $refreshCallbackCalled = true; - return ['access_token' => 'new-token', 'expires_in' => 3600]; - }; - - $result = $this->storage->getAccessToken($userId, $refreshCallback); - - $this->assertEquals('fresh-access-token', $result); - $this->assertFalse($refreshCallbackCalled); - } - - public function testGetAccessTokenNoLockRequiredWhenNotExpired(): void { - $userId = 'testuser'; - $validTokenData = [ - 'access_token' => 'valid-access-token', - 'refresh_token' => 'refresh-token', - 'expires_at' => time() + 3600, // Valid for 1 hour - ]; - - $this->config->method('getUserValue') - ->willReturn('encrypted-data'); - - $this->crypto->method('decrypt') - ->willReturn(json_encode($validTokenData)); - - // Lock should NOT be acquired for valid tokens - $this->lockingProvider->expects($this->never()) - ->method('acquireLock'); - - $this->lockingProvider->expects($this->never()) - ->method('releaseLock'); - - $result = $this->storage->getAccessToken($userId); - - $this->assertEquals('valid-access-token', $result); - } - - // ========================================================================= - // App Password Storage Tests (Multi-User Basic Auth) - // ========================================================================= - - public function testStoreBackgroundSyncPassword(): void { - $userId = 'testuser'; - $appPassword = 'app-password-secret'; - - $this->crypto->expects($this->once()) - ->method('encrypt') - ->with($appPassword) - ->willReturn('encrypted-password'); - - // Expect three setUserValue calls: password, type, timestamp - $this->config->expects($this->exactly(3)) - ->method('setUserValue') - ->willReturnCallback(function ($uid, $app, $key, $value) use ($userId) { - $this->assertEquals($userId, $uid); - $this->assertEquals('astrolabe', $app); - $this->assertContains($key, [ - 'background_sync_password', - 'background_sync_type', - 'background_sync_provisioned_at' - ]); - return null; - }); - - $this->storage->storeBackgroundSyncPassword($userId, $appPassword); - } - - public function testGetBackgroundSyncPasswordReturnsPassword(): void { - $userId = 'testuser'; - $appPassword = 'app-password-secret'; - - $this->config->method('getUserValue') - ->with($userId, 'astrolabe', 'background_sync_password', '') - ->willReturn('encrypted-password'); - - $this->crypto->method('decrypt') - ->with('encrypted-password') - ->willReturn($appPassword); - - $result = $this->storage->getBackgroundSyncPassword($userId); - - $this->assertEquals($appPassword, $result); - } - - public function testGetBackgroundSyncPasswordReturnsNullWhenNotSet(): void { - $userId = 'testuser'; - - $this->config->method('getUserValue') - ->with($userId, 'astrolabe', 'background_sync_password', '') - ->willReturn(''); - - $result = $this->storage->getBackgroundSyncPassword($userId); - - $this->assertNull($result); - } - - public function testGetBackgroundSyncPasswordReturnsNullOnDecryptionFailure(): void { - $userId = 'testuser'; - - $this->config->method('getUserValue') - ->willReturn('encrypted-password'); - - $this->crypto->method('decrypt') - ->willThrowException(new \Exception('Decryption failed')); - - $result = $this->storage->getBackgroundSyncPassword($userId); - - $this->assertNull($result); - } - - public function testDeleteBackgroundSyncPassword(): void { - $userId = 'testuser'; - - // Expect three deleteUserValue calls - $this->config->expects($this->exactly(3)) - ->method('deleteUserValue') - ->willReturnCallback(function ($uid, $app, $key) use ($userId) { - $this->assertEquals($userId, $uid); - $this->assertEquals('astrolabe', $app); - $this->assertContains($key, [ - 'background_sync_password', - 'background_sync_type', - 'background_sync_provisioned_at' - ]); - return null; - }); - - $this->storage->deleteBackgroundSyncPassword($userId); - } - - // ========================================================================= - // Background Sync Access Check Tests - // ========================================================================= - - public function testHasBackgroundSyncAccessReturnsTrueWithOAuthToken(): void { - $userId = 'testuser'; - $tokenData = [ - 'access_token' => 'access-token', - 'refresh_token' => 'refresh-token', - 'expires_at' => time() + 3600, - ]; - - $this->config->method('getUserValue') - ->willReturnCallback(function ($uid, $app, $key, $default) use ($tokenData) { - if ($key === 'oauth_tokens') { - return 'encrypted-oauth-data'; - } - return $default; - }); - - $this->crypto->method('decrypt') - ->willReturn(json_encode($tokenData)); - - $result = $this->storage->hasBackgroundSyncAccess($userId); - - $this->assertTrue($result); - } - - public function testHasBackgroundSyncAccessReturnsTrueWithAppPassword(): void { - $userId = 'testuser'; - - $this->config->method('getUserValue') - ->willReturnCallback(function ($uid, $app, $key, $default) { - if ($key === 'oauth_tokens') { - return ''; // No OAuth tokens - } - if ($key === 'background_sync_password') { - return 'encrypted-password'; - } - return $default; - }); - - $this->crypto->method('decrypt') - ->willReturn('decrypted-app-password'); - - $result = $this->storage->hasBackgroundSyncAccess($userId); - - $this->assertTrue($result); - } - - public function testHasBackgroundSyncAccessReturnsFalseWithNeither(): void { - $userId = 'testuser'; - - $this->config->method('getUserValue') - ->willReturn(''); // No tokens or passwords - - $result = $this->storage->hasBackgroundSyncAccess($userId); - - $this->assertFalse($result); - } - - // ========================================================================= - // Background Sync Type Tests - // ========================================================================= - - public function testGetBackgroundSyncTypeReturnsAppPassword(): void { - $userId = 'testuser'; - - $this->config->method('getUserValue') - ->willReturnCallback(function ($uid, $app, $key, $default) { - if ($key === 'background_sync_type') { - return 'app_password'; - } - return $default; - }); - - $result = $this->storage->getBackgroundSyncType($userId); - - $this->assertEquals('app_password', $result); - } - - public function testGetBackgroundSyncTypeFallsBackToOAuth(): void { - $userId = 'testuser'; - $tokenData = [ - 'access_token' => 'access-token', - 'refresh_token' => 'refresh-token', - 'expires_at' => time() + 3600, - ]; - - $this->config->method('getUserValue') - ->willReturnCallback(function ($uid, $app, $key, $default) { - if ($key === 'background_sync_type') { - return ''; // Type not explicitly set - } - if ($key === 'oauth_tokens') { - return 'encrypted-oauth-data'; - } - return $default; - }); - - $this->crypto->method('decrypt') - ->willReturn(json_encode($tokenData)); - - $result = $this->storage->getBackgroundSyncType($userId); - - $this->assertEquals('oauth', $result); - } - - public function testGetBackgroundSyncTypeReturnsNullWhenNotProvisioned(): void { - $userId = 'testuser'; - - $this->config->method('getUserValue') - ->willReturn(''); - - $result = $this->storage->getBackgroundSyncType($userId); - - $this->assertNull($result); - } - - // ========================================================================= - // Background Sync Provisioned Timestamp Tests - // ========================================================================= - - public function testGetBackgroundSyncProvisionedAtReturnsTimestamp(): void { - $userId = 'testuser'; - $timestamp = time(); - - $this->config->method('getUserValue') - ->with($userId, 'astrolabe', 'background_sync_provisioned_at', '') - ->willReturn((string)$timestamp); - - $result = $this->storage->getBackgroundSyncProvisionedAt($userId); - - $this->assertEquals($timestamp, $result); - } - - public function testGetBackgroundSyncProvisionedAtReturnsNullWhenNotSet(): void { - $userId = 'testuser'; - - $this->config->method('getUserValue') - ->with($userId, 'astrolabe', 'background_sync_provisioned_at', '') - ->willReturn(''); - - $result = $this->storage->getBackgroundSyncProvisionedAt($userId); - - $this->assertNull($result); - } - - // ========================================================================= - // getAllUsersWithTokens Tests - // ========================================================================= - - public function testGetAllUsersWithTokensReturnsUserIds(): void { - $qb = $this->createMock(IQueryBuilder::class); - $expr = $this->createMock(IExpressionBuilder::class); - $result = $this->createMock(IResult::class); - - // Chain builder methods - $qb->method('select')->willReturnSelf(); - $qb->method('from')->willReturnSelf(); - $qb->method('where')->willReturnSelf(); - $qb->method('andWhere')->willReturnSelf(); - $qb->method('expr')->willReturn($expr); - $qb->method('createNamedParameter')->willReturnArgument(0); - $qb->method('executeQuery')->willReturn($result); - - // Mock expression builder - $expr->method('eq')->willReturn('mocked_condition'); - - // Mock result set with multiple users - $result->method('fetch')->willReturnOnConsecutiveCalls( - ['userid' => 'admin'], - ['userid' => 'alice'], - ['userid' => 'bob'], - false // End of results - ); - $result->expects($this->once())->method('closeCursor'); - - $this->db->method('getQueryBuilder')->willReturn($qb); - - $userIds = $this->storage->getAllUsersWithTokens(); - - $this->assertEquals(['admin', 'alice', 'bob'], $userIds); - } - - public function testGetAllUsersWithTokensReturnsEmptyArrayWhenNoTokens(): void { - $qb = $this->createMock(IQueryBuilder::class); - $expr = $this->createMock(IExpressionBuilder::class); - $result = $this->createMock(IResult::class); - - // Chain builder methods - $qb->method('select')->willReturnSelf(); - $qb->method('from')->willReturnSelf(); - $qb->method('where')->willReturnSelf(); - $qb->method('andWhere')->willReturnSelf(); - $qb->method('expr')->willReturn($expr); - $qb->method('createNamedParameter')->willReturnArgument(0); - $qb->method('executeQuery')->willReturn($result); - - // Mock expression builder - $expr->method('eq')->willReturn('mocked_condition'); - - // Mock empty result set - $result->method('fetch')->willReturn(false); - $result->expects($this->once())->method('closeCursor'); - - $this->db->method('getQueryBuilder')->willReturn($qb); - - $userIds = $this->storage->getAllUsersWithTokens(); - - $this->assertEquals([], $userIds); - } - - public function testGetAllUsersWithTokensWithLimitAndOffset(): void { - $qb = $this->createMock(IQueryBuilder::class); - $expr = $this->createMock(IExpressionBuilder::class); - $result = $this->createMock(IResult::class); - - // Chain builder methods - $qb->method('select')->willReturnSelf(); - $qb->method('from')->willReturnSelf(); - $qb->method('where')->willReturnSelf(); - $qb->method('andWhere')->willReturnSelf(); - $qb->method('expr')->willReturn($expr); - $qb->method('createNamedParameter')->willReturnArgument(0); - $qb->method('executeQuery')->willReturn($result); - - // Verify setMaxResults and setFirstResult are called with correct values - $qb->expects($this->once()) - ->method('setMaxResults') - ->with(50) - ->willReturnSelf(); - $qb->expects($this->once()) - ->method('setFirstResult') - ->with(100) - ->willReturnSelf(); - - // Mock expression builder - $expr->method('eq')->willReturn('mocked_condition'); - - // Mock result set - $result->method('fetch')->willReturnOnConsecutiveCalls( - ['userid' => 'user1'], - ['userid' => 'user2'], - false - ); - $result->expects($this->once())->method('closeCursor'); - - $this->db->method('getQueryBuilder')->willReturn($qb); - - $userIds = $this->storage->getAllUsersWithTokens(50, 100); - - $this->assertEquals(['user1', 'user2'], $userIds); - } - - public function testGetAllUsersWithTokensWithZeroLimitDoesNotSetMaxResults(): void { - $qb = $this->createMock(IQueryBuilder::class); - $expr = $this->createMock(IExpressionBuilder::class); - $result = $this->createMock(IResult::class); - - // Chain builder methods - $qb->method('select')->willReturnSelf(); - $qb->method('from')->willReturnSelf(); - $qb->method('where')->willReturnSelf(); - $qb->method('andWhere')->willReturnSelf(); - $qb->method('expr')->willReturn($expr); - $qb->method('createNamedParameter')->willReturnArgument(0); - $qb->method('executeQuery')->willReturn($result); - - // setMaxResults should NOT be called when limit is 0 - $qb->expects($this->never()) - ->method('setMaxResults'); - - // setFirstResult should NOT be called when offset is 0 - $qb->expects($this->never()) - ->method('setFirstResult'); - - // Mock expression builder - $expr->method('eq')->willReturn('mocked_condition'); - - // Mock result set - $result->method('fetch')->willReturn(false); - $result->expects($this->once())->method('closeCursor'); - - $this->db->method('getQueryBuilder')->willReturn($qb); - - $this->storage->getAllUsersWithTokens(0, 0); - } -} diff --git a/third_party/astrolabe/tests/unit/bootstrap.php b/third_party/astrolabe/tests/unit/bootstrap.php deleted file mode 100644 index a0d0e46..0000000 --- a/third_party/astrolabe/tests/unit/bootstrap.php +++ /dev/null @@ -1,13 +0,0 @@ - - - - . - - - - ../../lib - - - diff --git a/third_party/astrolabe/vendor-bin/cs-fixer/composer.json b/third_party/astrolabe/vendor-bin/cs-fixer/composer.json deleted file mode 100644 index dc131e7..0000000 --- a/third_party/astrolabe/vendor-bin/cs-fixer/composer.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "require-dev": { - "nextcloud/coding-standard": "^1.2" - }, - "config": { - "platform": { - "php": "8.1" - } - } -} diff --git a/third_party/astrolabe/vendor-bin/cs-fixer/composer.lock b/third_party/astrolabe/vendor-bin/cs-fixer/composer.lock deleted file mode 100644 index 62f4f6e..0000000 --- a/third_party/astrolabe/vendor-bin/cs-fixer/composer.lock +++ /dev/null @@ -1,171 +0,0 @@ -{ - "_readme": [ - "This file locks the dependencies of your project to a known state", - "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", - "This file is @generated automatically" - ], - "content-hash": "59bdbac023efd7059e30cfd98dc00b94", - "packages": [], - "packages-dev": [ - { - "name": "kubawerlos/php-cs-fixer-custom-fixers", - "version": "v3.35.1", - "source": { - "type": "git", - "url": "https://github.com/kubawerlos/php-cs-fixer-custom-fixers.git", - "reference": "2a35f80ae24ca77443a7af1599c3a3db1b6bd395" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/kubawerlos/php-cs-fixer-custom-fixers/zipball/2a35f80ae24ca77443a7af1599c3a3db1b6bd395", - "reference": "2a35f80ae24ca77443a7af1599c3a3db1b6bd395", - "shasum": "" - }, - "require": { - "ext-filter": "*", - "ext-tokenizer": "*", - "friendsofphp/php-cs-fixer": "^3.87", - "php": "^7.4 || ^8.0" - }, - "require-dev": { - "phpunit/phpunit": "^9.6.24 || ^10.5.51 || ^11.5.32" - }, - "type": "library", - "autoload": { - "psr-4": { - "PhpCsFixerCustomFixers\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Kuba Werłos", - "email": "werlos@gmail.com" - } - ], - "description": "A set of custom fixers for PHP CS Fixer", - "support": { - "issues": "https://github.com/kubawerlos/php-cs-fixer-custom-fixers/issues", - "source": "https://github.com/kubawerlos/php-cs-fixer-custom-fixers/tree/v3.35.1" - }, - "funding": [ - { - "url": "https://github.com/kubawerlos", - "type": "github" - } - ], - "time": "2025-09-28T18:43:35+00:00" - }, - { - "name": "nextcloud/coding-standard", - "version": "v1.4.0", - "source": { - "type": "git", - "url": "https://github.com/nextcloud/coding-standard.git", - "reference": "8e06808c1423e9208d63d1bd205b9a38bd400011" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nextcloud/coding-standard/zipball/8e06808c1423e9208d63d1bd205b9a38bd400011", - "reference": "8e06808c1423e9208d63d1bd205b9a38bd400011", - "shasum": "" - }, - "require": { - "kubawerlos/php-cs-fixer-custom-fixers": "^3.22", - "php": "^8.0", - "php-cs-fixer/shim": "^3.17" - }, - "type": "library", - "autoload": { - "psr-4": { - "Nextcloud\\CodingStandard\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Christoph Wurst", - "email": "christoph@winzerhof-wurst.at" - } - ], - "description": "Nextcloud coding standards for the php cs fixer", - "keywords": [ - "dev" - ], - "support": { - "issues": "https://github.com/nextcloud/coding-standard/issues", - "source": "https://github.com/nextcloud/coding-standard/tree/v1.4.0" - }, - "time": "2025-06-19T12:27:27+00:00" - }, - { - "name": "php-cs-fixer/shim", - "version": "v3.92.0", - "source": { - "type": "git", - "url": "https://github.com/PHP-CS-Fixer/shim.git", - "reference": "79e39b0d57adfd84c402d7b171b925d1e638597f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/PHP-CS-Fixer/shim/zipball/79e39b0d57adfd84c402d7b171b925d1e638597f", - "reference": "79e39b0d57adfd84c402d7b171b925d1e638597f", - "shasum": "" - }, - "require": { - "ext-json": "*", - "ext-tokenizer": "*", - "php": "^7.4 || ^8.0" - }, - "replace": { - "friendsofphp/php-cs-fixer": "self.version" - }, - "suggest": { - "ext-dom": "For handling output formats in XML", - "ext-mbstring": "For handling non-UTF8 characters." - }, - "bin": [ - "php-cs-fixer", - "php-cs-fixer.phar" - ], - "type": "application", - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Dariusz Rumiński", - "email": "dariusz.ruminski@gmail.com" - } - ], - "description": "A tool to automatically fix PHP code style", - "support": { - "issues": "https://github.com/PHP-CS-Fixer/shim/issues", - "source": "https://github.com/PHP-CS-Fixer/shim/tree/v3.92.0" - }, - "time": "2025-12-12T10:29:50+00:00" - } - ], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": {}, - "prefer-stable": false, - "prefer-lowest": false, - "platform": {}, - "platform-dev": {}, - "platform-overrides": { - "php": "8.1" - }, - "plugin-api-version": "2.6.0" -} diff --git a/third_party/astrolabe/vendor-bin/openapi-extractor/composer.json b/third_party/astrolabe/vendor-bin/openapi-extractor/composer.json deleted file mode 100644 index 8ddb85d..0000000 --- a/third_party/astrolabe/vendor-bin/openapi-extractor/composer.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "require-dev": { - "nextcloud/openapi-extractor": "v1.8.7" - }, - "config": { - "platform": { - "php": "8.1" - } - } -} diff --git a/third_party/astrolabe/vendor-bin/openapi-extractor/composer.lock b/third_party/astrolabe/vendor-bin/openapi-extractor/composer.lock deleted file mode 100644 index d82d0ba..0000000 --- a/third_party/astrolabe/vendor-bin/openapi-extractor/composer.lock +++ /dev/null @@ -1,247 +0,0 @@ -{ - "_readme": [ - "This file locks the dependencies of your project to a known state", - "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", - "This file is @generated automatically" - ], - "content-hash": "384d95db63f1a0aae08a0ae123ecf4bb", - "packages": [], - "packages-dev": [ - { - "name": "adhocore/cli", - "version": "v1.9.4", - "source": { - "type": "git", - "url": "https://github.com/adhocore/php-cli.git", - "reference": "474dc3d7ab139796be98b104d891476e3916b6f4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/adhocore/php-cli/zipball/474dc3d7ab139796be98b104d891476e3916b6f4", - "reference": "474dc3d7ab139796be98b104d891476e3916b6f4", - "shasum": "" - }, - "require": { - "php": ">=8.0" - }, - "require-dev": { - "phpunit/phpunit": "^9.0" - }, - "type": "library", - "autoload": { - "files": [ - "src/functions.php" - ], - "psr-4": { - "Ahc\\Cli\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jitendra Adhikari", - "email": "jiten.adhikary@gmail.com" - } - ], - "description": "Command line interface library for PHP", - "keywords": [ - "argument-parser", - "argv-parser", - "cli", - "cli-action", - "cli-app", - "cli-color", - "cli-option", - "cli-writer", - "command", - "console", - "console-app", - "php-cli", - "php8", - "stream-input", - "stream-output" - ], - "support": { - "issues": "https://github.com/adhocore/php-cli/issues", - "source": "https://github.com/adhocore/php-cli/tree/v1.9.4" - }, - "funding": [ - { - "url": "https://paypal.me/ji10", - "type": "custom" - }, - { - "url": "https://github.com/adhocore", - "type": "github" - } - ], - "time": "2025-05-11T13:23:54+00:00" - }, - { - "name": "nextcloud/openapi-extractor", - "version": "v1.8.7", - "source": { - "type": "git", - "url": "https://github.com/nextcloud-releases/openapi-extractor.git", - "reference": "230f61925c362779652b0038a1314ce5f931e853" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nextcloud-releases/openapi-extractor/zipball/230f61925c362779652b0038a1314ce5f931e853", - "reference": "230f61925c362779652b0038a1314ce5f931e853", - "shasum": "" - }, - "require": { - "adhocore/cli": "^1.7", - "ext-simplexml": "*", - "nikic/php-parser": "^5.0", - "php": "^8.1", - "phpstan/phpdoc-parser": "^2.1" - }, - "require-dev": { - "nextcloud/coding-standard": "^1.4.0", - "nextcloud/ocp": "dev-master", - "rector/rector": "^2.2.8" - }, - "bin": [ - "bin/generate-spec", - "bin/merge-specs" - ], - "type": "library", - "autoload": { - "psr-4": { - "OpenAPIExtractor\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "AGPL-3.0-or-later" - ], - "description": "A tool for extracting OpenAPI specifications from Nextcloud source code", - "support": { - "issues": "https://github.com/nextcloud-releases/openapi-extractor/issues", - "source": "https://github.com/nextcloud-releases/openapi-extractor/tree/v1.8.7" - }, - "time": "2025-12-02T09:52:06+00:00" - }, - { - "name": "nikic/php-parser", - "version": "v5.7.0", - "source": { - "type": "git", - "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "dca41cd15c2ac9d055ad70dbfd011130757d1f82" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/dca41cd15c2ac9d055ad70dbfd011130757d1f82", - "reference": "dca41cd15c2ac9d055ad70dbfd011130757d1f82", - "shasum": "" - }, - "require": { - "ext-ctype": "*", - "ext-json": "*", - "ext-tokenizer": "*", - "php": ">=7.4" - }, - "require-dev": { - "ircmaxell/php-yacc": "^0.0.7", - "phpunit/phpunit": "^9.0" - }, - "bin": [ - "bin/php-parse" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.x-dev" - } - }, - "autoload": { - "psr-4": { - "PhpParser\\": "lib/PhpParser" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Nikita Popov" - } - ], - "description": "A PHP parser written in PHP", - "keywords": [ - "parser", - "php" - ], - "support": { - "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v5.7.0" - }, - "time": "2025-12-06T11:56:16+00:00" - }, - { - "name": "phpstan/phpdoc-parser", - "version": "2.3.0", - "source": { - "type": "git", - "url": "https://github.com/phpstan/phpdoc-parser.git", - "reference": "1e0cd5370df5dd2e556a36b9c62f62e555870495" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/1e0cd5370df5dd2e556a36b9c62f62e555870495", - "reference": "1e0cd5370df5dd2e556a36b9c62f62e555870495", - "shasum": "" - }, - "require": { - "php": "^7.4 || ^8.0" - }, - "require-dev": { - "doctrine/annotations": "^2.0", - "nikic/php-parser": "^5.3.0", - "php-parallel-lint/php-parallel-lint": "^1.2", - "phpstan/extension-installer": "^1.0", - "phpstan/phpstan": "^2.0", - "phpstan/phpstan-phpunit": "^2.0", - "phpstan/phpstan-strict-rules": "^2.0", - "phpunit/phpunit": "^9.6", - "symfony/process": "^5.2" - }, - "type": "library", - "autoload": { - "psr-4": { - "PHPStan\\PhpDocParser\\": [ - "src/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "PHPDoc parser with support for nullable, intersection and generic types", - "support": { - "issues": "https://github.com/phpstan/phpdoc-parser/issues", - "source": "https://github.com/phpstan/phpdoc-parser/tree/2.3.0" - }, - "time": "2025-08-30T15:50:23+00:00" - } - ], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": {}, - "prefer-stable": false, - "prefer-lowest": false, - "platform": {}, - "platform-dev": {}, - "platform-overrides": { - "php": "8.1" - }, - "plugin-api-version": "2.9.0" -} diff --git a/third_party/astrolabe/vendor-bin/phpunit/composer.json b/third_party/astrolabe/vendor-bin/phpunit/composer.json deleted file mode 100644 index fe8b171..0000000 --- a/third_party/astrolabe/vendor-bin/phpunit/composer.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "require-dev": { - "phpunit/phpunit": "^10.5" - }, - "config": { - "platform": { - "php": "8.1" - } - } -} diff --git a/third_party/astrolabe/vendor-bin/phpunit/composer.lock b/third_party/astrolabe/vendor-bin/phpunit/composer.lock deleted file mode 100644 index 66efdef..0000000 --- a/third_party/astrolabe/vendor-bin/phpunit/composer.lock +++ /dev/null @@ -1,1691 +0,0 @@ -{ - "_readme": [ - "This file locks the dependencies of your project to a known state", - "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", - "This file is @generated automatically" - ], - "content-hash": "fb78960ff7e774a72d424270c4bd3d90", - "packages": [], - "packages-dev": [ - { - "name": "myclabs/deep-copy", - "version": "1.13.4", - "source": { - "type": "git", - "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "07d290f0c47959fd5eed98c95ee5602db07e0b6a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/07d290f0c47959fd5eed98c95ee5602db07e0b6a", - "reference": "07d290f0c47959fd5eed98c95ee5602db07e0b6a", - "shasum": "" - }, - "require": { - "php": "^7.1 || ^8.0" - }, - "conflict": { - "doctrine/collections": "<1.6.8", - "doctrine/common": "<2.13.3 || >=3 <3.2.2" - }, - "require-dev": { - "doctrine/collections": "^1.6.8", - "doctrine/common": "^2.13.3 || ^3.2.2", - "phpspec/prophecy": "^1.10", - "phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13" - }, - "type": "library", - "autoload": { - "files": [ - "src/DeepCopy/deep_copy.php" - ], - "psr-4": { - "DeepCopy\\": "src/DeepCopy/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Create deep copies (clones) of your objects", - "keywords": [ - "clone", - "copy", - "duplicate", - "object", - "object graph" - ], - "support": { - "issues": "https://github.com/myclabs/DeepCopy/issues", - "source": "https://github.com/myclabs/DeepCopy/tree/1.13.4" - }, - "funding": [ - { - "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy", - "type": "tidelift" - } - ], - "time": "2025-08-01T08:46:24+00:00" - }, - { - "name": "nikic/php-parser", - "version": "v5.7.0", - "source": { - "type": "git", - "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "dca41cd15c2ac9d055ad70dbfd011130757d1f82" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/dca41cd15c2ac9d055ad70dbfd011130757d1f82", - "reference": "dca41cd15c2ac9d055ad70dbfd011130757d1f82", - "shasum": "" - }, - "require": { - "ext-ctype": "*", - "ext-json": "*", - "ext-tokenizer": "*", - "php": ">=7.4" - }, - "require-dev": { - "ircmaxell/php-yacc": "^0.0.7", - "phpunit/phpunit": "^9.0" - }, - "bin": [ - "bin/php-parse" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.x-dev" - } - }, - "autoload": { - "psr-4": { - "PhpParser\\": "lib/PhpParser" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Nikita Popov" - } - ], - "description": "A PHP parser written in PHP", - "keywords": [ - "parser", - "php" - ], - "support": { - "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v5.7.0" - }, - "time": "2025-12-06T11:56:16+00:00" - }, - { - "name": "phar-io/manifest", - "version": "2.0.4", - "source": { - "type": "git", - "url": "https://github.com/phar-io/manifest.git", - "reference": "54750ef60c58e43759730615a392c31c80e23176" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phar-io/manifest/zipball/54750ef60c58e43759730615a392c31c80e23176", - "reference": "54750ef60c58e43759730615a392c31c80e23176", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-libxml": "*", - "ext-phar": "*", - "ext-xmlwriter": "*", - "phar-io/version": "^3.0.1", - "php": "^7.2 || ^8.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Arne Blankerts", - "email": "arne@blankerts.de", - "role": "Developer" - }, - { - "name": "Sebastian Heuer", - "email": "sebastian@phpeople.de", - "role": "Developer" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "Developer" - } - ], - "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", - "support": { - "issues": "https://github.com/phar-io/manifest/issues", - "source": "https://github.com/phar-io/manifest/tree/2.0.4" - }, - "funding": [ - { - "url": "https://github.com/theseer", - "type": "github" - } - ], - "time": "2024-03-03T12:33:53+00:00" - }, - { - "name": "phar-io/version", - "version": "3.2.1", - "source": { - "type": "git", - "url": "https://github.com/phar-io/version.git", - "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phar-io/version/zipball/4f7fd7836c6f332bb2933569e566a0d6c4cbed74", - "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74", - "shasum": "" - }, - "require": { - "php": "^7.2 || ^8.0" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Arne Blankerts", - "email": "arne@blankerts.de", - "role": "Developer" - }, - { - "name": "Sebastian Heuer", - "email": "sebastian@phpeople.de", - "role": "Developer" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "Developer" - } - ], - "description": "Library for handling version information and constraints", - "support": { - "issues": "https://github.com/phar-io/version/issues", - "source": "https://github.com/phar-io/version/tree/3.2.1" - }, - "time": "2022-02-21T01:04:05+00:00" - }, - { - "name": "phpunit/php-code-coverage", - "version": "10.1.16", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "7e308268858ed6baedc8704a304727d20bc07c77" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/7e308268858ed6baedc8704a304727d20bc07c77", - "reference": "7e308268858ed6baedc8704a304727d20bc07c77", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-libxml": "*", - "ext-xmlwriter": "*", - "nikic/php-parser": "^4.19.1 || ^5.1.0", - "php": ">=8.1", - "phpunit/php-file-iterator": "^4.1.0", - "phpunit/php-text-template": "^3.0.1", - "sebastian/code-unit-reverse-lookup": "^3.0.0", - "sebastian/complexity": "^3.2.0", - "sebastian/environment": "^6.1.0", - "sebastian/lines-of-code": "^2.0.2", - "sebastian/version": "^4.0.1", - "theseer/tokenizer": "^1.2.3" - }, - "require-dev": { - "phpunit/phpunit": "^10.1" - }, - "suggest": { - "ext-pcov": "PHP extension that provides line coverage", - "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "10.1.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "keywords": [ - "coverage", - "testing", - "xunit" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", - "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/10.1.16" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2024-08-22T04:31:57+00:00" - }, - { - "name": "phpunit/php-file-iterator", - "version": "4.1.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "a95037b6d9e608ba092da1b23931e537cadc3c3c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/a95037b6d9e608ba092da1b23931e537cadc3c3c", - "reference": "a95037b6d9e608ba092da1b23931e537cadc3c3c", - "shasum": "" - }, - "require": { - "php": ">=8.1" - }, - "require-dev": { - "phpunit/phpunit": "^10.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "4.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "FilterIterator implementation that filters files based on a list of suffixes.", - "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", - "keywords": [ - "filesystem", - "iterator" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", - "security": "https://github.com/sebastianbergmann/php-file-iterator/security/policy", - "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/4.1.0" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-08-31T06:24:48+00:00" - }, - { - "name": "phpunit/php-invoker", - "version": "4.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-invoker.git", - "reference": "f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7", - "reference": "f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7", - "shasum": "" - }, - "require": { - "php": ">=8.1" - }, - "require-dev": { - "ext-pcntl": "*", - "phpunit/phpunit": "^10.0" - }, - "suggest": { - "ext-pcntl": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "4.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Invoke callables with a timeout", - "homepage": "https://github.com/sebastianbergmann/php-invoker/", - "keywords": [ - "process" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-invoker/issues", - "source": "https://github.com/sebastianbergmann/php-invoker/tree/4.0.0" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-02-03T06:56:09+00:00" - }, - { - "name": "phpunit/php-text-template", - "version": "3.0.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "0c7b06ff49e3d5072f057eb1fa59258bf287a748" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/0c7b06ff49e3d5072f057eb1fa59258bf287a748", - "reference": "0c7b06ff49e3d5072f057eb1fa59258bf287a748", - "shasum": "" - }, - "require": { - "php": ">=8.1" - }, - "require-dev": { - "phpunit/phpunit": "^10.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "keywords": [ - "template" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-text-template/issues", - "security": "https://github.com/sebastianbergmann/php-text-template/security/policy", - "source": "https://github.com/sebastianbergmann/php-text-template/tree/3.0.1" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-08-31T14:07:24+00:00" - }, - { - "name": "phpunit/php-timer", - "version": "6.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "e2a2d67966e740530f4a3343fe2e030ffdc1161d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/e2a2d67966e740530f4a3343fe2e030ffdc1161d", - "reference": "e2a2d67966e740530f4a3343fe2e030ffdc1161d", - "shasum": "" - }, - "require": { - "php": ">=8.1" - }, - "require-dev": { - "phpunit/phpunit": "^10.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "6.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", - "keywords": [ - "timer" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-timer/issues", - "source": "https://github.com/sebastianbergmann/php-timer/tree/6.0.0" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-02-03T06:57:52+00:00" - }, - { - "name": "phpunit/phpunit", - "version": "10.5.63", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "33198268dad71e926626b618f3ec3966661e4d90" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/33198268dad71e926626b618f3ec3966661e4d90", - "reference": "33198268dad71e926626b618f3ec3966661e4d90", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-json": "*", - "ext-libxml": "*", - "ext-mbstring": "*", - "ext-xml": "*", - "ext-xmlwriter": "*", - "myclabs/deep-copy": "^1.13.4", - "phar-io/manifest": "^2.0.4", - "phar-io/version": "^3.2.1", - "php": ">=8.1", - "phpunit/php-code-coverage": "^10.1.16", - "phpunit/php-file-iterator": "^4.1.0", - "phpunit/php-invoker": "^4.0.0", - "phpunit/php-text-template": "^3.0.1", - "phpunit/php-timer": "^6.0.0", - "sebastian/cli-parser": "^2.0.1", - "sebastian/code-unit": "^2.0.0", - "sebastian/comparator": "^5.0.5", - "sebastian/diff": "^5.1.1", - "sebastian/environment": "^6.1.0", - "sebastian/exporter": "^5.1.4", - "sebastian/global-state": "^6.0.2", - "sebastian/object-enumerator": "^5.0.0", - "sebastian/recursion-context": "^5.0.1", - "sebastian/type": "^4.0.0", - "sebastian/version": "^4.0.1" - }, - "suggest": { - "ext-soap": "To be able to generate mocks based on WSDL files" - }, - "bin": [ - "phpunit" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "10.5-dev" - } - }, - "autoload": { - "files": [ - "src/Framework/Assert/Functions.php" - ], - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "The PHP Unit Testing framework.", - "homepage": "https://phpunit.de/", - "keywords": [ - "phpunit", - "testing", - "xunit" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/phpunit/issues", - "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.63" - }, - "funding": [ - { - "url": "https://phpunit.de/sponsors.html", - "type": "custom" - }, - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - }, - { - "url": "https://liberapay.com/sebastianbergmann", - "type": "liberapay" - }, - { - "url": "https://thanks.dev/u/gh/sebastianbergmann", - "type": "thanks_dev" - }, - { - "url": "https://tidelift.com/funding/github/packagist/phpunit/phpunit", - "type": "tidelift" - } - ], - "time": "2026-01-27T05:48:37+00:00" - }, - { - "name": "sebastian/cli-parser", - "version": "2.0.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/cli-parser.git", - "reference": "c34583b87e7b7a8055bf6c450c2c77ce32a24084" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/c34583b87e7b7a8055bf6c450c2c77ce32a24084", - "reference": "c34583b87e7b7a8055bf6c450c2c77ce32a24084", - "shasum": "" - }, - "require": { - "php": ">=8.1" - }, - "require-dev": { - "phpunit/phpunit": "^10.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "2.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library for parsing CLI options", - "homepage": "https://github.com/sebastianbergmann/cli-parser", - "support": { - "issues": "https://github.com/sebastianbergmann/cli-parser/issues", - "security": "https://github.com/sebastianbergmann/cli-parser/security/policy", - "source": "https://github.com/sebastianbergmann/cli-parser/tree/2.0.1" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2024-03-02T07:12:49+00:00" - }, - { - "name": "sebastian/code-unit", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/code-unit.git", - "reference": "a81fee9eef0b7a76af11d121767abc44c104e503" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/a81fee9eef0b7a76af11d121767abc44c104e503", - "reference": "a81fee9eef0b7a76af11d121767abc44c104e503", - "shasum": "" - }, - "require": { - "php": ">=8.1" - }, - "require-dev": { - "phpunit/phpunit": "^10.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "2.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Collection of value objects that represent the PHP code units", - "homepage": "https://github.com/sebastianbergmann/code-unit", - "support": { - "issues": "https://github.com/sebastianbergmann/code-unit/issues", - "source": "https://github.com/sebastianbergmann/code-unit/tree/2.0.0" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-02-03T06:58:43+00:00" - }, - { - "name": "sebastian/code-unit-reverse-lookup", - "version": "3.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", - "reference": "5e3a687f7d8ae33fb362c5c0743794bbb2420a1d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/5e3a687f7d8ae33fb362c5c0743794bbb2420a1d", - "reference": "5e3a687f7d8ae33fb362c5c0743794bbb2420a1d", - "shasum": "" - }, - "require": { - "php": ">=8.1" - }, - "require-dev": { - "phpunit/phpunit": "^10.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Looks up which function or method a line of code belongs to", - "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", - "support": { - "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", - "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/3.0.0" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-02-03T06:59:15+00:00" - }, - { - "name": "sebastian/comparator", - "version": "5.0.5", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "55dfef806eb7dfeb6e7a6935601fef866f8ca48d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/55dfef806eb7dfeb6e7a6935601fef866f8ca48d", - "reference": "55dfef806eb7dfeb6e7a6935601fef866f8ca48d", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-mbstring": "*", - "php": ">=8.1", - "sebastian/diff": "^5.0", - "sebastian/exporter": "^5.0" - }, - "require-dev": { - "phpunit/phpunit": "^10.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "5.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - } - ], - "description": "Provides the functionality to compare PHP values for equality", - "homepage": "https://github.com/sebastianbergmann/comparator", - "keywords": [ - "comparator", - "compare", - "equality" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/comparator/issues", - "security": "https://github.com/sebastianbergmann/comparator/security/policy", - "source": "https://github.com/sebastianbergmann/comparator/tree/5.0.5" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - }, - { - "url": "https://liberapay.com/sebastianbergmann", - "type": "liberapay" - }, - { - "url": "https://thanks.dev/u/gh/sebastianbergmann", - "type": "thanks_dev" - }, - { - "url": "https://tidelift.com/funding/github/packagist/sebastian/comparator", - "type": "tidelift" - } - ], - "time": "2026-01-24T09:25:16+00:00" - }, - { - "name": "sebastian/complexity", - "version": "3.2.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/complexity.git", - "reference": "68ff824baeae169ec9f2137158ee529584553799" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/68ff824baeae169ec9f2137158ee529584553799", - "reference": "68ff824baeae169ec9f2137158ee529584553799", - "shasum": "" - }, - "require": { - "nikic/php-parser": "^4.18 || ^5.0", - "php": ">=8.1" - }, - "require-dev": { - "phpunit/phpunit": "^10.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.2-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library for calculating the complexity of PHP code units", - "homepage": "https://github.com/sebastianbergmann/complexity", - "support": { - "issues": "https://github.com/sebastianbergmann/complexity/issues", - "security": "https://github.com/sebastianbergmann/complexity/security/policy", - "source": "https://github.com/sebastianbergmann/complexity/tree/3.2.0" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-12-21T08:37:17+00:00" - }, - { - "name": "sebastian/diff", - "version": "5.1.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "c41e007b4b62af48218231d6c2275e4c9b975b2e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/c41e007b4b62af48218231d6c2275e4c9b975b2e", - "reference": "c41e007b4b62af48218231d6c2275e4c9b975b2e", - "shasum": "" - }, - "require": { - "php": ">=8.1" - }, - "require-dev": { - "phpunit/phpunit": "^10.0", - "symfony/process": "^6.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "5.1-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" - } - ], - "description": "Diff implementation", - "homepage": "https://github.com/sebastianbergmann/diff", - "keywords": [ - "diff", - "udiff", - "unidiff", - "unified diff" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/diff/issues", - "security": "https://github.com/sebastianbergmann/diff/security/policy", - "source": "https://github.com/sebastianbergmann/diff/tree/5.1.1" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2024-03-02T07:15:17+00:00" - }, - { - "name": "sebastian/environment", - "version": "6.1.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "8074dbcd93529b357029f5cc5058fd3e43666984" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/8074dbcd93529b357029f5cc5058fd3e43666984", - "reference": "8074dbcd93529b357029f5cc5058fd3e43666984", - "shasum": "" - }, - "require": { - "php": ">=8.1" - }, - "require-dev": { - "phpunit/phpunit": "^10.0" - }, - "suggest": { - "ext-posix": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "6.1-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides functionality to handle HHVM/PHP environments", - "homepage": "https://github.com/sebastianbergmann/environment", - "keywords": [ - "Xdebug", - "environment", - "hhvm" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/environment/issues", - "security": "https://github.com/sebastianbergmann/environment/security/policy", - "source": "https://github.com/sebastianbergmann/environment/tree/6.1.0" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2024-03-23T08:47:14+00:00" - }, - { - "name": "sebastian/exporter", - "version": "5.1.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "0735b90f4da94969541dac1da743446e276defa6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/0735b90f4da94969541dac1da743446e276defa6", - "reference": "0735b90f4da94969541dac1da743446e276defa6", - "shasum": "" - }, - "require": { - "ext-mbstring": "*", - "php": ">=8.1", - "sebastian/recursion-context": "^5.0" - }, - "require-dev": { - "phpunit/phpunit": "^10.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "5.1-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@gmail.com" - } - ], - "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "https://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/exporter/issues", - "security": "https://github.com/sebastianbergmann/exporter/security/policy", - "source": "https://github.com/sebastianbergmann/exporter/tree/5.1.4" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - }, - { - "url": "https://liberapay.com/sebastianbergmann", - "type": "liberapay" - }, - { - "url": "https://thanks.dev/u/gh/sebastianbergmann", - "type": "thanks_dev" - }, - { - "url": "https://tidelift.com/funding/github/packagist/sebastian/exporter", - "type": "tidelift" - } - ], - "time": "2025-09-24T06:09:11+00:00" - }, - { - "name": "sebastian/global-state", - "version": "6.0.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "987bafff24ecc4c9ac418cab1145b96dd6e9cbd9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/987bafff24ecc4c9ac418cab1145b96dd6e9cbd9", - "reference": "987bafff24ecc4c9ac418cab1145b96dd6e9cbd9", - "shasum": "" - }, - "require": { - "php": ">=8.1", - "sebastian/object-reflector": "^3.0", - "sebastian/recursion-context": "^5.0" - }, - "require-dev": { - "ext-dom": "*", - "phpunit/phpunit": "^10.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "6.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Snapshotting of global state", - "homepage": "https://www.github.com/sebastianbergmann/global-state", - "keywords": [ - "global state" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/global-state/issues", - "security": "https://github.com/sebastianbergmann/global-state/security/policy", - "source": "https://github.com/sebastianbergmann/global-state/tree/6.0.2" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2024-03-02T07:19:19+00:00" - }, - { - "name": "sebastian/lines-of-code", - "version": "2.0.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/lines-of-code.git", - "reference": "856e7f6a75a84e339195d48c556f23be2ebf75d0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/856e7f6a75a84e339195d48c556f23be2ebf75d0", - "reference": "856e7f6a75a84e339195d48c556f23be2ebf75d0", - "shasum": "" - }, - "require": { - "nikic/php-parser": "^4.18 || ^5.0", - "php": ">=8.1" - }, - "require-dev": { - "phpunit/phpunit": "^10.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "2.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library for counting the lines of code in PHP source code", - "homepage": "https://github.com/sebastianbergmann/lines-of-code", - "support": { - "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", - "security": "https://github.com/sebastianbergmann/lines-of-code/security/policy", - "source": "https://github.com/sebastianbergmann/lines-of-code/tree/2.0.2" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-12-21T08:38:20+00:00" - }, - { - "name": "sebastian/object-enumerator", - "version": "5.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/object-enumerator.git", - "reference": "202d0e344a580d7f7d04b3fafce6933e59dae906" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/202d0e344a580d7f7d04b3fafce6933e59dae906", - "reference": "202d0e344a580d7f7d04b3fafce6933e59dae906", - "shasum": "" - }, - "require": { - "php": ">=8.1", - "sebastian/object-reflector": "^3.0", - "sebastian/recursion-context": "^5.0" - }, - "require-dev": { - "phpunit/phpunit": "^10.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "5.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Traverses array structures and object graphs to enumerate all referenced objects", - "homepage": "https://github.com/sebastianbergmann/object-enumerator/", - "support": { - "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", - "source": "https://github.com/sebastianbergmann/object-enumerator/tree/5.0.0" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-02-03T07:08:32+00:00" - }, - { - "name": "sebastian/object-reflector", - "version": "3.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/object-reflector.git", - "reference": "24ed13d98130f0e7122df55d06c5c4942a577957" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/24ed13d98130f0e7122df55d06c5c4942a577957", - "reference": "24ed13d98130f0e7122df55d06c5c4942a577957", - "shasum": "" - }, - "require": { - "php": ">=8.1" - }, - "require-dev": { - "phpunit/phpunit": "^10.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Allows reflection of object attributes, including inherited and non-public ones", - "homepage": "https://github.com/sebastianbergmann/object-reflector/", - "support": { - "issues": "https://github.com/sebastianbergmann/object-reflector/issues", - "source": "https://github.com/sebastianbergmann/object-reflector/tree/3.0.0" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-02-03T07:06:18+00:00" - }, - { - "name": "sebastian/recursion-context", - "version": "5.0.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "47e34210757a2f37a97dcd207d032e1b01e64c7a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/47e34210757a2f37a97dcd207d032e1b01e64c7a", - "reference": "47e34210757a2f37a97dcd207d032e1b01e64c7a", - "shasum": "" - }, - "require": { - "php": ">=8.1" - }, - "require-dev": { - "phpunit/phpunit": "^10.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "5.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "https://github.com/sebastianbergmann/recursion-context", - "support": { - "issues": "https://github.com/sebastianbergmann/recursion-context/issues", - "security": "https://github.com/sebastianbergmann/recursion-context/security/policy", - "source": "https://github.com/sebastianbergmann/recursion-context/tree/5.0.1" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - }, - { - "url": "https://liberapay.com/sebastianbergmann", - "type": "liberapay" - }, - { - "url": "https://thanks.dev/u/gh/sebastianbergmann", - "type": "thanks_dev" - }, - { - "url": "https://tidelift.com/funding/github/packagist/sebastian/recursion-context", - "type": "tidelift" - } - ], - "time": "2025-08-10T07:50:56+00:00" - }, - { - "name": "sebastian/type", - "version": "4.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/type.git", - "reference": "462699a16464c3944eefc02ebdd77882bd3925bf" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/462699a16464c3944eefc02ebdd77882bd3925bf", - "reference": "462699a16464c3944eefc02ebdd77882bd3925bf", - "shasum": "" - }, - "require": { - "php": ">=8.1" - }, - "require-dev": { - "phpunit/phpunit": "^10.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "4.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Collection of value objects that represent the types of the PHP type system", - "homepage": "https://github.com/sebastianbergmann/type", - "support": { - "issues": "https://github.com/sebastianbergmann/type/issues", - "source": "https://github.com/sebastianbergmann/type/tree/4.0.0" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-02-03T07:10:45+00:00" - }, - { - "name": "sebastian/version", - "version": "4.0.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "c51fa83a5d8f43f1402e3f32a005e6262244ef17" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c51fa83a5d8f43f1402e3f32a005e6262244ef17", - "reference": "c51fa83a5d8f43f1402e3f32a005e6262244ef17", - "shasum": "" - }, - "require": { - "php": ">=8.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "4.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library that helps with managing the version number of Git-hosted PHP projects", - "homepage": "https://github.com/sebastianbergmann/version", - "support": { - "issues": "https://github.com/sebastianbergmann/version/issues", - "source": "https://github.com/sebastianbergmann/version/tree/4.0.1" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-02-07T11:34:05+00:00" - }, - { - "name": "theseer/tokenizer", - "version": "1.3.1", - "source": { - "type": "git", - "url": "https://github.com/theseer/tokenizer.git", - "reference": "b7489ce515e168639d17feec34b8847c326b0b3c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/theseer/tokenizer/zipball/b7489ce515e168639d17feec34b8847c326b0b3c", - "reference": "b7489ce515e168639d17feec34b8847c326b0b3c", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-tokenizer": "*", - "ext-xmlwriter": "*", - "php": "^7.2 || ^8.0" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Arne Blankerts", - "email": "arne@blankerts.de", - "role": "Developer" - } - ], - "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", - "support": { - "issues": "https://github.com/theseer/tokenizer/issues", - "source": "https://github.com/theseer/tokenizer/tree/1.3.1" - }, - "funding": [ - { - "url": "https://github.com/theseer", - "type": "github" - } - ], - "time": "2025-11-17T20:03:58+00:00" - } - ], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": {}, - "prefer-stable": false, - "prefer-lowest": false, - "platform": {}, - "platform-dev": {}, - "platform-overrides": { - "php": "8.1" - }, - "plugin-api-version": "2.9.0" -} diff --git a/third_party/astrolabe/vendor-bin/psalm/composer.json b/third_party/astrolabe/vendor-bin/psalm/composer.json deleted file mode 100644 index 553d5af..0000000 --- a/third_party/astrolabe/vendor-bin/psalm/composer.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "require-dev": { - "vimeo/psalm": "^5.23" - }, - "config": { - "platform": { - "php": "8.1" - } - } -} diff --git a/third_party/astrolabe/vendor-bin/psalm/composer.lock b/third_party/astrolabe/vendor-bin/psalm/composer.lock deleted file mode 100644 index c1b8b07..0000000 --- a/third_party/astrolabe/vendor-bin/psalm/composer.lock +++ /dev/null @@ -1,2122 +0,0 @@ -{ - "_readme": [ - "This file locks the dependencies of your project to a known state", - "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", - "This file is @generated automatically" - ], - "content-hash": "32bf499f5e7a4c18979304cf254c2878", - "packages": [], - "packages-dev": [ - { - "name": "amphp/amp", - "version": "v2.6.5", - "source": { - "type": "git", - "url": "https://github.com/amphp/amp.git", - "reference": "d7dda98dae26e56f3f6fcfbf1c1f819c9a993207" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/amphp/amp/zipball/d7dda98dae26e56f3f6fcfbf1c1f819c9a993207", - "reference": "d7dda98dae26e56f3f6fcfbf1c1f819c9a993207", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "require-dev": { - "amphp/php-cs-fixer-config": "dev-master", - "amphp/phpunit-util": "^1", - "ext-json": "*", - "jetbrains/phpstorm-stubs": "^2019.3", - "phpunit/phpunit": "^7 | ^8 | ^9", - "react/promise": "^2", - "vimeo/psalm": "^3.12" - }, - "type": "library", - "autoload": { - "files": [ - "lib/functions.php", - "lib/Internal/functions.php" - ], - "psr-4": { - "Amp\\": "lib" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Daniel Lowrey", - "email": "rdlowrey@php.net" - }, - { - "name": "Aaron Piotrowski", - "email": "aaron@trowski.com" - }, - { - "name": "Bob Weinand", - "email": "bobwei9@hotmail.com" - }, - { - "name": "Niklas Keller", - "email": "me@kelunik.com" - } - ], - "description": "A non-blocking concurrency framework for PHP applications.", - "homepage": "https://amphp.org/amp", - "keywords": [ - "async", - "asynchronous", - "awaitable", - "concurrency", - "event", - "event-loop", - "future", - "non-blocking", - "promise" - ], - "support": { - "irc": "irc://irc.freenode.org/amphp", - "issues": "https://github.com/amphp/amp/issues", - "source": "https://github.com/amphp/amp/tree/v2.6.5" - }, - "funding": [ - { - "url": "https://github.com/amphp", - "type": "github" - } - ], - "time": "2025-09-03T19:41:28+00:00" - }, - { - "name": "amphp/byte-stream", - "version": "v1.8.2", - "source": { - "type": "git", - "url": "https://github.com/amphp/byte-stream.git", - "reference": "4f0e968ba3798a423730f567b1b50d3441c16ddc" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/amphp/byte-stream/zipball/4f0e968ba3798a423730f567b1b50d3441c16ddc", - "reference": "4f0e968ba3798a423730f567b1b50d3441c16ddc", - "shasum": "" - }, - "require": { - "amphp/amp": "^2", - "php": ">=7.1" - }, - "require-dev": { - "amphp/php-cs-fixer-config": "dev-master", - "amphp/phpunit-util": "^1.4", - "friendsofphp/php-cs-fixer": "^2.3", - "jetbrains/phpstorm-stubs": "^2019.3", - "phpunit/phpunit": "^6 || ^7 || ^8", - "psalm/phar": "^3.11.4" - }, - "type": "library", - "autoload": { - "files": [ - "lib/functions.php" - ], - "psr-4": { - "Amp\\ByteStream\\": "lib" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Aaron Piotrowski", - "email": "aaron@trowski.com" - }, - { - "name": "Niklas Keller", - "email": "me@kelunik.com" - } - ], - "description": "A stream abstraction to make working with non-blocking I/O simple.", - "homepage": "https://amphp.org/byte-stream", - "keywords": [ - "amp", - "amphp", - "async", - "io", - "non-blocking", - "stream" - ], - "support": { - "issues": "https://github.com/amphp/byte-stream/issues", - "source": "https://github.com/amphp/byte-stream/tree/v1.8.2" - }, - "funding": [ - { - "url": "https://github.com/amphp", - "type": "github" - } - ], - "time": "2024-04-13T18:00:56+00:00" - }, - { - "name": "composer/pcre", - "version": "3.3.2", - "source": { - "type": "git", - "url": "https://github.com/composer/pcre.git", - "reference": "b2bed4734f0cc156ee1fe9c0da2550420d99a21e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/pcre/zipball/b2bed4734f0cc156ee1fe9c0da2550420d99a21e", - "reference": "b2bed4734f0cc156ee1fe9c0da2550420d99a21e", - "shasum": "" - }, - "require": { - "php": "^7.4 || ^8.0" - }, - "conflict": { - "phpstan/phpstan": "<1.11.10" - }, - "require-dev": { - "phpstan/phpstan": "^1.12 || ^2", - "phpstan/phpstan-strict-rules": "^1 || ^2", - "phpunit/phpunit": "^8 || ^9" - }, - "type": "library", - "extra": { - "phpstan": { - "includes": [ - "extension.neon" - ] - }, - "branch-alias": { - "dev-main": "3.x-dev" - } - }, - "autoload": { - "psr-4": { - "Composer\\Pcre\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - } - ], - "description": "PCRE wrapping library that offers type-safe preg_* replacements.", - "keywords": [ - "PCRE", - "preg", - "regex", - "regular expression" - ], - "support": { - "issues": "https://github.com/composer/pcre/issues", - "source": "https://github.com/composer/pcre/tree/3.3.2" - }, - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], - "time": "2024-11-12T16:29:46+00:00" - }, - { - "name": "composer/semver", - "version": "3.4.4", - "source": { - "type": "git", - "url": "https://github.com/composer/semver.git", - "reference": "198166618906cb2de69b95d7d47e5fa8aa1b2b95" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/semver/zipball/198166618906cb2de69b95d7d47e5fa8aa1b2b95", - "reference": "198166618906cb2de69b95d7d47e5fa8aa1b2b95", - "shasum": "" - }, - "require": { - "php": "^5.3.2 || ^7.0 || ^8.0" - }, - "require-dev": { - "phpstan/phpstan": "^1.11", - "symfony/phpunit-bridge": "^3 || ^7" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.x-dev" - } - }, - "autoload": { - "psr-4": { - "Composer\\Semver\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nils Adermann", - "email": "naderman@naderman.de", - "homepage": "http://www.naderman.de" - }, - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - }, - { - "name": "Rob Bast", - "email": "rob.bast@gmail.com", - "homepage": "http://robbast.nl" - } - ], - "description": "Semver library that offers utilities, version constraint parsing and validation.", - "keywords": [ - "semantic", - "semver", - "validation", - "versioning" - ], - "support": { - "irc": "ircs://irc.libera.chat:6697/composer", - "issues": "https://github.com/composer/semver/issues", - "source": "https://github.com/composer/semver/tree/3.4.4" - }, - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - } - ], - "time": "2025-08-20T19:15:30+00:00" - }, - { - "name": "composer/xdebug-handler", - "version": "3.0.5", - "source": { - "type": "git", - "url": "https://github.com/composer/xdebug-handler.git", - "reference": "6c1925561632e83d60a44492e0b344cf48ab85ef" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/6c1925561632e83d60a44492e0b344cf48ab85ef", - "reference": "6c1925561632e83d60a44492e0b344cf48ab85ef", - "shasum": "" - }, - "require": { - "composer/pcre": "^1 || ^2 || ^3", - "php": "^7.2.5 || ^8.0", - "psr/log": "^1 || ^2 || ^3" - }, - "require-dev": { - "phpstan/phpstan": "^1.0", - "phpstan/phpstan-strict-rules": "^1.1", - "phpunit/phpunit": "^8.5 || ^9.6 || ^10.5" - }, - "type": "library", - "autoload": { - "psr-4": { - "Composer\\XdebugHandler\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "John Stevenson", - "email": "john-stevenson@blueyonder.co.uk" - } - ], - "description": "Restarts a process without Xdebug.", - "keywords": [ - "Xdebug", - "performance" - ], - "support": { - "irc": "ircs://irc.libera.chat:6697/composer", - "issues": "https://github.com/composer/xdebug-handler/issues", - "source": "https://github.com/composer/xdebug-handler/tree/3.0.5" - }, - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], - "time": "2024-05-06T16:37:16+00:00" - }, - { - "name": "dnoegel/php-xdg-base-dir", - "version": "v0.1.1", - "source": { - "type": "git", - "url": "https://github.com/dnoegel/php-xdg-base-dir.git", - "reference": "8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/dnoegel/php-xdg-base-dir/zipball/8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd", - "reference": "8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd", - "shasum": "" - }, - "require": { - "php": ">=5.3.2" - }, - "require-dev": { - "phpunit/phpunit": "~7.0|~6.0|~5.0|~4.8.35" - }, - "type": "library", - "autoload": { - "psr-4": { - "XdgBaseDir\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "implementation of xdg base directory specification for php", - "support": { - "issues": "https://github.com/dnoegel/php-xdg-base-dir/issues", - "source": "https://github.com/dnoegel/php-xdg-base-dir/tree/v0.1.1" - }, - "time": "2019-12-04T15:06:13+00:00" - }, - { - "name": "doctrine/deprecations", - "version": "1.1.5", - "source": { - "type": "git", - "url": "https://github.com/doctrine/deprecations.git", - "reference": "459c2f5dd3d6a4633d3b5f46ee2b1c40f57d3f38" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/deprecations/zipball/459c2f5dd3d6a4633d3b5f46ee2b1c40f57d3f38", - "reference": "459c2f5dd3d6a4633d3b5f46ee2b1c40f57d3f38", - "shasum": "" - }, - "require": { - "php": "^7.1 || ^8.0" - }, - "conflict": { - "phpunit/phpunit": "<=7.5 || >=13" - }, - "require-dev": { - "doctrine/coding-standard": "^9 || ^12 || ^13", - "phpstan/phpstan": "1.4.10 || 2.1.11", - "phpstan/phpstan-phpunit": "^1.0 || ^2", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.6 || ^10.5 || ^11.5 || ^12", - "psr/log": "^1 || ^2 || ^3" - }, - "suggest": { - "psr/log": "Allows logging deprecations via PSR-3 logger implementation" - }, - "type": "library", - "autoload": { - "psr-4": { - "Doctrine\\Deprecations\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "A small layer on top of trigger_error(E_USER_DEPRECATED) or PSR-3 logging with options to disable all deprecations or selectively for packages.", - "homepage": "https://www.doctrine-project.org/", - "support": { - "issues": "https://github.com/doctrine/deprecations/issues", - "source": "https://github.com/doctrine/deprecations/tree/1.1.5" - }, - "time": "2025-04-07T20:06:18+00:00" - }, - { - "name": "felixfbecker/advanced-json-rpc", - "version": "v3.2.1", - "source": { - "type": "git", - "url": "https://github.com/felixfbecker/php-advanced-json-rpc.git", - "reference": "b5f37dbff9a8ad360ca341f3240dc1c168b45447" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/felixfbecker/php-advanced-json-rpc/zipball/b5f37dbff9a8ad360ca341f3240dc1c168b45447", - "reference": "b5f37dbff9a8ad360ca341f3240dc1c168b45447", - "shasum": "" - }, - "require": { - "netresearch/jsonmapper": "^1.0 || ^2.0 || ^3.0 || ^4.0", - "php": "^7.1 || ^8.0", - "phpdocumentor/reflection-docblock": "^4.3.4 || ^5.0.0" - }, - "require-dev": { - "phpunit/phpunit": "^7.0 || ^8.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "AdvancedJsonRpc\\": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "ISC" - ], - "authors": [ - { - "name": "Felix Becker", - "email": "felix.b@outlook.com" - } - ], - "description": "A more advanced JSONRPC implementation", - "support": { - "issues": "https://github.com/felixfbecker/php-advanced-json-rpc/issues", - "source": "https://github.com/felixfbecker/php-advanced-json-rpc/tree/v3.2.1" - }, - "time": "2021-06-11T22:34:44+00:00" - }, - { - "name": "felixfbecker/language-server-protocol", - "version": "v1.5.3", - "source": { - "type": "git", - "url": "https://github.com/felixfbecker/php-language-server-protocol.git", - "reference": "a9e113dbc7d849e35b8776da39edaf4313b7b6c9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/felixfbecker/php-language-server-protocol/zipball/a9e113dbc7d849e35b8776da39edaf4313b7b6c9", - "reference": "a9e113dbc7d849e35b8776da39edaf4313b7b6c9", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "require-dev": { - "phpstan/phpstan": "*", - "squizlabs/php_codesniffer": "^3.1", - "vimeo/psalm": "^4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "LanguageServerProtocol\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "ISC" - ], - "authors": [ - { - "name": "Felix Becker", - "email": "felix.b@outlook.com" - } - ], - "description": "PHP classes for the Language Server Protocol", - "keywords": [ - "language", - "microsoft", - "php", - "server" - ], - "support": { - "issues": "https://github.com/felixfbecker/php-language-server-protocol/issues", - "source": "https://github.com/felixfbecker/php-language-server-protocol/tree/v1.5.3" - }, - "time": "2024-04-30T00:40:11+00:00" - }, - { - "name": "fidry/cpu-core-counter", - "version": "1.3.0", - "source": { - "type": "git", - "url": "https://github.com/theofidry/cpu-core-counter.git", - "reference": "db9508f7b1474469d9d3c53b86f817e344732678" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/theofidry/cpu-core-counter/zipball/db9508f7b1474469d9d3c53b86f817e344732678", - "reference": "db9508f7b1474469d9d3c53b86f817e344732678", - "shasum": "" - }, - "require": { - "php": "^7.2 || ^8.0" - }, - "require-dev": { - "fidry/makefile": "^0.2.0", - "fidry/php-cs-fixer-config": "^1.1.2", - "phpstan/extension-installer": "^1.2.0", - "phpstan/phpstan": "^2.0", - "phpstan/phpstan-deprecation-rules": "^2.0.0", - "phpstan/phpstan-phpunit": "^2.0", - "phpstan/phpstan-strict-rules": "^2.0", - "phpunit/phpunit": "^8.5.31 || ^9.5.26", - "webmozarts/strict-phpunit": "^7.5" - }, - "type": "library", - "autoload": { - "psr-4": { - "Fidry\\CpuCoreCounter\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Théo FIDRY", - "email": "theo.fidry@gmail.com" - } - ], - "description": "Tiny utility to get the number of CPU cores.", - "keywords": [ - "CPU", - "core" - ], - "support": { - "issues": "https://github.com/theofidry/cpu-core-counter/issues", - "source": "https://github.com/theofidry/cpu-core-counter/tree/1.3.0" - }, - "funding": [ - { - "url": "https://github.com/theofidry", - "type": "github" - } - ], - "time": "2025-08-14T07:29:31+00:00" - }, - { - "name": "netresearch/jsonmapper", - "version": "v4.5.0", - "source": { - "type": "git", - "url": "https://github.com/cweiske/jsonmapper.git", - "reference": "8e76efb98ee8b6afc54687045e1b8dba55ac76e5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/cweiske/jsonmapper/zipball/8e76efb98ee8b6afc54687045e1b8dba55ac76e5", - "reference": "8e76efb98ee8b6afc54687045e1b8dba55ac76e5", - "shasum": "" - }, - "require": { - "ext-json": "*", - "ext-pcre": "*", - "ext-reflection": "*", - "ext-spl": "*", - "php": ">=7.1" - }, - "require-dev": { - "phpunit/phpunit": "~7.5 || ~8.0 || ~9.0 || ~10.0", - "squizlabs/php_codesniffer": "~3.5" - }, - "type": "library", - "autoload": { - "psr-0": { - "JsonMapper": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "OSL-3.0" - ], - "authors": [ - { - "name": "Christian Weiske", - "email": "cweiske@cweiske.de", - "homepage": "http://github.com/cweiske/jsonmapper/", - "role": "Developer" - } - ], - "description": "Map nested JSON structures onto PHP classes", - "support": { - "email": "cweiske@cweiske.de", - "issues": "https://github.com/cweiske/jsonmapper/issues", - "source": "https://github.com/cweiske/jsonmapper/tree/v4.5.0" - }, - "time": "2024-09-08T10:13:13+00:00" - }, - { - "name": "nikic/php-parser", - "version": "v4.19.5", - "source": { - "type": "git", - "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "51bd93cc741b7fc3d63d20b6bdcd99fdaa359837" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/51bd93cc741b7fc3d63d20b6bdcd99fdaa359837", - "reference": "51bd93cc741b7fc3d63d20b6bdcd99fdaa359837", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": ">=7.1" - }, - "require-dev": { - "ircmaxell/php-yacc": "^0.0.7", - "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" - }, - "bin": [ - "bin/php-parse" - ], - "type": "library", - "autoload": { - "psr-4": { - "PhpParser\\": "lib/PhpParser" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Nikita Popov" - } - ], - "description": "A PHP parser written in PHP", - "keywords": [ - "parser", - "php" - ], - "support": { - "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v4.19.5" - }, - "time": "2025-12-06T11:45:25+00:00" - }, - { - "name": "phpdocumentor/reflection-common", - "version": "2.2.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/1d01c49d4ed62f25aa84a747ad35d5a16924662b", - "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b", - "shasum": "" - }, - "require": { - "php": "^7.2 || ^8.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-2.x": "2.x-dev" - } - }, - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jaap van Otterdijk", - "email": "opensource@ijaap.nl" - } - ], - "description": "Common reflection classes used by phpdocumentor to reflect the code structure", - "homepage": "http://www.phpdoc.org", - "keywords": [ - "FQSEN", - "phpDocumentor", - "phpdoc", - "reflection", - "static analysis" - ], - "support": { - "issues": "https://github.com/phpDocumentor/ReflectionCommon/issues", - "source": "https://github.com/phpDocumentor/ReflectionCommon/tree/2.x" - }, - "time": "2020-06-27T09:03:43+00:00" - }, - { - "name": "phpdocumentor/reflection-docblock", - "version": "5.6.5", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "90614c73d3800e187615e2dd236ad0e2a01bf761" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/90614c73d3800e187615e2dd236ad0e2a01bf761", - "reference": "90614c73d3800e187615e2dd236ad0e2a01bf761", - "shasum": "" - }, - "require": { - "doctrine/deprecations": "^1.1", - "ext-filter": "*", - "php": "^7.4 || ^8.0", - "phpdocumentor/reflection-common": "^2.2", - "phpdocumentor/type-resolver": "^1.7", - "phpstan/phpdoc-parser": "^1.7|^2.0", - "webmozart/assert": "^1.9.1" - }, - "require-dev": { - "mockery/mockery": "~1.3.5 || ~1.6.0", - "phpstan/extension-installer": "^1.1", - "phpstan/phpstan": "^1.8", - "phpstan/phpstan-mockery": "^1.1", - "phpstan/phpstan-webmozart-assert": "^1.2", - "phpunit/phpunit": "^9.5", - "psalm/phar": "^5.26" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.x-dev" - } - }, - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "email": "me@mikevanriel.com" - }, - { - "name": "Jaap van Otterdijk", - "email": "opensource@ijaap.nl" - } - ], - "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", - "support": { - "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues", - "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.6.5" - }, - "time": "2025-11-27T19:50:05+00:00" - }, - { - "name": "phpdocumentor/type-resolver", - "version": "1.12.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "92a98ada2b93d9b201a613cb5a33584dde25f195" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/92a98ada2b93d9b201a613cb5a33584dde25f195", - "reference": "92a98ada2b93d9b201a613cb5a33584dde25f195", - "shasum": "" - }, - "require": { - "doctrine/deprecations": "^1.0", - "php": "^7.3 || ^8.0", - "phpdocumentor/reflection-common": "^2.0", - "phpstan/phpdoc-parser": "^1.18|^2.0" - }, - "require-dev": { - "ext-tokenizer": "*", - "phpbench/phpbench": "^1.2", - "phpstan/extension-installer": "^1.1", - "phpstan/phpstan": "^1.8", - "phpstan/phpstan-phpunit": "^1.1", - "phpunit/phpunit": "^9.5", - "rector/rector": "^0.13.9", - "vimeo/psalm": "^4.25" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-1.x": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "email": "me@mikevanriel.com" - } - ], - "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", - "support": { - "issues": "https://github.com/phpDocumentor/TypeResolver/issues", - "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.12.0" - }, - "time": "2025-11-21T15:09:14+00:00" - }, - { - "name": "phpstan/phpdoc-parser", - "version": "2.3.0", - "source": { - "type": "git", - "url": "https://github.com/phpstan/phpdoc-parser.git", - "reference": "1e0cd5370df5dd2e556a36b9c62f62e555870495" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/1e0cd5370df5dd2e556a36b9c62f62e555870495", - "reference": "1e0cd5370df5dd2e556a36b9c62f62e555870495", - "shasum": "" - }, - "require": { - "php": "^7.4 || ^8.0" - }, - "require-dev": { - "doctrine/annotations": "^2.0", - "nikic/php-parser": "^5.3.0", - "php-parallel-lint/php-parallel-lint": "^1.2", - "phpstan/extension-installer": "^1.0", - "phpstan/phpstan": "^2.0", - "phpstan/phpstan-phpunit": "^2.0", - "phpstan/phpstan-strict-rules": "^2.0", - "phpunit/phpunit": "^9.6", - "symfony/process": "^5.2" - }, - "type": "library", - "autoload": { - "psr-4": { - "PHPStan\\PhpDocParser\\": [ - "src/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "PHPDoc parser with support for nullable, intersection and generic types", - "support": { - "issues": "https://github.com/phpstan/phpdoc-parser/issues", - "source": "https://github.com/phpstan/phpdoc-parser/tree/2.3.0" - }, - "time": "2025-08-30T15:50:23+00:00" - }, - { - "name": "psr/container", - "version": "2.0.2", - "source": { - "type": "git", - "url": "https://github.com/php-fig/container.git", - "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963", - "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963", - "shasum": "" - }, - "require": { - "php": ">=7.4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Container\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common Container Interface (PHP FIG PSR-11)", - "homepage": "https://github.com/php-fig/container", - "keywords": [ - "PSR-11", - "container", - "container-interface", - "container-interop", - "psr" - ], - "support": { - "issues": "https://github.com/php-fig/container/issues", - "source": "https://github.com/php-fig/container/tree/2.0.2" - }, - "time": "2021-11-05T16:47:00+00:00" - }, - { - "name": "psr/log", - "version": "3.0.2", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", - "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", - "shasum": "" - }, - "require": { - "php": ">=8.0.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Log\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common interface for logging libraries", - "homepage": "https://github.com/php-fig/log", - "keywords": [ - "log", - "psr", - "psr-3" - ], - "support": { - "source": "https://github.com/php-fig/log/tree/3.0.2" - }, - "time": "2024-09-11T13:17:53+00:00" - }, - { - "name": "sebastian/diff", - "version": "5.1.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "c41e007b4b62af48218231d6c2275e4c9b975b2e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/c41e007b4b62af48218231d6c2275e4c9b975b2e", - "reference": "c41e007b4b62af48218231d6c2275e4c9b975b2e", - "shasum": "" - }, - "require": { - "php": ">=8.1" - }, - "require-dev": { - "phpunit/phpunit": "^10.0", - "symfony/process": "^6.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "5.1-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" - } - ], - "description": "Diff implementation", - "homepage": "https://github.com/sebastianbergmann/diff", - "keywords": [ - "diff", - "udiff", - "unidiff", - "unified diff" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/diff/issues", - "security": "https://github.com/sebastianbergmann/diff/security/policy", - "source": "https://github.com/sebastianbergmann/diff/tree/5.1.1" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2024-03-02T07:15:17+00:00" - }, - { - "name": "spatie/array-to-xml", - "version": "3.4.3", - "source": { - "type": "git", - "url": "https://github.com/spatie/array-to-xml.git", - "reference": "7b9202dccfe18d4e3a13303156d6bbcc1c61dabf" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spatie/array-to-xml/zipball/7b9202dccfe18d4e3a13303156d6bbcc1c61dabf", - "reference": "7b9202dccfe18d4e3a13303156d6bbcc1c61dabf", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "php": "^8.0" - }, - "require-dev": { - "mockery/mockery": "^1.2", - "pestphp/pest": "^1.21", - "spatie/pest-plugin-snapshots": "^1.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.x-dev" - } - }, - "autoload": { - "psr-4": { - "Spatie\\ArrayToXml\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Freek Van der Herten", - "email": "freek@spatie.be", - "homepage": "https://freek.dev", - "role": "Developer" - } - ], - "description": "Convert an array to xml", - "homepage": "https://github.com/spatie/array-to-xml", - "keywords": [ - "array", - "convert", - "xml" - ], - "support": { - "source": "https://github.com/spatie/array-to-xml/tree/3.4.3" - }, - "funding": [ - { - "url": "https://spatie.be/open-source/support-us", - "type": "custom" - }, - { - "url": "https://github.com/spatie", - "type": "github" - } - ], - "time": "2025-11-27T09:08:26+00:00" - }, - { - "name": "symfony/console", - "version": "v6.4.30", - "source": { - "type": "git", - "url": "https://github.com/symfony/console.git", - "reference": "1b2813049506b39eb3d7e64aff033fd5ca26c97e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/1b2813049506b39eb3d7e64aff033fd5ca26c97e", - "reference": "1b2813049506b39eb3d7e64aff033fd5ca26c97e", - "shasum": "" - }, - "require": { - "php": ">=8.1", - "symfony/deprecation-contracts": "^2.5|^3", - "symfony/polyfill-mbstring": "~1.0", - "symfony/service-contracts": "^2.5|^3", - "symfony/string": "^5.4|^6.0|^7.0" - }, - "conflict": { - "symfony/dependency-injection": "<5.4", - "symfony/dotenv": "<5.4", - "symfony/event-dispatcher": "<5.4", - "symfony/lock": "<5.4", - "symfony/process": "<5.4" - }, - "provide": { - "psr/log-implementation": "1.0|2.0|3.0" - }, - "require-dev": { - "psr/log": "^1|^2|^3", - "symfony/config": "^5.4|^6.0|^7.0", - "symfony/dependency-injection": "^5.4|^6.0|^7.0", - "symfony/event-dispatcher": "^5.4|^6.0|^7.0", - "symfony/http-foundation": "^6.4|^7.0", - "symfony/http-kernel": "^6.4|^7.0", - "symfony/lock": "^5.4|^6.0|^7.0", - "symfony/messenger": "^5.4|^6.0|^7.0", - "symfony/process": "^5.4|^6.0|^7.0", - "symfony/stopwatch": "^5.4|^6.0|^7.0", - "symfony/var-dumper": "^5.4|^6.0|^7.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Console\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Eases the creation of beautiful and testable command line interfaces", - "homepage": "https://symfony.com", - "keywords": [ - "cli", - "command-line", - "console", - "terminal" - ], - "support": { - "source": "https://github.com/symfony/console/tree/v6.4.30" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://github.com/nicolas-grekas", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2025-12-05T13:47:41+00:00" - }, - { - "name": "symfony/deprecation-contracts", - "version": "v3.6.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/63afe740e99a13ba87ec199bb07bbdee937a5b62", - "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62", - "shasum": "" - }, - "require": { - "php": ">=8.1" - }, - "type": "library", - "extra": { - "thanks": { - "url": "https://github.com/symfony/contracts", - "name": "symfony/contracts" - }, - "branch-alias": { - "dev-main": "3.6-dev" - } - }, - "autoload": { - "files": [ - "function.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "A generic function and convention to trigger deprecation notices", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/v3.6.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-09-25T14:21:43+00:00" - }, - { - "name": "symfony/filesystem", - "version": "v6.4.30", - "source": { - "type": "git", - "url": "https://github.com/symfony/filesystem.git", - "reference": "441c6b69f7222aadae7cbf5df588496d5ee37789" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/441c6b69f7222aadae7cbf5df588496d5ee37789", - "reference": "441c6b69f7222aadae7cbf5df588496d5ee37789", - "shasum": "" - }, - "require": { - "php": ">=8.1", - "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-mbstring": "~1.8" - }, - "require-dev": { - "symfony/process": "^5.4|^6.4|^7.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Filesystem\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides basic utilities for the filesystem", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/filesystem/tree/v6.4.30" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://github.com/nicolas-grekas", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2025-11-26T14:43:45+00:00" - }, - { - "name": "symfony/polyfill-ctype", - "version": "v1.33.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/a3cc8b044a6ea513310cbd48ef7333b384945638", - "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638", - "shasum": "" - }, - "require": { - "php": ">=7.2" - }, - "provide": { - "ext-ctype": "*" - }, - "suggest": { - "ext-ctype": "For best performance" - }, - "type": "library", - "extra": { - "thanks": { - "url": "https://github.com/symfony/polyfill", - "name": "symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Ctype\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Gert de Pagter", - "email": "BackEndTea@gmail.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for ctype functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "ctype", - "polyfill", - "portable" - ], - "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.33.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://github.com/nicolas-grekas", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-09-09T11:45:10+00:00" - }, - { - "name": "symfony/polyfill-intl-grapheme", - "version": "v1.33.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "380872130d3a5dd3ace2f4010d95125fde5d5c70" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/380872130d3a5dd3ace2f4010d95125fde5d5c70", - "reference": "380872130d3a5dd3ace2f4010d95125fde5d5c70", - "shasum": "" - }, - "require": { - "php": ">=7.2" - }, - "suggest": { - "ext-intl": "For best performance" - }, - "type": "library", - "extra": { - "thanks": { - "url": "https://github.com/symfony/polyfill", - "name": "symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Intl\\Grapheme\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for intl's grapheme_* functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "grapheme", - "intl", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.33.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://github.com/nicolas-grekas", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2025-06-27T09:58:17+00:00" - }, - { - "name": "symfony/polyfill-intl-normalizer", - "version": "v1.33.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "3833d7255cc303546435cb650316bff708a1c75c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/3833d7255cc303546435cb650316bff708a1c75c", - "reference": "3833d7255cc303546435cb650316bff708a1c75c", - "shasum": "" - }, - "require": { - "php": ">=7.2" - }, - "suggest": { - "ext-intl": "For best performance" - }, - "type": "library", - "extra": { - "thanks": { - "url": "https://github.com/symfony/polyfill", - "name": "symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Intl\\Normalizer\\": "" - }, - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for intl's Normalizer class and related functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "intl", - "normalizer", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.33.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://github.com/nicolas-grekas", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-09-09T11:45:10+00:00" - }, - { - "name": "symfony/polyfill-mbstring", - "version": "v1.33.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/6d857f4d76bd4b343eac26d6b539585d2bc56493", - "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493", - "shasum": "" - }, - "require": { - "ext-iconv": "*", - "php": ">=7.2" - }, - "provide": { - "ext-mbstring": "*" - }, - "suggest": { - "ext-mbstring": "For best performance" - }, - "type": "library", - "extra": { - "thanks": { - "url": "https://github.com/symfony/polyfill", - "name": "symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Mbstring\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for the Mbstring extension", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "mbstring", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.33.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://github.com/nicolas-grekas", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-12-23T08:48:59+00:00" - }, - { - "name": "symfony/service-contracts", - "version": "v3.6.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/service-contracts.git", - "reference": "45112560a3ba2d715666a509a0bc9521d10b6c43" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/45112560a3ba2d715666a509a0bc9521d10b6c43", - "reference": "45112560a3ba2d715666a509a0bc9521d10b6c43", - "shasum": "" - }, - "require": { - "php": ">=8.1", - "psr/container": "^1.1|^2.0", - "symfony/deprecation-contracts": "^2.5|^3" - }, - "conflict": { - "ext-psr": "<1.1|>=2" - }, - "type": "library", - "extra": { - "thanks": { - "url": "https://github.com/symfony/contracts", - "name": "symfony/contracts" - }, - "branch-alias": { - "dev-main": "3.6-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Contracts\\Service\\": "" - }, - "exclude-from-classmap": [ - "/Test/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Generic abstractions related to writing services", - "homepage": "https://symfony.com", - "keywords": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" - ], - "support": { - "source": "https://github.com/symfony/service-contracts/tree/v3.6.1" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://github.com/nicolas-grekas", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2025-07-15T11:30:57+00:00" - }, - { - "name": "symfony/string", - "version": "v6.4.30", - "source": { - "type": "git", - "url": "https://github.com/symfony/string.git", - "reference": "50590a057841fa6bf69d12eceffce3465b9e32cb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/50590a057841fa6bf69d12eceffce3465b9e32cb", - "reference": "50590a057841fa6bf69d12eceffce3465b9e32cb", - "shasum": "" - }, - "require": { - "php": ">=8.1", - "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-intl-grapheme": "~1.0", - "symfony/polyfill-intl-normalizer": "~1.0", - "symfony/polyfill-mbstring": "~1.0" - }, - "conflict": { - "symfony/translation-contracts": "<2.5" - }, - "require-dev": { - "symfony/http-client": "^5.4|^6.0|^7.0", - "symfony/intl": "^6.2|^7.0", - "symfony/translation-contracts": "^2.5|^3.0", - "symfony/var-exporter": "^5.4|^6.0|^7.0" - }, - "type": "library", - "autoload": { - "files": [ - "Resources/functions.php" - ], - "psr-4": { - "Symfony\\Component\\String\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way", - "homepage": "https://symfony.com", - "keywords": [ - "grapheme", - "i18n", - "string", - "unicode", - "utf-8", - "utf8" - ], - "support": { - "source": "https://github.com/symfony/string/tree/v6.4.30" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://github.com/nicolas-grekas", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2025-11-21T18:03:05+00:00" - }, - { - "name": "vimeo/psalm", - "version": "5.26.1", - "source": { - "type": "git", - "url": "https://github.com/vimeo/psalm.git", - "reference": "d747f6500b38ac4f7dfc5edbcae6e4b637d7add0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/vimeo/psalm/zipball/d747f6500b38ac4f7dfc5edbcae6e4b637d7add0", - "reference": "d747f6500b38ac4f7dfc5edbcae6e4b637d7add0", - "shasum": "" - }, - "require": { - "amphp/amp": "^2.4.2", - "amphp/byte-stream": "^1.5", - "composer-runtime-api": "^2", - "composer/semver": "^1.4 || ^2.0 || ^3.0", - "composer/xdebug-handler": "^2.0 || ^3.0", - "dnoegel/php-xdg-base-dir": "^0.1.1", - "ext-ctype": "*", - "ext-dom": "*", - "ext-json": "*", - "ext-libxml": "*", - "ext-mbstring": "*", - "ext-simplexml": "*", - "ext-tokenizer": "*", - "felixfbecker/advanced-json-rpc": "^3.1", - "felixfbecker/language-server-protocol": "^1.5.2", - "fidry/cpu-core-counter": "^0.4.1 || ^0.5.1 || ^1.0.0", - "netresearch/jsonmapper": "^1.0 || ^2.0 || ^3.0 || ^4.0", - "nikic/php-parser": "^4.17", - "php": "^7.4 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0", - "sebastian/diff": "^4.0 || ^5.0 || ^6.0", - "spatie/array-to-xml": "^2.17.0 || ^3.0", - "symfony/console": "^4.1.6 || ^5.0 || ^6.0 || ^7.0", - "symfony/filesystem": "^5.4 || ^6.0 || ^7.0" - }, - "conflict": { - "nikic/php-parser": "4.17.0" - }, - "provide": { - "psalm/psalm": "self.version" - }, - "require-dev": { - "amphp/phpunit-util": "^2.0", - "bamarni/composer-bin-plugin": "^1.4", - "brianium/paratest": "^6.9", - "ext-curl": "*", - "mockery/mockery": "^1.5", - "nunomaduro/mock-final-classes": "^1.1", - "php-parallel-lint/php-parallel-lint": "^1.2", - "phpstan/phpdoc-parser": "^1.6", - "phpunit/phpunit": "^9.6", - "psalm/plugin-mockery": "^1.1", - "psalm/plugin-phpunit": "^0.18", - "slevomat/coding-standard": "^8.4", - "squizlabs/php_codesniffer": "^3.6", - "symfony/process": "^4.4 || ^5.0 || ^6.0 || ^7.0" - }, - "suggest": { - "ext-curl": "In order to send data to shepherd", - "ext-igbinary": "^2.0.5 is required, used to serialize caching data" - }, - "bin": [ - "psalm", - "psalm-language-server", - "psalm-plugin", - "psalm-refactor", - "psalter" - ], - "type": "project", - "extra": { - "branch-alias": { - "dev-1.x": "1.x-dev", - "dev-2.x": "2.x-dev", - "dev-3.x": "3.x-dev", - "dev-4.x": "4.x-dev", - "dev-master": "5.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psalm\\": "src/Psalm/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Matthew Brown" - } - ], - "description": "A static analysis tool for finding errors in PHP applications", - "keywords": [ - "code", - "inspection", - "php", - "static analysis" - ], - "support": { - "docs": "https://psalm.dev/docs", - "issues": "https://github.com/vimeo/psalm/issues", - "source": "https://github.com/vimeo/psalm" - }, - "time": "2024-09-08T18:53:08+00:00" - }, - { - "name": "webmozart/assert", - "version": "1.12.1", - "source": { - "type": "git", - "url": "https://github.com/webmozarts/assert.git", - "reference": "9be6926d8b485f55b9229203f962b51ed377ba68" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozarts/assert/zipball/9be6926d8b485f55b9229203f962b51ed377ba68", - "reference": "9be6926d8b485f55b9229203f962b51ed377ba68", - "shasum": "" - }, - "require": { - "ext-ctype": "*", - "ext-date": "*", - "ext-filter": "*", - "php": "^7.2 || ^8.0" - }, - "suggest": { - "ext-intl": "", - "ext-simplexml": "", - "ext-spl": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.10-dev" - } - }, - "autoload": { - "psr-4": { - "Webmozart\\Assert\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Bernhard Schussek", - "email": "bschussek@gmail.com" - } - ], - "description": "Assertions to validate method input/output with nice error messages.", - "keywords": [ - "assert", - "check", - "validate" - ], - "support": { - "issues": "https://github.com/webmozarts/assert/issues", - "source": "https://github.com/webmozarts/assert/tree/1.12.1" - }, - "time": "2025-10-29T15:56:20+00:00" - } - ], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": {}, - "prefer-stable": false, - "prefer-lowest": false, - "platform": {}, - "platform-dev": {}, - "platform-overrides": { - "php": "8.1" - }, - "plugin-api-version": "2.6.0" -} diff --git a/third_party/astrolabe/vendor-bin/rector/composer.json b/third_party/astrolabe/vendor-bin/rector/composer.json deleted file mode 100644 index a266a58..0000000 --- a/third_party/astrolabe/vendor-bin/rector/composer.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "require-dev": { - "rector/rector": "^1.2" - } -} diff --git a/third_party/astrolabe/vendor-bin/rector/composer.lock b/third_party/astrolabe/vendor-bin/rector/composer.lock deleted file mode 100644 index eda7387..0000000 --- a/third_party/astrolabe/vendor-bin/rector/composer.lock +++ /dev/null @@ -1,131 +0,0 @@ -{ - "_readme": [ - "This file locks the dependencies of your project to a known state", - "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", - "This file is @generated automatically" - ], - "content-hash": "eb58f3061bde78d58fa424c73947025f", - "packages": [], - "packages-dev": [ - { - "name": "phpstan/phpstan", - "version": "1.12.32", - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/2770dcdf5078d0b0d53f94317e06affe88419aa8", - "reference": "2770dcdf5078d0b0d53f94317e06affe88419aa8", - "shasum": "" - }, - "require": { - "php": "^7.2|^8.0" - }, - "conflict": { - "phpstan/phpstan-shim": "*" - }, - "bin": [ - "phpstan", - "phpstan.phar" - ], - "type": "library", - "autoload": { - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "PHPStan - PHP Static Analysis Tool", - "keywords": [ - "dev", - "static analysis" - ], - "support": { - "docs": "https://phpstan.org/user-guide/getting-started", - "forum": "https://github.com/phpstan/phpstan/discussions", - "issues": "https://github.com/phpstan/phpstan/issues", - "security": "https://github.com/phpstan/phpstan/security/policy", - "source": "https://github.com/phpstan/phpstan-src" - }, - "funding": [ - { - "url": "https://github.com/ondrejmirtes", - "type": "github" - }, - { - "url": "https://github.com/phpstan", - "type": "github" - } - ], - "time": "2025-09-30T10:16:31+00:00" - }, - { - "name": "rector/rector", - "version": "1.2.10", - "source": { - "type": "git", - "url": "https://github.com/rectorphp/rector.git", - "reference": "40f9cf38c05296bd32f444121336a521a293fa61" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/rectorphp/rector/zipball/40f9cf38c05296bd32f444121336a521a293fa61", - "reference": "40f9cf38c05296bd32f444121336a521a293fa61", - "shasum": "" - }, - "require": { - "php": "^7.2|^8.0", - "phpstan/phpstan": "^1.12.5" - }, - "conflict": { - "rector/rector-doctrine": "*", - "rector/rector-downgrade-php": "*", - "rector/rector-phpunit": "*", - "rector/rector-symfony": "*" - }, - "suggest": { - "ext-dom": "To manipulate phpunit.xml via the custom-rule command" - }, - "bin": [ - "bin/rector" - ], - "type": "library", - "autoload": { - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Instant Upgrade and Automated Refactoring of any PHP code", - "keywords": [ - "automation", - "dev", - "migration", - "refactoring" - ], - "support": { - "issues": "https://github.com/rectorphp/rector/issues", - "source": "https://github.com/rectorphp/rector/tree/1.2.10" - }, - "funding": [ - { - "url": "https://github.com/tomasvotruba", - "type": "github" - } - ], - "time": "2024-11-08T13:59:10+00:00" - } - ], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": {}, - "prefer-stable": false, - "prefer-lowest": false, - "platform": {}, - "platform-dev": {}, - "plugin-api-version": "2.6.0" -} diff --git a/third_party/astrolabe/vite.config.js b/third_party/astrolabe/vite.config.js deleted file mode 100644 index e8f1239..0000000 --- a/third_party/astrolabe/vite.config.js +++ /dev/null @@ -1,43 +0,0 @@ -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import { resolve } from 'path' -import { readFileSync } from 'fs' - -// Read app info from info.xml for @nextcloud/vue -const infoXml = readFileSync(resolve(__dirname, 'appinfo/info.xml'), 'utf-8') -const appName = infoXml.match(/([^<]+)<\/id>/)?.[1] || 'astrolabe' -const appVersion = infoXml.match(/([^<]+)<\/version>/)?.[1] || '' - -export default defineConfig({ - plugins: [vue()], - define: { - appName: JSON.stringify(appName), - appVersion: JSON.stringify(appVersion), - }, - build: { - outDir: '.', - emptyOutDir: false, - cssCodeSplit: false, // Bundle all CSS into entry points (Nextcloud doesn't load CSS chunks) - rollupOptions: { - input: { - 'astrolabe-main': resolve(__dirname, 'src/main.js'), - 'astrolabe-adminSettings': resolve(__dirname, 'src/adminSettings.js'), - 'astrolabe-personalSettings': resolve(__dirname, 'src/personalSettings.js'), - }, - output: { - entryFileNames: 'js/[name].mjs', - chunkFileNames: 'js/[name]-[hash].chunk.mjs', - assetFileNames: (assetInfo) => { - // With cssCodeSplit:false, all CSS goes to a single file - // Name it astrolabe-main.css to match Nextcloud's Util::addStyle expectation - if (assetInfo.name && assetInfo.name.endsWith('.css')) { - return 'css/astrolabe-main.css'; - } - return 'js/[name][extname]'; - }, - }, - }, - sourcemap: true, - minify: 'terser', - }, -}) diff --git a/third_party/astrolabe/webpack.js b/third_party/astrolabe/webpack.js deleted file mode 100644 index 49ae69e..0000000 --- a/third_party/astrolabe/webpack.js +++ /dev/null @@ -1,27 +0,0 @@ -const webpackConfig = require('@nextcloud/webpack-vue-config') -const ESLintPlugin = require('eslint-webpack-plugin') -const StyleLintPlugin = require('stylelint-webpack-plugin') -const path = require('path') - -webpackConfig.entry = { - main: { import: path.join(__dirname, 'src', 'main.js'), filename: 'main.js' }, -} - -webpackConfig.plugins.push( - new ESLintPlugin({ - extensions: ['js', 'vue'], - files: 'src', - }), -) -webpackConfig.plugins.push( - new StyleLintPlugin({ - files: 'src/**/*.{css,scss,vue}', - }), -) - -webpackConfig.module.rules.push({ - test: /\.svg$/i, - type: 'asset/source', -}) - -module.exports = webpackConfig