diff --git a/cmd/core-demo/Taskfile.yml b/cmd/core-demo/Taskfile.yml
deleted file mode 100644
index 942bddf..0000000
--- a/cmd/core-demo/Taskfile.yml
+++ /dev/null
@@ -1,42 +0,0 @@
-version: '3'
-
-includes:
- common: "./build/Taskfile.yml"
- windows: "./build/windows/Taskfile.yml"
- darwin: "./build/darwin/Taskfile.yml"
- linux: "./build/linux/Taskfile.yml"
-
-vars:
- APP_NAME: "core-demo"
- BIN_DIR: "./build/bin"
- VITE_PORT: '{{.WAILS_VITE_PORT | default 9245}}'
-
-tasks:
- build:
- summary: Builds the application
- cmds:
- - task: "{{OS}}:build"
-
- package:
- summary: Packages a production build of the application
- cmds:
- - task: "{{OS}}:package"
-
- run:
- summary: Runs the application
- cmds:
- - task: "{{OS}}:run"
-
- # This is the main dev task called by the Makefile.
- # It delegates to the actual wails command below.
- dev:
- summary: Runs the application in development mode
- cmds:
- - task: dev:wails
-
- # This task contains the real wails dev command.
- # This avoids the recursive loop and provides a clear target.
- dev:wails:
- internal: true
- cmds:
- - wails3 dev -config ./build/config.yml -port {{.VITE_PORT}}
diff --git a/cmd/core-demo/apps/mining.itw3.json b/cmd/core-demo/apps/mining.itw3.json
deleted file mode 100644
index 2bcbabb..0000000
--- a/cmd/core-demo/apps/mining.itw3.json
+++ /dev/null
@@ -1,50 +0,0 @@
-{
- "code": "mining",
- "type": "app",
- "name": "Mining Module",
- "version": "0.1.0",
- "namespace": "mining",
- "description": "Cryptocurrency mining management",
- "author": "Lethean",
- "contexts": ["miner", "default"],
- "menu": [
- {
- "id": "mining",
- "label": "Mining",
- "order": 200,
- "contexts": ["miner"],
- "children": [
- {"id": "mining-dashboard", "label": "Dashboard", "route": "/mining/dashboard", "order": 1},
- {"id": "mining-pools", "label": "Pools", "route": "/mining/pools", "order": 2},
- {"id": "mining-sep1", "separator": true, "order": 3},
- {"id": "mining-start", "label": "Start Mining", "action": "mining:start", "order": 4},
- {"id": "mining-stop", "label": "Stop Mining", "action": "mining:stop", "order": 5}
- ]
- }
- ],
- "routes": [
- {"path": "/mining/dashboard", "component": "mining-dashboard", "title": "Mining Dashboard", "contexts": ["miner"]},
- {"path": "/mining/pools", "component": "mining-pools", "title": "Mining Pools", "contexts": ["miner"]}
- ],
- "api": [
- {"method": "GET", "path": "/status", "description": "Get mining status"},
- {"method": "POST", "path": "/start", "description": "Start mining"},
- {"method": "POST", "path": "/stop", "description": "Stop mining"},
- {"method": "GET", "path": "/pools", "description": "List configured pools"}
- ],
- "downloads": {
- "x86_64": {
- "darwin": {"url": "https://releases.example.com/mining/darwin-x86_64.tar.gz"},
- "linux": {"url": "https://releases.example.com/mining/linux-x86_64.tar.gz"},
- "windows": {"url": "https://releases.example.com/mining/windows-x86_64.zip"}
- },
- "aarch64": {
- "darwin": {"url": "https://releases.example.com/mining/darwin-aarch64.tar.gz"}
- }
- },
- "config": {
- "defaultPool": "",
- "threads": 0,
- "intensity": 50
- }
-}
diff --git a/cmd/core-demo/build/Taskfile.yml b/cmd/core-demo/build/Taskfile.yml
deleted file mode 100644
index 4fb1eec..0000000
--- a/cmd/core-demo/build/Taskfile.yml
+++ /dev/null
@@ -1,84 +0,0 @@
-version: '3'
-
-tasks:
- go:mod:tidy:
- summary: Runs `go mod tidy`
- internal: true
- cmds:
- - go mod tidy
-
- install:public:deps:
- summary: Install public dependencies
- dir: public
- sources:
- - package.json
- - package-lock.json
- generates:
- - node_modules/*
- preconditions:
- - sh: npm version
- msg: "Looks like npm isn't installed. Npm is part of the Node installer: https://nodejs.org/en/download/"
- cmds:
- - npm install
-
- build:public:
- label: build:public (PRODUCTION={{.PRODUCTION}})
- summary: Build the public folder
- dir: public
- sources:
- - "**/*"
- generates:
- - dist/**/*
- deps:
- - task: install:public:deps
- - task: generate:bindings
- vars:
- BUILD_FLAGS:
- ref: .BUILD_FLAGS
- cmds:
- - npm run {{.BUILD_COMMAND}} -q
- env:
- PRODUCTION: '{{.PRODUCTION | default "false"}}'
- vars:
- BUILD_COMMAND: '{{if eq .PRODUCTION "true"}}build{{else}}build:dev{{end}}'
-
- generate:bindings:
- label: generate:bindings (BUILD_FLAGS={{.BUILD_FLAGS}})
- summary: Generates bindings
- deps:
- - task: go:mod:tidy
- sources:
- - "**/*.[jt]s"
- - exclude: public/**/*
- - public/bindings/**/*
- - "**/*.go"
- - go.mod
- - go.sum
- generates:
- - public/bindings/**/*
- cmds:
- - wails3 generate bindings -d public/bindings -f '{{.BUILD_FLAGS}}' -clean=true -ts
-
- generate:icons:
- summary: Generates Windows `.ico` and Mac `.icns` files from an image
- dir: build
- sources:
- - "appicon.png"
- generates:
- - "darwin/icons.icns"
- - "windows/icon.ico"
- cmds:
- - wails3 generate icons -input appicon.png -macfilename darwin/icons.icns -windowsfilename windows/icon.ico
-
- dev:public:
- summary: Runs the frontend dev server for live development
- dir: public
- deps:
- - task: install:public:deps
- cmds:
- - npm start -- --port {{.VITE_PORT | default "4200"}}
-
- update:build-assets:
- summary: Updates the build assets
- cmds:
- - wails3 update build-assets -name "{{.APP_NAME}}" -binaryname "{{.APP_NAME}}" -config config.yml -dir .
diff --git a/cmd/core-demo/build/appicon.png b/cmd/core-demo/build/appicon.png
deleted file mode 100644
index 3a14b0d..0000000
Binary files a/cmd/core-demo/build/appicon.png and /dev/null differ
diff --git a/cmd/core-demo/build/apptray.png b/cmd/core-demo/build/apptray.png
deleted file mode 100644
index 0778fc6..0000000
Binary files a/cmd/core-demo/build/apptray.png and /dev/null differ
diff --git a/cmd/core-demo/build/config.yml b/cmd/core-demo/build/config.yml
deleted file mode 100644
index 74cb85a..0000000
--- a/cmd/core-demo/build/config.yml
+++ /dev/null
@@ -1,43 +0,0 @@
-# This file contains the configuration for this project.
-# When you update `info` or `fileAssociations`, run `wails3 task common:update:build-assets` to update the assets.
-# Note that this will overwrite any changes you have made to the assets.
-version: '3'
-# This information is used to generate the build assets.
-info:
- companyName: "Snider"
- productName: "Core.App"
- productIdentifier: "com.core.app"
- description: "A program that does demos the features"
- copyright: "(c) EUPL-1.2, Snider"
- comments: "Demo Dev Area"
- version: "0.0.1"
-
-# Dev mode configuration
-dev_mode:
- root_path: .
- log_level: warn
- debounce: 1000
- ignore:
- dir:
- - .git
- - node_modules
- - public
- - bin
- file:
- - .DS_Store
- - .gitignore
- - .gitkeep
- watched_extension:
- - "*.go"
- git_ignore: true
- executes:
- - cmd: wails3 task common:install:public:deps
- type: once
- - cmd: wails3 task common:dev:public
- type: background
- - cmd: go mod tidy
- type: blocking
- - cmd: wails3 task build
- type: blocking
- - cmd: wails3 task run
- type: primary
diff --git a/cmd/core-demo/build/darwin/Info.dev.plist b/cmd/core-demo/build/darwin/Info.dev.plist
deleted file mode 100644
index 6b23ec1..0000000
--- a/cmd/core-demo/build/darwin/Info.dev.plist
+++ /dev/null
@@ -1,47 +0,0 @@
-
-
-
- CFBundlePackageType
- APPL
- CFBundleName
- Lethean Desktop
- CFBundleExecutable
- desktop
- CFBundleIdentifier
- com.lethean.desktop
- CFBundleVersion
- 0.1.0
- CFBundleGetInfoString
- This is a comment
- CFBundleShortVersionString
- 0.1.0
- CFBundleIconFile
- icons
- LSMinimumSystemVersion
- 10.15.0
- NSHighResolutionCapable
- true
- NSHumanReadableCopyright
- © EUPL-1.2 Lethean Community
-
-
- NSAppTransportSecurity
-
- NSAllowsLocalNetworking
-
- NSAllowsArbitraryLoads
-
- NSAllowsArbitraryLoadsInWebContent
-
-
-
-
- NSDownloadsFolderUsageDescription
- This app needs access to your Downloads folder to save and load files.
- NSDocumentsFolderUsageDescription
- This app needs access to your Documents folder to save and load files.
- NSDesktopFolderUsageDescription
- This app needs access to your Desktop folder to save and load files.
-
-
-
diff --git a/cmd/core-demo/build/darwin/Info.plist b/cmd/core-demo/build/darwin/Info.plist
deleted file mode 100644
index d4603cd..0000000
--- a/cmd/core-demo/build/darwin/Info.plist
+++ /dev/null
@@ -1,32 +0,0 @@
-
-
-
- CFBundlePackageType
- APPL
- CFBundleName
- Lethean Desktop
- CFBundleExecutable
- desktop
- CFBundleIdentifier
- com.lethean.desktop
- CFBundleVersion
- 0.1.0
- CFBundleGetInfoString
- This is a comment
- CFBundleShortVersionString
- 0.1.0
- CFBundleIconFile
- icons
- LSMinimumSystemVersion
- 10.15.0
- NSHighResolutionCapable
- true
- NSHumanReadableCopyright
- © EUPL-1.2 Lethean Community
- NSAppTransportSecurity
-
- NSAllowsLocalNetworking
-
-
-
-
\ No newline at end of file
diff --git a/cmd/core-demo/build/darwin/Taskfile.yml b/cmd/core-demo/build/darwin/Taskfile.yml
deleted file mode 100644
index e4ce58e..0000000
--- a/cmd/core-demo/build/darwin/Taskfile.yml
+++ /dev/null
@@ -1,81 +0,0 @@
-version: '3'
-
-includes:
- common: ../Taskfile.yml
-
-tasks:
- build:
- summary: Creates a production build of the application
- deps:
- - task: common:go:mod:tidy
- - task: common:build:public
- vars:
- BUILD_FLAGS:
- ref: .BUILD_FLAGS
- PRODUCTION:
- ref: .PRODUCTION
- - task: common:generate:icons
- cmds:
- - go build {{.BUILD_FLAGS}} -o {{.OUTPUT}}
- vars:
- BUILD_FLAGS: '{{if eq .PRODUCTION "true"}}-tags production -trimpath -buildvcs=false -ldflags="-w -s"{{else}}-buildvcs=false -gcflags=all="-l"{{end}}'
- DEFAULT_OUTPUT: '{{.BIN_DIR}}/{{.APP_NAME}}'
- OUTPUT: '{{ .OUTPUT | default .DEFAULT_OUTPUT }}'
- env:
- GOOS: darwin
- CGO_ENABLED: 1
- GOARCH: '{{.ARCH | default ARCH}}'
- CGO_CFLAGS: "-mmacosx-version-min=26.0"
- CGO_LDFLAGS: "-mmacosx-version-min=26.0"
- MACOSX_DEPLOYMENT_TARGET: "26.0"
- PRODUCTION: '{{.PRODUCTION | default "false"}}'
-
- build:universal:
- summary: Builds darwin universal binary (arm64 + amd64)
- deps:
- - task: build
- vars:
- ARCH: amd64
- OUTPUT: "{{.BIN_DIR}}/{{.APP_NAME}}-amd64"
- - task: build
- vars:
- ARCH: arm64
- OUTPUT: "{{.BIN_DIR}}/{{.APP_NAME}}-arm64"
- cmds:
- - lipo -create -output "{{.BIN_DIR}}/{{.APP_NAME}}" "{{.BIN_DIR}}/{{.APP_NAME}}-amd64" "{{.BIN_DIR}}/{{.APP_NAME}}-arm64"
- - rm "{{.BIN_DIR}}/{{.APP_NAME}}-amd64" "{{.BIN_DIR}}/{{.APP_NAME}}-arm64"
-
- package:
- summary: Packages a production build of the application into a `.app` bundle
- deps:
- - task: build
- vars:
- PRODUCTION: "true"
- cmds:
- - task: create:app:bundle
-
- package:universal:
- summary: Packages darwin universal binary (arm64 + amd64)
- deps:
- - task: build:universal
- cmds:
- - task: create:app:bundle
-
-
- create:app:bundle:
- summary: Creates an `.app` bundle
- cmds:
- - mkdir -p {{.BIN_DIR}}/{{.APP_NAME}}.app/Contents/{MacOS,Resources}
- - cp build/darwin/icons.icns {{.BIN_DIR}}/{{.APP_NAME}}.app/Contents/Resources
- - cp {{.BIN_DIR}}/{{.APP_NAME}} {{.BIN_DIR}}/{{.APP_NAME}}.app/Contents/MacOS
- - cp build/darwin/Info.plist {{.BIN_DIR}}/{{.APP_NAME}}.app/Contents
- - codesign --force --deep --sign - {{.BIN_DIR}}/{{.APP_NAME}}.app
-
- run:
- cmds:
- - mkdir -p {{.BIN_DIR}}/{{.APP_NAME}}.dev.app/Contents/{MacOS,Resources}
- - cp build/darwin/icons.icns {{.BIN_DIR}}/{{.APP_NAME}}.dev.app/Contents/Resources
- - cp {{.BIN_DIR}}/{{.APP_NAME}} {{.BIN_DIR}}/{{.APP_NAME}}.dev.app/Contents/MacOS
- - cp build/darwin/Info.dev.plist {{.BIN_DIR}}/{{.APP_NAME}}.dev.app/Contents/Info.plist
- - codesign --force --deep --sign - {{.BIN_DIR}}/{{.APP_NAME}}.dev.app
- - '{{.BIN_DIR}}/{{.APP_NAME}}.dev.app/Contents/MacOS/{{.APP_NAME}}'
diff --git a/cmd/core-demo/build/darwin/icons.icns b/cmd/core-demo/build/darwin/icons.icns
deleted file mode 100644
index ee075e0..0000000
Binary files a/cmd/core-demo/build/darwin/icons.icns and /dev/null differ
diff --git a/cmd/core-demo/build/linux/Taskfile.yml b/cmd/core-demo/build/linux/Taskfile.yml
deleted file mode 100644
index 7e78961..0000000
--- a/cmd/core-demo/build/linux/Taskfile.yml
+++ /dev/null
@@ -1,81 +0,0 @@
-version: '3'
-
-includes:
- common: "../Taskfile.yml"
-
-tasks:
- build:
- summary: Builds the application for Linux
- deps:
- - task: common:go:mod:tidy
- - task: common:build:public
- vars:
- BUILD_FLAGS:
- ref: .BUILD_FLAGS
- PRODUCTION:
- ref: .PRODUCTION
- - task: common:generate:icons
- cmds:
- - go build {{.BUILD_FLAGS}} -o bin/{{.APP_NAME}}
- vars:
- BUILD_FLAGS: '{{if eq .PRODUCTION "true"}}-tags production -trimpath -buildvcs=false -ldflags="-w -s"{{else}}-buildvcs=false -gcflags=all="-l"{{end}}'
- env:
- GOOS: linux
- CGO_ENABLED: 1
- GOARCH: '{{.ARCH | default "amd64"}}'
- PRODUCTION: '{{.PRODUCTION | default "false"}}'
-
- package:
- summary: Packages a production build of the application for Linux
- deps:
- - task: build
- vars:
- PRODUCTION: "true"
- cmds:
- - task: create:appimage
- - task: create:deb
- - task: create:rpm
-
- create:appimage:
- summary: Creates an AppImage
- dir: "{{.APP_ROOT}}/build/linux/appimage"
- deps:
- - task: ":build"
- vars:
- PRODUCTION: "true"
- - task: ":generate:dotdesktop"
- cmds:
- - cp "{{.APP_ROOT}}/bin/{{.APP_NAME}}" .
- - cp "{{.APP_ROOT}}/build/appicon.png" "{{.APP_NAME}}.png"
- - wails3 generate appimage -binary "{{.APP_NAME}}" -icon "{{.APP_NAME}}.png" -desktopfile "../{{.APP_NAME}}.desktop" -outputdir "{{.APP_ROOT}}/bin" -builddir build
-
- create:deb:
- summary: Creates a deb package
- deps:
- - task: build
- vars:
- PRODUCTION: "true"
- cmds:
- - task: generate:dotdesktop
- - wails3 tool package -name {{.APP_NAME}} -format deb -config build/linux/nfpm/nfpm.yaml -out bin
-
- create:rpm:
- summary: Creates a rpm package
- deps:
- - task: build
- vars:
- PRODUCTION: "true"
- cmds:
- - task: generate:dotdesktop
- - wails3 tool package -name {{.APP_NAME}} -format rpm -config build/linux/nfpm/nfpm.yaml -out bin
-
- generate:dotdesktop:
- summary: Generates a `.desktop` file
- cmds:
- - mkdir -p linux/appimage
- - wails3 generate .desktop -name "{{.APP_NAME}}" -exec "{{.APP_NAME}}" -icon "{{.APP_NAME}}" -outputfile "linux/{{.APP_NAME}}.desktop" -categories "Development;"
-
- run:
- dir: "{{.APP_ROOT}}"
- cmds:
- - "bin/{{.APP_NAME}}"
diff --git a/cmd/core-demo/build/linux/appimage/build.sh b/cmd/core-demo/build/linux/appimage/build.sh
deleted file mode 100644
index 85901c3..0000000
--- a/cmd/core-demo/build/linux/appimage/build.sh
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/usr/bin/env bash
-# Copyright (c) 2018-Present Lea Anthony
-# SPDX-License-Identifier: MIT
-
-# Fail script on any error
-set -euxo pipefail
-
-# Define variables
-APP_DIR="${APP_NAME}.AppDir"
-
-# Create AppDir structure
-mkdir -p "${APP_DIR}/usr/bin"
-cp -r "${APP_BINARY}" "${APP_DIR}/usr/bin/"
-cp "${ICON_PATH}" "${APP_DIR}/"
-cp "${DESKTOP_FILE}" "${APP_DIR}/"
-
-if [[ $(uname -m) == *x86_64* ]]; then
- # Download linuxdeploy and make it executable
- wget -q -4 -N https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage
- chmod +x linuxdeploy-x86_64.AppImage
-
- # Run linuxdeploy to bundle the application
- ./linuxdeploy-x86_64.AppImage --appdir "${APP_DIR}" --output appimage
-else
- # Download linuxdeploy and make it executable (arm64)
- wget -q -4 -N https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-aarch64.AppImage
- chmod +x linuxdeploy-aarch64.AppImage
-
- # Run linuxdeploy to bundle the application (arm64)
- ./linuxdeploy-aarch64.AppImage --appdir "${APP_DIR}" --output appimage
-fi
-
-# Rename the generated AppImage
-mv "${APP_NAME}*.AppImage" "${APP_NAME}.AppImage"
-
diff --git a/cmd/core-demo/build/linux/desktop b/cmd/core-demo/build/linux/desktop
deleted file mode 100644
index 62d5b3c..0000000
--- a/cmd/core-demo/build/linux/desktop
+++ /dev/null
@@ -1,13 +0,0 @@
-[Desktop Entry]
-Version=1.0
-Name=My Product
-Comment=My Product Description
-# The Exec line includes %u to pass the URL to the application
-Exec=/usr/local/bin/desktop %u
-Terminal=false
-Type=Application
-Icon=desktop
-Categories=Utility;
-StartupWMClass=desktop
-
-
diff --git a/cmd/core-demo/build/linux/nfpm/nfpm.yaml b/cmd/core-demo/build/linux/nfpm/nfpm.yaml
deleted file mode 100644
index cd96c38..0000000
--- a/cmd/core-demo/build/linux/nfpm/nfpm.yaml
+++ /dev/null
@@ -1,67 +0,0 @@
-# Feel free to remove those if you don't want/need to use them.
-# Make sure to check the documentation at https://nfpm.goreleaser.com
-#
-# The lines below are called `modelines`. See `:help modeline`
-
-name: "desktop"
-arch: ${GOARCH}
-platform: "linux"
-version: "0.1.0"
-section: "default"
-priority: "extra"
-maintainer: ${GIT_COMMITTER_NAME} <${GIT_COMMITTER_EMAIL}>
-description: "My Product Description"
-vendor: "My Company"
-homepage: "https://wails.io"
-license: "MIT"
-release: "1"
-
-contents:
- - src: "./bin/desktop"
- dst: "/usr/local/bin/desktop"
- - src: "./build/appicon.png"
- dst: "/usr/share/icons/hicolor/128x128/apps/desktop.png"
- - src: "./build/linux/desktop.desktop"
- dst: "/usr/share/applications/desktop.desktop"
-
-# Default dependencies for Debian 12/Ubuntu 22.04+ with WebKit 4.1
-depends:
- - libgtk-3-0
- - libwebkit2gtk-4.1-0
-
-# Distribution-specific overrides for different package formats and WebKit versions
-overrides:
- # RPM packages for RHEL/CentOS/AlmaLinux/Rocky Linux (WebKit 4.0)
- rpm:
- depends:
- - gtk3
- - webkit2gtk4.1
-
- # Arch Linux packages (WebKit 4.1)
- archlinux:
- depends:
- - gtk3
- - webkit2gtk-4.1
-
-# scripts section to ensure desktop database is updated after install
-scripts:
- postinstall: "./build/linux/nfpm/scripts/postinstall.sh"
- # You can also add preremove, postremove if needed
- # preremove: "./build/linux/nfpm/scripts/preremove.sh"
- # postremove: "./build/linux/nfpm/scripts/postremove.sh"
-
-# replaces:
-# - foobar
-# provides:
-# - bar
-# depends:
-# - gtk3
-# - libwebkit2gtk
-# recommends:
-# - whatever
-# suggests:
-# - something-else
-# conflicts:
-# - not-foo
-# - not-bar
-# changelog: "changelog.yaml"
diff --git a/cmd/core-demo/build/linux/nfpm/scripts/postinstall.sh b/cmd/core-demo/build/linux/nfpm/scripts/postinstall.sh
deleted file mode 100644
index 4bbb815..0000000
--- a/cmd/core-demo/build/linux/nfpm/scripts/postinstall.sh
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/bin/sh
-
-# Update desktop database for .desktop file changes
-# This makes the application appear in application menus and registers its capabilities.
-if command -v update-desktop-database >/dev/null 2>&1; then
- echo "Updating desktop database..."
- update-desktop-database -q /usr/share/applications
-else
- echo "Warning: update-desktop-database command not found. Desktop file may not be immediately recognized." >&2
-fi
-
-# Update MIME database for custom URL schemes (x-scheme-handler)
-# This ensures the system knows how to handle your custom protocols.
-if command -v update-mime-database >/dev/null 2>&1; then
- echo "Updating MIME database..."
- update-mime-database -n /usr/share/mime
-else
- echo "Warning: update-mime-database command not found. Custom URL schemes may not be immediately recognized." >&2
-fi
-
-exit 0
diff --git a/cmd/core-demo/build/linux/nfpm/scripts/postremove.sh b/cmd/core-demo/build/linux/nfpm/scripts/postremove.sh
deleted file mode 100644
index a9bf588..0000000
--- a/cmd/core-demo/build/linux/nfpm/scripts/postremove.sh
+++ /dev/null
@@ -1 +0,0 @@
-#!/bin/bash
diff --git a/cmd/core-demo/build/linux/nfpm/scripts/preinstall.sh b/cmd/core-demo/build/linux/nfpm/scripts/preinstall.sh
deleted file mode 100644
index a9bf588..0000000
--- a/cmd/core-demo/build/linux/nfpm/scripts/preinstall.sh
+++ /dev/null
@@ -1 +0,0 @@
-#!/bin/bash
diff --git a/cmd/core-demo/build/linux/nfpm/scripts/preremove.sh b/cmd/core-demo/build/linux/nfpm/scripts/preremove.sh
deleted file mode 100644
index a9bf588..0000000
--- a/cmd/core-demo/build/linux/nfpm/scripts/preremove.sh
+++ /dev/null
@@ -1 +0,0 @@
-#!/bin/bash
diff --git a/cmd/core-demo/build/windows/Taskfile.yml b/cmd/core-demo/build/windows/Taskfile.yml
deleted file mode 100644
index 75c59f5..0000000
--- a/cmd/core-demo/build/windows/Taskfile.yml
+++ /dev/null
@@ -1,98 +0,0 @@
-version: '3'
-
-includes:
- common: ../Taskfile.yml
-
-tasks:
- build:
- summary: Builds the application for Windows
- deps:
- - task: common:go:mod:tidy
- - task: common:build:public
- vars:
- BUILD_FLAGS:
- ref: .BUILD_FLAGS
- PRODUCTION:
- ref: .PRODUCTION
- - task: common:generate:icons
- cmds:
- - task: generate:syso
- - go build {{.BUILD_FLAGS}} -o {{.BIN_DIR}}/{{.APP_NAME}}.exe
- - cmd: powershell Remove-item *.syso
- platforms: [windows]
- - cmd: rm -f *.syso
- platforms: [linux, darwin]
- vars:
- BUILD_FLAGS: '{{if eq .PRODUCTION "true"}}-tags production -trimpath -buildvcs=false -ldflags="-w -s -H windowsgui"{{else}}-buildvcs=false -gcflags=all="-l"{{end}}'
- env:
- GOOS: windows
- CGO_ENABLED: 0
- GOARCH: '{{.ARCH | default ARCH}}'
- PRODUCTION: '{{.PRODUCTION | default "false"}}'
-
- package:
- summary: Packages a production build of the application
- cmds:
- - |-
- if [ "{{.FORMAT | default "nsis"}}" = "msix" ]; then
- task: create:msix:package
- else
- task: create:nsis:installer
- fi
- vars:
- FORMAT: '{{.FORMAT | default "nsis"}}'
-
- generate:syso:
- summary: Generates Windows `.syso` file
- dir: build
- cmds:
- - wails3 generate syso -arch {{.ARCH}} -icon windows/icon.ico -manifest windows/wails.exe.manifest -info windows/info.json -out ../wails_windows_{{.ARCH}}.syso
- vars:
- ARCH: '{{.ARCH | default ARCH}}'
-
- create:nsis:installer:
- summary: Creates an NSIS installer
- dir: build/windows/nsis
- deps:
- - task: build
- vars:
- PRODUCTION: "true"
- cmds:
- # Create the Microsoft WebView2 bootstrapper if it doesn't exist
- - wails3 generate webview2bootstrapper -dir "{{.ROOT_DIR}}/build/windows/nsis"
- - makensis -DARG_WAILS_{{.ARG_FLAG}}_BINARY="{{.ROOT_DIR}}/{{.BIN_DIR}}/{{.APP_NAME}}.exe" project.nsi
- vars:
- ARCH: '{{.ARCH | default ARCH}}'
- ARG_FLAG: '{{if eq .ARCH "amd64"}}AMD64{{else}}ARM64{{end}}'
-
- create:msix:package:
- summary: Creates an MSIX package
- deps:
- - task: build
- vars:
- PRODUCTION: "true"
- cmds:
- - |-
- wails3 tool msix \
- --config "{{.ROOT_DIR}}/wails.json" \
- --name "{{.APP_NAME}}" \
- --executable "{{.ROOT_DIR}}/{{.BIN_DIR}}/{{.APP_NAME}}.exe" \
- --arch "{{.ARCH}}" \
- --out "{{.ROOT_DIR}}/{{.BIN_DIR}}/{{.APP_NAME}}-{{.ARCH}}.msix" \
- {{if .CERT_PATH}}--cert "{{.CERT_PATH}}"{{end}} \
- {{if .PUBLISHER}}--publisher "{{.PUBLISHER}}"{{end}} \
- {{if .USE_MSIX_TOOL}}--use-msix-tool{{else}}--use-makeappx{{end}}
- vars:
- ARCH: '{{.ARCH | default ARCH}}'
- CERT_PATH: '{{.CERT_PATH | default ""}}'
- PUBLISHER: '{{.PUBLISHER | default ""}}'
- USE_MSIX_TOOL: '{{.USE_MSIX_TOOL | default "false"}}'
-
- install:msix:tools:
- summary: Installs tools required for MSIX packaging
- cmds:
- - wails3 tool msix-install-tools
-
- run:
- cmds:
- - '{{.BIN_DIR}}/{{.APP_NAME}}.exe'
diff --git a/cmd/core-demo/build/windows/icon.ico b/cmd/core-demo/build/windows/icon.ico
deleted file mode 100644
index 83a4f6c..0000000
Binary files a/cmd/core-demo/build/windows/icon.ico and /dev/null differ
diff --git a/cmd/core-demo/build/windows/info.json b/cmd/core-demo/build/windows/info.json
deleted file mode 100644
index 850b2b5..0000000
--- a/cmd/core-demo/build/windows/info.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "fixed": {
- "file_version": "0.1.0"
- },
- "info": {
- "0000": {
- "ProductVersion": "0.1.0",
- "CompanyName": "My Company",
- "FileDescription": "My Product Description",
- "LegalCopyright": "© now, My Company",
- "ProductName": "My Product",
- "Comments": "This is a comment"
- }
- }
-}
\ No newline at end of file
diff --git a/cmd/core-demo/build/windows/msix/app_manifest.xml b/cmd/core-demo/build/windows/msix/app_manifest.xml
deleted file mode 100644
index c9b7799..0000000
--- a/cmd/core-demo/build/windows/msix/app_manifest.xml
+++ /dev/null
@@ -1,52 +0,0 @@
-
-
-
-
-
-
- My Product
- My Company
- My Product Description
- Assets\StoreLogo.png
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/cmd/core-demo/build/windows/msix/template.xml b/cmd/core-demo/build/windows/msix/template.xml
deleted file mode 100644
index 1c005ab..0000000
--- a/cmd/core-demo/build/windows/msix/template.xml
+++ /dev/null
@@ -1,54 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- false
- My Product
- My Company
- My Product Description
- Assets\AppIcon.png
-
-
-
-
-
-
-
diff --git a/cmd/core-demo/build/windows/nsis/project.nsi b/cmd/core-demo/build/windows/nsis/project.nsi
deleted file mode 100644
index d12d8a5..0000000
--- a/cmd/core-demo/build/windows/nsis/project.nsi
+++ /dev/null
@@ -1,114 +0,0 @@
-Unicode true
-
-####
-## Please note: Template replacements don't work in this file. They are provided with default defines like
-## mentioned underneath.
-## If the keyword is not defined, "wails_tools.nsh" will populate them.
-## If they are defined here, "wails_tools.nsh" will not touch them. This allows you to use this project.nsi manually
-## from outside of Wails for debugging and development of the installer.
-##
-## For development first make a wails nsis build to populate the "wails_tools.nsh":
-## > wails build --target windows/amd64 --nsis
-## Then you can call makensis on this file with specifying the path to your binary:
-## For a AMD64 only installer:
-## > makensis -DARG_WAILS_AMD64_BINARY=..\..\bin\app.exe
-## For a ARM64 only installer:
-## > makensis -DARG_WAILS_ARM64_BINARY=..\..\bin\app.exe
-## For a installer with both architectures:
-## > makensis -DARG_WAILS_AMD64_BINARY=..\..\bin\app-amd64.exe -DARG_WAILS_ARM64_BINARY=..\..\bin\app-arm64.exe
-####
-## The following information is taken from the wails_tools.nsh file, but they can be overwritten here.
-####
-## !define INFO_PROJECTNAME "my-project" # Default "desktop"
-## !define INFO_COMPANYNAME "My Company" # Default "My Company"
-## !define INFO_PRODUCTNAME "My Product Name" # Default "My Product"
-## !define INFO_PRODUCTVERSION "1.0.0" # Default "0.1.0"
-## !define INFO_COPYRIGHT "(c) Now, My Company" # Default "© now, My Company"
-###
-## !define PRODUCT_EXECUTABLE "Application.exe" # Default "${INFO_PROJECTNAME}.exe"
-## !define UNINST_KEY_NAME "UninstKeyInRegistry" # Default "${INFO_COMPANYNAME}${INFO_PRODUCTNAME}"
-####
-## !define REQUEST_EXECUTION_LEVEL "admin" # Default "admin" see also https://nsis.sourceforge.io/Docs/Chapter4.html
-####
-## Include the wails tools
-####
-!include "wails_tools.nsh"
-
-# The version information for this two must consist of 4 parts
-VIProductVersion "${INFO_PRODUCTVERSION}.0"
-VIFileVersion "${INFO_PRODUCTVERSION}.0"
-
-VIAddVersionKey "CompanyName" "${INFO_COMPANYNAME}"
-VIAddVersionKey "FileDescription" "${INFO_PRODUCTNAME} Installer"
-VIAddVersionKey "ProductVersion" "${INFO_PRODUCTVERSION}"
-VIAddVersionKey "FileVersion" "${INFO_PRODUCTVERSION}"
-VIAddVersionKey "LegalCopyright" "${INFO_COPYRIGHT}"
-VIAddVersionKey "ProductName" "${INFO_PRODUCTNAME}"
-
-# Enable HiDPI support. https://nsis.sourceforge.io/Reference/ManifestDPIAware
-ManifestDPIAware true
-
-!include "MUI.nsh"
-
-!define MUI_ICON "..\icon.ico"
-!define MUI_UNICON "..\icon.ico"
-# !define MUI_WELCOMEFINISHPAGE_BITMAP "resources\leftimage.bmp" #Include this to add a bitmap on the left side of the Welcome Page. Must be a size of 164x314
-!define MUI_FINISHPAGE_NOAUTOCLOSE # Wait on the INSTFILES page so the user can take a look into the details of the installation steps
-!define MUI_ABORTWARNING # This will warn the user if they exit from the installer.
-
-!insertmacro MUI_PAGE_WELCOME # Welcome to the installer page.
-# !insertmacro MUI_PAGE_LICENSE "resources\eula.txt" # Adds a EULA page to the installer
-!insertmacro MUI_PAGE_DIRECTORY # In which folder install page.
-!insertmacro MUI_PAGE_INSTFILES # Installing page.
-!insertmacro MUI_PAGE_FINISH # Finished installation page.
-
-!insertmacro MUI_UNPAGE_INSTFILES # Uninstalling page
-
-!insertmacro MUI_LANGUAGE "English" # Set the Language of the installer
-
-## The following two statements can be used to sign the installer and the uninstaller. The path to the binaries are provided in %1
-#!uninstfinalize 'signtool --file "%1"'
-#!finalize 'signtool --file "%1"'
-
-Name "${INFO_PRODUCTNAME}"
-OutFile "..\..\..\bin\${INFO_PROJECTNAME}-${ARCH}-installer.exe" # Name of the installer's file.
-InstallDir "$PROGRAMFILES64\${INFO_COMPANYNAME}\${INFO_PRODUCTNAME}" # Default installing folder ($PROGRAMFILES is Program Files folder).
-ShowInstDetails show # This will always show the installation details.
-
-Function .onInit
- !insertmacro wails.checkArchitecture
-FunctionEnd
-
-Section
- !insertmacro wails.setShellContext
-
- !insertmacro wails.webview2runtime
-
- SetOutPath $INSTDIR
-
- !insertmacro wails.files
-
- CreateShortcut "$SMPROGRAMS\${INFO_PRODUCTNAME}.lnk" "$INSTDIR\${PRODUCT_EXECUTABLE}"
- CreateShortCut "$DESKTOP\${INFO_PRODUCTNAME}.lnk" "$INSTDIR\${PRODUCT_EXECUTABLE}"
-
- !insertmacro wails.associateFiles
- !insertmacro wails.associateCustomProtocols
-
- !insertmacro wails.writeUninstaller
-SectionEnd
-
-Section "uninstall"
- !insertmacro wails.setShellContext
-
- RMDir /r "$AppData\${PRODUCT_EXECUTABLE}" # Remove the WebView2 DataPath
-
- RMDir /r $INSTDIR
-
- Delete "$SMPROGRAMS\${INFO_PRODUCTNAME}.lnk"
- Delete "$DESKTOP\${INFO_PRODUCTNAME}.lnk"
-
- !insertmacro wails.unassociateFiles
- !insertmacro wails.unassociateCustomProtocols
-
- !insertmacro wails.deleteUninstaller
-SectionEnd
diff --git a/cmd/core-demo/build/windows/nsis/wails_tools.nsh b/cmd/core-demo/build/windows/nsis/wails_tools.nsh
deleted file mode 100644
index bcec3d4..0000000
--- a/cmd/core-demo/build/windows/nsis/wails_tools.nsh
+++ /dev/null
@@ -1,236 +0,0 @@
-# DO NOT EDIT - Generated automatically by `wails build`
-
-!include "x64.nsh"
-!include "WinVer.nsh"
-!include "FileFunc.nsh"
-
-!ifndef INFO_PROJECTNAME
- !define INFO_PROJECTNAME "desktop"
-!endif
-!ifndef INFO_COMPANYNAME
- !define INFO_COMPANYNAME "My Company"
-!endif
-!ifndef INFO_PRODUCTNAME
- !define INFO_PRODUCTNAME "My Product"
-!endif
-!ifndef INFO_PRODUCTVERSION
- !define INFO_PRODUCTVERSION "0.1.0"
-!endif
-!ifndef INFO_COPYRIGHT
- !define INFO_COPYRIGHT "© now, My Company"
-!endif
-!ifndef PRODUCT_EXECUTABLE
- !define PRODUCT_EXECUTABLE "${INFO_PROJECTNAME}.exe"
-!endif
-!ifndef UNINST_KEY_NAME
- !define UNINST_KEY_NAME "${INFO_COMPANYNAME}${INFO_PRODUCTNAME}"
-!endif
-!define UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${UNINST_KEY_NAME}"
-
-!ifndef REQUEST_EXECUTION_LEVEL
- !define REQUEST_EXECUTION_LEVEL "admin"
-!endif
-
-RequestExecutionLevel "${REQUEST_EXECUTION_LEVEL}"
-
-!ifdef ARG_WAILS_AMD64_BINARY
- !define SUPPORTS_AMD64
-!endif
-
-!ifdef ARG_WAILS_ARM64_BINARY
- !define SUPPORTS_ARM64
-!endif
-
-!ifdef SUPPORTS_AMD64
- !ifdef SUPPORTS_ARM64
- !define ARCH "amd64_arm64"
- !else
- !define ARCH "amd64"
- !endif
-!else
- !ifdef SUPPORTS_ARM64
- !define ARCH "arm64"
- !else
- !error "Wails: Undefined ARCH, please provide at least one of ARG_WAILS_AMD64_BINARY or ARG_WAILS_ARM64_BINARY"
- !endif
-!endif
-
-!macro wails.checkArchitecture
- !ifndef WAILS_WIN10_REQUIRED
- !define WAILS_WIN10_REQUIRED "This product is only supported on Windows 10 (Server 2016) and later."
- !endif
-
- !ifndef WAILS_ARCHITECTURE_NOT_SUPPORTED
- !define WAILS_ARCHITECTURE_NOT_SUPPORTED "This product can't be installed on the current Windows architecture. Supports: ${ARCH}"
- !endif
-
- ${If} ${AtLeastWin10}
- !ifdef SUPPORTS_AMD64
- ${if} ${IsNativeAMD64}
- Goto ok
- ${EndIf}
- !endif
-
- !ifdef SUPPORTS_ARM64
- ${if} ${IsNativeARM64}
- Goto ok
- ${EndIf}
- !endif
-
- IfSilent silentArch notSilentArch
- silentArch:
- SetErrorLevel 65
- Abort
- notSilentArch:
- MessageBox MB_OK "${WAILS_ARCHITECTURE_NOT_SUPPORTED}"
- Quit
- ${else}
- IfSilent silentWin notSilentWin
- silentWin:
- SetErrorLevel 64
- Abort
- notSilentWin:
- MessageBox MB_OK "${WAILS_WIN10_REQUIRED}"
- Quit
- ${EndIf}
-
- ok:
-!macroend
-
-!macro wails.files
- !ifdef SUPPORTS_AMD64
- ${if} ${IsNativeAMD64}
- File "/oname=${PRODUCT_EXECUTABLE}" "${ARG_WAILS_AMD64_BINARY}"
- ${EndIf}
- !endif
-
- !ifdef SUPPORTS_ARM64
- ${if} ${IsNativeARM64}
- File "/oname=${PRODUCT_EXECUTABLE}" "${ARG_WAILS_ARM64_BINARY}"
- ${EndIf}
- !endif
-!macroend
-
-!macro wails.writeUninstaller
- WriteUninstaller "$INSTDIR\uninstall.exe"
-
- SetRegView 64
- WriteRegStr HKLM "${UNINST_KEY}" "Publisher" "${INFO_COMPANYNAME}"
- WriteRegStr HKLM "${UNINST_KEY}" "DisplayName" "${INFO_PRODUCTNAME}"
- WriteRegStr HKLM "${UNINST_KEY}" "DisplayVersion" "${INFO_PRODUCTVERSION}"
- WriteRegStr HKLM "${UNINST_KEY}" "DisplayIcon" "$INSTDIR\${PRODUCT_EXECUTABLE}"
- WriteRegStr HKLM "${UNINST_KEY}" "UninstallString" "$\"$INSTDIR\uninstall.exe$\""
- WriteRegStr HKLM "${UNINST_KEY}" "QuietUninstallString" "$\"$INSTDIR\uninstall.exe$\" /S"
-
- ${GetSize} "$INSTDIR" "/S=0K" $0 $1 $2
- IntFmt $0 "0x%08X" $0
- WriteRegDWORD HKLM "${UNINST_KEY}" "EstimatedSize" "$0"
-!macroend
-
-!macro wails.deleteUninstaller
- Delete "$INSTDIR\uninstall.exe"
-
- SetRegView 64
- DeleteRegKey HKLM "${UNINST_KEY}"
-!macroend
-
-!macro wails.setShellContext
- ${If} ${REQUEST_EXECUTION_LEVEL} == "admin"
- SetShellVarContext all
- ${else}
- SetShellVarContext current
- ${EndIf}
-!macroend
-
-# Install webview2 by launching the bootstrapper
-# See https://docs.microsoft.com/en-us/microsoft-edge/webview2/concepts/distribution#online-only-deployment
-!macro wails.webview2runtime
- !ifndef WAILS_INSTALL_WEBVIEW_DETAILPRINT
- !define WAILS_INSTALL_WEBVIEW_DETAILPRINT "Installing: WebView2 Runtime"
- !endif
-
- SetRegView 64
- # If the admin key exists and is not empty then webview2 is already installed
- ReadRegStr $0 HKLM "SOFTWARE\WOW6432Node\Microsoft\EdgeUpdate\Clients\{F3017226-FE2A-4295-8BDF-00C3A9A7E4C5}" "pv"
- ${If} $0 != ""
- Goto ok
- ${EndIf}
-
- ${If} ${REQUEST_EXECUTION_LEVEL} == "user"
- # If the installer is run in user level, check the user specific key exists and is not empty then webview2 is already installed
- ReadRegStr $0 HKCU "Software\Microsoft\EdgeUpdate\Clients\{F3017226-FE2A-4295-8BDF-00C3A9A7E4C5}" "pv"
- ${If} $0 != ""
- Goto ok
- ${EndIf}
- ${EndIf}
-
- SetDetailsPrint both
- DetailPrint "${WAILS_INSTALL_WEBVIEW_DETAILPRINT}"
- SetDetailsPrint listonly
-
- InitPluginsDir
- CreateDirectory "$pluginsdir\webview2bootstrapper"
- SetOutPath "$pluginsdir\webview2bootstrapper"
- File "MicrosoftEdgeWebview2Setup.exe"
- ExecWait '"$pluginsdir\webview2bootstrapper\MicrosoftEdgeWebview2Setup.exe" /silent /install'
-
- SetDetailsPrint both
- ok:
-!macroend
-
-# Copy of APP_ASSOCIATE and APP_UNASSOCIATE macros from here https://gist.github.com/nikku/281d0ef126dbc215dd58bfd5b3a5cd5b
-!macro APP_ASSOCIATE EXT FILECLASS DESCRIPTION ICON COMMANDTEXT COMMAND
- ; Backup the previously associated file class
- ReadRegStr $R0 SHELL_CONTEXT "Software\Classes\.${EXT}" ""
- WriteRegStr SHELL_CONTEXT "Software\Classes\.${EXT}" "${FILECLASS}_backup" "$R0"
-
- WriteRegStr SHELL_CONTEXT "Software\Classes\.${EXT}" "" "${FILECLASS}"
-
- WriteRegStr SHELL_CONTEXT "Software\Classes\${FILECLASS}" "" `${DESCRIPTION}`
- WriteRegStr SHELL_CONTEXT "Software\Classes\${FILECLASS}\DefaultIcon" "" `${ICON}`
- WriteRegStr SHELL_CONTEXT "Software\Classes\${FILECLASS}\shell" "" "open"
- WriteRegStr SHELL_CONTEXT "Software\Classes\${FILECLASS}\shell\open" "" `${COMMANDTEXT}`
- WriteRegStr SHELL_CONTEXT "Software\Classes\${FILECLASS}\shell\open\command" "" `${COMMAND}`
-!macroend
-
-!macro APP_UNASSOCIATE EXT FILECLASS
- ; Backup the previously associated file class
- ReadRegStr $R0 SHELL_CONTEXT "Software\Classes\.${EXT}" `${FILECLASS}_backup`
- WriteRegStr SHELL_CONTEXT "Software\Classes\.${EXT}" "" "$R0"
-
- DeleteRegKey SHELL_CONTEXT `Software\Classes\${FILECLASS}`
-!macroend
-
-!macro wails.associateFiles
- ; Create file associations
-
-!macroend
-
-!macro wails.unassociateFiles
- ; Delete app associations
-
-!macroend
-
-!macro CUSTOM_PROTOCOL_ASSOCIATE PROTOCOL DESCRIPTION ICON COMMAND
- DeleteRegKey SHELL_CONTEXT "Software\Classes\${PROTOCOL}"
- WriteRegStr SHELL_CONTEXT "Software\Classes\${PROTOCOL}" "" "${DESCRIPTION}"
- WriteRegStr SHELL_CONTEXT "Software\Classes\${PROTOCOL}" "URL Protocol" ""
- WriteRegStr SHELL_CONTEXT "Software\Classes\${PROTOCOL}\DefaultIcon" "" "${ICON}"
- WriteRegStr SHELL_CONTEXT "Software\Classes\${PROTOCOL}\shell" "" ""
- WriteRegStr SHELL_CONTEXT "Software\Classes\${PROTOCOL}\shell\open" "" ""
- WriteRegStr SHELL_CONTEXT "Software\Classes\${PROTOCOL}\shell\open\command" "" "${COMMAND}"
-!macroend
-
-!macro CUSTOM_PROTOCOL_UNASSOCIATE PROTOCOL
- DeleteRegKey SHELL_CONTEXT "Software\Classes\${PROTOCOL}"
-!macroend
-
-!macro wails.associateCustomProtocols
- ; Create custom protocols associations
-
-!macroend
-
-!macro wails.unassociateCustomProtocols
- ; Delete app custom protocol associations
-
-!macroend
\ No newline at end of file
diff --git a/cmd/core-demo/build/windows/wails.exe.manifest b/cmd/core-demo/build/windows/wails.exe.manifest
deleted file mode 100644
index 16cd2b0..0000000
--- a/cmd/core-demo/build/windows/wails.exe.manifest
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
-
-
-
-
-
-
-
- true/pm
- permonitorv2,permonitor
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/cmd/core-demo/claude_bridge.go b/cmd/core-demo/claude_bridge.go
deleted file mode 100644
index 8ecc368..0000000
--- a/cmd/core-demo/claude_bridge.go
+++ /dev/null
@@ -1,157 +0,0 @@
-package main
-
-import (
- "encoding/json"
- "log"
- "net/http"
- "sync"
- "time"
-
- "github.com/gorilla/websocket"
-)
-
-var wsUpgrader = websocket.Upgrader{
- ReadBufferSize: 1024,
- WriteBufferSize: 1024,
- CheckOrigin: func(r *http.Request) bool {
- return true
- },
-}
-
-// ClaudeBridge forwards messages between GUI clients and the MCP core WebSocket.
-type ClaudeBridge struct {
- mcpConn *websocket.Conn
- mcpURL string
- clients map[*websocket.Conn]bool
- clientsMu sync.RWMutex
- broadcast chan []byte
- reconnectMu sync.Mutex
-}
-
-// NewClaudeBridge creates a new bridge to the MCP core WebSocket.
-func NewClaudeBridge(mcpURL string) *ClaudeBridge {
- return &ClaudeBridge{
- mcpURL: mcpURL,
- clients: make(map[*websocket.Conn]bool),
- broadcast: make(chan []byte, 256),
- }
-}
-
-// Start connects to the MCP WebSocket and starts the bridge.
-func (cb *ClaudeBridge) Start() {
- go cb.connectToMCP()
- go cb.broadcastLoop()
-}
-
-// connectToMCP establishes connection to the MCP core WebSocket.
-func (cb *ClaudeBridge) connectToMCP() {
- for {
- cb.reconnectMu.Lock()
- if cb.mcpConn != nil {
- cb.mcpConn.Close()
- }
-
- log.Printf("Claude bridge connecting to MCP at %s", cb.mcpURL)
- conn, _, err := websocket.DefaultDialer.Dial(cb.mcpURL, nil)
- if err != nil {
- log.Printf("Claude bridge failed to connect to MCP: %v", err)
- cb.reconnectMu.Unlock()
- time.Sleep(5 * time.Second)
- continue
- }
-
- cb.mcpConn = conn
- cb.reconnectMu.Unlock()
- log.Printf("Claude bridge connected to MCP")
-
- // Read messages from MCP and broadcast to clients
- for {
- _, message, err := conn.ReadMessage()
- if err != nil {
- log.Printf("Claude bridge MCP read error: %v", err)
- break
- }
- cb.broadcast <- message
- }
-
- // Connection lost, retry
- time.Sleep(2 * time.Second)
- }
-}
-
-// broadcastLoop sends messages from MCP to all connected clients.
-func (cb *ClaudeBridge) broadcastLoop() {
- for message := range cb.broadcast {
- cb.clientsMu.RLock()
- for client := range cb.clients {
- err := client.WriteMessage(websocket.TextMessage, message)
- if err != nil {
- log.Printf("Claude bridge client write error: %v", err)
- }
- }
- cb.clientsMu.RUnlock()
- }
-}
-
-// HandleWebSocket handles WebSocket connections from GUI clients.
-func (cb *ClaudeBridge) HandleWebSocket(w http.ResponseWriter, r *http.Request) {
- conn, err := wsUpgrader.Upgrade(w, r, nil)
- if err != nil {
- log.Printf("Claude bridge upgrade error: %v", err)
- return
- }
-
- cb.clientsMu.Lock()
- cb.clients[conn] = true
- cb.clientsMu.Unlock()
-
- // Send connected message
- connMsg, _ := json.Marshal(map[string]any{
- "type": "system",
- "data": "Connected to Claude bridge",
- "timestamp": time.Now(),
- })
- conn.WriteMessage(websocket.TextMessage, connMsg)
-
- defer func() {
- cb.clientsMu.Lock()
- delete(cb.clients, conn)
- cb.clientsMu.Unlock()
- conn.Close()
- }()
-
- // Read messages from client and forward to MCP
- for {
- _, message, err := conn.ReadMessage()
- if err != nil {
- break
- }
-
- // Parse the message to check type
- var msg map[string]any
- if err := json.Unmarshal(message, &msg); err != nil {
- continue
- }
-
- // Forward claude_message to MCP
- if msgType, ok := msg["type"].(string); ok && msgType == "claude_message" {
- cb.sendToMCP(message)
- }
- }
-}
-
-// sendToMCP sends a message to the MCP WebSocket.
-func (cb *ClaudeBridge) sendToMCP(message []byte) {
- cb.reconnectMu.Lock()
- defer cb.reconnectMu.Unlock()
-
- if cb.mcpConn == nil {
- log.Printf("Claude bridge: MCP not connected")
- return
- }
-
- err := cb.mcpConn.WriteMessage(websocket.TextMessage, message)
- if err != nil {
- log.Printf("Claude bridge MCP write error: %v", err)
- }
-}
diff --git a/cmd/core-demo/go.mod b/cmd/core-demo/go.mod
deleted file mode 100644
index 5fa85a8..0000000
--- a/cmd/core-demo/go.mod
+++ /dev/null
@@ -1,120 +0,0 @@
-module core-gui
-
-go 1.25.5
-
-require (
- github.com/host-uk/core v0.0.0-00010101000000-000000000000
- github.com/host-uk/core/pkg/display v0.0.0
- github.com/host-uk/core/pkg/mcp v0.0.0-00010101000000-000000000000
- github.com/host-uk/core/pkg/webview v0.0.0-00010101000000-000000000000
- github.com/host-uk/core/pkg/ws v0.0.0-00010101000000-000000000000
- github.com/gorilla/websocket v1.5.3
- github.com/wailsapp/wails/v3 v3.0.0-alpha.41
-)
-
-replace (
- github.com/host-uk/core => ../../
- github.com/host-uk/core/pkg/config => ../../pkg/config
- github.com/host-uk/core/pkg/core => ../../pkg/core
- github.com/host-uk/core/pkg/crypt => ../../pkg/crypt
- github.com/host-uk/core/pkg/display => ../../pkg/display
- github.com/host-uk/core/pkg/docs => ../../pkg/docs
- github.com/host-uk/core/pkg/help => ../../pkg/help
- github.com/host-uk/core/pkg/i18n => ../../pkg/i18n
- github.com/host-uk/core/pkg/ide => ../../pkg/ide
- github.com/host-uk/core/pkg/io => ../../pkg/io
- github.com/host-uk/core/pkg/mcp => ../../pkg/mcp
- github.com/host-uk/core/pkg/module => ../../pkg/module
- github.com/host-uk/core/pkg/plugin => ../../pkg/plugin
- github.com/host-uk/core/pkg/process => ../../pkg/process
- github.com/host-uk/core/pkg/runtime => ../../pkg/runtime
- github.com/host-uk/core/pkg/webview => ../../pkg/webview
- github.com/host-uk/core/pkg/workspace => ../../pkg/workspace
- github.com/host-uk/core/pkg/ws => ../../pkg/ws
-)
-
-require (
- dario.cat/mergo v1.0.2 // indirect
- git.sr.ht/~jackmordaunt/go-toast/v2 v2.0.3 // indirect
- github.com/Microsoft/go-winio v0.6.2 // indirect
- github.com/ProtonMail/go-crypto v1.3.0 // indirect
- github.com/host-uk/core/pkg/config v0.0.0-00010101000000-000000000000 // indirect
- github.com/host-uk/core/pkg/core v0.0.0 // indirect
- github.com/host-uk/core/pkg/docs v0.0.0-00010101000000-000000000000 // indirect
- github.com/host-uk/core/pkg/help v0.0.0-00010101000000-000000000000 // indirect
- github.com/host-uk/core/pkg/i18n v0.0.0-00010101000000-000000000000 // indirect
- github.com/host-uk/core/pkg/ide v0.0.0-00010101000000-000000000000 // indirect
- github.com/host-uk/core/pkg/module v0.0.0-00010101000000-000000000000 // indirect
- github.com/host-uk/core/pkg/process v0.0.0-00010101000000-000000000000 // indirect
- github.com/Snider/Enchantrix v0.0.2 // indirect
- github.com/adrg/xdg v0.5.3 // indirect
- github.com/bep/debounce v1.2.1 // indirect
- github.com/bytedance/sonic v1.14.0 // indirect
- github.com/bytedance/sonic/loader v0.3.0 // indirect
- github.com/cloudflare/circl v1.6.1 // indirect
- github.com/cloudwego/base64x v0.1.6 // indirect
- github.com/cyphar/filepath-securejoin v0.6.1 // indirect
- github.com/ebitengine/purego v0.9.1 // indirect
- github.com/emirpasic/gods v1.18.1 // indirect
- github.com/gabriel-vasile/mimetype v1.4.8 // indirect
- github.com/gin-contrib/sse v1.1.0 // indirect
- github.com/gin-gonic/gin v1.11.0 // indirect
- github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect
- github.com/go-git/go-billy/v5 v5.6.2 // indirect
- github.com/go-git/go-git/v5 v5.16.4 // indirect
- github.com/go-ole/go-ole v1.3.0 // indirect
- github.com/go-playground/locales v0.14.1 // indirect
- github.com/go-playground/universal-translator v0.18.1 // indirect
- github.com/go-playground/validator/v10 v10.27.0 // indirect
- github.com/goccy/go-json v0.10.2 // indirect
- github.com/goccy/go-yaml v1.18.0 // indirect
- github.com/godbus/dbus/v5 v5.2.0 // indirect
- github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 // indirect
- github.com/google/jsonschema-go v0.3.0 // indirect
- github.com/google/uuid v1.6.0 // indirect
- github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect
- github.com/jchv/go-winloader v0.0.0-20250406163304-c1995be93bd1 // indirect
- github.com/json-iterator/go v1.1.12 // indirect
- github.com/kevinburke/ssh_config v1.4.0 // indirect
- github.com/klauspost/cpuid/v2 v2.3.0 // indirect
- github.com/leaanthony/go-ansi-parser v1.6.1 // indirect
- github.com/leaanthony/u v1.1.1 // indirect
- github.com/leodido/go-urn v1.4.0 // indirect
- github.com/lmittmann/tint v1.1.2 // indirect
- github.com/mattn/go-colorable v0.1.14 // indirect
- github.com/mattn/go-isatty v0.0.20 // indirect
- github.com/modelcontextprotocol/go-sdk v1.2.0 // indirect
- github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421 // indirect
- github.com/modern-go/reflect2 v1.0.2 // indirect
- github.com/nicksnyder/go-i18n/v2 v2.6.1 // indirect
- github.com/pelletier/go-toml/v2 v2.2.4 // indirect
- github.com/pjbgf/sha1cd v0.5.0 // indirect
- github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c // indirect
- github.com/pkg/errors v0.9.1 // indirect
- github.com/quic-go/qpack v0.5.1 // indirect
- github.com/quic-go/quic-go v0.54.0 // indirect
- github.com/rivo/uniseg v0.4.7 // indirect
- github.com/samber/lo v1.52.0 // indirect
- github.com/sergi/go-diff v1.4.0 // indirect
- github.com/skeema/knownhosts v1.3.2 // indirect
- github.com/twitchyliquid64/golang-asm v0.15.1 // indirect
- github.com/ugorji/go/codec v1.3.0 // indirect
- github.com/wailsapp/go-webview2 v1.0.23 // indirect
- github.com/wailsapp/mimetype v1.4.1 // indirect
- github.com/xanzy/ssh-agent v0.3.3 // indirect
- github.com/yosida95/uritemplate/v3 v3.0.2 // indirect
- go.uber.org/mock v0.5.0 // indirect
- golang.org/x/arch v0.20.0 // indirect
- golang.org/x/crypto v0.45.0 // indirect
- golang.org/x/mod v0.30.0 // indirect
- golang.org/x/net v0.47.0 // indirect
- golang.org/x/oauth2 v0.33.0 // indirect
- golang.org/x/sync v0.19.0 // indirect
- golang.org/x/sys v0.38.0 // indirect
- golang.org/x/text v0.32.0 // indirect
- golang.org/x/tools v0.39.0 // indirect
- google.golang.org/protobuf v1.36.9 // indirect
- gopkg.in/ini.v1 v1.67.0 // indirect
- gopkg.in/warnings.v0 v0.1.2 // indirect
- gopkg.in/yaml.v2 v2.4.0 // indirect
-)
diff --git a/cmd/core-demo/go.sum b/cmd/core-demo/go.sum
deleted file mode 100644
index 222660a..0000000
--- a/cmd/core-demo/go.sum
+++ /dev/null
@@ -1,235 +0,0 @@
-dario.cat/mergo v1.0.2 h1:85+piFYR1tMbRrLcDwR18y4UKJ3aH1Tbzi24VRW1TK8=
-dario.cat/mergo v1.0.2/go.mod h1:E/hbnu0NxMFBjpMIE34DRGLWqDy0g5FuKDhCb31ngxA=
-git.sr.ht/~jackmordaunt/go-toast/v2 v2.0.3 h1:N3IGoHHp9pb6mj1cbXbuaSXV/UMKwmbKLf53nQmtqMA=
-git.sr.ht/~jackmordaunt/go-toast/v2 v2.0.3/go.mod h1:QtOLZGz8olr4qH2vWK0QH0w0O4T9fEIjMuWpKUsH7nc=
-github.com/BurntSushi/toml v1.6.0 h1:dRaEfpa2VI55EwlIW72hMRHdWouJeRF7TPYhI+AUQjk=
-github.com/BurntSushi/toml v1.6.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho=
-github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY=
-github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY=
-github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU=
-github.com/ProtonMail/go-crypto v1.3.0 h1:ILq8+Sf5If5DCpHQp4PbZdS1J7HDFRXz/+xKBiRGFrw=
-github.com/ProtonMail/go-crypto v1.3.0/go.mod h1:9whxjD8Rbs29b4XWbB8irEcE8KHMqaR2e7GWU1R+/PE=
-github.com/Snider/Enchantrix v0.0.2 h1:ExZQiBhfS/p/AHFTKhY80TOd+BXZjK95EzByAEgwvjs=
-github.com/Snider/Enchantrix v0.0.2/go.mod h1:CtFcLAvnDT1KcuF1JBb/DJj0KplY8jHryO06KzQ1hsQ=
-github.com/adrg/xdg v0.5.3 h1:xRnxJXne7+oWDatRhR1JLnvuccuIeCoBu2rtuLqQB78=
-github.com/adrg/xdg v0.5.3/go.mod h1:nlTsY+NNiCBGCK2tpm09vRqfVzrc2fLmXGpBLF0zlTQ=
-github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be h1:9AeTilPcZAjCFIImctFaOjnTIavg87rW78vTPkQqLI8=
-github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4=
-github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio=
-github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs=
-github.com/bep/debounce v1.2.1 h1:v67fRdBA9UQu2NhLFXrSg0Brw7CexQekrBwDMM8bzeY=
-github.com/bep/debounce v1.2.1/go.mod h1:H8yggRPQKLUhUoqrJC1bO2xNya7vanpDl7xR3ISbCJ0=
-github.com/bytedance/sonic v1.14.0 h1:/OfKt8HFw0kh2rj8N0F6C/qPGRESq0BbaNZgcNXXzQQ=
-github.com/bytedance/sonic v1.14.0/go.mod h1:WoEbx8WTcFJfzCe0hbmyTGrfjt8PzNEBdxlNUO24NhA=
-github.com/bytedance/sonic/loader v0.3.0 h1:dskwH8edlzNMctoruo8FPTJDF3vLtDT0sXZwvZJyqeA=
-github.com/bytedance/sonic/loader v0.3.0/go.mod h1:N8A3vUdtUebEY2/VQC0MyhYeKUFosQU6FxH2JmUe6VI=
-github.com/cloudflare/circl v1.6.1 h1:zqIqSPIndyBh1bjLVVDHMPpVKqp8Su/V+6MeDzzQBQ0=
-github.com/cloudflare/circl v1.6.1/go.mod h1:uddAzsPgqdMAYatqJ0lsjX1oECcQLIlRpzZh3pJrofs=
-github.com/cloudwego/base64x v0.1.6 h1:t11wG9AECkCDk5fMSoxmufanudBtJ+/HemLstXDLI2M=
-github.com/cloudwego/base64x v0.1.6/go.mod h1:OFcloc187FXDaYHvrNIjxSe8ncn0OOM8gEHfghB2IPU=
-github.com/cyphar/filepath-securejoin v0.6.1 h1:5CeZ1jPXEiYt3+Z6zqprSAgSWiggmpVyciv8syjIpVE=
-github.com/cyphar/filepath-securejoin v0.6.1/go.mod h1:A8hd4EnAeyujCJRrICiOWqjS1AX0a9kM5XL+NwKoYSc=
-github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
-github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
-github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
-github.com/ebitengine/purego v0.9.1 h1:a/k2f2HQU3Pi399RPW1MOaZyhKJL9w/xFpKAg4q1s0A=
-github.com/ebitengine/purego v0.9.1/go.mod h1:iIjxzd6CiRiOG0UyXP+V1+jWqUXVjPKLAI0mRfJZTmQ=
-github.com/elazarl/goproxy v1.7.2 h1:Y2o6urb7Eule09PjlhQRGNsqRfPmYI3KKQLFpCAV3+o=
-github.com/elazarl/goproxy v1.7.2/go.mod h1:82vkLNir0ALaW14Rc399OTTjyNREgmdL2cVoIbS6XaE=
-github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc=
-github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ=
-github.com/gabriel-vasile/mimetype v1.4.8 h1:FfZ3gj38NjllZIeJAmMhr+qKL8Wu+nOoI3GqacKw1NM=
-github.com/gabriel-vasile/mimetype v1.4.8/go.mod h1:ByKUIKGjh1ODkGM1asKUbQZOLGrPjydw3hYPU2YU9t8=
-github.com/gin-contrib/sse v1.1.0 h1:n0w2GMuUpWDVp7qSpvze6fAu9iRxJY4Hmj6AmBOU05w=
-github.com/gin-contrib/sse v1.1.0/go.mod h1:hxRZ5gVpWMT7Z0B0gSNYqqsSCNIJMjzvm6fqCz9vjwM=
-github.com/gin-gonic/gin v1.11.0 h1:OW/6PLjyusp2PPXtyxKHU0RbX6I/l28FTdDlae5ueWk=
-github.com/gin-gonic/gin v1.11.0/go.mod h1:+iq/FyxlGzII0KHiBGjuNn4UNENUlKbGlNmc+W50Dls=
-github.com/gliderlabs/ssh v0.3.8 h1:a4YXD1V7xMF9g5nTkdfnja3Sxy1PVDCj1Zg4Wb8vY6c=
-github.com/gliderlabs/ssh v0.3.8/go.mod h1:xYoytBv1sV0aL3CavoDuJIQNURXkkfPA/wxQ1pL1fAU=
-github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 h1:+zs/tPmkDkHx3U66DAb0lQFJrpS6731Oaa12ikc+DiI=
-github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376/go.mod h1:an3vInlBmSxCcxctByoQdvwPiA7DTK7jaaFDBTtu0ic=
-github.com/go-git/go-billy/v5 v5.6.2 h1:6Q86EsPXMa7c3YZ3aLAQsMA0VlWmy43r6FHqa/UNbRM=
-github.com/go-git/go-billy/v5 v5.6.2/go.mod h1:rcFC2rAsp/erv7CMz9GczHcuD0D32fWzH+MJAU+jaUU=
-github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399 h1:eMje31YglSBqCdIqdhKBW8lokaMrL3uTkpGYlE2OOT4=
-github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399/go.mod h1:1OCfN199q1Jm3HZlxleg+Dw/mwps2Wbk9frAWm+4FII=
-github.com/go-git/go-git/v5 v5.16.4 h1:7ajIEZHZJULcyJebDLo99bGgS0jRrOxzZG4uCk2Yb2Y=
-github.com/go-git/go-git/v5 v5.16.4/go.mod h1:4Ge4alE/5gPs30F2H1esi2gPd69R0C39lolkucHBOp8=
-github.com/go-ole/go-ole v1.3.0 h1:Dt6ye7+vXGIKZ7Xtk4s6/xVdGDQynvom7xCFEdWr6uE=
-github.com/go-ole/go-ole v1.3.0/go.mod h1:5LS6F96DhAwUc7C+1HLexzMXY1xGRSryjyPPKW6zv78=
-github.com/go-playground/assert/v2 v2.2.0 h1:JvknZsQTYeFEAhQwI4qEt9cyV5ONwRHC+lYKSsYSR8s=
-github.com/go-playground/assert/v2 v2.2.0/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4=
-github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/oXslEjJA=
-github.com/go-playground/locales v0.14.1/go.mod h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY=
-github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY=
-github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY=
-github.com/go-playground/validator/v10 v10.27.0 h1:w8+XrWVMhGkxOaaowyKH35gFydVHOvC0/uWoy2Fzwn4=
-github.com/go-playground/validator/v10 v10.27.0/go.mod h1:I5QpIEbmr8On7W0TktmJAumgzX4CA1XNl4ZmDuVHKKo=
-github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU=
-github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I=
-github.com/goccy/go-yaml v1.18.0 h1:8W7wMFS12Pcas7KU+VVkaiCng+kG8QiFeFwzFb+rwuw=
-github.com/goccy/go-yaml v1.18.0/go.mod h1:XBurs7gK8ATbW4ZPGKgcbrY1Br56PdM69F7LkFRi1kA=
-github.com/godbus/dbus/v5 v5.2.0 h1:3WexO+U+yg9T70v9FdHr9kCxYlazaAXUhx2VMkbfax8=
-github.com/godbus/dbus/v5 v5.2.0/go.mod h1:3AAv2+hPq5rdnr5txxxRwiGjPXamgoIHgz9FPBfOp3c=
-github.com/golang-jwt/jwt/v5 v5.2.2 h1:Rl4B7itRWVtYIHFrSNd7vhTiz9UpLdi6gZhZ3wEeDy8=
-github.com/golang-jwt/jwt/v5 v5.2.2/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk=
-github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 h1:f+oWsMOmNPc8JmEHVZIycC7hBoQxHH9pNKQORJNozsQ=
-github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8/go.mod h1:wcDNUvekVysuuOpQKo3191zZyTpiI6se1N1ULghS0sw=
-github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
-github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
-github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
-github.com/google/jsonschema-go v0.3.0 h1:6AH2TxVNtk3IlvkkhjrtbUc4S8AvO0Xii0DxIygDg+Q=
-github.com/google/jsonschema-go v0.3.0/go.mod h1:r5quNTdLOYEz95Ru18zA0ydNbBuYoo9tgaYcxEYhJVE=
-github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
-github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
-github.com/gorilla/websocket v1.5.3 h1:saDtZ6Pbx/0u+bgYQ3q96pZgCzfhKXGPqt7kZ72aNNg=
-github.com/gorilla/websocket v1.5.3/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
-github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A=
-github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo=
-github.com/jchv/go-winloader v0.0.0-20250406163304-c1995be93bd1 h1:njuLRcjAuMKr7kI3D85AXWkw6/+v9PwtV6M6o11sWHQ=
-github.com/jchv/go-winloader v0.0.0-20250406163304-c1995be93bd1/go.mod h1:alcuEEnZsY1WQsagKhZDsoPCRoOijYqhZvPwLG0kzVs=
-github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM=
-github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
-github.com/kevinburke/ssh_config v1.4.0 h1:6xxtP5bZ2E4NF5tuQulISpTO2z8XbtH8cg1PWkxoFkQ=
-github.com/kevinburke/ssh_config v1.4.0/go.mod h1:q2RIzfka+BXARoNexmF9gkxEX7DmvbW9P4hIVx2Kg4M=
-github.com/klauspost/cpuid/v2 v2.3.0 h1:S4CRMLnYUhGeDFDqkGriYKdfoFlDnMtqTiI/sFzhA9Y=
-github.com/klauspost/cpuid/v2 v2.3.0/go.mod h1:hqwkgyIinND0mEev00jJYCxPNVRVXFQeu1XKlok6oO0=
-github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
-github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
-github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
-github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
-github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
-github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
-github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
-github.com/leaanthony/go-ansi-parser v1.6.1 h1:xd8bzARK3dErqkPFtoF9F3/HgN8UQk0ed1YDKpEz01A=
-github.com/leaanthony/go-ansi-parser v1.6.1/go.mod h1:+vva/2y4alzVmmIEpk9QDhA7vLC5zKDTRwfZGOp3IWU=
-github.com/leaanthony/u v1.1.1 h1:TUFjwDGlNX+WuwVEzDqQwC2lOv0P4uhTQw7CMFdiK7M=
-github.com/leaanthony/u v1.1.1/go.mod h1:9+o6hejoRljvZ3BzdYlVL0JYCwtnAsVuN9pVTQcaRfI=
-github.com/leodido/go-urn v1.4.0 h1:WT9HwE9SGECu3lg4d/dIA+jxlljEa1/ffXKmRjqdmIQ=
-github.com/leodido/go-urn v1.4.0/go.mod h1:bvxc+MVxLKB4z00jd1z+Dvzr47oO32F/QSNjSBOlFxI=
-github.com/lmittmann/tint v1.1.2 h1:2CQzrL6rslrsyjqLDwD11bZ5OpLBPU+g3G/r5LSfS8w=
-github.com/lmittmann/tint v1.1.2/go.mod h1:HIS3gSy7qNwGCj+5oRjAutErFBl4BzdQP6cJZ0NfMwE=
-github.com/matryer/is v1.4.0/go.mod h1:8I/i5uYgLzgsgEloJE1U6xx5HkBQpAZvepWuujKwMRU=
-github.com/matryer/is v1.4.1 h1:55ehd8zaGABKLXQUe2awZ99BD/PTc2ls+KV/dXphgEQ=
-github.com/matryer/is v1.4.1/go.mod h1:8I/i5uYgLzgsgEloJE1U6xx5HkBQpAZvepWuujKwMRU=
-github.com/mattn/go-colorable v0.1.14 h1:9A9LHSqF/7dyVVX6g0U9cwm9pG3kP9gSzcuIPHPsaIE=
-github.com/mattn/go-colorable v0.1.14/go.mod h1:6LmQG8QLFO4G5z1gPvYEzlUgJ2wF+stgPZH1UqBm1s8=
-github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
-github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
-github.com/modelcontextprotocol/go-sdk v1.2.0 h1:Y23co09300CEk8iZ/tMxIX1dVmKZkzoSBZOpJwUnc/s=
-github.com/modelcontextprotocol/go-sdk v1.2.0/go.mod h1:6fM3LCm3yV7pAs8isnKLn07oKtB0MP9LHd3DfAcKw10=
-github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421 h1:ZqeYNhU3OHLH3mGKHDcjJRFFRrJa6eAM5H+CtDdOsPc=
-github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
-github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M=
-github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
-github.com/nicksnyder/go-i18n/v2 v2.6.1 h1:JDEJraFsQE17Dut9HFDHzCoAWGEQJom5s0TRd17NIEQ=
-github.com/nicksnyder/go-i18n/v2 v2.6.1/go.mod h1:Vee0/9RD3Quc/NmwEjzzD7VTZ+Ir7QbXocrkhOzmUKA=
-github.com/onsi/gomega v1.34.1 h1:EUMJIKUjM8sKjYbtxQI9A4z2o+rruxnzNvpknOXie6k=
-github.com/onsi/gomega v1.34.1/go.mod h1:kU1QgUvBDLXBJq618Xvm2LUX6rSAfRaFRTcdOeDLwwY=
-github.com/pelletier/go-toml/v2 v2.2.4 h1:mye9XuhQ6gvn5h28+VilKrrPoQVanw5PMw/TB0t5Ec4=
-github.com/pelletier/go-toml/v2 v2.2.4/go.mod h1:2gIqNv+qfxSVS7cM2xJQKtLSTLUE9V8t9Stt+h56mCY=
-github.com/pjbgf/sha1cd v0.5.0 h1:a+UkboSi1znleCDUNT3M5YxjOnN1fz2FhN48FlwCxs0=
-github.com/pjbgf/sha1cd v0.5.0/go.mod h1:lhpGlyHLpQZoxMv8HcgXvZEhcGs0PG/vsZnEJ7H0iCM=
-github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c h1:+mdjkGKdHQG3305AYmdv1U2eRNDiU2ErMBj1gwrq8eQ=
-github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c/go.mod h1:7rwL4CYBLnjLxUqIJNnCWiEdr3bn6IUYi15bNlnbCCU=
-github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
-github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
-github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
-github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
-github.com/quic-go/qpack v0.5.1 h1:giqksBPnT/HDtZ6VhtFKgoLOWmlyo9Ei6u9PqzIMbhI=
-github.com/quic-go/qpack v0.5.1/go.mod h1:+PC4XFrEskIVkcLzpEkbLqq1uCoxPhQuvK5rH1ZgaEg=
-github.com/quic-go/quic-go v0.54.0 h1:6s1YB9QotYI6Ospeiguknbp2Znb/jZYjZLRXn9kMQBg=
-github.com/quic-go/quic-go v0.54.0/go.mod h1:e68ZEaCdyviluZmy44P6Iey98v/Wfz6HCjQEm+l8zTY=
-github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
-github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ=
-github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=
-github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ=
-github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc=
-github.com/samber/lo v1.52.0 h1:Rvi+3BFHES3A8meP33VPAxiBZX/Aws5RxrschYGjomw=
-github.com/samber/lo v1.52.0/go.mod h1:4+MXEGsJzbKGaUEQFKBq2xtfuznW9oz/WrgyzMzRoM0=
-github.com/sergi/go-diff v1.4.0 h1:n/SP9D5ad1fORl+llWyN+D6qoUETXNZARKjyY2/KVCw=
-github.com/sergi/go-diff v1.4.0/go.mod h1:A0bzQcvG0E7Rwjx0REVgAGH58e96+X0MeOfepqsbeW4=
-github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0=
-github.com/skeema/knownhosts v1.3.2 h1:EDL9mgf4NzwMXCTfaxSD/o/a5fxDw/xL9nkU28JjdBg=
-github.com/skeema/knownhosts v1.3.2/go.mod h1:bEg3iQAuw+jyiw+484wwFJoKSLwcfd7fqRy+N0QTiow=
-github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
-github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
-github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
-github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
-github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
-github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
-github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
-github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
-github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
-github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U=
-github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U=
-github.com/twitchyliquid64/golang-asm v0.15.1 h1:SU5vSMR7hnwNxj24w34ZyCi/FmDZTkS4MhqMhdFk5YI=
-github.com/twitchyliquid64/golang-asm v0.15.1/go.mod h1:a1lVb/DtPvCB8fslRZhAngC2+aY1QWCk3Cedj/Gdt08=
-github.com/ugorji/go/codec v1.3.0 h1:Qd2W2sQawAfG8XSvzwhBeoGq71zXOC/Q1E9y/wUcsUA=
-github.com/ugorji/go/codec v1.3.0/go.mod h1:pRBVtBSKl77K30Bv8R2P+cLSGaTtex6fsA2Wjqmfxj4=
-github.com/wailsapp/go-webview2 v1.0.23 h1:jmv8qhz1lHibCc79bMM/a/FqOnnzOGEisLav+a0b9P0=
-github.com/wailsapp/go-webview2 v1.0.23/go.mod h1:qJmWAmAmaniuKGZPWwne+uor3AHMB5PFhqiK0Bbj8kc=
-github.com/wailsapp/mimetype v1.4.1 h1:pQN9ycO7uo4vsUUuPeHEYoUkLVkaRntMnHJxVwYhwHs=
-github.com/wailsapp/mimetype v1.4.1/go.mod h1:9aV5k31bBOv5z6u+QP8TltzvNGJPmNJD4XlAL3U+j3o=
-github.com/wailsapp/wails/v3 v3.0.0-alpha.41 h1:DYcC1/vtO862sxnoyCOMfLLypbzpFWI257fR6zDYY+Y=
-github.com/wailsapp/wails/v3 v3.0.0-alpha.41/go.mod h1:7i8tSuA74q97zZ5qEJlcVZdnO+IR7LT2KU8UpzYMPsw=
-github.com/xanzy/ssh-agent v0.3.3 h1:+/15pJfg/RsTxqYcX6fHqOXZwwMP+2VyYWJeWM2qQFM=
-github.com/xanzy/ssh-agent v0.3.3/go.mod h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI1Bc68Uw=
-github.com/yosida95/uritemplate/v3 v3.0.2 h1:Ed3Oyj9yrmi9087+NczuL5BwkIc4wvTb5zIM+UJPGz4=
-github.com/yosida95/uritemplate/v3 v3.0.2/go.mod h1:ILOh0sOhIJR3+L/8afwt/kE++YT040gmv5BQTMR2HP4=
-go.uber.org/mock v0.5.0 h1:KAMbZvZPyBPWgD14IrIQ38QCyjwpvVVV6K/bHl1IwQU=
-go.uber.org/mock v0.5.0/go.mod h1:ge71pBPLYDk7QIi1LupWxdAykm7KIEFchiOqd6z7qMM=
-go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc=
-go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg=
-golang.org/x/arch v0.20.0 h1:dx1zTU0MAE98U+TQ8BLl7XsJbgze2WnNKF/8tGp/Q6c=
-golang.org/x/arch v0.20.0/go.mod h1:bdwinDaKcfZUGpH09BB7ZmOfhalA8lQdzl62l8gGWsk=
-golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
-golang.org/x/crypto v0.45.0 h1:jMBrvKuj23MTlT0bQEOBcAE0mjg8mK9RXFhRH6nyF3Q=
-golang.org/x/crypto v0.45.0/go.mod h1:XTGrrkGJve7CYK7J8PEww4aY7gM3qMCElcJQ8n8JdX4=
-golang.org/x/exp v0.0.0-20250210185358-939b2ce775ac h1:l5+whBCLH3iH2ZNHYLbAe58bo7yrN4mVcnkHDYz5vvs=
-golang.org/x/exp v0.0.0-20250210185358-939b2ce775ac/go.mod h1:hH+7mtFmImwwcMvScyxUhjuVHR3HGaDPMn9rMSUUbxo=
-golang.org/x/mod v0.30.0 h1:fDEXFVZ/fmCKProc/yAXXUijritrDzahmwwefnjoPFk=
-golang.org/x/mod v0.30.0/go.mod h1:lAsf5O2EvJeSFMiBxXDki7sCgAxEUcZHXoXMKT4GJKc=
-golang.org/x/net v0.0.0-20210505024714-0287a6fb4125/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
-golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
-golang.org/x/net v0.47.0 h1:Mx+4dIFzqraBXUugkia1OOvlD6LemFo1ALMHjrXDOhY=
-golang.org/x/net v0.47.0/go.mod h1:/jNxtkgq5yWUGYkaZGqo27cfGZ1c5Nen03aYrrKpVRU=
-golang.org/x/oauth2 v0.33.0 h1:4Q+qn+E5z8gPRJfmRy7C2gGG3T4jIprK6aSYgTXGRpo=
-golang.org/x/oauth2 v0.33.0/go.mod h1:lzm5WQJQwKZ3nwavOZ3IS5Aulzxi68dUSgRHujetwEA=
-golang.org/x/sync v0.19.0 h1:vV+1eWNmZ5geRlYjzm2adRgW2/mcpevXNg50YZtPCE4=
-golang.org/x/sync v0.19.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI=
-golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200810151505-1b9f1253b3ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.38.0 h1:3yZWxaJjBmCWXqhN1qh02AkOnCQ1poK6oF+a7xWL6Gc=
-golang.org/x/sys v0.38.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
-golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
-golang.org/x/term v0.37.0 h1:8EGAD0qCmHYZg6J17DvsMy9/wJ7/D/4pV/wfnld5lTU=
-golang.org/x/term v0.37.0/go.mod h1:5pB4lxRNYYVZuTLmy8oR2BH8dflOR+IbTYFD8fi3254=
-golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
-golang.org/x/text v0.32.0 h1:ZD01bjUt1FQ9WJ0ClOL5vxgxOI/sVCNgX1YtKwcY0mU=
-golang.org/x/text v0.32.0/go.mod h1:o/rUWzghvpD5TXrTIBuJU77MTaN0ljMWE47kxGJQ7jY=
-golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
-golang.org/x/tools v0.39.0 h1:ik4ho21kwuQln40uelmciQPp9SipgNDdrafrYA4TmQQ=
-golang.org/x/tools v0.39.0/go.mod h1:JnefbkDPyD8UU2kI5fuf8ZX4/yUeh9W877ZeBONxUqQ=
-google.golang.org/protobuf v1.36.9 h1:w2gp2mA27hUeUzj9Ex9FBjsBm40zfaDtEWow293U7Iw=
-google.golang.org/protobuf v1.36.9/go.mod h1:fuxRtAxBytpl4zzqUh6/eyUujkJdNiuEkXntxiD/uRU=
-gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
-gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
-gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
-gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
-gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA=
-gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
-gopkg.in/warnings.v0 v0.1.2 h1:wFXVbFY8DY5/xOe1ECiWdKCzZlxgshcYVNkBHstARME=
-gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI=
-gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
-gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
-gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
-gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
-gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
-gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
diff --git a/cmd/core-demo/main.go b/cmd/core-demo/main.go
deleted file mode 100644
index fda0440..0000000
--- a/cmd/core-demo/main.go
+++ /dev/null
@@ -1,73 +0,0 @@
-package main
-
-import (
- "embed"
- "io/fs"
- "log"
-
- core "github.com/host-uk/core"
- "github.com/wailsapp/wails/v3/pkg/application"
- "github.com/wailsapp/wails/v3/pkg/services/notifications"
-)
-
-//go:embed all:frontend/dist/frontend/browser
-var assets embed.FS
-
-// Default MCP port for the embedded server
-const mcpPort = 9877
-
-func main() {
- // Create the Core runtime with plugin support
- rt, err := core.NewRuntime()
- if err != nil {
- log.Fatal(err)
- }
-
- // Create the notifications service for native system notifications
- notifier := notifications.New()
-
- // Wire the notifier to the display service for native notifications
- rt.Display.SetNotifier(notifier)
-
- // Create the MCP bridge for Claude Code integration
- // This provides WebView access, console capture, window control, and process management
- mcpBridge := NewMCPBridge(mcpPort, rt.Display)
-
- // Collect all services including plugins
- // Display service registered separately so Wails calls its Startup() for tray/window
- services := []application.Service{
- application.NewService(rt.Runtime),
- application.NewService(rt.Display),
- application.NewService(notifier), // Native notifications
- application.NewService(rt.Docs),
- application.NewService(rt.Config),
- application.NewService(rt.I18n),
- application.NewService(rt.Help),
- application.NewService(rt.Crypt),
- application.NewService(rt.IDE),
- application.NewService(rt.Module),
- application.NewService(rt.Workspace),
- application.NewService(mcpBridge), // MCP Bridge for Claude Code
- }
- services = append(services, rt.PluginServices()...)
-
- // Strip the embed path prefix so files are served from root
- staticAssets, err := fs.Sub(assets, "frontend/dist/frontend/browser")
- if err != nil {
- log.Fatal(err)
- }
-
- app := application.New(application.Options{
- Services: services,
- Assets: application.AssetOptions{
- Handler: application.AssetFileServerFS(staticAssets),
- },
- })
-
- log.Printf("Starting Core GUI with MCP server on port %d", mcpPort)
-
- err = app.Run()
- if err != nil {
- log.Fatal(err)
- }
-}
diff --git a/cmd/core-demo/mcp_bridge.go b/cmd/core-demo/mcp_bridge.go
deleted file mode 100644
index 7b25ff6..0000000
--- a/cmd/core-demo/mcp_bridge.go
+++ /dev/null
@@ -1,1135 +0,0 @@
-package main
-
-import (
- "context"
- "encoding/base64"
- "encoding/json"
- "fmt"
- "log"
- "net/http"
- "sync"
-
- "github.com/host-uk/core/pkg/display"
- "github.com/host-uk/core/pkg/mcp"
- "github.com/host-uk/core/pkg/webview"
- "github.com/host-uk/core/pkg/ws"
- "github.com/wailsapp/wails/v3/pkg/application"
-)
-
-// MCPBridge wires together MCP, WebView, Display and WebSocket services
-// and starts the MCP HTTP server after Wails initializes.
-type MCPBridge struct {
- mcpService *mcp.Service
- webview *webview.Service
- display *display.Service
- wsHub *ws.Hub
- claudeBridge *ClaudeBridge
- app *application.App
- port int
- running bool
- mu sync.Mutex
-}
-
-// NewMCPBridge creates a new MCP bridge with all services wired up.
-func NewMCPBridge(port int, displaySvc *display.Service) *MCPBridge {
- wv := webview.New()
- hub := ws.NewHub()
- mcpSvc := mcp.NewStandaloneWithPort(port)
- mcpSvc.SetWebView(wv)
- mcpSvc.SetDisplay(displaySvc)
-
- // Create Claude bridge to forward messages to MCP core on port 9876
- claudeBridge := NewClaudeBridge("ws://localhost:9876/ws")
-
- return &MCPBridge{
- mcpService: mcpSvc,
- webview: wv,
- display: displaySvc,
- wsHub: hub,
- claudeBridge: claudeBridge,
- port: port,
- }
-}
-
-// ServiceStartup is called by Wails when the app starts.
-// This wires up the app reference and starts the HTTP server.
-func (b *MCPBridge) ServiceStartup(ctx context.Context, options application.ServiceOptions) error {
- b.mu.Lock()
- defer b.mu.Unlock()
-
- // Get the Wails app reference
- b.app = application.Get()
- if b.app == nil {
- return fmt.Errorf("failed to get Wails app reference")
- }
-
- // Wire up the WebView service with the app
- b.webview.SetApp(b.app)
-
- // Set up console listener
- b.webview.SetupConsoleListener()
-
- // Inject console capture into all windows after a short delay
- // (windows may not be created yet)
- go b.injectConsoleCapture()
-
- // Start the HTTP server for MCP
- go b.startHTTPServer()
-
- log.Printf("MCP Bridge started on port %d", b.port)
- return nil
-}
-
-// injectConsoleCapture injects the console capture script into windows.
-func (b *MCPBridge) injectConsoleCapture() {
- // Wait a bit for windows to be created
- // In production, you'd use events to detect window creation
- windows := b.webview.ListWindows()
- for _, w := range windows {
- if err := b.webview.InjectConsoleCapture(w.Name); err != nil {
- log.Printf("Failed to inject console capture in %s: %v", w.Name, err)
- }
- }
-}
-
-// startHTTPServer starts the HTTP server for MCP and WebSocket.
-func (b *MCPBridge) startHTTPServer() {
- b.running = true
-
- // Start the WebSocket hub
- hubCtx := context.Background()
- go b.wsHub.Run(hubCtx)
-
- // Claude bridge disabled - port 9876 is not an MCP WebSocket server
- // b.claudeBridge.Start()
-
- mux := http.NewServeMux()
-
- // WebSocket endpoint for GUI clients
- mux.HandleFunc("/ws", b.wsHub.HandleWebSocket)
-
- // WebSocket endpoint for real-time display events
- mux.HandleFunc("/events", b.handleEventsWebSocket)
-
- // MCP info endpoint
- mux.HandleFunc("/mcp", b.handleMCPInfo)
-
- // MCP tools endpoint (simple HTTP for now, SSE later)
- mux.HandleFunc("/mcp/tools", b.handleMCPTools)
- mux.HandleFunc("/mcp/call", b.handleMCPCall)
-
- // Health check
- mux.HandleFunc("/health", func(w http.ResponseWriter, r *http.Request) {
- w.Header().Set("Content-Type", "application/json")
- json.NewEncoder(w).Encode(map[string]any{
- "status": "ok",
- "mcp": true,
- "webview": b.webview != nil,
- "display": b.display != nil,
- })
- })
-
- addr := fmt.Sprintf(":%d", b.port)
- log.Printf("MCP HTTP server listening on %s", addr)
-
- if err := http.ListenAndServe(addr, mux); err != nil {
- log.Printf("MCP HTTP server error: %v", err)
- }
-}
-
-// handleMCPInfo returns MCP server information.
-func (b *MCPBridge) handleMCPInfo(w http.ResponseWriter, r *http.Request) {
- w.Header().Set("Content-Type", "application/json")
- w.Header().Set("Access-Control-Allow-Origin", "*")
-
- info := map[string]any{
- "name": "core",
- "version": "0.1.0",
- "capabilities": map[string]any{
- "webview": true,
- "display": b.display != nil,
- "windowControl": b.display != nil,
- "screenControl": b.display != nil,
- "websocket": fmt.Sprintf("ws://localhost:%d/ws", b.port),
- "events": fmt.Sprintf("ws://localhost:%d/events", b.port),
- },
- }
- json.NewEncoder(w).Encode(info)
-}
-
-// handleMCPTools returns the list of available tools.
-func (b *MCPBridge) handleMCPTools(w http.ResponseWriter, r *http.Request) {
- w.Header().Set("Content-Type", "application/json")
- w.Header().Set("Access-Control-Allow-Origin", "*")
-
- // Return tool list - grouped by category
- tools := []map[string]string{
- // File operations
- {"name": "file_read", "description": "Read the contents of a file"},
- {"name": "file_write", "description": "Write content to a file"},
- {"name": "file_edit", "description": "Edit a file by replacing text"},
- {"name": "file_delete", "description": "Delete a file"},
- {"name": "file_exists", "description": "Check if file exists"},
- {"name": "file_rename", "description": "Rename or move a file"},
- {"name": "dir_list", "description": "List directory contents"},
- {"name": "dir_create", "description": "Create a directory"},
- {"name": "lang_detect", "description": "Detect file language"},
- {"name": "lang_list", "description": "List supported languages"},
- // Process management
- {"name": "process_start", "description": "Start a process"},
- {"name": "process_stop", "description": "Stop a process"},
- {"name": "process_kill", "description": "Kill a process"},
- {"name": "process_list", "description": "List processes"},
- {"name": "process_output", "description": "Get process output"},
- {"name": "process_input", "description": "Send input to process"},
- // WebSocket streaming
- {"name": "ws_start", "description": "Start WebSocket server"},
- {"name": "ws_info", "description": "Get WebSocket info"},
- // WebView interaction (JS runtime, console, DOM)
- {"name": "webview_list", "description": "List windows"},
- {"name": "webview_eval", "description": "Execute JavaScript"},
- {"name": "webview_console", "description": "Get console messages"},
- {"name": "webview_console_clear", "description": "Clear console buffer"},
- {"name": "webview_click", "description": "Click element"},
- {"name": "webview_type", "description": "Type into element"},
- {"name": "webview_query", "description": "Query DOM elements"},
- {"name": "webview_navigate", "description": "Navigate to URL"},
- {"name": "webview_source", "description": "Get page source"},
- {"name": "webview_url", "description": "Get current page URL"},
- {"name": "webview_title", "description": "Get current page title"},
- {"name": "webview_screenshot", "description": "Capture page as base64 PNG"},
- {"name": "webview_screenshot_element", "description": "Capture specific element as PNG"},
- {"name": "webview_scroll", "description": "Scroll to element or position"},
- {"name": "webview_hover", "description": "Hover over element"},
- {"name": "webview_select", "description": "Select option in dropdown"},
- {"name": "webview_check", "description": "Check/uncheck checkbox or radio"},
- {"name": "webview_element_info", "description": "Get detailed info about element"},
- {"name": "webview_computed_style", "description": "Get computed styles for element"},
- {"name": "webview_highlight", "description": "Visually highlight element"},
- {"name": "webview_dom_tree", "description": "Get DOM tree structure"},
- {"name": "webview_errors", "description": "Get captured error messages"},
- {"name": "webview_performance", "description": "Get performance metrics"},
- {"name": "webview_resources", "description": "List loaded resources"},
- {"name": "webview_network", "description": "Get network requests log"},
- {"name": "webview_network_clear", "description": "Clear network request log"},
- {"name": "webview_network_inject", "description": "Inject network interceptor for detailed logging"},
- {"name": "webview_pdf", "description": "Export page as PDF (base64 data URI)"},
- {"name": "webview_print", "description": "Open print dialog for window"},
- // Window/Display control (native app control)
- {"name": "window_list", "description": "List all windows with positions"},
- {"name": "window_get", "description": "Get info about a specific window"},
- {"name": "window_create", "description": "Create a new window at specific position"},
- {"name": "window_close", "description": "Close a window by name"},
- {"name": "window_position", "description": "Move a window to specific coordinates"},
- {"name": "window_size", "description": "Resize a window"},
- {"name": "window_bounds", "description": "Set position and size in one call"},
- {"name": "window_maximize", "description": "Maximize a window"},
- {"name": "window_minimize", "description": "Minimize a window"},
- {"name": "window_restore", "description": "Restore from maximized/minimized"},
- {"name": "window_focus", "description": "Bring window to front"},
- {"name": "window_focused", "description": "Get currently focused window"},
- {"name": "window_visibility", "description": "Show or hide a window"},
- {"name": "window_always_on_top", "description": "Pin window above others"},
- {"name": "window_title", "description": "Change window title"},
- {"name": "window_title_get", "description": "Get current window title"},
- {"name": "window_fullscreen", "description": "Toggle fullscreen mode"},
- {"name": "screen_list", "description": "List all screens/monitors"},
- {"name": "screen_get", "description": "Get specific screen by ID"},
- {"name": "screen_primary", "description": "Get primary screen info"},
- {"name": "screen_at_point", "description": "Get screen containing a point"},
- {"name": "screen_for_window", "description": "Get screen a window is on"},
- {"name": "screen_work_areas", "description": "Get usable screen space (excluding dock/menubar)"},
- // Layout management
- {"name": "layout_save", "description": "Save current window arrangement with a name"},
- {"name": "layout_restore", "description": "Restore a saved layout by name"},
- {"name": "layout_list", "description": "List all saved layouts"},
- {"name": "layout_delete", "description": "Delete a saved layout"},
- {"name": "layout_get", "description": "Get details of a specific layout"},
- {"name": "layout_tile", "description": "Auto-tile windows (left/right/grid/quadrants)"},
- {"name": "layout_snap", "description": "Snap window to screen edge/corner"},
- {"name": "layout_stack", "description": "Stack windows in cascade pattern"},
- {"name": "layout_workflow", "description": "Apply preset workflow layout (coding/debugging/presenting)"},
- // System tray
- {"name": "tray_set_icon", "description": "Set system tray icon"},
- {"name": "tray_set_tooltip", "description": "Set system tray tooltip"},
- {"name": "tray_set_label", "description": "Set system tray label"},
- {"name": "tray_set_menu", "description": "Set system tray menu items"},
- {"name": "tray_info", "description": "Get system tray info"},
- // Window background colour (for transparency)
- {"name": "window_background_colour", "description": "Set window background colour with alpha"},
- // System integration
- {"name": "clipboard_read", "description": "Read text from system clipboard"},
- {"name": "clipboard_write", "description": "Write text to system clipboard"},
- {"name": "clipboard_has", "description": "Check if clipboard has content"},
- {"name": "clipboard_clear", "description": "Clear the clipboard"},
- {"name": "notification_show", "description": "Show native system notification"},
- {"name": "notification_permission_request", "description": "Request notification permission"},
- {"name": "notification_permission_check", "description": "Check notification permission status"},
- {"name": "theme_get", "description": "Get current system theme (dark/light)"},
- {"name": "theme_system", "description": "Get system theme preference"},
- {"name": "focus_set", "description": "Set focus to specific window"},
- // Dialogs
- {"name": "dialog_open_file", "description": "Show file open dialog"},
- {"name": "dialog_save_file", "description": "Show file save dialog"},
- {"name": "dialog_open_directory", "description": "Show directory picker"},
- {"name": "dialog_confirm", "description": "Show confirmation dialog (yes/no)"},
- {"name": "dialog_prompt", "description": "Show input prompt dialog (not supported natively)"},
- // Event subscriptions (WebSocket)
- {"name": "event_info", "description": "Get WebSocket event server info and connected clients"},
- }
- json.NewEncoder(w).Encode(map[string]any{"tools": tools})
-}
-
-// handleMCPCall handles tool calls via HTTP POST.
-// This provides a REST bridge for display/window tools.
-func (b *MCPBridge) handleMCPCall(w http.ResponseWriter, r *http.Request) {
- w.Header().Set("Content-Type", "application/json")
- w.Header().Set("Access-Control-Allow-Origin", "*")
- w.Header().Set("Access-Control-Allow-Methods", "POST, OPTIONS")
- w.Header().Set("Access-Control-Allow-Headers", "Content-Type")
-
- if r.Method == "OPTIONS" {
- w.WriteHeader(http.StatusOK)
- return
- }
-
- if r.Method != "POST" {
- http.Error(w, "Method not allowed", http.StatusMethodNotAllowed)
- return
- }
-
- var req struct {
- Tool string `json:"tool"`
- Params map[string]any `json:"params"`
- }
-
- if err := json.NewDecoder(r.Body).Decode(&req); err != nil {
- http.Error(w, err.Error(), http.StatusBadRequest)
- return
- }
-
- // Execute tools based on prefix
- var result map[string]any
- if len(req.Tool) > 8 && req.Tool[:8] == "webview_" {
- result = b.executeWebviewTool(req.Tool, req.Params)
- } else {
- result = b.executeDisplayTool(req.Tool, req.Params)
- }
- json.NewEncoder(w).Encode(result)
-}
-
-// executeDisplayTool handles window and screen tool execution.
-func (b *MCPBridge) executeDisplayTool(tool string, params map[string]any) map[string]any {
- if b.display == nil {
- return map[string]any{"error": "display service not available"}
- }
-
- switch tool {
- case "window_list":
- windows := b.display.ListWindowInfos()
- return map[string]any{"windows": windows}
-
- case "window_get":
- name, _ := params["name"].(string)
- info, err := b.display.GetWindowInfo(name)
- if err != nil {
- return map[string]any{"error": err.Error()}
- }
- return map[string]any{"window": info}
-
- case "window_position":
- name, _ := params["name"].(string)
- x, _ := params["x"].(float64)
- y, _ := params["y"].(float64)
- err := b.display.SetWindowPosition(name, int(x), int(y))
- if err != nil {
- return map[string]any{"error": err.Error()}
- }
- return map[string]any{"success": true, "name": name, "x": int(x), "y": int(y)}
-
- case "window_size":
- name, _ := params["name"].(string)
- width, _ := params["width"].(float64)
- height, _ := params["height"].(float64)
- err := b.display.SetWindowSize(name, int(width), int(height))
- if err != nil {
- return map[string]any{"error": err.Error()}
- }
- return map[string]any{"success": true, "name": name, "width": int(width), "height": int(height)}
-
- case "window_bounds":
- name, _ := params["name"].(string)
- x, _ := params["x"].(float64)
- y, _ := params["y"].(float64)
- width, _ := params["width"].(float64)
- height, _ := params["height"].(float64)
- err := b.display.SetWindowBounds(name, int(x), int(y), int(width), int(height))
- if err != nil {
- return map[string]any{"error": err.Error()}
- }
- return map[string]any{"success": true, "name": name, "x": int(x), "y": int(y), "width": int(width), "height": int(height)}
-
- case "window_maximize":
- name, _ := params["name"].(string)
- err := b.display.MaximizeWindow(name)
- if err != nil {
- return map[string]any{"error": err.Error()}
- }
- return map[string]any{"success": true, "action": "maximize"}
-
- case "window_minimize":
- name, _ := params["name"].(string)
- err := b.display.MinimizeWindow(name)
- if err != nil {
- return map[string]any{"error": err.Error()}
- }
- return map[string]any{"success": true, "action": "minimize"}
-
- case "window_restore":
- name, _ := params["name"].(string)
- err := b.display.RestoreWindow(name)
- if err != nil {
- return map[string]any{"error": err.Error()}
- }
- return map[string]any{"success": true, "action": "restore"}
-
- case "window_focus":
- name, _ := params["name"].(string)
- err := b.display.FocusWindow(name)
- if err != nil {
- return map[string]any{"error": err.Error()}
- }
- return map[string]any{"success": true, "action": "focus"}
-
- case "screen_list":
- screens := b.display.GetScreens()
- return map[string]any{"screens": screens}
-
- case "screen_get":
- id := getStringParam(params, "id")
- screen, err := b.display.GetScreen(id)
- if err != nil {
- return map[string]any{"error": err.Error()}
- }
- return map[string]any{"screen": screen}
-
- case "screen_primary":
- screen, err := b.display.GetPrimaryScreen()
- if err != nil {
- return map[string]any{"error": err.Error()}
- }
- return map[string]any{"screen": screen}
-
- case "screen_at_point":
- x := getIntParam(params, "x")
- y := getIntParam(params, "y")
- screen, err := b.display.GetScreenAtPoint(x, y)
- if err != nil {
- return map[string]any{"error": err.Error()}
- }
- return map[string]any{"screen": screen}
-
- case "screen_for_window":
- name := getStringParam(params, "name")
- screen, err := b.display.GetScreenForWindow(name)
- if err != nil {
- return map[string]any{"error": err.Error()}
- }
- return map[string]any{"screen": screen}
-
- case "window_create":
- opts := display.CreateWindowOptions{
- Name: getStringParam(params, "name"),
- Title: getStringParam(params, "title"),
- URL: getStringParam(params, "url"),
- X: getIntParam(params, "x"),
- Y: getIntParam(params, "y"),
- Width: getIntParam(params, "width"),
- Height: getIntParam(params, "height"),
- }
- info, err := b.display.CreateWindow(opts)
- if err != nil {
- return map[string]any{"error": err.Error()}
- }
- return map[string]any{"success": true, "window": info}
-
- case "window_close":
- name, _ := params["name"].(string)
- err := b.display.CloseWindow(name)
- if err != nil {
- return map[string]any{"error": err.Error()}
- }
- return map[string]any{"success": true, "action": "close"}
-
- case "window_visibility":
- name, _ := params["name"].(string)
- visible, _ := params["visible"].(bool)
- err := b.display.SetWindowVisibility(name, visible)
- if err != nil {
- return map[string]any{"error": err.Error()}
- }
- return map[string]any{"success": true, "visible": visible}
-
- case "window_always_on_top":
- name, _ := params["name"].(string)
- onTop, _ := params["onTop"].(bool)
- err := b.display.SetWindowAlwaysOnTop(name, onTop)
- if err != nil {
- return map[string]any{"error": err.Error()}
- }
- return map[string]any{"success": true, "alwaysOnTop": onTop}
-
- case "window_title":
- name, _ := params["name"].(string)
- title, _ := params["title"].(string)
- err := b.display.SetWindowTitle(name, title)
- if err != nil {
- return map[string]any{"error": err.Error()}
- }
- return map[string]any{"success": true, "title": title}
-
- case "window_title_get":
- name := getStringParam(params, "name")
- title, err := b.display.GetWindowTitle(name)
- if err != nil {
- return map[string]any{"error": err.Error()}
- }
- return map[string]any{"title": title}
-
- case "window_fullscreen":
- name, _ := params["name"].(string)
- fullscreen, _ := params["fullscreen"].(bool)
- err := b.display.SetWindowFullscreen(name, fullscreen)
- if err != nil {
- return map[string]any{"error": err.Error()}
- }
- return map[string]any{"success": true, "fullscreen": fullscreen}
-
- case "screen_work_areas":
- areas := b.display.GetWorkAreas()
- return map[string]any{"workAreas": areas}
-
- case "window_focused":
- name := b.display.GetFocusedWindow()
- return map[string]any{"focused": name}
-
- case "layout_save":
- name, _ := params["name"].(string)
- err := b.display.SaveLayout(name)
- if err != nil {
- return map[string]any{"error": err.Error()}
- }
- return map[string]any{"success": true, "name": name}
-
- case "layout_restore":
- name, _ := params["name"].(string)
- err := b.display.RestoreLayout(name)
- if err != nil {
- return map[string]any{"error": err.Error()}
- }
- return map[string]any{"success": true, "name": name}
-
- case "layout_list":
- layouts := b.display.ListLayouts()
- return map[string]any{"layouts": layouts}
-
- case "layout_delete":
- name, _ := params["name"].(string)
- err := b.display.DeleteLayout(name)
- if err != nil {
- return map[string]any{"error": err.Error()}
- }
- return map[string]any{"success": true, "name": name}
-
- case "layout_get":
- name, _ := params["name"].(string)
- layout := b.display.GetLayout(name)
- if layout == nil {
- return map[string]any{"error": "layout not found", "name": name}
- }
- return map[string]any{"layout": layout}
-
- case "layout_tile":
- mode := getStringParam(params, "mode")
- var windowNames []string
- if names, ok := params["windows"].([]any); ok {
- for _, n := range names {
- if s, ok := n.(string); ok {
- windowNames = append(windowNames, s)
- }
- }
- }
- err := b.display.TileWindows(display.TileMode(mode), windowNames)
- if err != nil {
- return map[string]any{"error": err.Error()}
- }
- return map[string]any{"success": true, "mode": mode}
-
- case "layout_snap":
- name := getStringParam(params, "name")
- position := getStringParam(params, "position")
- err := b.display.SnapWindow(name, display.SnapPosition(position))
- if err != nil {
- return map[string]any{"error": err.Error()}
- }
- return map[string]any{"success": true, "position": position}
-
- case "layout_stack":
- var windowNames []string
- if names, ok := params["windows"].([]any); ok {
- for _, n := range names {
- if s, ok := n.(string); ok {
- windowNames = append(windowNames, s)
- }
- }
- }
- offsetX := getIntParam(params, "offsetX")
- offsetY := getIntParam(params, "offsetY")
- err := b.display.StackWindows(windowNames, offsetX, offsetY)
- if err != nil {
- return map[string]any{"error": err.Error()}
- }
- return map[string]any{"success": true}
-
- case "layout_workflow":
- workflow := getStringParam(params, "workflow")
- err := b.display.ApplyWorkflowLayout(display.WorkflowType(workflow))
- if err != nil {
- return map[string]any{"error": err.Error()}
- }
- return map[string]any{"success": true, "workflow": workflow}
-
- case "tray_set_tooltip":
- tooltip := getStringParam(params, "tooltip")
- err := b.display.SetTrayTooltip(tooltip)
- if err != nil {
- return map[string]any{"error": err.Error()}
- }
- return map[string]any{"success": true}
-
- case "tray_set_label":
- label := getStringParam(params, "label")
- err := b.display.SetTrayLabel(label)
- if err != nil {
- return map[string]any{"error": err.Error()}
- }
- return map[string]any{"success": true}
-
- case "tray_set_icon":
- // Icon data as base64 encoded PNG
- iconBase64 := getStringParam(params, "icon")
- if iconBase64 == "" {
- return map[string]any{"error": "icon data required"}
- }
- // Decode base64
- iconData, err := base64.StdEncoding.DecodeString(iconBase64)
- if err != nil {
- return map[string]any{"error": "invalid base64 icon data: " + err.Error()}
- }
- err = b.display.SetTrayIcon(iconData)
- if err != nil {
- return map[string]any{"error": err.Error()}
- }
- return map[string]any{"success": true}
-
- case "tray_set_menu":
- // Menu items as JSON array
- var items []display.TrayMenuItem
- if menuData, ok := params["menu"].([]any); ok {
- menuJSON, _ := json.Marshal(menuData)
- json.Unmarshal(menuJSON, &items)
- }
- err := b.display.SetTrayMenu(items)
- if err != nil {
- return map[string]any{"error": err.Error()}
- }
- return map[string]any{"success": true}
-
- case "tray_info":
- info := b.display.GetTrayInfo()
- return info
-
- case "window_background_colour":
- name := getStringParam(params, "name")
- r := uint8(getIntParam(params, "r"))
- g := uint8(getIntParam(params, "g"))
- b_val := uint8(getIntParam(params, "b"))
- a := uint8(getIntParam(params, "a"))
- if a == 0 {
- a = 255 // Default to opaque
- }
- err := b.display.SetWindowBackgroundColour(name, r, g, b_val, a)
- if err != nil {
- return map[string]any{"error": err.Error()}
- }
- return map[string]any{"success": true}
-
- case "clipboard_read":
- text, err := b.display.ReadClipboard()
- if err != nil {
- return map[string]any{"error": err.Error()}
- }
- return map[string]any{"text": text}
-
- case "clipboard_write":
- text, _ := params["text"].(string)
- err := b.display.WriteClipboard(text)
- if err != nil {
- return map[string]any{"error": err.Error()}
- }
- return map[string]any{"success": true}
-
- case "clipboard_has":
- has := b.display.HasClipboard()
- return map[string]any{"hasContent": has}
-
- case "clipboard_clear":
- err := b.display.ClearClipboard()
- if err != nil {
- return map[string]any{"error": err.Error()}
- }
- return map[string]any{"success": true}
-
- case "notification_show":
- title := getStringParam(params, "title")
- message := getStringParam(params, "message")
- subtitle := getStringParam(params, "subtitle")
- id := getStringParam(params, "id")
- err := b.display.ShowNotification(display.NotificationOptions{
- ID: id,
- Title: title,
- Message: message,
- Subtitle: subtitle,
- })
- if err != nil {
- return map[string]any{"error": err.Error()}
- }
- return map[string]any{"success": true}
-
- case "notification_permission_request":
- granted, err := b.display.RequestNotificationPermission()
- if err != nil {
- return map[string]any{"error": err.Error()}
- }
- return map[string]any{"granted": granted}
-
- case "notification_permission_check":
- authorized, err := b.display.CheckNotificationPermission()
- if err != nil {
- return map[string]any{"error": err.Error()}
- }
- return map[string]any{"authorized": authorized}
-
- case "theme_get":
- theme := b.display.GetTheme()
- return map[string]any{"theme": theme}
-
- case "theme_system":
- theme := b.display.GetSystemTheme()
- return map[string]any{"theme": theme}
-
- case "focus_set":
- name := getStringParam(params, "name")
- err := b.display.FocusWindow(name)
- if err != nil {
- return map[string]any{"error": err.Error()}
- }
- return map[string]any{"success": true}
-
- case "dialog_open_file":
- title := getStringParam(params, "title")
- defaultDir := getStringParam(params, "defaultDirectory")
- multiple, _ := params["allowMultiple"].(bool)
- opts := display.OpenFileOptions{
- Title: title,
- DefaultDirectory: defaultDir,
- AllowMultiple: multiple,
- }
- if multiple {
- paths, err := b.display.OpenFileDialog(opts)
- if err != nil {
- return map[string]any{"error": err.Error()}
- }
- return map[string]any{"paths": paths}
- }
- path, err := b.display.OpenSingleFileDialog(opts)
- if err != nil {
- return map[string]any{"error": err.Error()}
- }
- return map[string]any{"path": path}
-
- case "dialog_save_file":
- title := getStringParam(params, "title")
- defaultDir := getStringParam(params, "defaultDirectory")
- defaultFilename := getStringParam(params, "defaultFilename")
- path, err := b.display.SaveFileDialog(display.SaveFileOptions{
- Title: title,
- DefaultDirectory: defaultDir,
- DefaultFilename: defaultFilename,
- })
- if err != nil {
- return map[string]any{"error": err.Error()}
- }
- return map[string]any{"path": path}
-
- case "dialog_open_directory":
- title := getStringParam(params, "title")
- defaultDir := getStringParam(params, "defaultDirectory")
- path, err := b.display.OpenDirectoryDialog(display.OpenDirectoryOptions{
- Title: title,
- DefaultDirectory: defaultDir,
- })
- if err != nil {
- return map[string]any{"error": err.Error()}
- }
- return map[string]any{"path": path}
-
- case "dialog_confirm":
- title := getStringParam(params, "title")
- message := getStringParam(params, "message")
- confirmed, err := b.display.ConfirmDialog(title, message)
- if err != nil {
- return map[string]any{"error": err.Error()}
- }
- return map[string]any{"confirmed": confirmed}
-
- case "dialog_prompt":
- title := getStringParam(params, "title")
- message := getStringParam(params, "message")
- result, ok, err := b.display.PromptDialog(title, message)
- if err != nil {
- return map[string]any{"error": err.Error()}
- }
- return map[string]any{"result": result, "ok": ok}
-
- case "event_info":
- eventMgr := b.display.GetEventManager()
- if eventMgr == nil {
- return map[string]any{"error": "event manager not available"}
- }
- return map[string]any{
- "endpoint": fmt.Sprintf("ws://localhost:%d/events", b.port),
- "connectedClients": eventMgr.ConnectedClients(),
- "eventTypes": []string{
- "window.focus", "window.blur", "window.move", "window.resize",
- "window.close", "window.create", "theme.change", "screen.change",
- },
- }
-
- default:
- return map[string]any{"error": "unknown tool", "tool": tool}
- }
-}
-
-// executeWebviewTool handles webview/JS tool execution.
-func (b *MCPBridge) executeWebviewTool(tool string, params map[string]any) map[string]any {
- if b.webview == nil {
- return map[string]any{"error": "webview service not available"}
- }
-
- switch tool {
- case "webview_list":
- windows := b.webview.ListWindows()
- return map[string]any{"windows": windows}
-
- case "webview_eval":
- windowName := getStringParam(params, "window")
- code := getStringParam(params, "code")
- result, err := b.webview.ExecJS(windowName, code)
- if err != nil {
- return map[string]any{"error": err.Error()}
- }
- return map[string]any{"result": result}
-
- case "webview_console":
- level := getStringParam(params, "level")
- limit := getIntParam(params, "limit")
- if limit == 0 {
- limit = 100
- }
- messages := b.webview.GetConsoleMessages(level, limit)
- return map[string]any{"messages": messages}
-
- case "webview_console_clear":
- b.webview.ClearConsole()
- return map[string]any{"success": true}
-
- case "webview_click":
- windowName := getStringParam(params, "window")
- selector := getStringParam(params, "selector")
- err := b.webview.Click(windowName, selector)
- if err != nil {
- return map[string]any{"error": err.Error()}
- }
- return map[string]any{"success": true}
-
- case "webview_type":
- windowName := getStringParam(params, "window")
- selector := getStringParam(params, "selector")
- text := getStringParam(params, "text")
- err := b.webview.Type(windowName, selector, text)
- if err != nil {
- return map[string]any{"error": err.Error()}
- }
- return map[string]any{"success": true}
-
- case "webview_query":
- windowName := getStringParam(params, "window")
- selector := getStringParam(params, "selector")
- result, err := b.webview.QuerySelector(windowName, selector)
- if err != nil {
- return map[string]any{"error": err.Error()}
- }
- return map[string]any{"elements": result}
-
- case "webview_navigate":
- windowName := getStringParam(params, "window")
- url := getStringParam(params, "url")
- err := b.webview.Navigate(windowName, url)
- if err != nil {
- return map[string]any{"error": err.Error()}
- }
- return map[string]any{"success": true}
-
- case "webview_source":
- windowName := getStringParam(params, "window")
- result, err := b.webview.GetPageSource(windowName)
- if err != nil {
- return map[string]any{"error": err.Error()}
- }
- return map[string]any{"source": result}
-
- case "webview_url":
- windowName := getStringParam(params, "window")
- result, err := b.webview.GetURL(windowName)
- if err != nil {
- return map[string]any{"error": err.Error()}
- }
- return map[string]any{"url": result}
-
- case "webview_title":
- windowName := getStringParam(params, "window")
- result, err := b.webview.GetTitle(windowName)
- if err != nil {
- return map[string]any{"error": err.Error()}
- }
- return map[string]any{"title": result}
-
- case "webview_screenshot":
- windowName := getStringParam(params, "window")
- data, err := b.webview.Screenshot(windowName)
- if err != nil {
- return map[string]any{"error": err.Error()}
- }
- return map[string]any{"data": data}
-
- case "webview_screenshot_element":
- windowName := getStringParam(params, "window")
- selector := getStringParam(params, "selector")
- data, err := b.webview.ScreenshotElement(windowName, selector)
- if err != nil {
- return map[string]any{"error": err.Error()}
- }
- return map[string]any{"data": data}
-
- case "webview_scroll":
- windowName := getStringParam(params, "window")
- selector := getStringParam(params, "selector")
- x := getIntParam(params, "x")
- y := getIntParam(params, "y")
- err := b.webview.Scroll(windowName, selector, x, y)
- if err != nil {
- return map[string]any{"error": err.Error()}
- }
- return map[string]any{"success": true}
-
- case "webview_hover":
- windowName := getStringParam(params, "window")
- selector := getStringParam(params, "selector")
- err := b.webview.Hover(windowName, selector)
- if err != nil {
- return map[string]any{"error": err.Error()}
- }
- return map[string]any{"success": true}
-
- case "webview_select":
- windowName := getStringParam(params, "window")
- selector := getStringParam(params, "selector")
- value := getStringParam(params, "value")
- err := b.webview.Select(windowName, selector, value)
- if err != nil {
- return map[string]any{"error": err.Error()}
- }
- return map[string]any{"success": true}
-
- case "webview_check":
- windowName := getStringParam(params, "window")
- selector := getStringParam(params, "selector")
- checked, _ := params["checked"].(bool)
- err := b.webview.Check(windowName, selector, checked)
- if err != nil {
- return map[string]any{"error": err.Error()}
- }
- return map[string]any{"success": true}
-
- case "webview_element_info":
- windowName := getStringParam(params, "window")
- selector := getStringParam(params, "selector")
- result, err := b.webview.GetElementInfo(windowName, selector)
- if err != nil {
- return map[string]any{"error": err.Error()}
- }
- return map[string]any{"element": result}
-
- case "webview_computed_style":
- windowName := getStringParam(params, "window")
- selector := getStringParam(params, "selector")
- var properties []string
- if props, ok := params["properties"].([]any); ok {
- for _, p := range props {
- if s, ok := p.(string); ok {
- properties = append(properties, s)
- }
- }
- }
- result, err := b.webview.GetComputedStyle(windowName, selector, properties)
- if err != nil {
- return map[string]any{"error": err.Error()}
- }
- return map[string]any{"styles": result}
-
- case "webview_highlight":
- windowName := getStringParam(params, "window")
- selector := getStringParam(params, "selector")
- duration := getIntParam(params, "duration")
- err := b.webview.Highlight(windowName, selector, duration)
- if err != nil {
- return map[string]any{"error": err.Error()}
- }
- return map[string]any{"success": true}
-
- case "webview_dom_tree":
- windowName := getStringParam(params, "window")
- maxDepth := getIntParam(params, "maxDepth")
- result, err := b.webview.GetDOMTree(windowName, maxDepth)
- if err != nil {
- return map[string]any{"error": err.Error()}
- }
- return map[string]any{"tree": result}
-
- case "webview_errors":
- limit := getIntParam(params, "limit")
- if limit == 0 {
- limit = 50
- }
- errors := b.webview.GetErrors(limit)
- return map[string]any{"errors": errors}
-
- case "webview_performance":
- windowName := getStringParam(params, "window")
- result, err := b.webview.GetPerformance(windowName)
- if err != nil {
- return map[string]any{"error": err.Error()}
- }
- return map[string]any{"performance": result}
-
- case "webview_resources":
- windowName := getStringParam(params, "window")
- result, err := b.webview.GetResources(windowName)
- if err != nil {
- return map[string]any{"error": err.Error()}
- }
- return map[string]any{"resources": result}
-
- case "webview_network":
- windowName := getStringParam(params, "window")
- limit := getIntParam(params, "limit")
- result, err := b.webview.GetNetworkRequests(windowName, limit)
- if err != nil {
- return map[string]any{"error": err.Error()}
- }
- return map[string]any{"requests": result}
-
- case "webview_network_clear":
- windowName := getStringParam(params, "window")
- err := b.webview.ClearNetworkRequests(windowName)
- if err != nil {
- return map[string]any{"error": err.Error()}
- }
- return map[string]any{"success": true}
-
- case "webview_network_inject":
- windowName := getStringParam(params, "window")
- err := b.webview.InjectNetworkInterceptor(windowName)
- if err != nil {
- return map[string]any{"error": err.Error()}
- }
- return map[string]any{"success": true}
-
- case "webview_pdf":
- windowName := getStringParam(params, "window")
- options := make(map[string]any)
- if filename := getStringParam(params, "filename"); filename != "" {
- options["filename"] = filename
- }
- if margin, ok := params["margin"].(float64); ok {
- options["margin"] = margin
- }
- data, err := b.webview.ExportToPDF(windowName, options)
- if err != nil {
- return map[string]any{"error": err.Error()}
- }
- return map[string]any{"data": data}
-
- case "webview_print":
- windowName := getStringParam(params, "window")
- err := b.webview.PrintToPDF(windowName)
- if err != nil {
- return map[string]any{"error": err.Error()}
- }
- return map[string]any{"success": true}
-
- default:
- return map[string]any{"error": "unknown webview tool", "tool": tool}
- }
-}
-
-// Helper functions for parameter extraction
-func getStringParam(params map[string]any, key string) string {
- if v, ok := params[key].(string); ok {
- return v
- }
- return ""
-}
-
-func getIntParam(params map[string]any, key string) int {
- if v, ok := params[key].(float64); ok {
- return int(v)
- }
- return 0
-}
-
-// GetMCPService returns the MCP service for direct access.
-func (b *MCPBridge) GetMCPService() *mcp.Service {
- return b.mcpService
-}
-
-// GetWebView returns the WebView service.
-func (b *MCPBridge) GetWebView() *webview.Service {
- return b.webview
-}
-
-// GetDisplay returns the Display service.
-func (b *MCPBridge) GetDisplay() *display.Service {
- return b.display
-}
-
-// handleEventsWebSocket handles WebSocket connections for real-time display events.
-func (b *MCPBridge) handleEventsWebSocket(w http.ResponseWriter, r *http.Request) {
- eventMgr := b.display.GetEventManager()
- if eventMgr == nil {
- http.Error(w, "event manager not available", http.StatusServiceUnavailable)
- return
- }
- eventMgr.HandleWebSocket(w, r)
-}
diff --git a/cmd/core-demo/public/assets/app.js b/cmd/core-demo/public/assets/app.js
deleted file mode 100644
index 28abaa3..0000000
--- a/cmd/core-demo/public/assets/app.js
+++ /dev/null
@@ -1 +0,0 @@
-console.log("Hello from app.js!");
diff --git a/cmd/core-demo/public/assets/apptray.png b/cmd/core-demo/public/assets/apptray.png
deleted file mode 100644
index 0778fc6..0000000
Binary files a/cmd/core-demo/public/assets/apptray.png and /dev/null differ
diff --git a/cmd/core-demo/public/bindings/github.com/wailsapp/wails/v3/internal/eventcreate.ts b/cmd/core-demo/public/bindings/github.com/wailsapp/wails/v3/internal/eventcreate.ts
deleted file mode 100644
index 1ea1058..0000000
--- a/cmd/core-demo/public/bindings/github.com/wailsapp/wails/v3/internal/eventcreate.ts
+++ /dev/null
@@ -1,9 +0,0 @@
-//@ts-check
-// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
-// This file is automatically generated. DO NOT EDIT
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import { Create as $Create } from "@wailsio/runtime";
-
-Object.freeze($Create.Events);
diff --git a/cmd/core-demo/public/bindings/github.com/wailsapp/wails/v3/internal/eventdata.d.ts b/cmd/core-demo/public/bindings/github.com/wailsapp/wails/v3/internal/eventdata.d.ts
deleted file mode 100644
index 3dd1807..0000000
--- a/cmd/core-demo/public/bindings/github.com/wailsapp/wails/v3/internal/eventdata.d.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
-// This file is automatically generated. DO NOT EDIT
diff --git a/cmd/core-demo/public/html/assets/app.js b/cmd/core-demo/public/html/assets/app.js
deleted file mode 100644
index 0a38b01..0000000
--- a/cmd/core-demo/public/html/assets/app.js
+++ /dev/null
@@ -1,4 +0,0 @@
-// This is the main entry point for the frontend application.
-// We can add application-specific JavaScript here in the future.
-
-console.log("Core Framework App Loaded");
diff --git a/cmd/core-demo/public/html/index.html b/cmd/core-demo/public/html/index.html
deleted file mode 100644
index 162b8c8..0000000
--- a/cmd/core-demo/public/html/index.html
+++ /dev/null
@@ -1,87 +0,0 @@
-
-
-
-
-
- Core Framework
-
-
-
-
-
-
-
-
-
-
-
- Loaded Services
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/cmd/core-demo/public/html/system-tray.html b/cmd/core-demo/public/html/system-tray.html
deleted file mode 100644
index 90d2cd2..0000000
--- a/cmd/core-demo/public/html/system-tray.html
+++ /dev/null
@@ -1,98 +0,0 @@
-
-
-
-
-
- Core System Tray
-
-
-
-
-
-
-
-
-
-
- Core Status
-
- Services at a glance.
-
-
-
-
-
-
-
-
-
-
Config
-
State and preferences loaded.
-
-
-
-
-
-
-
-
Display
-
UI manager is active.
-
-
-
-
-
-
-
-
Crypt
-
Security services are running.
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/cmd/core-demo/public/package-lock.json b/cmd/core-demo/public/package-lock.json
deleted file mode 100644
index 4e88f78..0000000
--- a/cmd/core-demo/public/package-lock.json
+++ /dev/null
@@ -1,1084 +0,0 @@
-{
- "name": "core-app",
- "version": "0.0.0",
- "lockfileVersion": 3,
- "requires": true,
- "packages": {
- "": {
- "name": "core-app",
- "version": "0.0.0",
- "dependencies": {
- "@tailwindplus/elements": "^1.0.18",
- "@wailsio/runtime": "^3.0.0-alpha.72"
- },
- "devDependencies": {
- "tailwindcss": "^4.1.14",
- "vite": "^7.1.12"
- }
- },
- "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",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz",
- "integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/netbsd-arm64": {
- "version": "0.25.12",
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz",
- "integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "netbsd"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/netbsd-x64": {
- "version": "0.25.12",
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz",
- "integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "netbsd"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/openbsd-arm64": {
- "version": "0.25.12",
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz",
- "integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "openbsd"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/openbsd-x64": {
- "version": "0.25.12",
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz",
- "integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "openbsd"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/openharmony-arm64": {
- "version": "0.25.12",
- "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz",
- "integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "openharmony"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/sunos-x64": {
- "version": "0.25.12",
- "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz",
- "integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "sunos"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/win32-arm64": {
- "version": "0.25.12",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz",
- "integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/win32-ia32": {
- "version": "0.25.12",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz",
- "integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==",
- "cpu": [
- "ia32"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/win32-x64": {
- "version": "0.25.12",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz",
- "integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@rollup/rollup-android-arm-eabi": {
- "version": "4.52.5",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.52.5.tgz",
- "integrity": "sha512-8c1vW4ocv3UOMp9K+gToY5zL2XiiVw3k7f1ksf4yO1FlDFQ1C2u72iACFnSOceJFsWskc2WZNqeRhFRPzv+wtQ==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "android"
- ]
- },
- "node_modules/@rollup/rollup-android-arm64": {
- "version": "4.52.5",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.52.5.tgz",
- "integrity": "sha512-mQGfsIEFcu21mvqkEKKu2dYmtuSZOBMmAl5CFlPGLY94Vlcm+zWApK7F/eocsNzp8tKmbeBP8yXyAbx0XHsFNA==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "android"
- ]
- },
- "node_modules/@rollup/rollup-darwin-arm64": {
- "version": "4.52.5",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.52.5.tgz",
- "integrity": "sha512-takF3CR71mCAGA+v794QUZ0b6ZSrgJkArC+gUiG6LB6TQty9T0Mqh3m2ImRBOxS2IeYBo4lKWIieSvnEk2OQWA==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ]
- },
- "node_modules/@rollup/rollup-darwin-x64": {
- "version": "4.52.5",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.52.5.tgz",
- "integrity": "sha512-W901Pla8Ya95WpxDn//VF9K9u2JbocwV/v75TE0YIHNTbhqUTv9w4VuQ9MaWlNOkkEfFwkdNhXgcLqPSmHy0fA==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ]
- },
- "node_modules/@rollup/rollup-freebsd-arm64": {
- "version": "4.52.5",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.52.5.tgz",
- "integrity": "sha512-QofO7i7JycsYOWxe0GFqhLmF6l1TqBswJMvICnRUjqCx8b47MTo46W8AoeQwiokAx3zVryVnxtBMcGcnX12LvA==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "freebsd"
- ]
- },
- "node_modules/@rollup/rollup-freebsd-x64": {
- "version": "4.52.5",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.52.5.tgz",
- "integrity": "sha512-jr21b/99ew8ujZubPo9skbrItHEIE50WdV86cdSoRkKtmWa+DDr6fu2c/xyRT0F/WazZpam6kk7IHBerSL7LDQ==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "freebsd"
- ]
- },
- "node_modules/@rollup/rollup-linux-arm-gnueabihf": {
- "version": "4.52.5",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.52.5.tgz",
- "integrity": "sha512-PsNAbcyv9CcecAUagQefwX8fQn9LQ4nZkpDboBOttmyffnInRy8R8dSg6hxxl2Re5QhHBf6FYIDhIj5v982ATQ==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-arm-musleabihf": {
- "version": "4.52.5",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.52.5.tgz",
- "integrity": "sha512-Fw4tysRutyQc/wwkmcyoqFtJhh0u31K+Q6jYjeicsGJJ7bbEq8LwPWV/w0cnzOqR2m694/Af6hpFayLJZkG2VQ==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-arm64-gnu": {
- "version": "4.52.5",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.52.5.tgz",
- "integrity": "sha512-a+3wVnAYdQClOTlyapKmyI6BLPAFYs0JM8HRpgYZQO02rMR09ZcV9LbQB+NL6sljzG38869YqThrRnfPMCDtZg==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-arm64-musl": {
- "version": "4.52.5",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.52.5.tgz",
- "integrity": "sha512-AvttBOMwO9Pcuuf7m9PkC1PUIKsfaAJ4AYhy944qeTJgQOqJYJ9oVl2nYgY7Rk0mkbsuOpCAYSs6wLYB2Xiw0Q==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-loong64-gnu": {
- "version": "4.52.5",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.52.5.tgz",
- "integrity": "sha512-DkDk8pmXQV2wVrF6oq5tONK6UHLz/XcEVow4JTTerdeV1uqPeHxwcg7aFsfnSm9L+OO8WJsWotKM2JJPMWrQtA==",
- "cpu": [
- "loong64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-ppc64-gnu": {
- "version": "4.52.5",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.52.5.tgz",
- "integrity": "sha512-W/b9ZN/U9+hPQVvlGwjzi+Wy4xdoH2I8EjaCkMvzpI7wJUs8sWJ03Rq96jRnHkSrcHTpQe8h5Tg3ZzUPGauvAw==",
- "cpu": [
- "ppc64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-riscv64-gnu": {
- "version": "4.52.5",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.52.5.tgz",
- "integrity": "sha512-sjQLr9BW7R/ZiXnQiWPkErNfLMkkWIoCz7YMn27HldKsADEKa5WYdobaa1hmN6slu9oWQbB6/jFpJ+P2IkVrmw==",
- "cpu": [
- "riscv64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-riscv64-musl": {
- "version": "4.52.5",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.52.5.tgz",
- "integrity": "sha512-hq3jU/kGyjXWTvAh2awn8oHroCbrPm8JqM7RUpKjalIRWWXE01CQOf/tUNWNHjmbMHg/hmNCwc/Pz3k1T/j/Lg==",
- "cpu": [
- "riscv64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-s390x-gnu": {
- "version": "4.52.5",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.52.5.tgz",
- "integrity": "sha512-gn8kHOrku8D4NGHMK1Y7NA7INQTRdVOntt1OCYypZPRt6skGbddska44K8iocdpxHTMMNui5oH4elPH4QOLrFQ==",
- "cpu": [
- "s390x"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-x64-gnu": {
- "version": "4.52.5",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.52.5.tgz",
- "integrity": "sha512-hXGLYpdhiNElzN770+H2nlx+jRog8TyynpTVzdlc6bndktjKWyZyiCsuDAlpd+j+W+WNqfcyAWz9HxxIGfZm1Q==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-x64-musl": {
- "version": "4.52.5",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.52.5.tgz",
- "integrity": "sha512-arCGIcuNKjBoKAXD+y7XomR9gY6Mw7HnFBv5Rw7wQRvwYLR7gBAgV7Mb2QTyjXfTveBNFAtPt46/36vV9STLNg==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-openharmony-arm64": {
- "version": "4.52.5",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.52.5.tgz",
- "integrity": "sha512-QoFqB6+/9Rly/RiPjaomPLmR/13cgkIGfA40LHly9zcH1S0bN2HVFYk3a1eAyHQyjs3ZJYlXvIGtcCs5tko9Cw==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "openharmony"
- ]
- },
- "node_modules/@rollup/rollup-win32-arm64-msvc": {
- "version": "4.52.5",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.52.5.tgz",
- "integrity": "sha512-w0cDWVR6MlTstla1cIfOGyl8+qb93FlAVutcor14Gf5Md5ap5ySfQ7R9S/NjNaMLSFdUnKGEasmVnu3lCMqB7w==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ]
- },
- "node_modules/@rollup/rollup-win32-ia32-msvc": {
- "version": "4.52.5",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.52.5.tgz",
- "integrity": "sha512-Aufdpzp7DpOTULJCuvzqcItSGDH73pF3ko/f+ckJhxQyHtp67rHw3HMNxoIdDMUITJESNE6a8uh4Lo4SLouOUg==",
- "cpu": [
- "ia32"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ]
- },
- "node_modules/@rollup/rollup-win32-x64-gnu": {
- "version": "4.52.5",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.52.5.tgz",
- "integrity": "sha512-UGBUGPFp1vkj6p8wCRraqNhqwX/4kNQPS57BCFc8wYh0g94iVIW33wJtQAx3G7vrjjNtRaxiMUylM0ktp/TRSQ==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ]
- },
- "node_modules/@rollup/rollup-win32-x64-msvc": {
- "version": "4.52.5",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.52.5.tgz",
- "integrity": "sha512-TAcgQh2sSkykPRWLrdyy2AiceMckNf5loITqXxFI5VuQjS5tSuw3WlwdN8qv8vzjLAUTvYaH/mVjSFpbkFbpTg==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ]
- },
- "node_modules/@tailwindplus/elements": {
- "version": "1.0.18",
- "resolved": "https://registry.npmjs.org/@tailwindplus/elements/-/elements-1.0.18.tgz",
- "integrity": "sha512-JvqwL+6LwDIxC5zV9kAcI1wttpkUhgkGr7bcuYGH7fxnmgvVJglBERqlgPGGDXWB+lpuFgjgkvtK3pMm/7MvTA==",
- "license": "SEE LICENSE IN LICENSE.md"
- },
- "node_modules/@types/estree": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
- "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@wailsio/runtime": {
- "version": "3.0.0-alpha.72",
- "resolved": "https://registry.npmjs.org/@wailsio/runtime/-/runtime-3.0.0-alpha.72.tgz",
- "integrity": "sha512-VJjDa0GBG7tp7WBMlytzLvsZ4gBQVBftIwiJ+dSg2C4e11N6JonJZp9iHT2xgK35rewKdwbX1vMDyrcBcyZYoA==",
- "license": "MIT"
- },
- "node_modules/esbuild": {
- "version": "0.25.12",
- "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz",
- "integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==",
- "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/fdir": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz",
- "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=12.0.0"
- },
- "peerDependencies": {
- "picomatch": "^3 || ^4"
- },
- "peerDependenciesMeta": {
- "picomatch": {
- "optional": 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/nanoid": {
- "version": "3.3.11",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz",
- "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==",
- "dev": true,
- "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/picocolors": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
- "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/picomatch": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
- "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/jonschlinkert"
- }
- },
- "node_modules/postcss": {
- "version": "8.5.6",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz",
- "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==",
- "dev": true,
- "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/rollup": {
- "version": "4.52.5",
- "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.52.5.tgz",
- "integrity": "sha512-3GuObel8h7Kqdjt0gxkEzaifHTqLVW56Y/bjN7PSQtkKr0w3V/QYSdt6QWYtd7A1xUtYQigtdUfgj1RvWVtorw==",
- "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.52.5",
- "@rollup/rollup-android-arm64": "4.52.5",
- "@rollup/rollup-darwin-arm64": "4.52.5",
- "@rollup/rollup-darwin-x64": "4.52.5",
- "@rollup/rollup-freebsd-arm64": "4.52.5",
- "@rollup/rollup-freebsd-x64": "4.52.5",
- "@rollup/rollup-linux-arm-gnueabihf": "4.52.5",
- "@rollup/rollup-linux-arm-musleabihf": "4.52.5",
- "@rollup/rollup-linux-arm64-gnu": "4.52.5",
- "@rollup/rollup-linux-arm64-musl": "4.52.5",
- "@rollup/rollup-linux-loong64-gnu": "4.52.5",
- "@rollup/rollup-linux-ppc64-gnu": "4.52.5",
- "@rollup/rollup-linux-riscv64-gnu": "4.52.5",
- "@rollup/rollup-linux-riscv64-musl": "4.52.5",
- "@rollup/rollup-linux-s390x-gnu": "4.52.5",
- "@rollup/rollup-linux-x64-gnu": "4.52.5",
- "@rollup/rollup-linux-x64-musl": "4.52.5",
- "@rollup/rollup-openharmony-arm64": "4.52.5",
- "@rollup/rollup-win32-arm64-msvc": "4.52.5",
- "@rollup/rollup-win32-ia32-msvc": "4.52.5",
- "@rollup/rollup-win32-x64-gnu": "4.52.5",
- "@rollup/rollup-win32-x64-msvc": "4.52.5",
- "fsevents": "~2.3.2"
- }
- },
- "node_modules/source-map-js": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
- "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
- "dev": true,
- "license": "BSD-3-Clause",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/tailwindcss": {
- "version": "4.1.16",
- "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.16.tgz",
- "integrity": "sha512-pONL5awpaQX4LN5eiv7moSiSPd/DLDzKVRJz8Q9PgzmAdd1R4307GQS2ZpfiN7ZmekdQrfhZZiSE5jkLR4WNaA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/tinyglobby": {
- "version": "0.2.15",
- "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz",
- "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==",
- "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/vite": {
- "version": "7.1.12",
- "resolved": "https://registry.npmjs.org/vite/-/vite-7.1.12.tgz",
- "integrity": "sha512-ZWyE8YXEXqJrrSLvYgrRP7p62OziLW7xI5HYGWFzOvupfAlrLvURSzv/FyGyy0eidogEM3ujU+kUG1zuHgb6Ug==",
- "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
- }
- }
- }
- }
-}
diff --git a/cmd/core-demo/public/package.json b/cmd/core-demo/public/package.json
deleted file mode 100644
index 32c6d85..0000000
--- a/cmd/core-demo/public/package.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "name": "core-app",
- "version": "0.0.0",
- "scripts": {
- "start": "vite",
- "build": "vite build",
- "build:dev": "vite build --mode development"
- },
- "dependencies": {
- "@tailwindplus/elements": "^1.0.18",
- "@wailsio/runtime": "^3.0.0-alpha.72"
- },
- "devDependencies": {
- "tailwindcss": "^4.1.14",
- "vite": "^7.1.12"
- }
-}
diff --git a/cmd/core-demo/public/vite.config.js b/cmd/core-demo/public/vite.config.js
deleted file mode 100644
index 4813670..0000000
--- a/cmd/core-demo/public/vite.config.js
+++ /dev/null
@@ -1,17 +0,0 @@
-import { defineConfig } from 'vite';
-
-// https://vitejs.dev/config/
-export default defineConfig({
- // Set the root of the project to the 'html' directory.
- // Vite will look for index.html in this folder.
- root: 'html',
-
- build: {
- // Set the output directory for the build.
- // We need to go up one level from 'html' to place the 'dist' folder
- // in the correct location for Wails.
- outDir: '../dist',
- // Ensure the output directory is emptied before each build.
- emptyOutDir: true,
- },
-});
diff --git a/cmd/core-gui/Taskfile.yml b/cmd/core-gui/Taskfile.yml
deleted file mode 100644
index 3239ce8..0000000
--- a/cmd/core-gui/Taskfile.yml
+++ /dev/null
@@ -1,42 +0,0 @@
-version: '3'
-
-includes:
- common: "./build/Taskfile.yml"
- windows: "./build/windows/Taskfile.yml"
- darwin: "./build/darwin/Taskfile.yml"
- linux: "./build/linux/Taskfile.yml"
-
-vars:
- APP_NAME: "core-gui"
- BIN_DIR: "./build/bin"
- VITE_PORT: '{{.WAILS_VITE_PORT | default 9246}}'
-
-tasks:
- build:
- summary: Builds the application
- cmds:
- - task: "{{OS}}:build"
-
- package:
- summary: Packages a production build of the application
- cmds:
- - task: "{{OS}}:package"
-
- run:
- summary: Runs the application
- cmds:
- - task: "{{OS}}:run"
-
- # This is the main dev task called by the Makefile.
- # It delegates to the actual wails command below.
- dev:
- summary: Runs the application in development mode
- cmds:
- - task: dev:wails
-
- # This task contains the real wails dev command.
- # This avoids the recursive loop and provides a clear target.
- dev:wails:
- internal: true
- cmds:
- - wails3 dev -config ./build/config.yml -port {{.VITE_PORT}}
diff --git a/cmd/core-gui/apps/mining.itw3.json b/cmd/core-gui/apps/mining.itw3.json
deleted file mode 100644
index 2bcbabb..0000000
--- a/cmd/core-gui/apps/mining.itw3.json
+++ /dev/null
@@ -1,50 +0,0 @@
-{
- "code": "mining",
- "type": "app",
- "name": "Mining Module",
- "version": "0.1.0",
- "namespace": "mining",
- "description": "Cryptocurrency mining management",
- "author": "Lethean",
- "contexts": ["miner", "default"],
- "menu": [
- {
- "id": "mining",
- "label": "Mining",
- "order": 200,
- "contexts": ["miner"],
- "children": [
- {"id": "mining-dashboard", "label": "Dashboard", "route": "/mining/dashboard", "order": 1},
- {"id": "mining-pools", "label": "Pools", "route": "/mining/pools", "order": 2},
- {"id": "mining-sep1", "separator": true, "order": 3},
- {"id": "mining-start", "label": "Start Mining", "action": "mining:start", "order": 4},
- {"id": "mining-stop", "label": "Stop Mining", "action": "mining:stop", "order": 5}
- ]
- }
- ],
- "routes": [
- {"path": "/mining/dashboard", "component": "mining-dashboard", "title": "Mining Dashboard", "contexts": ["miner"]},
- {"path": "/mining/pools", "component": "mining-pools", "title": "Mining Pools", "contexts": ["miner"]}
- ],
- "api": [
- {"method": "GET", "path": "/status", "description": "Get mining status"},
- {"method": "POST", "path": "/start", "description": "Start mining"},
- {"method": "POST", "path": "/stop", "description": "Stop mining"},
- {"method": "GET", "path": "/pools", "description": "List configured pools"}
- ],
- "downloads": {
- "x86_64": {
- "darwin": {"url": "https://releases.example.com/mining/darwin-x86_64.tar.gz"},
- "linux": {"url": "https://releases.example.com/mining/linux-x86_64.tar.gz"},
- "windows": {"url": "https://releases.example.com/mining/windows-x86_64.zip"}
- },
- "aarch64": {
- "darwin": {"url": "https://releases.example.com/mining/darwin-aarch64.tar.gz"}
- }
- },
- "config": {
- "defaultPool": "",
- "threads": 0,
- "intensity": 50
- }
-}
diff --git a/cmd/core-gui/build/Taskfile.yml b/cmd/core-gui/build/Taskfile.yml
deleted file mode 100644
index aa1e2ca..0000000
--- a/cmd/core-gui/build/Taskfile.yml
+++ /dev/null
@@ -1,84 +0,0 @@
-version: '3'
-
-tasks:
- go:mod:tidy:
- summary: Runs `go mod tidy`
- internal: true
- cmds:
- - go mod tidy
-
- install:public:deps:
- summary: Install public dependencies
- dir: frontend
- sources:
- - package.json
- - package-lock.json
- generates:
- - node_modules/*
- preconditions:
- - sh: npm version
- msg: "Looks like npm isn't installed. Npm is part of the Node installer: https://nodejs.org/en/download/"
- cmds:
- - npm install
-
- build:public:
- label: build:public (PRODUCTION={{.PRODUCTION}})
- summary: Build the public folder
- dir: frontend
- sources:
- - "**/*"
- generates:
- - dist/**/*
- deps:
- - task: install:public:deps
- - task: generate:bindings
- vars:
- BUILD_FLAGS:
- ref: .BUILD_FLAGS
- cmds:
- - npm run {{.BUILD_COMMAND}} -q
- env:
- PRODUCTION: '{{.PRODUCTION | default "false"}}'
- vars:
- BUILD_COMMAND: '{{if eq .PRODUCTION "true"}}build{{else}}build:dev{{end}}'
-
- generate:bindings:
- label: generate:bindings (BUILD_FLAGS={{.BUILD_FLAGS}})
- summary: Generates bindings
- deps:
- - task: go:mod:tidy
- sources:
- - "**/*.[jt]s"
- - exclude: frontend/**/*
- - frontend/bindings/**/*
- - "**/*.go"
- - go.mod
- - go.sum
- generates:
- - frontend/bindings/**/*
- cmds:
- - wails3 generate bindings -d frontend/bindings -f '{{.BUILD_FLAGS}}' -clean=true -ts
-
- generate:icons:
- summary: Generates Windows `.ico` and Mac `.icns` files from an image
- dir: build
- sources:
- - "appicon.png"
- generates:
- - "darwin/icons.icns"
- - "windows/icon.ico"
- cmds:
- - wails3 generate icons -input appicon.png -macfilename darwin/icons.icns -windowsfilename windows/icon.ico
-
- dev:public:
- summary: Runs the frontend dev server for live development
- dir: frontend
- deps:
- - task: install:public:deps
- cmds:
- - npm start -- --port {{.VITE_PORT | default "4200"}}
-
- update:build-assets:
- summary: Updates the build assets
- cmds:
- - wails3 update build-assets -name "{{.APP_NAME}}" -binaryname "{{.APP_NAME}}" -config config.yml -dir .
diff --git a/cmd/core-gui/build/appicon.png b/cmd/core-gui/build/appicon.png
deleted file mode 100644
index 3a14b0d..0000000
Binary files a/cmd/core-gui/build/appicon.png and /dev/null differ
diff --git a/cmd/core-gui/build/apptray.png b/cmd/core-gui/build/apptray.png
deleted file mode 100644
index 0778fc6..0000000
Binary files a/cmd/core-gui/build/apptray.png and /dev/null differ
diff --git a/cmd/core-gui/build/config.yml b/cmd/core-gui/build/config.yml
deleted file mode 100644
index 74cb85a..0000000
--- a/cmd/core-gui/build/config.yml
+++ /dev/null
@@ -1,43 +0,0 @@
-# This file contains the configuration for this project.
-# When you update `info` or `fileAssociations`, run `wails3 task common:update:build-assets` to update the assets.
-# Note that this will overwrite any changes you have made to the assets.
-version: '3'
-# This information is used to generate the build assets.
-info:
- companyName: "Snider"
- productName: "Core.App"
- productIdentifier: "com.core.app"
- description: "A program that does demos the features"
- copyright: "(c) EUPL-1.2, Snider"
- comments: "Demo Dev Area"
- version: "0.0.1"
-
-# Dev mode configuration
-dev_mode:
- root_path: .
- log_level: warn
- debounce: 1000
- ignore:
- dir:
- - .git
- - node_modules
- - public
- - bin
- file:
- - .DS_Store
- - .gitignore
- - .gitkeep
- watched_extension:
- - "*.go"
- git_ignore: true
- executes:
- - cmd: wails3 task common:install:public:deps
- type: once
- - cmd: wails3 task common:dev:public
- type: background
- - cmd: go mod tidy
- type: blocking
- - cmd: wails3 task build
- type: blocking
- - cmd: wails3 task run
- type: primary
diff --git a/cmd/core-gui/build/darwin/Info.dev.plist b/cmd/core-gui/build/darwin/Info.dev.plist
deleted file mode 100644
index 6b23ec1..0000000
--- a/cmd/core-gui/build/darwin/Info.dev.plist
+++ /dev/null
@@ -1,47 +0,0 @@
-
-
-
- CFBundlePackageType
- APPL
- CFBundleName
- Lethean Desktop
- CFBundleExecutable
- desktop
- CFBundleIdentifier
- com.lethean.desktop
- CFBundleVersion
- 0.1.0
- CFBundleGetInfoString
- This is a comment
- CFBundleShortVersionString
- 0.1.0
- CFBundleIconFile
- icons
- LSMinimumSystemVersion
- 10.15.0
- NSHighResolutionCapable
- true
- NSHumanReadableCopyright
- © EUPL-1.2 Lethean Community
-
-
- NSAppTransportSecurity
-
- NSAllowsLocalNetworking
-
- NSAllowsArbitraryLoads
-
- NSAllowsArbitraryLoadsInWebContent
-
-
-
-
- NSDownloadsFolderUsageDescription
- This app needs access to your Downloads folder to save and load files.
- NSDocumentsFolderUsageDescription
- This app needs access to your Documents folder to save and load files.
- NSDesktopFolderUsageDescription
- This app needs access to your Desktop folder to save and load files.
-
-
-
diff --git a/cmd/core-gui/build/darwin/Info.plist b/cmd/core-gui/build/darwin/Info.plist
deleted file mode 100644
index d4603cd..0000000
--- a/cmd/core-gui/build/darwin/Info.plist
+++ /dev/null
@@ -1,32 +0,0 @@
-
-
-
- CFBundlePackageType
- APPL
- CFBundleName
- Lethean Desktop
- CFBundleExecutable
- desktop
- CFBundleIdentifier
- com.lethean.desktop
- CFBundleVersion
- 0.1.0
- CFBundleGetInfoString
- This is a comment
- CFBundleShortVersionString
- 0.1.0
- CFBundleIconFile
- icons
- LSMinimumSystemVersion
- 10.15.0
- NSHighResolutionCapable
- true
- NSHumanReadableCopyright
- © EUPL-1.2 Lethean Community
- NSAppTransportSecurity
-
- NSAllowsLocalNetworking
-
-
-
-
\ No newline at end of file
diff --git a/cmd/core-gui/build/darwin/Taskfile.yml b/cmd/core-gui/build/darwin/Taskfile.yml
deleted file mode 100644
index e4ce58e..0000000
--- a/cmd/core-gui/build/darwin/Taskfile.yml
+++ /dev/null
@@ -1,81 +0,0 @@
-version: '3'
-
-includes:
- common: ../Taskfile.yml
-
-tasks:
- build:
- summary: Creates a production build of the application
- deps:
- - task: common:go:mod:tidy
- - task: common:build:public
- vars:
- BUILD_FLAGS:
- ref: .BUILD_FLAGS
- PRODUCTION:
- ref: .PRODUCTION
- - task: common:generate:icons
- cmds:
- - go build {{.BUILD_FLAGS}} -o {{.OUTPUT}}
- vars:
- BUILD_FLAGS: '{{if eq .PRODUCTION "true"}}-tags production -trimpath -buildvcs=false -ldflags="-w -s"{{else}}-buildvcs=false -gcflags=all="-l"{{end}}'
- DEFAULT_OUTPUT: '{{.BIN_DIR}}/{{.APP_NAME}}'
- OUTPUT: '{{ .OUTPUT | default .DEFAULT_OUTPUT }}'
- env:
- GOOS: darwin
- CGO_ENABLED: 1
- GOARCH: '{{.ARCH | default ARCH}}'
- CGO_CFLAGS: "-mmacosx-version-min=26.0"
- CGO_LDFLAGS: "-mmacosx-version-min=26.0"
- MACOSX_DEPLOYMENT_TARGET: "26.0"
- PRODUCTION: '{{.PRODUCTION | default "false"}}'
-
- build:universal:
- summary: Builds darwin universal binary (arm64 + amd64)
- deps:
- - task: build
- vars:
- ARCH: amd64
- OUTPUT: "{{.BIN_DIR}}/{{.APP_NAME}}-amd64"
- - task: build
- vars:
- ARCH: arm64
- OUTPUT: "{{.BIN_DIR}}/{{.APP_NAME}}-arm64"
- cmds:
- - lipo -create -output "{{.BIN_DIR}}/{{.APP_NAME}}" "{{.BIN_DIR}}/{{.APP_NAME}}-amd64" "{{.BIN_DIR}}/{{.APP_NAME}}-arm64"
- - rm "{{.BIN_DIR}}/{{.APP_NAME}}-amd64" "{{.BIN_DIR}}/{{.APP_NAME}}-arm64"
-
- package:
- summary: Packages a production build of the application into a `.app` bundle
- deps:
- - task: build
- vars:
- PRODUCTION: "true"
- cmds:
- - task: create:app:bundle
-
- package:universal:
- summary: Packages darwin universal binary (arm64 + amd64)
- deps:
- - task: build:universal
- cmds:
- - task: create:app:bundle
-
-
- create:app:bundle:
- summary: Creates an `.app` bundle
- cmds:
- - mkdir -p {{.BIN_DIR}}/{{.APP_NAME}}.app/Contents/{MacOS,Resources}
- - cp build/darwin/icons.icns {{.BIN_DIR}}/{{.APP_NAME}}.app/Contents/Resources
- - cp {{.BIN_DIR}}/{{.APP_NAME}} {{.BIN_DIR}}/{{.APP_NAME}}.app/Contents/MacOS
- - cp build/darwin/Info.plist {{.BIN_DIR}}/{{.APP_NAME}}.app/Contents
- - codesign --force --deep --sign - {{.BIN_DIR}}/{{.APP_NAME}}.app
-
- run:
- cmds:
- - mkdir -p {{.BIN_DIR}}/{{.APP_NAME}}.dev.app/Contents/{MacOS,Resources}
- - cp build/darwin/icons.icns {{.BIN_DIR}}/{{.APP_NAME}}.dev.app/Contents/Resources
- - cp {{.BIN_DIR}}/{{.APP_NAME}} {{.BIN_DIR}}/{{.APP_NAME}}.dev.app/Contents/MacOS
- - cp build/darwin/Info.dev.plist {{.BIN_DIR}}/{{.APP_NAME}}.dev.app/Contents/Info.plist
- - codesign --force --deep --sign - {{.BIN_DIR}}/{{.APP_NAME}}.dev.app
- - '{{.BIN_DIR}}/{{.APP_NAME}}.dev.app/Contents/MacOS/{{.APP_NAME}}'
diff --git a/cmd/core-gui/build/darwin/icons.icns b/cmd/core-gui/build/darwin/icons.icns
deleted file mode 100644
index ee075e0..0000000
Binary files a/cmd/core-gui/build/darwin/icons.icns and /dev/null differ
diff --git a/cmd/core-gui/build/linux/Taskfile.yml b/cmd/core-gui/build/linux/Taskfile.yml
deleted file mode 100644
index 7e78961..0000000
--- a/cmd/core-gui/build/linux/Taskfile.yml
+++ /dev/null
@@ -1,81 +0,0 @@
-version: '3'
-
-includes:
- common: "../Taskfile.yml"
-
-tasks:
- build:
- summary: Builds the application for Linux
- deps:
- - task: common:go:mod:tidy
- - task: common:build:public
- vars:
- BUILD_FLAGS:
- ref: .BUILD_FLAGS
- PRODUCTION:
- ref: .PRODUCTION
- - task: common:generate:icons
- cmds:
- - go build {{.BUILD_FLAGS}} -o bin/{{.APP_NAME}}
- vars:
- BUILD_FLAGS: '{{if eq .PRODUCTION "true"}}-tags production -trimpath -buildvcs=false -ldflags="-w -s"{{else}}-buildvcs=false -gcflags=all="-l"{{end}}'
- env:
- GOOS: linux
- CGO_ENABLED: 1
- GOARCH: '{{.ARCH | default "amd64"}}'
- PRODUCTION: '{{.PRODUCTION | default "false"}}'
-
- package:
- summary: Packages a production build of the application for Linux
- deps:
- - task: build
- vars:
- PRODUCTION: "true"
- cmds:
- - task: create:appimage
- - task: create:deb
- - task: create:rpm
-
- create:appimage:
- summary: Creates an AppImage
- dir: "{{.APP_ROOT}}/build/linux/appimage"
- deps:
- - task: ":build"
- vars:
- PRODUCTION: "true"
- - task: ":generate:dotdesktop"
- cmds:
- - cp "{{.APP_ROOT}}/bin/{{.APP_NAME}}" .
- - cp "{{.APP_ROOT}}/build/appicon.png" "{{.APP_NAME}}.png"
- - wails3 generate appimage -binary "{{.APP_NAME}}" -icon "{{.APP_NAME}}.png" -desktopfile "../{{.APP_NAME}}.desktop" -outputdir "{{.APP_ROOT}}/bin" -builddir build
-
- create:deb:
- summary: Creates a deb package
- deps:
- - task: build
- vars:
- PRODUCTION: "true"
- cmds:
- - task: generate:dotdesktop
- - wails3 tool package -name {{.APP_NAME}} -format deb -config build/linux/nfpm/nfpm.yaml -out bin
-
- create:rpm:
- summary: Creates a rpm package
- deps:
- - task: build
- vars:
- PRODUCTION: "true"
- cmds:
- - task: generate:dotdesktop
- - wails3 tool package -name {{.APP_NAME}} -format rpm -config build/linux/nfpm/nfpm.yaml -out bin
-
- generate:dotdesktop:
- summary: Generates a `.desktop` file
- cmds:
- - mkdir -p linux/appimage
- - wails3 generate .desktop -name "{{.APP_NAME}}" -exec "{{.APP_NAME}}" -icon "{{.APP_NAME}}" -outputfile "linux/{{.APP_NAME}}.desktop" -categories "Development;"
-
- run:
- dir: "{{.APP_ROOT}}"
- cmds:
- - "bin/{{.APP_NAME}}"
diff --git a/cmd/core-gui/build/linux/appimage/build.sh b/cmd/core-gui/build/linux/appimage/build.sh
deleted file mode 100644
index 85901c3..0000000
--- a/cmd/core-gui/build/linux/appimage/build.sh
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/usr/bin/env bash
-# Copyright (c) 2018-Present Lea Anthony
-# SPDX-License-Identifier: MIT
-
-# Fail script on any error
-set -euxo pipefail
-
-# Define variables
-APP_DIR="${APP_NAME}.AppDir"
-
-# Create AppDir structure
-mkdir -p "${APP_DIR}/usr/bin"
-cp -r "${APP_BINARY}" "${APP_DIR}/usr/bin/"
-cp "${ICON_PATH}" "${APP_DIR}/"
-cp "${DESKTOP_FILE}" "${APP_DIR}/"
-
-if [[ $(uname -m) == *x86_64* ]]; then
- # Download linuxdeploy and make it executable
- wget -q -4 -N https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage
- chmod +x linuxdeploy-x86_64.AppImage
-
- # Run linuxdeploy to bundle the application
- ./linuxdeploy-x86_64.AppImage --appdir "${APP_DIR}" --output appimage
-else
- # Download linuxdeploy and make it executable (arm64)
- wget -q -4 -N https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-aarch64.AppImage
- chmod +x linuxdeploy-aarch64.AppImage
-
- # Run linuxdeploy to bundle the application (arm64)
- ./linuxdeploy-aarch64.AppImage --appdir "${APP_DIR}" --output appimage
-fi
-
-# Rename the generated AppImage
-mv "${APP_NAME}*.AppImage" "${APP_NAME}.AppImage"
-
diff --git a/cmd/core-gui/build/linux/desktop b/cmd/core-gui/build/linux/desktop
deleted file mode 100644
index 62d5b3c..0000000
--- a/cmd/core-gui/build/linux/desktop
+++ /dev/null
@@ -1,13 +0,0 @@
-[Desktop Entry]
-Version=1.0
-Name=My Product
-Comment=My Product Description
-# The Exec line includes %u to pass the URL to the application
-Exec=/usr/local/bin/desktop %u
-Terminal=false
-Type=Application
-Icon=desktop
-Categories=Utility;
-StartupWMClass=desktop
-
-
diff --git a/cmd/core-gui/build/linux/nfpm/nfpm.yaml b/cmd/core-gui/build/linux/nfpm/nfpm.yaml
deleted file mode 100644
index cd96c38..0000000
--- a/cmd/core-gui/build/linux/nfpm/nfpm.yaml
+++ /dev/null
@@ -1,67 +0,0 @@
-# Feel free to remove those if you don't want/need to use them.
-# Make sure to check the documentation at https://nfpm.goreleaser.com
-#
-# The lines below are called `modelines`. See `:help modeline`
-
-name: "desktop"
-arch: ${GOARCH}
-platform: "linux"
-version: "0.1.0"
-section: "default"
-priority: "extra"
-maintainer: ${GIT_COMMITTER_NAME} <${GIT_COMMITTER_EMAIL}>
-description: "My Product Description"
-vendor: "My Company"
-homepage: "https://wails.io"
-license: "MIT"
-release: "1"
-
-contents:
- - src: "./bin/desktop"
- dst: "/usr/local/bin/desktop"
- - src: "./build/appicon.png"
- dst: "/usr/share/icons/hicolor/128x128/apps/desktop.png"
- - src: "./build/linux/desktop.desktop"
- dst: "/usr/share/applications/desktop.desktop"
-
-# Default dependencies for Debian 12/Ubuntu 22.04+ with WebKit 4.1
-depends:
- - libgtk-3-0
- - libwebkit2gtk-4.1-0
-
-# Distribution-specific overrides for different package formats and WebKit versions
-overrides:
- # RPM packages for RHEL/CentOS/AlmaLinux/Rocky Linux (WebKit 4.0)
- rpm:
- depends:
- - gtk3
- - webkit2gtk4.1
-
- # Arch Linux packages (WebKit 4.1)
- archlinux:
- depends:
- - gtk3
- - webkit2gtk-4.1
-
-# scripts section to ensure desktop database is updated after install
-scripts:
- postinstall: "./build/linux/nfpm/scripts/postinstall.sh"
- # You can also add preremove, postremove if needed
- # preremove: "./build/linux/nfpm/scripts/preremove.sh"
- # postremove: "./build/linux/nfpm/scripts/postremove.sh"
-
-# replaces:
-# - foobar
-# provides:
-# - bar
-# depends:
-# - gtk3
-# - libwebkit2gtk
-# recommends:
-# - whatever
-# suggests:
-# - something-else
-# conflicts:
-# - not-foo
-# - not-bar
-# changelog: "changelog.yaml"
diff --git a/cmd/core-gui/build/linux/nfpm/scripts/postinstall.sh b/cmd/core-gui/build/linux/nfpm/scripts/postinstall.sh
deleted file mode 100644
index 4bbb815..0000000
--- a/cmd/core-gui/build/linux/nfpm/scripts/postinstall.sh
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/bin/sh
-
-# Update desktop database for .desktop file changes
-# This makes the application appear in application menus and registers its capabilities.
-if command -v update-desktop-database >/dev/null 2>&1; then
- echo "Updating desktop database..."
- update-desktop-database -q /usr/share/applications
-else
- echo "Warning: update-desktop-database command not found. Desktop file may not be immediately recognized." >&2
-fi
-
-# Update MIME database for custom URL schemes (x-scheme-handler)
-# This ensures the system knows how to handle your custom protocols.
-if command -v update-mime-database >/dev/null 2>&1; then
- echo "Updating MIME database..."
- update-mime-database -n /usr/share/mime
-else
- echo "Warning: update-mime-database command not found. Custom URL schemes may not be immediately recognized." >&2
-fi
-
-exit 0
diff --git a/cmd/core-gui/build/linux/nfpm/scripts/postremove.sh b/cmd/core-gui/build/linux/nfpm/scripts/postremove.sh
deleted file mode 100644
index a9bf588..0000000
--- a/cmd/core-gui/build/linux/nfpm/scripts/postremove.sh
+++ /dev/null
@@ -1 +0,0 @@
-#!/bin/bash
diff --git a/cmd/core-gui/build/linux/nfpm/scripts/preinstall.sh b/cmd/core-gui/build/linux/nfpm/scripts/preinstall.sh
deleted file mode 100644
index a9bf588..0000000
--- a/cmd/core-gui/build/linux/nfpm/scripts/preinstall.sh
+++ /dev/null
@@ -1 +0,0 @@
-#!/bin/bash
diff --git a/cmd/core-gui/build/linux/nfpm/scripts/preremove.sh b/cmd/core-gui/build/linux/nfpm/scripts/preremove.sh
deleted file mode 100644
index a9bf588..0000000
--- a/cmd/core-gui/build/linux/nfpm/scripts/preremove.sh
+++ /dev/null
@@ -1 +0,0 @@
-#!/bin/bash
diff --git a/cmd/core-gui/build/windows/Taskfile.yml b/cmd/core-gui/build/windows/Taskfile.yml
deleted file mode 100644
index 75c59f5..0000000
--- a/cmd/core-gui/build/windows/Taskfile.yml
+++ /dev/null
@@ -1,98 +0,0 @@
-version: '3'
-
-includes:
- common: ../Taskfile.yml
-
-tasks:
- build:
- summary: Builds the application for Windows
- deps:
- - task: common:go:mod:tidy
- - task: common:build:public
- vars:
- BUILD_FLAGS:
- ref: .BUILD_FLAGS
- PRODUCTION:
- ref: .PRODUCTION
- - task: common:generate:icons
- cmds:
- - task: generate:syso
- - go build {{.BUILD_FLAGS}} -o {{.BIN_DIR}}/{{.APP_NAME}}.exe
- - cmd: powershell Remove-item *.syso
- platforms: [windows]
- - cmd: rm -f *.syso
- platforms: [linux, darwin]
- vars:
- BUILD_FLAGS: '{{if eq .PRODUCTION "true"}}-tags production -trimpath -buildvcs=false -ldflags="-w -s -H windowsgui"{{else}}-buildvcs=false -gcflags=all="-l"{{end}}'
- env:
- GOOS: windows
- CGO_ENABLED: 0
- GOARCH: '{{.ARCH | default ARCH}}'
- PRODUCTION: '{{.PRODUCTION | default "false"}}'
-
- package:
- summary: Packages a production build of the application
- cmds:
- - |-
- if [ "{{.FORMAT | default "nsis"}}" = "msix" ]; then
- task: create:msix:package
- else
- task: create:nsis:installer
- fi
- vars:
- FORMAT: '{{.FORMAT | default "nsis"}}'
-
- generate:syso:
- summary: Generates Windows `.syso` file
- dir: build
- cmds:
- - wails3 generate syso -arch {{.ARCH}} -icon windows/icon.ico -manifest windows/wails.exe.manifest -info windows/info.json -out ../wails_windows_{{.ARCH}}.syso
- vars:
- ARCH: '{{.ARCH | default ARCH}}'
-
- create:nsis:installer:
- summary: Creates an NSIS installer
- dir: build/windows/nsis
- deps:
- - task: build
- vars:
- PRODUCTION: "true"
- cmds:
- # Create the Microsoft WebView2 bootstrapper if it doesn't exist
- - wails3 generate webview2bootstrapper -dir "{{.ROOT_DIR}}/build/windows/nsis"
- - makensis -DARG_WAILS_{{.ARG_FLAG}}_BINARY="{{.ROOT_DIR}}/{{.BIN_DIR}}/{{.APP_NAME}}.exe" project.nsi
- vars:
- ARCH: '{{.ARCH | default ARCH}}'
- ARG_FLAG: '{{if eq .ARCH "amd64"}}AMD64{{else}}ARM64{{end}}'
-
- create:msix:package:
- summary: Creates an MSIX package
- deps:
- - task: build
- vars:
- PRODUCTION: "true"
- cmds:
- - |-
- wails3 tool msix \
- --config "{{.ROOT_DIR}}/wails.json" \
- --name "{{.APP_NAME}}" \
- --executable "{{.ROOT_DIR}}/{{.BIN_DIR}}/{{.APP_NAME}}.exe" \
- --arch "{{.ARCH}}" \
- --out "{{.ROOT_DIR}}/{{.BIN_DIR}}/{{.APP_NAME}}-{{.ARCH}}.msix" \
- {{if .CERT_PATH}}--cert "{{.CERT_PATH}}"{{end}} \
- {{if .PUBLISHER}}--publisher "{{.PUBLISHER}}"{{end}} \
- {{if .USE_MSIX_TOOL}}--use-msix-tool{{else}}--use-makeappx{{end}}
- vars:
- ARCH: '{{.ARCH | default ARCH}}'
- CERT_PATH: '{{.CERT_PATH | default ""}}'
- PUBLISHER: '{{.PUBLISHER | default ""}}'
- USE_MSIX_TOOL: '{{.USE_MSIX_TOOL | default "false"}}'
-
- install:msix:tools:
- summary: Installs tools required for MSIX packaging
- cmds:
- - wails3 tool msix-install-tools
-
- run:
- cmds:
- - '{{.BIN_DIR}}/{{.APP_NAME}}.exe'
diff --git a/cmd/core-gui/build/windows/icon.ico b/cmd/core-gui/build/windows/icon.ico
deleted file mode 100644
index 83a4f6c..0000000
Binary files a/cmd/core-gui/build/windows/icon.ico and /dev/null differ
diff --git a/cmd/core-gui/build/windows/info.json b/cmd/core-gui/build/windows/info.json
deleted file mode 100644
index 850b2b5..0000000
--- a/cmd/core-gui/build/windows/info.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "fixed": {
- "file_version": "0.1.0"
- },
- "info": {
- "0000": {
- "ProductVersion": "0.1.0",
- "CompanyName": "My Company",
- "FileDescription": "My Product Description",
- "LegalCopyright": "© now, My Company",
- "ProductName": "My Product",
- "Comments": "This is a comment"
- }
- }
-}
\ No newline at end of file
diff --git a/cmd/core-gui/build/windows/msix/app_manifest.xml b/cmd/core-gui/build/windows/msix/app_manifest.xml
deleted file mode 100644
index c9b7799..0000000
--- a/cmd/core-gui/build/windows/msix/app_manifest.xml
+++ /dev/null
@@ -1,52 +0,0 @@
-
-
-
-
-
-
- My Product
- My Company
- My Product Description
- Assets\StoreLogo.png
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/cmd/core-gui/build/windows/msix/template.xml b/cmd/core-gui/build/windows/msix/template.xml
deleted file mode 100644
index 1c005ab..0000000
--- a/cmd/core-gui/build/windows/msix/template.xml
+++ /dev/null
@@ -1,54 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- false
- My Product
- My Company
- My Product Description
- Assets\AppIcon.png
-
-
-
-
-
-
-
diff --git a/cmd/core-gui/build/windows/nsis/project.nsi b/cmd/core-gui/build/windows/nsis/project.nsi
deleted file mode 100644
index d12d8a5..0000000
--- a/cmd/core-gui/build/windows/nsis/project.nsi
+++ /dev/null
@@ -1,114 +0,0 @@
-Unicode true
-
-####
-## Please note: Template replacements don't work in this file. They are provided with default defines like
-## mentioned underneath.
-## If the keyword is not defined, "wails_tools.nsh" will populate them.
-## If they are defined here, "wails_tools.nsh" will not touch them. This allows you to use this project.nsi manually
-## from outside of Wails for debugging and development of the installer.
-##
-## For development first make a wails nsis build to populate the "wails_tools.nsh":
-## > wails build --target windows/amd64 --nsis
-## Then you can call makensis on this file with specifying the path to your binary:
-## For a AMD64 only installer:
-## > makensis -DARG_WAILS_AMD64_BINARY=..\..\bin\app.exe
-## For a ARM64 only installer:
-## > makensis -DARG_WAILS_ARM64_BINARY=..\..\bin\app.exe
-## For a installer with both architectures:
-## > makensis -DARG_WAILS_AMD64_BINARY=..\..\bin\app-amd64.exe -DARG_WAILS_ARM64_BINARY=..\..\bin\app-arm64.exe
-####
-## The following information is taken from the wails_tools.nsh file, but they can be overwritten here.
-####
-## !define INFO_PROJECTNAME "my-project" # Default "desktop"
-## !define INFO_COMPANYNAME "My Company" # Default "My Company"
-## !define INFO_PRODUCTNAME "My Product Name" # Default "My Product"
-## !define INFO_PRODUCTVERSION "1.0.0" # Default "0.1.0"
-## !define INFO_COPYRIGHT "(c) Now, My Company" # Default "© now, My Company"
-###
-## !define PRODUCT_EXECUTABLE "Application.exe" # Default "${INFO_PROJECTNAME}.exe"
-## !define UNINST_KEY_NAME "UninstKeyInRegistry" # Default "${INFO_COMPANYNAME}${INFO_PRODUCTNAME}"
-####
-## !define REQUEST_EXECUTION_LEVEL "admin" # Default "admin" see also https://nsis.sourceforge.io/Docs/Chapter4.html
-####
-## Include the wails tools
-####
-!include "wails_tools.nsh"
-
-# The version information for this two must consist of 4 parts
-VIProductVersion "${INFO_PRODUCTVERSION}.0"
-VIFileVersion "${INFO_PRODUCTVERSION}.0"
-
-VIAddVersionKey "CompanyName" "${INFO_COMPANYNAME}"
-VIAddVersionKey "FileDescription" "${INFO_PRODUCTNAME} Installer"
-VIAddVersionKey "ProductVersion" "${INFO_PRODUCTVERSION}"
-VIAddVersionKey "FileVersion" "${INFO_PRODUCTVERSION}"
-VIAddVersionKey "LegalCopyright" "${INFO_COPYRIGHT}"
-VIAddVersionKey "ProductName" "${INFO_PRODUCTNAME}"
-
-# Enable HiDPI support. https://nsis.sourceforge.io/Reference/ManifestDPIAware
-ManifestDPIAware true
-
-!include "MUI.nsh"
-
-!define MUI_ICON "..\icon.ico"
-!define MUI_UNICON "..\icon.ico"
-# !define MUI_WELCOMEFINISHPAGE_BITMAP "resources\leftimage.bmp" #Include this to add a bitmap on the left side of the Welcome Page. Must be a size of 164x314
-!define MUI_FINISHPAGE_NOAUTOCLOSE # Wait on the INSTFILES page so the user can take a look into the details of the installation steps
-!define MUI_ABORTWARNING # This will warn the user if they exit from the installer.
-
-!insertmacro MUI_PAGE_WELCOME # Welcome to the installer page.
-# !insertmacro MUI_PAGE_LICENSE "resources\eula.txt" # Adds a EULA page to the installer
-!insertmacro MUI_PAGE_DIRECTORY # In which folder install page.
-!insertmacro MUI_PAGE_INSTFILES # Installing page.
-!insertmacro MUI_PAGE_FINISH # Finished installation page.
-
-!insertmacro MUI_UNPAGE_INSTFILES # Uninstalling page
-
-!insertmacro MUI_LANGUAGE "English" # Set the Language of the installer
-
-## The following two statements can be used to sign the installer and the uninstaller. The path to the binaries are provided in %1
-#!uninstfinalize 'signtool --file "%1"'
-#!finalize 'signtool --file "%1"'
-
-Name "${INFO_PRODUCTNAME}"
-OutFile "..\..\..\bin\${INFO_PROJECTNAME}-${ARCH}-installer.exe" # Name of the installer's file.
-InstallDir "$PROGRAMFILES64\${INFO_COMPANYNAME}\${INFO_PRODUCTNAME}" # Default installing folder ($PROGRAMFILES is Program Files folder).
-ShowInstDetails show # This will always show the installation details.
-
-Function .onInit
- !insertmacro wails.checkArchitecture
-FunctionEnd
-
-Section
- !insertmacro wails.setShellContext
-
- !insertmacro wails.webview2runtime
-
- SetOutPath $INSTDIR
-
- !insertmacro wails.files
-
- CreateShortcut "$SMPROGRAMS\${INFO_PRODUCTNAME}.lnk" "$INSTDIR\${PRODUCT_EXECUTABLE}"
- CreateShortCut "$DESKTOP\${INFO_PRODUCTNAME}.lnk" "$INSTDIR\${PRODUCT_EXECUTABLE}"
-
- !insertmacro wails.associateFiles
- !insertmacro wails.associateCustomProtocols
-
- !insertmacro wails.writeUninstaller
-SectionEnd
-
-Section "uninstall"
- !insertmacro wails.setShellContext
-
- RMDir /r "$AppData\${PRODUCT_EXECUTABLE}" # Remove the WebView2 DataPath
-
- RMDir /r $INSTDIR
-
- Delete "$SMPROGRAMS\${INFO_PRODUCTNAME}.lnk"
- Delete "$DESKTOP\${INFO_PRODUCTNAME}.lnk"
-
- !insertmacro wails.unassociateFiles
- !insertmacro wails.unassociateCustomProtocols
-
- !insertmacro wails.deleteUninstaller
-SectionEnd
diff --git a/cmd/core-gui/build/windows/nsis/wails_tools.nsh b/cmd/core-gui/build/windows/nsis/wails_tools.nsh
deleted file mode 100644
index bcec3d4..0000000
--- a/cmd/core-gui/build/windows/nsis/wails_tools.nsh
+++ /dev/null
@@ -1,236 +0,0 @@
-# DO NOT EDIT - Generated automatically by `wails build`
-
-!include "x64.nsh"
-!include "WinVer.nsh"
-!include "FileFunc.nsh"
-
-!ifndef INFO_PROJECTNAME
- !define INFO_PROJECTNAME "desktop"
-!endif
-!ifndef INFO_COMPANYNAME
- !define INFO_COMPANYNAME "My Company"
-!endif
-!ifndef INFO_PRODUCTNAME
- !define INFO_PRODUCTNAME "My Product"
-!endif
-!ifndef INFO_PRODUCTVERSION
- !define INFO_PRODUCTVERSION "0.1.0"
-!endif
-!ifndef INFO_COPYRIGHT
- !define INFO_COPYRIGHT "© now, My Company"
-!endif
-!ifndef PRODUCT_EXECUTABLE
- !define PRODUCT_EXECUTABLE "${INFO_PROJECTNAME}.exe"
-!endif
-!ifndef UNINST_KEY_NAME
- !define UNINST_KEY_NAME "${INFO_COMPANYNAME}${INFO_PRODUCTNAME}"
-!endif
-!define UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${UNINST_KEY_NAME}"
-
-!ifndef REQUEST_EXECUTION_LEVEL
- !define REQUEST_EXECUTION_LEVEL "admin"
-!endif
-
-RequestExecutionLevel "${REQUEST_EXECUTION_LEVEL}"
-
-!ifdef ARG_WAILS_AMD64_BINARY
- !define SUPPORTS_AMD64
-!endif
-
-!ifdef ARG_WAILS_ARM64_BINARY
- !define SUPPORTS_ARM64
-!endif
-
-!ifdef SUPPORTS_AMD64
- !ifdef SUPPORTS_ARM64
- !define ARCH "amd64_arm64"
- !else
- !define ARCH "amd64"
- !endif
-!else
- !ifdef SUPPORTS_ARM64
- !define ARCH "arm64"
- !else
- !error "Wails: Undefined ARCH, please provide at least one of ARG_WAILS_AMD64_BINARY or ARG_WAILS_ARM64_BINARY"
- !endif
-!endif
-
-!macro wails.checkArchitecture
- !ifndef WAILS_WIN10_REQUIRED
- !define WAILS_WIN10_REQUIRED "This product is only supported on Windows 10 (Server 2016) and later."
- !endif
-
- !ifndef WAILS_ARCHITECTURE_NOT_SUPPORTED
- !define WAILS_ARCHITECTURE_NOT_SUPPORTED "This product can't be installed on the current Windows architecture. Supports: ${ARCH}"
- !endif
-
- ${If} ${AtLeastWin10}
- !ifdef SUPPORTS_AMD64
- ${if} ${IsNativeAMD64}
- Goto ok
- ${EndIf}
- !endif
-
- !ifdef SUPPORTS_ARM64
- ${if} ${IsNativeARM64}
- Goto ok
- ${EndIf}
- !endif
-
- IfSilent silentArch notSilentArch
- silentArch:
- SetErrorLevel 65
- Abort
- notSilentArch:
- MessageBox MB_OK "${WAILS_ARCHITECTURE_NOT_SUPPORTED}"
- Quit
- ${else}
- IfSilent silentWin notSilentWin
- silentWin:
- SetErrorLevel 64
- Abort
- notSilentWin:
- MessageBox MB_OK "${WAILS_WIN10_REQUIRED}"
- Quit
- ${EndIf}
-
- ok:
-!macroend
-
-!macro wails.files
- !ifdef SUPPORTS_AMD64
- ${if} ${IsNativeAMD64}
- File "/oname=${PRODUCT_EXECUTABLE}" "${ARG_WAILS_AMD64_BINARY}"
- ${EndIf}
- !endif
-
- !ifdef SUPPORTS_ARM64
- ${if} ${IsNativeARM64}
- File "/oname=${PRODUCT_EXECUTABLE}" "${ARG_WAILS_ARM64_BINARY}"
- ${EndIf}
- !endif
-!macroend
-
-!macro wails.writeUninstaller
- WriteUninstaller "$INSTDIR\uninstall.exe"
-
- SetRegView 64
- WriteRegStr HKLM "${UNINST_KEY}" "Publisher" "${INFO_COMPANYNAME}"
- WriteRegStr HKLM "${UNINST_KEY}" "DisplayName" "${INFO_PRODUCTNAME}"
- WriteRegStr HKLM "${UNINST_KEY}" "DisplayVersion" "${INFO_PRODUCTVERSION}"
- WriteRegStr HKLM "${UNINST_KEY}" "DisplayIcon" "$INSTDIR\${PRODUCT_EXECUTABLE}"
- WriteRegStr HKLM "${UNINST_KEY}" "UninstallString" "$\"$INSTDIR\uninstall.exe$\""
- WriteRegStr HKLM "${UNINST_KEY}" "QuietUninstallString" "$\"$INSTDIR\uninstall.exe$\" /S"
-
- ${GetSize} "$INSTDIR" "/S=0K" $0 $1 $2
- IntFmt $0 "0x%08X" $0
- WriteRegDWORD HKLM "${UNINST_KEY}" "EstimatedSize" "$0"
-!macroend
-
-!macro wails.deleteUninstaller
- Delete "$INSTDIR\uninstall.exe"
-
- SetRegView 64
- DeleteRegKey HKLM "${UNINST_KEY}"
-!macroend
-
-!macro wails.setShellContext
- ${If} ${REQUEST_EXECUTION_LEVEL} == "admin"
- SetShellVarContext all
- ${else}
- SetShellVarContext current
- ${EndIf}
-!macroend
-
-# Install webview2 by launching the bootstrapper
-# See https://docs.microsoft.com/en-us/microsoft-edge/webview2/concepts/distribution#online-only-deployment
-!macro wails.webview2runtime
- !ifndef WAILS_INSTALL_WEBVIEW_DETAILPRINT
- !define WAILS_INSTALL_WEBVIEW_DETAILPRINT "Installing: WebView2 Runtime"
- !endif
-
- SetRegView 64
- # If the admin key exists and is not empty then webview2 is already installed
- ReadRegStr $0 HKLM "SOFTWARE\WOW6432Node\Microsoft\EdgeUpdate\Clients\{F3017226-FE2A-4295-8BDF-00C3A9A7E4C5}" "pv"
- ${If} $0 != ""
- Goto ok
- ${EndIf}
-
- ${If} ${REQUEST_EXECUTION_LEVEL} == "user"
- # If the installer is run in user level, check the user specific key exists and is not empty then webview2 is already installed
- ReadRegStr $0 HKCU "Software\Microsoft\EdgeUpdate\Clients\{F3017226-FE2A-4295-8BDF-00C3A9A7E4C5}" "pv"
- ${If} $0 != ""
- Goto ok
- ${EndIf}
- ${EndIf}
-
- SetDetailsPrint both
- DetailPrint "${WAILS_INSTALL_WEBVIEW_DETAILPRINT}"
- SetDetailsPrint listonly
-
- InitPluginsDir
- CreateDirectory "$pluginsdir\webview2bootstrapper"
- SetOutPath "$pluginsdir\webview2bootstrapper"
- File "MicrosoftEdgeWebview2Setup.exe"
- ExecWait '"$pluginsdir\webview2bootstrapper\MicrosoftEdgeWebview2Setup.exe" /silent /install'
-
- SetDetailsPrint both
- ok:
-!macroend
-
-# Copy of APP_ASSOCIATE and APP_UNASSOCIATE macros from here https://gist.github.com/nikku/281d0ef126dbc215dd58bfd5b3a5cd5b
-!macro APP_ASSOCIATE EXT FILECLASS DESCRIPTION ICON COMMANDTEXT COMMAND
- ; Backup the previously associated file class
- ReadRegStr $R0 SHELL_CONTEXT "Software\Classes\.${EXT}" ""
- WriteRegStr SHELL_CONTEXT "Software\Classes\.${EXT}" "${FILECLASS}_backup" "$R0"
-
- WriteRegStr SHELL_CONTEXT "Software\Classes\.${EXT}" "" "${FILECLASS}"
-
- WriteRegStr SHELL_CONTEXT "Software\Classes\${FILECLASS}" "" `${DESCRIPTION}`
- WriteRegStr SHELL_CONTEXT "Software\Classes\${FILECLASS}\DefaultIcon" "" `${ICON}`
- WriteRegStr SHELL_CONTEXT "Software\Classes\${FILECLASS}\shell" "" "open"
- WriteRegStr SHELL_CONTEXT "Software\Classes\${FILECLASS}\shell\open" "" `${COMMANDTEXT}`
- WriteRegStr SHELL_CONTEXT "Software\Classes\${FILECLASS}\shell\open\command" "" `${COMMAND}`
-!macroend
-
-!macro APP_UNASSOCIATE EXT FILECLASS
- ; Backup the previously associated file class
- ReadRegStr $R0 SHELL_CONTEXT "Software\Classes\.${EXT}" `${FILECLASS}_backup`
- WriteRegStr SHELL_CONTEXT "Software\Classes\.${EXT}" "" "$R0"
-
- DeleteRegKey SHELL_CONTEXT `Software\Classes\${FILECLASS}`
-!macroend
-
-!macro wails.associateFiles
- ; Create file associations
-
-!macroend
-
-!macro wails.unassociateFiles
- ; Delete app associations
-
-!macroend
-
-!macro CUSTOM_PROTOCOL_ASSOCIATE PROTOCOL DESCRIPTION ICON COMMAND
- DeleteRegKey SHELL_CONTEXT "Software\Classes\${PROTOCOL}"
- WriteRegStr SHELL_CONTEXT "Software\Classes\${PROTOCOL}" "" "${DESCRIPTION}"
- WriteRegStr SHELL_CONTEXT "Software\Classes\${PROTOCOL}" "URL Protocol" ""
- WriteRegStr SHELL_CONTEXT "Software\Classes\${PROTOCOL}\DefaultIcon" "" "${ICON}"
- WriteRegStr SHELL_CONTEXT "Software\Classes\${PROTOCOL}\shell" "" ""
- WriteRegStr SHELL_CONTEXT "Software\Classes\${PROTOCOL}\shell\open" "" ""
- WriteRegStr SHELL_CONTEXT "Software\Classes\${PROTOCOL}\shell\open\command" "" "${COMMAND}"
-!macroend
-
-!macro CUSTOM_PROTOCOL_UNASSOCIATE PROTOCOL
- DeleteRegKey SHELL_CONTEXT "Software\Classes\${PROTOCOL}"
-!macroend
-
-!macro wails.associateCustomProtocols
- ; Create custom protocols associations
-
-!macroend
-
-!macro wails.unassociateCustomProtocols
- ; Delete app custom protocol associations
-
-!macroend
\ No newline at end of file
diff --git a/cmd/core-gui/build/windows/wails.exe.manifest b/cmd/core-gui/build/windows/wails.exe.manifest
deleted file mode 100644
index 16cd2b0..0000000
--- a/cmd/core-gui/build/windows/wails.exe.manifest
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
-
-
-
-
-
-
-
- true/pm
- permonitorv2,permonitor
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/cmd/core-gui/claude_bridge.go b/cmd/core-gui/claude_bridge.go
deleted file mode 100644
index 8ecc368..0000000
--- a/cmd/core-gui/claude_bridge.go
+++ /dev/null
@@ -1,157 +0,0 @@
-package main
-
-import (
- "encoding/json"
- "log"
- "net/http"
- "sync"
- "time"
-
- "github.com/gorilla/websocket"
-)
-
-var wsUpgrader = websocket.Upgrader{
- ReadBufferSize: 1024,
- WriteBufferSize: 1024,
- CheckOrigin: func(r *http.Request) bool {
- return true
- },
-}
-
-// ClaudeBridge forwards messages between GUI clients and the MCP core WebSocket.
-type ClaudeBridge struct {
- mcpConn *websocket.Conn
- mcpURL string
- clients map[*websocket.Conn]bool
- clientsMu sync.RWMutex
- broadcast chan []byte
- reconnectMu sync.Mutex
-}
-
-// NewClaudeBridge creates a new bridge to the MCP core WebSocket.
-func NewClaudeBridge(mcpURL string) *ClaudeBridge {
- return &ClaudeBridge{
- mcpURL: mcpURL,
- clients: make(map[*websocket.Conn]bool),
- broadcast: make(chan []byte, 256),
- }
-}
-
-// Start connects to the MCP WebSocket and starts the bridge.
-func (cb *ClaudeBridge) Start() {
- go cb.connectToMCP()
- go cb.broadcastLoop()
-}
-
-// connectToMCP establishes connection to the MCP core WebSocket.
-func (cb *ClaudeBridge) connectToMCP() {
- for {
- cb.reconnectMu.Lock()
- if cb.mcpConn != nil {
- cb.mcpConn.Close()
- }
-
- log.Printf("Claude bridge connecting to MCP at %s", cb.mcpURL)
- conn, _, err := websocket.DefaultDialer.Dial(cb.mcpURL, nil)
- if err != nil {
- log.Printf("Claude bridge failed to connect to MCP: %v", err)
- cb.reconnectMu.Unlock()
- time.Sleep(5 * time.Second)
- continue
- }
-
- cb.mcpConn = conn
- cb.reconnectMu.Unlock()
- log.Printf("Claude bridge connected to MCP")
-
- // Read messages from MCP and broadcast to clients
- for {
- _, message, err := conn.ReadMessage()
- if err != nil {
- log.Printf("Claude bridge MCP read error: %v", err)
- break
- }
- cb.broadcast <- message
- }
-
- // Connection lost, retry
- time.Sleep(2 * time.Second)
- }
-}
-
-// broadcastLoop sends messages from MCP to all connected clients.
-func (cb *ClaudeBridge) broadcastLoop() {
- for message := range cb.broadcast {
- cb.clientsMu.RLock()
- for client := range cb.clients {
- err := client.WriteMessage(websocket.TextMessage, message)
- if err != nil {
- log.Printf("Claude bridge client write error: %v", err)
- }
- }
- cb.clientsMu.RUnlock()
- }
-}
-
-// HandleWebSocket handles WebSocket connections from GUI clients.
-func (cb *ClaudeBridge) HandleWebSocket(w http.ResponseWriter, r *http.Request) {
- conn, err := wsUpgrader.Upgrade(w, r, nil)
- if err != nil {
- log.Printf("Claude bridge upgrade error: %v", err)
- return
- }
-
- cb.clientsMu.Lock()
- cb.clients[conn] = true
- cb.clientsMu.Unlock()
-
- // Send connected message
- connMsg, _ := json.Marshal(map[string]any{
- "type": "system",
- "data": "Connected to Claude bridge",
- "timestamp": time.Now(),
- })
- conn.WriteMessage(websocket.TextMessage, connMsg)
-
- defer func() {
- cb.clientsMu.Lock()
- delete(cb.clients, conn)
- cb.clientsMu.Unlock()
- conn.Close()
- }()
-
- // Read messages from client and forward to MCP
- for {
- _, message, err := conn.ReadMessage()
- if err != nil {
- break
- }
-
- // Parse the message to check type
- var msg map[string]any
- if err := json.Unmarshal(message, &msg); err != nil {
- continue
- }
-
- // Forward claude_message to MCP
- if msgType, ok := msg["type"].(string); ok && msgType == "claude_message" {
- cb.sendToMCP(message)
- }
- }
-}
-
-// sendToMCP sends a message to the MCP WebSocket.
-func (cb *ClaudeBridge) sendToMCP(message []byte) {
- cb.reconnectMu.Lock()
- defer cb.reconnectMu.Unlock()
-
- if cb.mcpConn == nil {
- log.Printf("Claude bridge: MCP not connected")
- return
- }
-
- err := cb.mcpConn.WriteMessage(websocket.TextMessage, message)
- if err != nil {
- log.Printf("Claude bridge MCP write error: %v", err)
- }
-}
diff --git a/cmd/core-gui/frontend.old/.dockerignore b/cmd/core-gui/frontend.old/.dockerignore
deleted file mode 100644
index b592cf4..0000000
--- a/cmd/core-gui/frontend.old/.dockerignore
+++ /dev/null
@@ -1,7 +0,0 @@
-node_modules
-npm-debug.log
-Dockerfile
-.dockerignore
-.env
-.git
-.gitignore
diff --git a/cmd/core-gui/frontend.old/.editorconfig b/cmd/core-gui/frontend.old/.editorconfig
deleted file mode 100644
index f166060..0000000
--- a/cmd/core-gui/frontend.old/.editorconfig
+++ /dev/null
@@ -1,17 +0,0 @@
-# Editor configuration, see https://editorconfig.org
-root = true
-
-[*]
-charset = utf-8
-indent_style = space
-indent_size = 2
-insert_final_newline = true
-trim_trailing_whitespace = true
-
-[*.ts]
-quote_type = single
-ij_typescript_use_double_quotes = false
-
-[*.md]
-max_line_length = off
-trim_trailing_whitespace = false
diff --git a/cmd/core-gui/frontend.old/.gitignore b/cmd/core-gui/frontend.old/.gitignore
deleted file mode 100644
index 192ab77..0000000
--- a/cmd/core-gui/frontend.old/.gitignore
+++ /dev/null
@@ -1,42 +0,0 @@
-# See https://docs.github.com/get-started/getting-started-with-git/ignoring-files for more about ignoring files.
-.npmrc
-# Compiled output
-/dist
-/tmp
-/out-tsc
-/bazel-out
-
-# Node
-/node_modules
-npm-debug.log
-yarn-error.log
-
-# IDEs and editors
-.idea/
-.project
-.classpath
-.c9/
-*.launch
-.settings/
-*.sublime-workspace
-
-# Visual Studio Code
-.vscode/*
-!.vscode/settings.json
-!.vscode/tasks.json
-!.vscode/launch.json
-!.vscode/extensions.json
-.history/*
-
-# Miscellaneous
-/.angular/cache
-.sass-cache/
-/connect.lock
-/coverage
-/libpeerconnection.log
-testem.log
-/typings
-
-# System files
-.DS_Store
-Thumbs.db
diff --git a/cmd/core-gui/frontend.old/README.md b/cmd/core-gui/frontend.old/README.md
deleted file mode 100644
index f30320b..0000000
--- a/cmd/core-gui/frontend.old/README.md
+++ /dev/null
@@ -1,69 +0,0 @@
-### Installation
-- `npm install` (install dependencies)
-- `npm outdated` (verify dependency status)
-
-### Development
-- `npm run start`
-- Visit http://localhost:4200
-
-## Lint
-- `npm run lint`
-
-## Tests (headless-ready, no Chrome required)
-- Unit/integration: `npm run test` (opens browser), or:
- - Headless (uses Puppeteer Chromium): `npm run test:headless`
- - Coverage report (HTML + text-summary): `npm run coverage`
-- Coverage thresholds are enforced in Karma (≈80% statements/lines/functions, 70% branches for global). Adjust in `karma.conf.js` if needed.
-
-### TDD workflow and test naming (Good/Bad/Ugly)
-- Follow strict TDD:
- 1) Write failing tests from user stories + acceptance criteria
- 2) Implement minimal code to pass
- 3) Refactor
-- Test case naming convention: each logical test should have three variants to clarify intent and data quality.
- - Example helpers in `src/testing/gbu.ts`:
- ```ts
- import { itGood, itBad, itUgly, trio } from 'src/testing/gbu';
-
- itGood('saves profile', () => {/* valid data */});
- itBad('saves profile', () => {/* incorrect data (edge) */});
- itUgly('saves profile', () => {/* invalid data/conditions */});
-
- // Or use trio
- trio('process order', {
- good: () => {/* ... */},
- bad: () => {/* ... */},
- ugly: () => {/* ... */},
- });
- ```
-- Do not modify router-outlet containers in tests/components.
-
-### Standalone Angular 20+ patterns (migration notes)
-- This app is moving to Angular standalone APIs. Prefer:
- - Standalone components (`standalone: true`, add `imports: []` per component)
- - `provideRouter(...)`, `provideHttpClient(...)`, `provideServiceWorker(...)` in `app.config.ts`
- - Translation is configured via `app.config.ts` using `TranslateModule.forRoot(...)` and an HTTP loader.
-- Legacy NgModules should be converted progressively. If an `NgModule` remains but is unrouted/unreferenced, keep it harmlessly until deletion is approved. Do not alter the main router-outlet page context panel.
-
-### Web Awesome + Font Awesome (Pro)
-- Both Font Awesome and Web Awesome are integrated. Do not remove. Web Awesome assets are copied via `angular.json` assets, and its base path is set at runtime in `app.ts`:
- ```ts
- import('@awesome.me/webawesome').then(m => m.setBasePath('/assets/web-awesome'));
- ```
-- CSS includes are defined in `angular.json` and `src/styles.css`.
-
-### SSR and production
-- Build (browser + server): `npm run build`
-- Serve SSR bundle: `npm run serve` → http://localhost:4000
-
-### Notes for other LLMs / contributors
-- Respect the constraints:
- - Do NOT edit the router-outlet main panel; pages/services are the focus
- - Preserve existing functionality; do not remove Web Awesome/Font Awesome
- - Use strict TDD and Good/Bad/Ugly naming for tests
- - Keep or improve code coverage ≥ configured thresholds for changed files
-- Use Angular 20+ standalone patterns; update `app.config.ts` for global providers.
-- For tests, prefer headless runs via Puppeteer (no local Chrome needed).
-
-### Author
-- Author: danny
diff --git a/cmd/core-gui/frontend.old/angular.json b/cmd/core-gui/frontend.old/angular.json
deleted file mode 100644
index c32e185..0000000
--- a/cmd/core-gui/frontend.old/angular.json
+++ /dev/null
@@ -1,132 +0,0 @@
-{
- "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
- "version": 1,
- "newProjectRoot": "projects",
- "projects": {
- "lthn.io": {
- "projectType": "application",
- "schematics": {},
- "root": "",
- "sourceRoot": "src",
- "prefix": "app",
- "architect": {
- "build": {
- "builder": "@angular/build:application",
- "options": {
- "browser": "src/main.ts",
- "polyfills": [
- "zone.js"
- ],
- "tsConfig": "tsconfig.app.json",
- "assets": [
- {
- "glob": "**/*",
- "input": "public"
- },
- {
- "glob": "@awesome.me/webawesome/**/*.*",
- "input": "node_modules/",
- "output": "/"
- },
- "src/sitemap.xml",
- "src/robots.txt"
- ],
- "styles": [
- "node_modules/@fortawesome/fontawesome-free/css/all.min.css",
- "src/styles.css"
- ],
- "scripts": [],
- "define": {
- "import.meta.vitest": "undefined"
- }
- },
- "configurations": {
- "production": {
- "budgets": [
- {
- "type": "initial",
- "maximumWarning": "1MB",
- "maximumError": "1MB"
- },
- {
- "type": "anyComponentStyle",
- "maximumWarning": "4kB",
- "maximumError": "8kB"
- }
- ],
- "outputHashing": "all",
- "serviceWorker": "ngsw-config.json",
- "server": "src/main.server.ts",
- "outputMode": "server",
- "ssr": {
- "entry": "src/server.ts"
- }
- },
- "development": {
- "optimization": false,
- "extractLicenses": false,
- "sourceMap": true,
- "fileReplacements": [
- {
- "replace": "src/environments/environment.ts",
- "with": "src/environments/environment.development.ts"
- }
- ]
- }
- },
- "defaultConfiguration": "development"
- },
- "serve": {
- "builder": "@angular/build:dev-server",
- "configurations": {
- "production": {
- "buildTarget": "lthn.io:build:production"
- },
- "development": {
- "buildTarget": "lthn.io:build:development"
- }
- },
- "defaultConfiguration": "development"
- },
- "extract-i18n": {
- "builder": "@angular/build:extract-i18n"
- },
- "test": {
- "builder": "@angular/build:karma",
- "options": {
- "polyfills": [
- "zone.js",
- "zone.js/testing",
- "src/test.ts"
- ],
- "tsConfig": "tsconfig.spec.json",
- "assets": [
- {
- "glob": "**/*",
- "input": "public"
- }
- ],
- "styles": [
- "src/styles.css"
- ]
- }
- },
- "lint": {
- "builder": "@angular-eslint/builder:lint",
- "options": {
- "lintFilePatterns": [
- "src/**/*.ts",
- "src/**/*.html"
- ]
- }
- }
- }
- }
- },
- "cli": {
- "schematicCollections": [
- "angular-eslint"
- ],
- "analytics": false
- }
-}
diff --git a/cmd/core-gui/frontend.old/eslint.config.js b/cmd/core-gui/frontend.old/eslint.config.js
deleted file mode 100644
index 225b05e..0000000
--- a/cmd/core-gui/frontend.old/eslint.config.js
+++ /dev/null
@@ -1,63 +0,0 @@
-// @ts-check
-const eslint = require("@eslint/js");
-const tseslint = require("typescript-eslint");
-const angular = require("angular-eslint");
-
-module.exports = tseslint.config(
- {
- files: ["**/*.ts"],
- extends: [
- eslint.configs.recommended,
- ...tseslint.configs.recommended,
- ...tseslint.configs.stylistic,
- ...angular.configs.tsRecommended,
- ],
- processor: angular.processInlineTemplates,
- rules: {
- "@angular-eslint/directive-selector": [
- "error",
- {
- type: "attribute",
- prefix: "app",
- style: "camelCase",
- },
- ],
- "@angular-eslint/component-selector": [
- "error",
- {
- type: "element",
- prefix: "app",
- style: "kebab-case",
- },
- ],
- "@angular-eslint/component-class-suffix": [
- "error",
- {
- suffixes: ["", "Component"]
- }
- ],
- "@angular-eslint/prefer-inject": "off",
- "@typescript-eslint/no-explicit-any": "off",
- "@typescript-eslint/no-unused-vars": [
- "error",
- { "argsIgnorePattern": "^_", "varsIgnorePattern": "^_" }
- ],
- "no-undefined": "off",
- "no-var": "error",
- "prefer-const": "error",
- "func-names": "error",
- "id-length": "error",
- "newline-before-return": "error",
- "space-before-blocks": "error",
- "no-alert": "error"
- },
- },
- {
- files: ["**/*.html"],
- extends: [
- ...angular.configs.templateRecommended,
- ...angular.configs.templateAccessibility,
- ],
- rules: {},
- }
-);
diff --git a/cmd/core-gui/frontend.old/karma.conf.js b/cmd/core-gui/frontend.old/karma.conf.js
deleted file mode 100644
index d5d1ab2..0000000
--- a/cmd/core-gui/frontend.old/karma.conf.js
+++ /dev/null
@@ -1,61 +0,0 @@
-process.env.CHROME_BIN = process.env.CHROME_BIN || (function() {
- try { return require('puppeteer').executablePath(); } catch { return undefined; }
-})();
-
-module.exports = function (config) {
- config.set({
- basePath: '',
- frameworks: ['jasmine', '@angular-devkit/build-angular'],
- plugins: [
- require('karma-jasmine'),
- require('karma-chrome-launcher'),
- require('karma-jasmine-html-reporter'),
- require('karma-coverage'),
- require('@angular-devkit/build-angular/plugins/karma')
- ],
- client: {
- jasmine: {
- // you can add configuration options for Jasmine here
- // the possible options are listed at https://jasmine.github.io/api/edge/Configuration.html
- // for example, you can disable the random execution order
- random: true
- },
- clearContext: false // leave Jasmine Spec Runner output visible in browser
- },
- jasmineHtmlReporter: {
- suppressAll: true // removes the duplicated traces
- },
- coverageReporter: {
- dir: require('path').join(__dirname, './coverage/angular-starter'),
- subdir: '.',
- reporters: [
- { type: 'html' },
- { type: 'text-summary' }
- ],
- check: {
- global: {
- statements: 80,
- branches: 70,
- functions: 80,
- lines: 80
- }
- }
- },
- reporters: ['progress', 'kjhtml'],
- browsers: ['Chrome'],
- customLaunchers: {
- ChromeHeadless: {
- base: 'Chrome',
- flags: [
- '--headless',
- '--disable-gpu',
- '--no-sandbox',
- '--disable-dev-shm-usage',
- '--disable-web-security',
- '--remote-debugging-port=9222'
- ]
- }
- },
- restartOnFileChange: true
- });
-};
diff --git a/cmd/core-gui/frontend.old/ngsw-config.json b/cmd/core-gui/frontend.old/ngsw-config.json
deleted file mode 100644
index 69edd28..0000000
--- a/cmd/core-gui/frontend.old/ngsw-config.json
+++ /dev/null
@@ -1,30 +0,0 @@
-{
- "$schema": "./node_modules/@angular/service-worker/config/schema.json",
- "index": "/index.html",
- "assetGroups": [
- {
- "name": "app",
- "installMode": "prefetch",
- "resources": {
- "files": [
- "/favicon.ico",
- "/index.csr.html",
- "/index.html",
- "/manifest.webmanifest",
- "/*.css",
- "/*.js"
- ]
- }
- },
- {
- "name": "assets",
- "installMode": "lazy",
- "updateMode": "prefetch",
- "resources": {
- "files": [
- "/**/*.(svg|cur|jpg|jpeg|png|apng|webp|avif|gif|otf|ttf|woff|woff2)"
- ]
- }
- }
- ]
-}
diff --git a/cmd/core-gui/frontend.old/package-lock.json b/cmd/core-gui/frontend.old/package-lock.json
deleted file mode 100644
index f2449b9..0000000
--- a/cmd/core-gui/frontend.old/package-lock.json
+++ /dev/null
@@ -1,12685 +0,0 @@
-{
- "name": "lthn.io",
- "version": "20.3.2",
- "lockfileVersion": 3,
- "requires": true,
- "packages": {
- "": {
- "name": "lthn.io",
- "version": "20.3.2",
- "dependencies": {
- "@angular/common": "^20.3.2",
- "@angular/compiler": "^20.3.2",
- "@angular/core": "^20.3.2",
- "@angular/forms": "^20.3.2",
- "@angular/platform-browser": "^20.3.2",
- "@angular/platform-server": "^20.3.2",
- "@angular/router": "^20.3.2",
- "@angular/service-worker": "^20.3.2",
- "@angular/ssr": "^20.3.3",
- "@awesome.me/kit-2e7e02d1b1": "^1.0.6",
- "@awesome.me/webawesome": "file:~/Code/lib/webawesome",
- "@fortawesome/fontawesome-free": "^7.0.1",
- "@ngx-translate/core": "^17.0.0",
- "@ngx-translate/http-loader": "^17.0.0",
- "bootstrap": "^5.3.8",
- "express": "^5.1.0",
- "rxjs": "^7.8.2",
- "tslib": "^2.8.1",
- "uuid": "^13.0.0",
- "zone.js": "^0.15.1"
- },
- "devDependencies": {
- "@angular/build": "^20.3.3",
- "@angular/cli": "^20.3.3",
- "@angular/compiler-cli": "^20.3.2",
- "@types/express": "^5.0.3",
- "@types/jasmine": "^5.1.9",
- "@types/node": "^24.6.0",
- "angular-eslint": "^20.3.0",
- "eslint": "^9.36.0",
- "jasmine-core": "^5.11.0",
- "karma": "^6.4.4",
- "karma-chrome-launcher": "^3.2.0",
- "karma-coverage": "^2.2.1",
- "karma-jasmine": "^5.1.0",
- "karma-jasmine-html-reporter": "^2.1.0",
- "puppeteer": "^23.7.0",
- "typescript": "~5.8.3",
- "typescript-eslint": "^8.45.0"
- }
- },
- "../../../../../../Downloads/webawesome-zip": {
- "name": "@awesome.me/webawesome",
- "version": "3.0.0",
- "extraneous": true,
- "license": "MIT",
- "dependencies": {
- "@ctrl/tinycolor": "4.1.0",
- "@floating-ui/dom": "^1.6.13",
- "@lit/react": "^1.0.8",
- "@shoelace-style/animations": "^1.2.0",
- "@shoelace-style/localize": "^3.2.1",
- "composed-offset-position": "^0.0.6",
- "lit": "^3.2.1",
- "nanoid": "^5.1.5",
- "qr-creator": "^1.0.0"
- },
- "devDependencies": {
- "@wc-toolkit/jsx-types": "^1.3.0",
- "eleventy-plugin-git-commit-date": "^0.1.3",
- "esbuild": "^0.25.11"
- },
- "engines": {
- "node": ">=14.17.0"
- }
- },
- "../../../../../lib/webawesome": {
- "name": "@awesome.me/webawesome",
- "version": "3.0.0",
- "license": "MIT",
- "dependencies": {
- "@ctrl/tinycolor": "4.1.0",
- "@floating-ui/dom": "^1.6.13",
- "@lit/react": "^1.0.8",
- "@shoelace-style/animations": "^1.2.0",
- "@shoelace-style/localize": "^3.2.1",
- "composed-offset-position": "^0.0.6",
- "lit": "^3.2.1",
- "nanoid": "^5.1.5",
- "qr-creator": "^1.0.0"
- },
- "devDependencies": {
- "@wc-toolkit/jsx-types": "^1.3.0",
- "eleventy-plugin-git-commit-date": "^0.1.3",
- "esbuild": "^0.25.11"
- },
- "engines": {
- "node": ">=14.17.0"
- }
- },
- "node_modules/@algolia/abtesting": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@algolia/abtesting/-/abtesting-1.1.0.tgz",
- "integrity": "sha512-sEyWjw28a/9iluA37KLGu8vjxEIlb60uxznfTUmXImy7H5NvbpSO6yYgmgH5KiD7j+zTUUihiST0jEP12IoXow==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@algolia/client-common": "5.35.0",
- "@algolia/requester-browser-xhr": "5.35.0",
- "@algolia/requester-fetch": "5.35.0",
- "@algolia/requester-node-http": "5.35.0"
- },
- "engines": {
- "node": ">= 14.0.0"
- }
- },
- "node_modules/@algolia/client-abtesting": {
- "version": "5.35.0",
- "resolved": "https://registry.npmjs.org/@algolia/client-abtesting/-/client-abtesting-5.35.0.tgz",
- "integrity": "sha512-uUdHxbfHdoppDVflCHMxRlj49/IllPwwQ2cQ8DLC4LXr3kY96AHBpW0dMyi6ygkn2MtFCc6BxXCzr668ZRhLBQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@algolia/client-common": "5.35.0",
- "@algolia/requester-browser-xhr": "5.35.0",
- "@algolia/requester-fetch": "5.35.0",
- "@algolia/requester-node-http": "5.35.0"
- },
- "engines": {
- "node": ">= 14.0.0"
- }
- },
- "node_modules/@algolia/client-analytics": {
- "version": "5.35.0",
- "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-5.35.0.tgz",
- "integrity": "sha512-SunAgwa9CamLcRCPnPHx1V2uxdQwJGqb1crYrRWktWUdld0+B2KyakNEeVn5lln4VyeNtW17Ia7V7qBWyM/Skw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@algolia/client-common": "5.35.0",
- "@algolia/requester-browser-xhr": "5.35.0",
- "@algolia/requester-fetch": "5.35.0",
- "@algolia/requester-node-http": "5.35.0"
- },
- "engines": {
- "node": ">= 14.0.0"
- }
- },
- "node_modules/@algolia/client-common": {
- "version": "5.35.0",
- "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-5.35.0.tgz",
- "integrity": "sha512-ipE0IuvHu/bg7TjT2s+187kz/E3h5ssfTtjpg1LbWMgxlgiaZIgTTbyynM7NfpSJSKsgQvCQxWjGUO51WSCu7w==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 14.0.0"
- }
- },
- "node_modules/@algolia/client-insights": {
- "version": "5.35.0",
- "resolved": "https://registry.npmjs.org/@algolia/client-insights/-/client-insights-5.35.0.tgz",
- "integrity": "sha512-UNbCXcBpqtzUucxExwTSfAe8gknAJ485NfPN6o1ziHm6nnxx97piIbcBQ3edw823Tej2Wxu1C0xBY06KgeZ7gA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@algolia/client-common": "5.35.0",
- "@algolia/requester-browser-xhr": "5.35.0",
- "@algolia/requester-fetch": "5.35.0",
- "@algolia/requester-node-http": "5.35.0"
- },
- "engines": {
- "node": ">= 14.0.0"
- }
- },
- "node_modules/@algolia/client-personalization": {
- "version": "5.35.0",
- "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-5.35.0.tgz",
- "integrity": "sha512-/KWjttZ6UCStt4QnWoDAJ12cKlQ+fkpMtyPmBgSS2WThJQdSV/4UWcqCUqGH7YLbwlj3JjNirCu3Y7uRTClxvA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@algolia/client-common": "5.35.0",
- "@algolia/requester-browser-xhr": "5.35.0",
- "@algolia/requester-fetch": "5.35.0",
- "@algolia/requester-node-http": "5.35.0"
- },
- "engines": {
- "node": ">= 14.0.0"
- }
- },
- "node_modules/@algolia/client-query-suggestions": {
- "version": "5.35.0",
- "resolved": "https://registry.npmjs.org/@algolia/client-query-suggestions/-/client-query-suggestions-5.35.0.tgz",
- "integrity": "sha512-8oCuJCFf/71IYyvQQC+iu4kgViTODbXDk3m7yMctEncRSRV+u2RtDVlpGGfPlJQOrAY7OONwJlSHkmbbm2Kp/w==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@algolia/client-common": "5.35.0",
- "@algolia/requester-browser-xhr": "5.35.0",
- "@algolia/requester-fetch": "5.35.0",
- "@algolia/requester-node-http": "5.35.0"
- },
- "engines": {
- "node": ">= 14.0.0"
- }
- },
- "node_modules/@algolia/client-search": {
- "version": "5.35.0",
- "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-5.35.0.tgz",
- "integrity": "sha512-FfmdHTrXhIduWyyuko1YTcGLuicVbhUyRjO3HbXE4aP655yKZgdTIfMhZ/V5VY9bHuxv/fGEh3Od1Lvv2ODNTg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@algolia/client-common": "5.35.0",
- "@algolia/requester-browser-xhr": "5.35.0",
- "@algolia/requester-fetch": "5.35.0",
- "@algolia/requester-node-http": "5.35.0"
- },
- "engines": {
- "node": ">= 14.0.0"
- }
- },
- "node_modules/@algolia/ingestion": {
- "version": "1.35.0",
- "resolved": "https://registry.npmjs.org/@algolia/ingestion/-/ingestion-1.35.0.tgz",
- "integrity": "sha512-gPzACem9IL1Co8mM1LKMhzn1aSJmp+Vp434An4C0OBY4uEJRcqsLN3uLBlY+bYvFg8C8ImwM9YRiKczJXRk0XA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@algolia/client-common": "5.35.0",
- "@algolia/requester-browser-xhr": "5.35.0",
- "@algolia/requester-fetch": "5.35.0",
- "@algolia/requester-node-http": "5.35.0"
- },
- "engines": {
- "node": ">= 14.0.0"
- }
- },
- "node_modules/@algolia/monitoring": {
- "version": "1.35.0",
- "resolved": "https://registry.npmjs.org/@algolia/monitoring/-/monitoring-1.35.0.tgz",
- "integrity": "sha512-w9MGFLB6ashI8BGcQoVt7iLgDIJNCn4OIu0Q0giE3M2ItNrssvb8C0xuwJQyTy1OFZnemG0EB1OvXhIHOvQwWw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@algolia/client-common": "5.35.0",
- "@algolia/requester-browser-xhr": "5.35.0",
- "@algolia/requester-fetch": "5.35.0",
- "@algolia/requester-node-http": "5.35.0"
- },
- "engines": {
- "node": ">= 14.0.0"
- }
- },
- "node_modules/@algolia/recommend": {
- "version": "5.35.0",
- "resolved": "https://registry.npmjs.org/@algolia/recommend/-/recommend-5.35.0.tgz",
- "integrity": "sha512-AhrVgaaXAb8Ue0u2nuRWwugt0dL5UmRgS9LXe0Hhz493a8KFeZVUE56RGIV3hAa6tHzmAV7eIoqcWTQvxzlJeQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@algolia/client-common": "5.35.0",
- "@algolia/requester-browser-xhr": "5.35.0",
- "@algolia/requester-fetch": "5.35.0",
- "@algolia/requester-node-http": "5.35.0"
- },
- "engines": {
- "node": ">= 14.0.0"
- }
- },
- "node_modules/@algolia/requester-browser-xhr": {
- "version": "5.35.0",
- "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.35.0.tgz",
- "integrity": "sha512-diY415KLJZ6x1Kbwl9u96Jsz0OstE3asjXtJ9pmk1d+5gPuQ5jQyEsgC+WmEXzlec3iuVszm8AzNYYaqw6B+Zw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@algolia/client-common": "5.35.0"
- },
- "engines": {
- "node": ">= 14.0.0"
- }
- },
- "node_modules/@algolia/requester-fetch": {
- "version": "5.35.0",
- "resolved": "https://registry.npmjs.org/@algolia/requester-fetch/-/requester-fetch-5.35.0.tgz",
- "integrity": "sha512-uydqnSmpAjrgo8bqhE9N1wgcB98psTRRQXcjc4izwMB7yRl9C8uuAQ/5YqRj04U0mMQ+fdu2fcNF6m9+Z1BzDQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@algolia/client-common": "5.35.0"
- },
- "engines": {
- "node": ">= 14.0.0"
- }
- },
- "node_modules/@algolia/requester-node-http": {
- "version": "5.35.0",
- "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-5.35.0.tgz",
- "integrity": "sha512-RgLX78ojYOrThJHrIiPzT4HW3yfQa0D7K+MQ81rhxqaNyNBu4F1r+72LNHYH/Z+y9I1Mrjrd/c/Ue5zfDgAEjQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@algolia/client-common": "5.35.0"
- },
- "engines": {
- "node": ">= 14.0.0"
- }
- },
- "node_modules/@ampproject/remapping": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz",
- "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "@jridgewell/gen-mapping": "^0.3.5",
- "@jridgewell/trace-mapping": "^0.3.24"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@angular-devkit/architect": {
- "version": "0.2003.3",
- "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2003.3.tgz",
- "integrity": "sha512-DOnGyv9g24vaDzf5koLOcVri1kYJIBD9UKiJWOWk4H5cFlcpTXQ+PilPmDq6A+X94Tt4MZHImmKsk6LLRPIwFg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@angular-devkit/core": "20.3.3",
- "rxjs": "7.8.2"
- },
- "engines": {
- "node": "^20.19.0 || ^22.12.0 || >=24.0.0",
- "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
- "yarn": ">= 1.13.0"
- }
- },
- "node_modules/@angular-devkit/core": {
- "version": "20.3.3",
- "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-20.3.3.tgz",
- "integrity": "sha512-2T5mX2duLapZYPYmXUSUe9VW8Dhu10nVBVvEp31jSE6xvjbPM5mlsv6+fks1E4RjhzvaamY9bm3WgwYwNiEV5g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ajv": "8.17.1",
- "ajv-formats": "3.0.1",
- "jsonc-parser": "3.3.1",
- "picomatch": "4.0.3",
- "rxjs": "7.8.2",
- "source-map": "0.7.6"
- },
- "engines": {
- "node": "^20.19.0 || ^22.12.0 || >=24.0.0",
- "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
- "yarn": ">= 1.13.0"
- },
- "peerDependencies": {
- "chokidar": "^4.0.0"
- },
- "peerDependenciesMeta": {
- "chokidar": {
- "optional": true
- }
- }
- },
- "node_modules/@angular-devkit/schematics": {
- "version": "20.3.3",
- "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-20.3.3.tgz",
- "integrity": "sha512-LDn39BjyQLAK/DaVamLElMtI0UoCZIs4jKcMEv8PJ/nnBmrYFHVavWPggeFWMycjeXsdX34Msiml88HZWlXypw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@angular-devkit/core": "20.3.3",
- "jsonc-parser": "3.3.1",
- "magic-string": "0.30.17",
- "ora": "8.2.0",
- "rxjs": "7.8.2"
- },
- "engines": {
- "node": "^20.19.0 || ^22.12.0 || >=24.0.0",
- "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
- "yarn": ">= 1.13.0"
- }
- },
- "node_modules/@angular-eslint/builder": {
- "version": "20.3.0",
- "resolved": "https://registry.npmjs.org/@angular-eslint/builder/-/builder-20.3.0.tgz",
- "integrity": "sha512-3XpWLdh+/K4+r0ChkKW00SXWyBA7ShMpE+Pt1XUmIu4srJgGRnt8e+kC4Syi+s2t5QS7PjlwRaelB1KfSMXZ5A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@angular-devkit/architect": ">= 0.2000.0 < 0.2100.0",
- "@angular-devkit/core": ">= 20.0.0 < 21.0.0"
- },
- "peerDependencies": {
- "eslint": "^8.57.0 || ^9.0.0",
- "typescript": "*"
- }
- },
- "node_modules/@angular-eslint/bundled-angular-compiler": {
- "version": "20.3.0",
- "resolved": "https://registry.npmjs.org/@angular-eslint/bundled-angular-compiler/-/bundled-angular-compiler-20.3.0.tgz",
- "integrity": "sha512-QwuNnmRNr/uNj89TxknPbGcs5snX1w7RoJJPNAsfb2QGcHzUTQovS8hqm9kaDZdpUJDPP7jt7B6F0+EjrPAXRA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@angular-eslint/eslint-plugin": {
- "version": "20.3.0",
- "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin/-/eslint-plugin-20.3.0.tgz",
- "integrity": "sha512-7ghzGTiExrgTetDQ6IPP5uXSa94Xhtzp2VHCIa58EcUb7oMv06HWZ1Uss3xgFmACsLpN+vayKJIdFiboqaGVRA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@angular-eslint/bundled-angular-compiler": "20.3.0",
- "@angular-eslint/utils": "20.3.0",
- "ts-api-utils": "^2.1.0"
- },
- "peerDependencies": {
- "@typescript-eslint/utils": "^7.11.0 || ^8.0.0",
- "eslint": "^8.57.0 || ^9.0.0",
- "typescript": "*"
- }
- },
- "node_modules/@angular-eslint/eslint-plugin-template": {
- "version": "20.3.0",
- "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin-template/-/eslint-plugin-template-20.3.0.tgz",
- "integrity": "sha512-WMJDJfybOLCiN4QrOyrLl+Zt5F+A/xoDYMWTdn+LgACheLs2tguVQiwf+oCgHnHGcsTsulPYlRHldKBGZMgs4w==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@angular-eslint/bundled-angular-compiler": "20.3.0",
- "@angular-eslint/utils": "20.3.0",
- "aria-query": "5.3.2",
- "axobject-query": "4.1.0"
- },
- "peerDependencies": {
- "@angular-eslint/template-parser": "20.3.0",
- "@typescript-eslint/types": "^7.11.0 || ^8.0.0",
- "@typescript-eslint/utils": "^7.11.0 || ^8.0.0",
- "eslint": "^8.57.0 || ^9.0.0",
- "typescript": "*"
- }
- },
- "node_modules/@angular-eslint/schematics": {
- "version": "20.3.0",
- "resolved": "https://registry.npmjs.org/@angular-eslint/schematics/-/schematics-20.3.0.tgz",
- "integrity": "sha512-4n92tHKIJm1PP+FjhnmO7AMpvKdRIoF+YgF38oUU7aMJqfZ3RXIhazMMxw2u3VU1MisKH766KSll++c4LgarVA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@angular-devkit/core": ">= 20.0.0 < 21.0.0",
- "@angular-devkit/schematics": ">= 20.0.0 < 21.0.0",
- "@angular-eslint/eslint-plugin": "20.3.0",
- "@angular-eslint/eslint-plugin-template": "20.3.0",
- "ignore": "7.0.5",
- "semver": "7.7.2",
- "strip-json-comments": "3.1.1"
- }
- },
- "node_modules/@angular-eslint/template-parser": {
- "version": "20.3.0",
- "resolved": "https://registry.npmjs.org/@angular-eslint/template-parser/-/template-parser-20.3.0.tgz",
- "integrity": "sha512-gB564h/kZ7siWvgHDETU++sk5e25qFfVaizLaa6KoBEYFP6dOCiedz15LTcA0TsXp0rGu6Z6zkl291iSM1qzDA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@angular-eslint/bundled-angular-compiler": "20.3.0",
- "eslint-scope": "^8.0.2"
- },
- "peerDependencies": {
- "eslint": "^8.57.0 || ^9.0.0",
- "typescript": "*"
- }
- },
- "node_modules/@angular-eslint/utils": {
- "version": "20.3.0",
- "resolved": "https://registry.npmjs.org/@angular-eslint/utils/-/utils-20.3.0.tgz",
- "integrity": "sha512-7XOQeNXgyhznDwoP1TwPrCMq/uXKJHQgCVPFREkJGKbNf/jzNldB7iV1eqpBzUQIPEQFgfcDG67dexpMAq3N4g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@angular-eslint/bundled-angular-compiler": "20.3.0"
- },
- "peerDependencies": {
- "@typescript-eslint/utils": "^7.11.0 || ^8.0.0",
- "eslint": "^8.57.0 || ^9.0.0",
- "typescript": "*"
- }
- },
- "node_modules/@angular/build": {
- "version": "20.3.3",
- "resolved": "https://registry.npmjs.org/@angular/build/-/build-20.3.3.tgz",
- "integrity": "sha512-WhwAbovHAxDbNeR5jB2IS/SVs+yQg9NETFeJ5f7T3n/414ULkGOhXn+29i1rzwJhf1uqM9lsedcv2tKn1N24/A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@ampproject/remapping": "2.3.0",
- "@angular-devkit/architect": "0.2003.3",
- "@babel/core": "7.28.3",
- "@babel/helper-annotate-as-pure": "7.27.3",
- "@babel/helper-split-export-declaration": "7.24.7",
- "@inquirer/confirm": "5.1.14",
- "@vitejs/plugin-basic-ssl": "2.1.0",
- "beasties": "0.3.5",
- "browserslist": "^4.23.0",
- "esbuild": "0.25.9",
- "https-proxy-agent": "7.0.6",
- "istanbul-lib-instrument": "6.0.3",
- "jsonc-parser": "3.3.1",
- "listr2": "9.0.1",
- "magic-string": "0.30.17",
- "mrmime": "2.0.1",
- "parse5-html-rewriting-stream": "8.0.0",
- "picomatch": "4.0.3",
- "piscina": "5.1.3",
- "rolldown": "1.0.0-beta.38",
- "sass": "1.90.0",
- "semver": "7.7.2",
- "source-map-support": "0.5.21",
- "tinyglobby": "0.2.14",
- "vite": "7.1.5",
- "watchpack": "2.4.4"
- },
- "engines": {
- "node": "^20.19.0 || ^22.12.0 || >=24.0.0",
- "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
- "yarn": ">= 1.13.0"
- },
- "optionalDependencies": {
- "lmdb": "3.4.2"
- },
- "peerDependencies": {
- "@angular/compiler": "^20.0.0",
- "@angular/compiler-cli": "^20.0.0",
- "@angular/core": "^20.0.0",
- "@angular/localize": "^20.0.0",
- "@angular/platform-browser": "^20.0.0",
- "@angular/platform-server": "^20.0.0",
- "@angular/service-worker": "^20.0.0",
- "@angular/ssr": "^20.3.3",
- "karma": "^6.4.0",
- "less": "^4.2.0",
- "ng-packagr": "^20.0.0",
- "postcss": "^8.4.0",
- "tailwindcss": "^2.0.0 || ^3.0.0 || ^4.0.0",
- "tslib": "^2.3.0",
- "typescript": ">=5.8 <6.0",
- "vitest": "^3.1.1"
- },
- "peerDependenciesMeta": {
- "@angular/core": {
- "optional": true
- },
- "@angular/localize": {
- "optional": true
- },
- "@angular/platform-browser": {
- "optional": true
- },
- "@angular/platform-server": {
- "optional": true
- },
- "@angular/service-worker": {
- "optional": true
- },
- "@angular/ssr": {
- "optional": true
- },
- "karma": {
- "optional": true
- },
- "less": {
- "optional": true
- },
- "ng-packagr": {
- "optional": true
- },
- "postcss": {
- "optional": true
- },
- "tailwindcss": {
- "optional": true
- },
- "vitest": {
- "optional": true
- }
- }
- },
- "node_modules/@angular/cli": {
- "version": "20.3.3",
- "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-20.3.3.tgz",
- "integrity": "sha512-3c8xCklJ0C0T6ETSncAoXlOYNi3x7vLT3PS56rIaQ0jtlvD4Y+RQakd3+iffVAapvh/JB27WNor8pJRThLZ/jg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@angular-devkit/architect": "0.2003.3",
- "@angular-devkit/core": "20.3.3",
- "@angular-devkit/schematics": "20.3.3",
- "@inquirer/prompts": "7.8.2",
- "@listr2/prompt-adapter-inquirer": "3.0.1",
- "@modelcontextprotocol/sdk": "1.17.3",
- "@schematics/angular": "20.3.3",
- "@yarnpkg/lockfile": "1.1.0",
- "algoliasearch": "5.35.0",
- "ini": "5.0.0",
- "jsonc-parser": "3.3.1",
- "listr2": "9.0.1",
- "npm-package-arg": "13.0.0",
- "pacote": "21.0.0",
- "resolve": "1.22.10",
- "semver": "7.7.2",
- "yargs": "18.0.0",
- "zod": "3.25.76"
- },
- "bin": {
- "ng": "bin/ng.js"
- },
- "engines": {
- "node": "^20.19.0 || ^22.12.0 || >=24.0.0",
- "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
- "yarn": ">= 1.13.0"
- }
- },
- "node_modules/@angular/common": {
- "version": "20.3.2",
- "resolved": "https://registry.npmjs.org/@angular/common/-/common-20.3.2.tgz",
- "integrity": "sha512-5V9AzLhCA1dNhF+mvihmdHoZHbEhIb1jNYRA1/JMheR+G7NR8Mznu6RmWaKSWZ4AJeSJN8rizWN2wpVPWTKjSQ==",
- "license": "MIT",
- "dependencies": {
- "tslib": "^2.3.0"
- },
- "engines": {
- "node": "^20.19.0 || ^22.12.0 || >=24.0.0"
- },
- "peerDependencies": {
- "@angular/core": "20.3.2",
- "rxjs": "^6.5.3 || ^7.4.0"
- }
- },
- "node_modules/@angular/compiler": {
- "version": "20.3.2",
- "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-20.3.2.tgz",
- "integrity": "sha512-5fSzkPmRomZ9H43c82FJWLwdOi7MICMimP1y1oYJZcUh3jYRhXUrQvD0jifdRVkkgKNjaZYlMr0NkrYQFgFong==",
- "license": "MIT",
- "dependencies": {
- "tslib": "^2.3.0"
- },
- "engines": {
- "node": "^20.19.0 || ^22.12.0 || >=24.0.0"
- }
- },
- "node_modules/@angular/compiler-cli": {
- "version": "20.3.2",
- "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-20.3.2.tgz",
- "integrity": "sha512-rLox2THiALVQqYGUaxZ6YD8qUoXIOGTw3s0tim9/U65GuXGRtYgG0ZQWYp3yjEBes0Ksx2/15eFPp1Ol4FdEKQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/core": "7.28.3",
- "@jridgewell/sourcemap-codec": "^1.4.14",
- "chokidar": "^4.0.0",
- "convert-source-map": "^1.5.1",
- "reflect-metadata": "^0.2.0",
- "semver": "^7.0.0",
- "tslib": "^2.3.0",
- "yargs": "^18.0.0"
- },
- "bin": {
- "ng-xi18n": "bundles/src/bin/ng_xi18n.js",
- "ngc": "bundles/src/bin/ngc.js"
- },
- "engines": {
- "node": "^20.19.0 || ^22.12.0 || >=24.0.0"
- },
- "peerDependencies": {
- "@angular/compiler": "20.3.2",
- "typescript": ">=5.8 <6.0"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@angular/core": {
- "version": "20.3.2",
- "resolved": "https://registry.npmjs.org/@angular/core/-/core-20.3.2.tgz",
- "integrity": "sha512-88uPgs5LjtnywnQaZE2ShBb1wa8IuD6jWs4nc4feo32QdBc55tjebTBFJSHbi3mUVAp0eS4wI6ITo0YIb01H4g==",
- "license": "MIT",
- "dependencies": {
- "tslib": "^2.3.0"
- },
- "engines": {
- "node": "^20.19.0 || ^22.12.0 || >=24.0.0"
- },
- "peerDependencies": {
- "@angular/compiler": "20.3.2",
- "rxjs": "^6.5.3 || ^7.4.0",
- "zone.js": "~0.15.0"
- },
- "peerDependenciesMeta": {
- "@angular/compiler": {
- "optional": true
- },
- "zone.js": {
- "optional": true
- }
- }
- },
- "node_modules/@angular/forms": {
- "version": "20.3.2",
- "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-20.3.2.tgz",
- "integrity": "sha512-ECIbtwc7n9fPbiZXZVaoZpSiOksgcNbZ27oUN9BT7EmoXRzBw6yDL2UX6Ig7pEKhQGyBkKB+TMerRwTDVkkCWg==",
- "license": "MIT",
- "dependencies": {
- "tslib": "^2.3.0"
- },
- "engines": {
- "node": "^20.19.0 || ^22.12.0 || >=24.0.0"
- },
- "peerDependencies": {
- "@angular/common": "20.3.2",
- "@angular/core": "20.3.2",
- "@angular/platform-browser": "20.3.2",
- "rxjs": "^6.5.3 || ^7.4.0"
- }
- },
- "node_modules/@angular/platform-browser": {
- "version": "20.3.2",
- "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-20.3.2.tgz",
- "integrity": "sha512-d9XcT2UuWZCc0UOtkCcPEnMcOFKNczahamT/Izg3H9jLS3IcT6l0ry23d/Xf0DRwhLYQdOZiG7l8HMZ1sWPMOg==",
- "license": "MIT",
- "dependencies": {
- "tslib": "^2.3.0"
- },
- "engines": {
- "node": "^20.19.0 || ^22.12.0 || >=24.0.0"
- },
- "peerDependencies": {
- "@angular/animations": "20.3.2",
- "@angular/common": "20.3.2",
- "@angular/core": "20.3.2"
- },
- "peerDependenciesMeta": {
- "@angular/animations": {
- "optional": true
- }
- }
- },
- "node_modules/@angular/platform-server": {
- "version": "20.3.2",
- "resolved": "https://registry.npmjs.org/@angular/platform-server/-/platform-server-20.3.2.tgz",
- "integrity": "sha512-D7tf5S5xxQQUDtw/dkMa2XePnxHwyZElN5FQP99ByiEy9PjT1iFjyKuP9jjHsI4Nmi+Juq0F1uo4azPfPaV/3w==",
- "license": "MIT",
- "dependencies": {
- "tslib": "^2.3.0",
- "xhr2": "^0.2.0"
- },
- "engines": {
- "node": "^20.19.0 || ^22.12.0 || >=24.0.0"
- },
- "peerDependencies": {
- "@angular/common": "20.3.2",
- "@angular/compiler": "20.3.2",
- "@angular/core": "20.3.2",
- "@angular/platform-browser": "20.3.2",
- "rxjs": "^6.5.3 || ^7.4.0"
- }
- },
- "node_modules/@angular/router": {
- "version": "20.3.2",
- "resolved": "https://registry.npmjs.org/@angular/router/-/router-20.3.2.tgz",
- "integrity": "sha512-+Crx6QpK00juoNU3A1vbVf4DQ7fduLe3DUdAob6a9Uj+IoWj2Ijd8zUWF8E0cfNNFotJ4Gost0lJORDvqKcC7A==",
- "license": "MIT",
- "dependencies": {
- "tslib": "^2.3.0"
- },
- "engines": {
- "node": "^20.19.0 || ^22.12.0 || >=24.0.0"
- },
- "peerDependencies": {
- "@angular/common": "20.3.2",
- "@angular/core": "20.3.2",
- "@angular/platform-browser": "20.3.2",
- "rxjs": "^6.5.3 || ^7.4.0"
- }
- },
- "node_modules/@angular/service-worker": {
- "version": "20.3.2",
- "resolved": "https://registry.npmjs.org/@angular/service-worker/-/service-worker-20.3.2.tgz",
- "integrity": "sha512-SdaJ61JrliZLHEQ7kY2L98FLsVcti9+GeKODJUsHpnS2dv9RVSmWKJSa01kLsdOY/6wc1h5EHwkTg1iGHK0aew==",
- "license": "MIT",
- "dependencies": {
- "tslib": "^2.3.0"
- },
- "bin": {
- "ngsw-config": "ngsw-config.js"
- },
- "engines": {
- "node": "^20.19.0 || ^22.12.0 || >=24.0.0"
- },
- "peerDependencies": {
- "@angular/core": "20.3.2",
- "rxjs": "^6.5.3 || ^7.4.0"
- }
- },
- "node_modules/@angular/ssr": {
- "version": "20.3.3",
- "resolved": "https://registry.npmjs.org/@angular/ssr/-/ssr-20.3.3.tgz",
- "integrity": "sha512-DdwpwfNcoiaiaPvcm3aL+k24JWB0OOTq8/oM8HY4gAZbGNTnn8n1gTbTq3qjLt8zFtCWWqVU0+ejBgHIEvmDOw==",
- "license": "MIT",
- "dependencies": {
- "tslib": "^2.3.0"
- },
- "peerDependencies": {
- "@angular/common": "^20.0.0",
- "@angular/core": "^20.0.0",
- "@angular/platform-server": "^20.0.0",
- "@angular/router": "^20.0.0"
- },
- "peerDependenciesMeta": {
- "@angular/platform-server": {
- "optional": true
- }
- }
- },
- "node_modules/@awesome.me/kit-2e7e02d1b1": {
- "version": "1.0.6",
- "resolved": "https://npm.fontawesome.com/@awesome.me/kit-2e7e02d1b1/-/kit-2e7e02d1b1-1.0.6.tgz",
- "integrity": "sha512-FWcO0CIV+z+jzf/lSPPjPKeB5juAHl+E4tPSwoZ7SZbwrHS7J323KeuPY3FuPM8TICy1VoP586z8YLjvkp8pzA==",
- "license": "UNLICENSED",
- "dependencies": {
- "@fortawesome/fontawesome-common-types": "^7.1.0"
- },
- "engines": {
- "node": ">=16"
- }
- },
- "node_modules/@awesome.me/webawesome": {
- "resolved": "../../../../../lib/webawesome",
- "link": true
- },
- "node_modules/@babel/code-frame": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz",
- "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==",
- "dev": true,
- "license": "MIT",
- "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.4",
- "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.4.tgz",
- "integrity": "sha512-YsmSKC29MJwf0gF8Rjjrg5LQCmyh+j/nD8/eP7f+BeoQTKYqs9RoWbjGOdy0+1Ekr68RJZMUOPVQaQisnIo4Rw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/core": {
- "version": "7.28.3",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.3.tgz",
- "integrity": "sha512-yDBHV9kQNcr2/sUr9jghVyz9C3Y5G2zUM2H2lo+9mKv4sFgbA8s8Z9t8D1jiTkGoO/NoIfKMyKWr4s6CN23ZwQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@ampproject/remapping": "^2.2.0",
- "@babel/code-frame": "^7.27.1",
- "@babel/generator": "^7.28.3",
- "@babel/helper-compilation-targets": "^7.27.2",
- "@babel/helper-module-transforms": "^7.28.3",
- "@babel/helpers": "^7.28.3",
- "@babel/parser": "^7.28.3",
- "@babel/template": "^7.27.2",
- "@babel/traverse": "^7.28.3",
- "@babel/types": "^7.28.2",
- "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/core/node_modules/convert-source-map": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
- "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@babel/core/node_modules/semver": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
- "dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- }
- },
- "node_modules/@babel/generator": {
- "version": "7.28.3",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.3.tgz",
- "integrity": "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/parser": "^7.28.3",
- "@babel/types": "^7.28.2",
- "@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-annotate-as-pure": {
- "version": "7.27.3",
- "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz",
- "integrity": "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/types": "^7.27.3"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-compilation-targets": {
- "version": "7.27.2",
- "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz",
- "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==",
- "dev": true,
- "license": "MIT",
- "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-compilation-targets/node_modules/semver": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
- "dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- }
- },
- "node_modules/@babel/helper-globals": {
- "version": "7.28.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz",
- "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-module-imports": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz",
- "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==",
- "dev": true,
- "license": "MIT",
- "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",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz",
- "integrity": "sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==",
- "dev": true,
- "license": "MIT",
- "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-split-export-declaration": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz",
- "integrity": "sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/types": "^7.24.7"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-string-parser": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz",
- "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-validator-identifier": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz",
- "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-validator-option": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz",
- "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helpers": {
- "version": "7.28.4",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.4.tgz",
- "integrity": "sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/template": "^7.27.2",
- "@babel/types": "^7.28.4"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/parser": {
- "version": "7.28.4",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.4.tgz",
- "integrity": "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/types": "^7.28.4"
- },
- "bin": {
- "parser": "bin/babel-parser.js"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@babel/template": {
- "version": "7.27.2",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz",
- "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==",
- "dev": true,
- "license": "MIT",
- "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.4",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.4.tgz",
- "integrity": "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/code-frame": "^7.27.1",
- "@babel/generator": "^7.28.3",
- "@babel/helper-globals": "^7.28.0",
- "@babel/parser": "^7.28.4",
- "@babel/template": "^7.27.2",
- "@babel/types": "^7.28.4",
- "debug": "^4.3.1"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/types": {
- "version": "7.28.4",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.4.tgz",
- "integrity": "sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-string-parser": "^7.27.1",
- "@babel/helper-validator-identifier": "^7.27.1"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@colors/colors": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz",
- "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.1.90"
- }
- },
- "node_modules/@emnapi/core": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.5.0.tgz",
- "integrity": "sha512-sbP8GzB1WDzacS8fgNPpHlp6C9VZe+SJP3F90W9rLemaQj2PzIuTEl1qDOYQf58YIpyjViI24y9aPWCjEzY2cg==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "dependencies": {
- "@emnapi/wasi-threads": "1.1.0",
- "tslib": "^2.4.0"
- }
- },
- "node_modules/@emnapi/runtime": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.5.0.tgz",
- "integrity": "sha512-97/BJ3iXHww3djw6hYIfErCZFee7qCtrneuLa20UXFCOTCfBM2cvQHjWJ2EG0s0MtdNwInarqCTz35i4wWXHsQ==",
- "dev": true,
- "license": "MIT",
- "optional": 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,
- "dependencies": {
- "tslib": "^2.4.0"
- }
- },
- "node_modules/@esbuild/aix-ppc64": {
- "version": "0.25.9",
- "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.9.tgz",
- "integrity": "sha512-OaGtL73Jck6pBKjNIe24BnFE6agGl+6KxDtTfHhy1HmhthfKouEcOhqpSL64K4/0WCtbKFLOdzD/44cJ4k9opA==",
- "cpu": [
- "ppc64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "aix"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/android-arm": {
- "version": "0.25.9",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.9.tgz",
- "integrity": "sha512-5WNI1DaMtxQ7t7B6xa572XMXpHAaI/9Hnhk8lcxF4zVN4xstUgTlvuGDorBguKEnZO70qwEcLpfifMLoxiPqHQ==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/android-arm64": {
- "version": "0.25.9",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.9.tgz",
- "integrity": "sha512-IDrddSmpSv51ftWslJMvl3Q2ZT98fUSL2/rlUXuVqRXHCs5EUF1/f+jbjF5+NG9UffUDMCiTyh8iec7u8RlTLg==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/android-x64": {
- "version": "0.25.9",
- "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.9.tgz",
- "integrity": "sha512-I853iMZ1hWZdNllhVZKm34f4wErd4lMyeV7BLzEExGEIZYsOzqDWDf+y082izYUE8gtJnYHdeDpN/6tUdwvfiw==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/darwin-arm64": {
- "version": "0.25.9",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.9.tgz",
- "integrity": "sha512-XIpIDMAjOELi/9PB30vEbVMs3GV1v2zkkPnuyRRURbhqjyzIINwj+nbQATh4H9GxUgH1kFsEyQMxwiLFKUS6Rg==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/darwin-x64": {
- "version": "0.25.9",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.9.tgz",
- "integrity": "sha512-jhHfBzjYTA1IQu8VyrjCX4ApJDnH+ez+IYVEoJHeqJm9VhG9Dh2BYaJritkYK3vMaXrf7Ogr/0MQ8/MeIefsPQ==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/freebsd-arm64": {
- "version": "0.25.9",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.9.tgz",
- "integrity": "sha512-z93DmbnY6fX9+KdD4Ue/H6sYs+bhFQJNCPZsi4XWJoYblUqT06MQUdBCpcSfuiN72AbqeBFu5LVQTjfXDE2A6Q==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "freebsd"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/freebsd-x64": {
- "version": "0.25.9",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.9.tgz",
- "integrity": "sha512-mrKX6H/vOyo5v71YfXWJxLVxgy1kyt1MQaD8wZJgJfG4gq4DpQGpgTB74e5yBeQdyMTbgxp0YtNj7NuHN0PoZg==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "freebsd"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/linux-arm": {
- "version": "0.25.9",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.9.tgz",
- "integrity": "sha512-HBU2Xv78SMgaydBmdor38lg8YDnFKSARg1Q6AT0/y2ezUAKiZvc211RDFHlEZRFNRVhcMamiToo7bDx3VEOYQw==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/linux-arm64": {
- "version": "0.25.9",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.9.tgz",
- "integrity": "sha512-BlB7bIcLT3G26urh5Dmse7fiLmLXnRlopw4s8DalgZ8ef79Jj4aUcYbk90g8iCa2467HX8SAIidbL7gsqXHdRw==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/linux-ia32": {
- "version": "0.25.9",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.9.tgz",
- "integrity": "sha512-e7S3MOJPZGp2QW6AK6+Ly81rC7oOSerQ+P8L0ta4FhVi+/j/v2yZzx5CqqDaWjtPFfYz21Vi1S0auHrap3Ma3A==",
- "cpu": [
- "ia32"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/linux-loong64": {
- "version": "0.25.9",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.9.tgz",
- "integrity": "sha512-Sbe10Bnn0oUAB2AalYztvGcK+o6YFFA/9829PhOCUS9vkJElXGdphz0A3DbMdP8gmKkqPmPcMJmJOrI3VYB1JQ==",
- "cpu": [
- "loong64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/linux-mips64el": {
- "version": "0.25.9",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.9.tgz",
- "integrity": "sha512-YcM5br0mVyZw2jcQeLIkhWtKPeVfAerES5PvOzaDxVtIyZ2NUBZKNLjC5z3/fUlDgT6w89VsxP2qzNipOaaDyA==",
- "cpu": [
- "mips64el"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/linux-ppc64": {
- "version": "0.25.9",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.9.tgz",
- "integrity": "sha512-++0HQvasdo20JytyDpFvQtNrEsAgNG2CY1CLMwGXfFTKGBGQT3bOeLSYE2l1fYdvML5KUuwn9Z8L1EWe2tzs1w==",
- "cpu": [
- "ppc64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/linux-riscv64": {
- "version": "0.25.9",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.9.tgz",
- "integrity": "sha512-uNIBa279Y3fkjV+2cUjx36xkx7eSjb8IvnL01eXUKXez/CBHNRw5ekCGMPM0BcmqBxBcdgUWuUXmVWwm4CH9kg==",
- "cpu": [
- "riscv64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/linux-s390x": {
- "version": "0.25.9",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.9.tgz",
- "integrity": "sha512-Mfiphvp3MjC/lctb+7D287Xw1DGzqJPb/J2aHHcHxflUo+8tmN/6d4k6I2yFR7BVo5/g7x2Monq4+Yew0EHRIA==",
- "cpu": [
- "s390x"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/linux-x64": {
- "version": "0.25.9",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.9.tgz",
- "integrity": "sha512-iSwByxzRe48YVkmpbgoxVzn76BXjlYFXC7NvLYq+b+kDjyyk30J0JY47DIn8z1MO3K0oSl9fZoRmZPQI4Hklzg==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/netbsd-arm64": {
- "version": "0.25.9",
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.9.tgz",
- "integrity": "sha512-9jNJl6FqaUG+COdQMjSCGW4QiMHH88xWbvZ+kRVblZsWrkXlABuGdFJ1E9L7HK+T0Yqd4akKNa/lO0+jDxQD4Q==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "netbsd"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/netbsd-x64": {
- "version": "0.25.9",
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.9.tgz",
- "integrity": "sha512-RLLdkflmqRG8KanPGOU7Rpg829ZHu8nFy5Pqdi9U01VYtG9Y0zOG6Vr2z4/S+/3zIyOxiK6cCeYNWOFR9QP87g==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "netbsd"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/openbsd-arm64": {
- "version": "0.25.9",
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.9.tgz",
- "integrity": "sha512-YaFBlPGeDasft5IIM+CQAhJAqS3St3nJzDEgsgFixcfZeyGPCd6eJBWzke5piZuZ7CtL656eOSYKk4Ls2C0FRQ==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "openbsd"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/openbsd-x64": {
- "version": "0.25.9",
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.9.tgz",
- "integrity": "sha512-1MkgTCuvMGWuqVtAvkpkXFmtL8XhWy+j4jaSO2wxfJtilVCi0ZE37b8uOdMItIHz4I6z1bWWtEX4CJwcKYLcuA==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "openbsd"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/openharmony-arm64": {
- "version": "0.25.9",
- "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.9.tgz",
- "integrity": "sha512-4Xd0xNiMVXKh6Fa7HEJQbrpP3m3DDn43jKxMjxLLRjWnRsfxjORYJlXPO4JNcXtOyfajXorRKY9NkOpTHptErg==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "openharmony"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/sunos-x64": {
- "version": "0.25.9",
- "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.9.tgz",
- "integrity": "sha512-WjH4s6hzo00nNezhp3wFIAfmGZ8U7KtrJNlFMRKxiI9mxEK1scOMAaa9i4crUtu+tBr+0IN6JCuAcSBJZfnphw==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "sunos"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/win32-arm64": {
- "version": "0.25.9",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.9.tgz",
- "integrity": "sha512-mGFrVJHmZiRqmP8xFOc6b84/7xa5y5YvR1x8djzXpJBSv/UsNK6aqec+6JDjConTgvvQefdGhFDAs2DLAds6gQ==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/win32-ia32": {
- "version": "0.25.9",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.9.tgz",
- "integrity": "sha512-b33gLVU2k11nVx1OhX3C8QQP6UHQK4ZtN56oFWvVXvz2VkDoe6fbG8TOgHFxEvqeqohmRnIHe5A1+HADk4OQww==",
- "cpu": [
- "ia32"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/win32-x64": {
- "version": "0.25.9",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.9.tgz",
- "integrity": "sha512-PPOl1mi6lpLNQxnGoyAfschAodRFYXJ+9fs6WHXz7CSWKbOqiMZsubC+BQsVKuul+3vKLuwTHsS2c2y9EoKwxQ==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@eslint-community/eslint-utils": {
- "version": "4.9.0",
- "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.0.tgz",
- "integrity": "sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==",
- "dev": true,
- "license": "MIT",
- "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/regexpp": {
- "version": "4.12.1",
- "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz",
- "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "^12.0.0 || ^14.0.0 || >=16.0.0"
- }
- },
- "node_modules/@eslint/config-array": {
- "version": "0.21.0",
- "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.0.tgz",
- "integrity": "sha512-ENIdc4iLu0d93HeYirvKmrzshzofPw6VkZRKQGe9Nv46ZnWUzcF1xV01dcvEg/1wXUR61OmmlSfyeyO7EvjLxQ==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "@eslint/object-schema": "^2.1.6",
- "debug": "^4.3.1",
- "minimatch": "^3.1.2"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- }
- },
- "node_modules/@eslint/config-array/node_modules/brace-expansion": {
- "version": "1.1.12",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
- "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "node_modules/@eslint/config-array/node_modules/minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "brace-expansion": "^1.1.7"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/@eslint/config-helpers": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.3.1.tgz",
- "integrity": "sha512-xR93k9WhrDYpXHORXpxVL5oHj3Era7wo6k/Wd8/IsQNnZUTzkGS29lyn3nAT05v6ltUuTFVCCYDEGfy2Or/sPA==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- }
- },
- "node_modules/@eslint/core": {
- "version": "0.15.2",
- "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.15.2.tgz",
- "integrity": "sha512-78Md3/Rrxh83gCxoUc0EiciuOHsIITzLy53m3d9UyiW8y9Dj2D29FeETqyKA+BRK76tnTp6RXWb3pCay8Oyomg==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "@types/json-schema": "^7.0.15"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- }
- },
- "node_modules/@eslint/eslintrc": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz",
- "integrity": "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ajv": "^6.12.4",
- "debug": "^4.3.2",
- "espree": "^10.0.1",
- "globals": "^14.0.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": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
- "node_modules/@eslint/eslintrc/node_modules/ajv": {
- "version": "6.12.6",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
- "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
- "dev": true,
- "license": "MIT",
- "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/@eslint/eslintrc/node_modules/brace-expansion": {
- "version": "1.1.12",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
- "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "node_modules/@eslint/eslintrc/node_modules/ignore": {
- "version": "5.3.2",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
- "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 4"
- }
- },
- "node_modules/@eslint/eslintrc/node_modules/json-schema-traverse": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
- "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@eslint/eslintrc/node_modules/minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "brace-expansion": "^1.1.7"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/@eslint/js": {
- "version": "9.36.0",
- "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.36.0.tgz",
- "integrity": "sha512-uhCbYtYynH30iZErszX78U+nR3pJU3RHGQ57NXy5QupD4SBVwDeU8TNBy+MjMngc1UyIW9noKqsRqfjQTBU2dw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "url": "https://eslint.org/donate"
- }
- },
- "node_modules/@eslint/object-schema": {
- "version": "2.1.6",
- "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz",
- "integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- }
- },
- "node_modules/@eslint/plugin-kit": {
- "version": "0.3.5",
- "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.3.5.tgz",
- "integrity": "sha512-Z5kJ+wU3oA7MMIqVR9tyZRtjYPr4OC004Q4Rw7pgOKUOKkJfZ3O24nz3WYfGRpMDNmcOi3TwQOmgm7B7Tpii0w==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "@eslint/core": "^0.15.2",
- "levn": "^0.4.1"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- }
- },
- "node_modules/@fortawesome/fontawesome-common-types": {
- "version": "7.1.0",
- "resolved": "https://npm.fontawesome.com/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-7.1.0.tgz",
- "integrity": "sha512-l/BQM7fYntsCI//du+6sEnHOP6a74UixFyOYUyz2DLMXKx+6DEhfR3F2NYGE45XH1JJuIamacb4IZs9S0ZOWLA==",
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/@fortawesome/fontawesome-free": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-7.0.1.tgz",
- "integrity": "sha512-RLmb9U6H2rJDnGxEqXxzy7ANPrQz7WK2/eTjdZqyU9uRU5W+FkAec9uU5gTYzFBH7aoXIw2WTJSCJR4KPlReQw==",
- "license": "(CC-BY-4.0 AND OFL-1.1 AND MIT)",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/@humanfs/core": {
- "version": "0.19.1",
- "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz",
- "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": ">=18.18.0"
- }
- },
- "node_modules/@humanfs/node": {
- "version": "0.16.7",
- "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz",
- "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "@humanfs/core": "^0.19.1",
- "@humanwhocodes/retry": "^0.4.0"
- },
- "engines": {
- "node": ">=18.18.0"
- }
- },
- "node_modules/@humanwhocodes/module-importer": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
- "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": ">=12.22"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/nzakas"
- }
- },
- "node_modules/@humanwhocodes/retry": {
- "version": "0.4.3",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz",
- "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": ">=18.18"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/nzakas"
- }
- },
- "node_modules/@inquirer/ansi": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/@inquirer/ansi/-/ansi-1.0.0.tgz",
- "integrity": "sha512-JWaTfCxI1eTmJ1BIv86vUfjVatOdxwD0DAVKYevY8SazeUUZtW+tNbsdejVO1GYE0GXJW1N1ahmiC3TFd+7wZA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@inquirer/checkbox": {
- "version": "4.2.4",
- "resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-4.2.4.tgz",
- "integrity": "sha512-2n9Vgf4HSciFq8ttKXk+qy+GsyTXPV1An6QAwe/8bkbbqvG4VW1I/ZY1pNu2rf+h9bdzMLPbRSfcNxkHBy/Ydw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@inquirer/ansi": "^1.0.0",
- "@inquirer/core": "^10.2.2",
- "@inquirer/figures": "^1.0.13",
- "@inquirer/type": "^3.0.8",
- "yoctocolors-cjs": "^2.1.2"
- },
- "engines": {
- "node": ">=18"
- },
- "peerDependencies": {
- "@types/node": ">=18"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- }
- }
- },
- "node_modules/@inquirer/confirm": {
- "version": "5.1.14",
- "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-5.1.14.tgz",
- "integrity": "sha512-5yR4IBfe0kXe59r1YCTG8WXkUbl7Z35HK87Sw+WUyGD8wNUx7JvY7laahzeytyE1oLn74bQnL7hstctQxisQ8Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@inquirer/core": "^10.1.15",
- "@inquirer/type": "^3.0.8"
- },
- "engines": {
- "node": ">=18"
- },
- "peerDependencies": {
- "@types/node": ">=18"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- }
- }
- },
- "node_modules/@inquirer/core": {
- "version": "10.2.2",
- "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.2.2.tgz",
- "integrity": "sha512-yXq/4QUnk4sHMtmbd7irwiepjB8jXU0kkFRL4nr/aDBA2mDz13cMakEWdDwX3eSCTkk03kwcndD1zfRAIlELxA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@inquirer/ansi": "^1.0.0",
- "@inquirer/figures": "^1.0.13",
- "@inquirer/type": "^3.0.8",
- "cli-width": "^4.1.0",
- "mute-stream": "^2.0.0",
- "signal-exit": "^4.1.0",
- "wrap-ansi": "^6.2.0",
- "yoctocolors-cjs": "^2.1.2"
- },
- "engines": {
- "node": ">=18"
- },
- "peerDependencies": {
- "@types/node": ">=18"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- }
- }
- },
- "node_modules/@inquirer/editor": {
- "version": "4.2.20",
- "resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-4.2.20.tgz",
- "integrity": "sha512-7omh5y5bK672Q+Brk4HBbnHNowOZwrb/78IFXdrEB9PfdxL3GudQyDk8O9vQ188wj3xrEebS2M9n18BjJoI83g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@inquirer/core": "^10.2.2",
- "@inquirer/external-editor": "^1.0.2",
- "@inquirer/type": "^3.0.8"
- },
- "engines": {
- "node": ">=18"
- },
- "peerDependencies": {
- "@types/node": ">=18"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- }
- }
- },
- "node_modules/@inquirer/expand": {
- "version": "4.0.20",
- "resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-4.0.20.tgz",
- "integrity": "sha512-Dt9S+6qUg94fEvgn54F2Syf0Z3U8xmnBI9ATq2f5h9xt09fs2IJXSCIXyyVHwvggKWFXEY/7jATRo2K6Dkn6Ow==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@inquirer/core": "^10.2.2",
- "@inquirer/type": "^3.0.8",
- "yoctocolors-cjs": "^2.1.2"
- },
- "engines": {
- "node": ">=18"
- },
- "peerDependencies": {
- "@types/node": ">=18"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- }
- }
- },
- "node_modules/@inquirer/external-editor": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/@inquirer/external-editor/-/external-editor-1.0.2.tgz",
- "integrity": "sha512-yy9cOoBnx58TlsPrIxauKIFQTiyH+0MK4e97y4sV9ERbI+zDxw7i2hxHLCIEGIE/8PPvDxGhgzIOTSOWcs6/MQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "chardet": "^2.1.0",
- "iconv-lite": "^0.7.0"
- },
- "engines": {
- "node": ">=18"
- },
- "peerDependencies": {
- "@types/node": ">=18"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- }
- }
- },
- "node_modules/@inquirer/figures": {
- "version": "1.0.13",
- "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.13.tgz",
- "integrity": "sha512-lGPVU3yO9ZNqA7vTYz26jny41lE7yoQansmqdMLBEfqaGsmdg7V3W9mK9Pvb5IL4EVZ9GnSDGMO/cJXud5dMaw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@inquirer/input": {
- "version": "4.2.4",
- "resolved": "https://registry.npmjs.org/@inquirer/input/-/input-4.2.4.tgz",
- "integrity": "sha512-cwSGpLBMwpwcZZsc6s1gThm0J+it/KIJ+1qFL2euLmSKUMGumJ5TcbMgxEjMjNHRGadouIYbiIgruKoDZk7klw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@inquirer/core": "^10.2.2",
- "@inquirer/type": "^3.0.8"
- },
- "engines": {
- "node": ">=18"
- },
- "peerDependencies": {
- "@types/node": ">=18"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- }
- }
- },
- "node_modules/@inquirer/number": {
- "version": "3.0.20",
- "resolved": "https://registry.npmjs.org/@inquirer/number/-/number-3.0.20.tgz",
- "integrity": "sha512-bbooay64VD1Z6uMfNehED2A2YOPHSJnQLs9/4WNiV/EK+vXczf/R988itL2XLDGTgmhMF2KkiWZo+iEZmc4jqg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@inquirer/core": "^10.2.2",
- "@inquirer/type": "^3.0.8"
- },
- "engines": {
- "node": ">=18"
- },
- "peerDependencies": {
- "@types/node": ">=18"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- }
- }
- },
- "node_modules/@inquirer/password": {
- "version": "4.0.20",
- "resolved": "https://registry.npmjs.org/@inquirer/password/-/password-4.0.20.tgz",
- "integrity": "sha512-nxSaPV2cPvvoOmRygQR+h0B+Av73B01cqYLcr7NXcGXhbmsYfUb8fDdw2Us1bI2YsX+VvY7I7upgFYsyf8+Nug==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@inquirer/ansi": "^1.0.0",
- "@inquirer/core": "^10.2.2",
- "@inquirer/type": "^3.0.8"
- },
- "engines": {
- "node": ">=18"
- },
- "peerDependencies": {
- "@types/node": ">=18"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- }
- }
- },
- "node_modules/@inquirer/prompts": {
- "version": "7.8.2",
- "resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-7.8.2.tgz",
- "integrity": "sha512-nqhDw2ZcAUrKNPwhjinJny903bRhI0rQhiDz1LksjeRxqa36i3l75+4iXbOy0rlDpLJGxqtgoPavQjmmyS5UJw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@inquirer/checkbox": "^4.2.1",
- "@inquirer/confirm": "^5.1.14",
- "@inquirer/editor": "^4.2.17",
- "@inquirer/expand": "^4.0.17",
- "@inquirer/input": "^4.2.1",
- "@inquirer/number": "^3.0.17",
- "@inquirer/password": "^4.0.17",
- "@inquirer/rawlist": "^4.1.5",
- "@inquirer/search": "^3.1.0",
- "@inquirer/select": "^4.3.1"
- },
- "engines": {
- "node": ">=18"
- },
- "peerDependencies": {
- "@types/node": ">=18"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- }
- }
- },
- "node_modules/@inquirer/rawlist": {
- "version": "4.1.8",
- "resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-4.1.8.tgz",
- "integrity": "sha512-CQ2VkIASbgI2PxdzlkeeieLRmniaUU1Aoi5ggEdm6BIyqopE9GuDXdDOj9XiwOqK5qm72oI2i6J+Gnjaa26ejg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@inquirer/core": "^10.2.2",
- "@inquirer/type": "^3.0.8",
- "yoctocolors-cjs": "^2.1.2"
- },
- "engines": {
- "node": ">=18"
- },
- "peerDependencies": {
- "@types/node": ">=18"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- }
- }
- },
- "node_modules/@inquirer/search": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/@inquirer/search/-/search-3.1.3.tgz",
- "integrity": "sha512-D5T6ioybJJH0IiSUK/JXcoRrrm8sXwzrVMjibuPs+AgxmogKslaafy1oxFiorNI4s3ElSkeQZbhYQgLqiL8h6Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@inquirer/core": "^10.2.2",
- "@inquirer/figures": "^1.0.13",
- "@inquirer/type": "^3.0.8",
- "yoctocolors-cjs": "^2.1.2"
- },
- "engines": {
- "node": ">=18"
- },
- "peerDependencies": {
- "@types/node": ">=18"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- }
- }
- },
- "node_modules/@inquirer/select": {
- "version": "4.3.4",
- "resolved": "https://registry.npmjs.org/@inquirer/select/-/select-4.3.4.tgz",
- "integrity": "sha512-Qp20nySRmfbuJBBsgPU7E/cL62Hf250vMZRzYDcBHty2zdD1kKCnoDFWRr0WO2ZzaXp3R7a4esaVGJUx0E6zvA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@inquirer/ansi": "^1.0.0",
- "@inquirer/core": "^10.2.2",
- "@inquirer/figures": "^1.0.13",
- "@inquirer/type": "^3.0.8",
- "yoctocolors-cjs": "^2.1.2"
- },
- "engines": {
- "node": ">=18"
- },
- "peerDependencies": {
- "@types/node": ">=18"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- }
- }
- },
- "node_modules/@inquirer/type": {
- "version": "3.0.8",
- "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.8.tgz",
- "integrity": "sha512-lg9Whz8onIHRthWaN1Q9EGLa/0LFJjyM8mEUbL1eTi6yMGvBf8gvyDLtxSXztQsxMvhxxNpJYrwa1YHdq+w4Jw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=18"
- },
- "peerDependencies": {
- "@types/node": ">=18"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- }
- }
- },
- "node_modules/@isaacs/balanced-match": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz",
- "integrity": "sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "20 || >=22"
- }
- },
- "node_modules/@isaacs/brace-expansion": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@isaacs/brace-expansion/-/brace-expansion-5.0.0.tgz",
- "integrity": "sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@isaacs/balanced-match": "^4.0.1"
- },
- "engines": {
- "node": "20 || >=22"
- }
- },
- "node_modules/@isaacs/cliui": {
- "version": "8.0.2",
- "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz",
- "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "string-width": "^5.1.2",
- "string-width-cjs": "npm:string-width@^4.2.0",
- "strip-ansi": "^7.0.1",
- "strip-ansi-cjs": "npm:strip-ansi@^6.0.1",
- "wrap-ansi": "^8.1.0",
- "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@isaacs/cliui/node_modules/ansi-styles": {
- "version": "6.2.3",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz",
- "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/@isaacs/cliui/node_modules/emoji-regex": {
- "version": "9.2.2",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
- "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@isaacs/cliui/node_modules/string-width": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
- "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "eastasianwidth": "^0.2.0",
- "emoji-regex": "^9.2.2",
- "strip-ansi": "^7.0.1"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/@isaacs/cliui/node_modules/wrap-ansi": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz",
- "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^6.1.0",
- "string-width": "^5.0.1",
- "strip-ansi": "^7.0.1"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
- }
- },
- "node_modules/@isaacs/fs-minipass": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz",
- "integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "minipass": "^7.0.4"
- },
- "engines": {
- "node": ">=18.0.0"
- }
- },
- "node_modules/@istanbuljs/schema": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz",
- "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@jridgewell/gen-mapping": {
- "version": "0.3.13",
- "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz",
- "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jridgewell/sourcemap-codec": "^1.5.0",
- "@jridgewell/trace-mapping": "^0.3.24"
- }
- },
- "node_modules/@jridgewell/resolve-uri": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
- "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@jridgewell/sourcemap-codec": {
- "version": "1.5.5",
- "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz",
- "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@jridgewell/trace-mapping": {
- "version": "0.3.31",
- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz",
- "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jridgewell/resolve-uri": "^3.1.0",
- "@jridgewell/sourcemap-codec": "^1.4.14"
- }
- },
- "node_modules/@listr2/prompt-adapter-inquirer": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/@listr2/prompt-adapter-inquirer/-/prompt-adapter-inquirer-3.0.1.tgz",
- "integrity": "sha512-3XFmGwm3u6ioREG+ynAQB7FoxfajgQnMhIu8wC5eo/Lsih4aKDg0VuIMGaOsYn7hJSJagSeaD4K8yfpkEoDEmA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@inquirer/type": "^3.0.7"
- },
- "engines": {
- "node": ">=20.0.0"
- },
- "peerDependencies": {
- "@inquirer/prompts": ">= 3 < 8",
- "listr2": "9.0.1"
- }
- },
- "node_modules/@lmdb/lmdb-darwin-arm64": {
- "version": "3.4.2",
- "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-arm64/-/lmdb-darwin-arm64-3.4.2.tgz",
- "integrity": "sha512-NK80WwDoODyPaSazKbzd3NEJ3ygePrkERilZshxBViBARNz21rmediktGHExoj9n5t9+ChlgLlxecdFKLCuCKg==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ]
- },
- "node_modules/@lmdb/lmdb-darwin-x64": {
- "version": "3.4.2",
- "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-x64/-/lmdb-darwin-x64-3.4.2.tgz",
- "integrity": "sha512-zevaowQNmrp3U7Fz1s9pls5aIgpKRsKb3dZWDINtLiozh3jZI9fBrI19lYYBxqdyiIyNdlyiidPnwPShj4aK+w==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ]
- },
- "node_modules/@lmdb/lmdb-linux-arm": {
- "version": "3.4.2",
- "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm/-/lmdb-linux-arm-3.4.2.tgz",
- "integrity": "sha512-OmHCULY17rkx/RoCoXlzU7LyR8xqrksgdYWwtYa14l/sseezZ8seKWXcogHcjulBddER5NnEFV4L/Jtr2nyxeg==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@lmdb/lmdb-linux-arm64": {
- "version": "3.4.2",
- "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm64/-/lmdb-linux-arm64-3.4.2.tgz",
- "integrity": "sha512-ZBEfbNZdkneebvZs98Lq30jMY8V9IJzckVeigGivV7nTHJc+89Ctomp1kAIWKlwIG0ovCDrFI448GzFPORANYg==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@lmdb/lmdb-linux-x64": {
- "version": "3.4.2",
- "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-x64/-/lmdb-linux-x64-3.4.2.tgz",
- "integrity": "sha512-vL9nM17C77lohPYE4YaAQvfZCSVJSryE4fXdi8M7uWPBnU+9DJabgKVAeyDb84ZM2vcFseoBE4/AagVtJeRE7g==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@lmdb/lmdb-win32-arm64": {
- "version": "3.4.2",
- "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-arm64/-/lmdb-win32-arm64-3.4.2.tgz",
- "integrity": "sha512-SXWjdBfNDze4ZPeLtYIzsIeDJDJ/SdsA0pEXcUBayUIMO0FQBHfVZZyHXQjjHr4cvOAzANBgIiqaXRwfMhzmLw==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ]
- },
- "node_modules/@lmdb/lmdb-win32-x64": {
- "version": "3.4.2",
- "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-3.4.2.tgz",
- "integrity": "sha512-IY+r3bxKW6Q6sIPiMC0L533DEfRJSXibjSI3Ft/w9Q8KQBNqEIvUFXt+09wV8S5BRk0a8uSF19YWxuRwEfI90g==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ]
- },
- "node_modules/@modelcontextprotocol/sdk": {
- "version": "1.17.3",
- "resolved": "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.17.3.tgz",
- "integrity": "sha512-JPwUKWSsbzx+DLFznf/QZ32Qa+ptfbUlHhRLrBQBAFu9iI1iYvizM4p+zhhRDceSsPutXp4z+R/HPVphlIiclg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ajv": "^6.12.6",
- "content-type": "^1.0.5",
- "cors": "^2.8.5",
- "cross-spawn": "^7.0.5",
- "eventsource": "^3.0.2",
- "eventsource-parser": "^3.0.0",
- "express": "^5.0.1",
- "express-rate-limit": "^7.5.0",
- "pkce-challenge": "^5.0.0",
- "raw-body": "^3.0.0",
- "zod": "^3.23.8",
- "zod-to-json-schema": "^3.24.1"
- },
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@modelcontextprotocol/sdk/node_modules/ajv": {
- "version": "6.12.6",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
- "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
- "dev": true,
- "license": "MIT",
- "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/@modelcontextprotocol/sdk/node_modules/json-schema-traverse": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
- "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@msgpackr-extract/msgpackr-extract-darwin-arm64": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-arm64/-/msgpackr-extract-darwin-arm64-3.0.3.tgz",
- "integrity": "sha512-QZHtlVgbAdy2zAqNA9Gu1UpIuI8Xvsd1v8ic6B2pZmeFnFcMWiPLfWXh7TVw4eGEZ/C9TH281KwhVoeQUKbyjw==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ]
- },
- "node_modules/@msgpackr-extract/msgpackr-extract-darwin-x64": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-x64/-/msgpackr-extract-darwin-x64-3.0.3.tgz",
- "integrity": "sha512-mdzd3AVzYKuUmiWOQ8GNhl64/IoFGol569zNRdkLReh6LRLHOXxU4U8eq0JwaD8iFHdVGqSy4IjFL4reoWCDFw==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ]
- },
- "node_modules/@msgpackr-extract/msgpackr-extract-linux-arm": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm/-/msgpackr-extract-linux-arm-3.0.3.tgz",
- "integrity": "sha512-fg0uy/dG/nZEXfYilKoRe7yALaNmHoYeIoJuJ7KJ+YyU2bvY8vPv27f7UKhGRpY6euFYqEVhxCFZgAUNQBM3nw==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@msgpackr-extract/msgpackr-extract-linux-arm64": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm64/-/msgpackr-extract-linux-arm64-3.0.3.tgz",
- "integrity": "sha512-YxQL+ax0XqBJDZiKimS2XQaf+2wDGVa1enVRGzEvLLVFeqa5kx2bWbtcSXgsxjQB7nRqqIGFIcLteF/sHeVtQg==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@msgpackr-extract/msgpackr-extract-linux-x64": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-x64/-/msgpackr-extract-linux-x64-3.0.3.tgz",
- "integrity": "sha512-cvwNfbP07pKUfq1uH+S6KJ7dT9K8WOE4ZiAcsrSes+UY55E/0jLYc+vq+DO7jlmqRb5zAggExKm0H7O/CBaesg==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@msgpackr-extract/msgpackr-extract-win32-x64": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-win32-x64/-/msgpackr-extract-win32-x64-3.0.3.tgz",
- "integrity": "sha512-x0fWaQtYp4E6sktbsdAqnehxDgEc/VwM7uLsRCYWaiGu0ykYdZPiS8zCWdnjHwyiumousxfBm4SO31eXqwEZhQ==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ]
- },
- "node_modules/@napi-rs/nice": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@napi-rs/nice/-/nice-1.1.1.tgz",
- "integrity": "sha512-xJIPs+bYuc9ASBl+cvGsKbGrJmS6fAKaSZCnT0lhahT5rhA2VVy9/EcIgd2JhtEuFOJNx7UHNn/qiTPTY4nrQw==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "engines": {
- "node": ">= 10"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/Brooooooklyn"
- },
- "optionalDependencies": {
- "@napi-rs/nice-android-arm-eabi": "1.1.1",
- "@napi-rs/nice-android-arm64": "1.1.1",
- "@napi-rs/nice-darwin-arm64": "1.1.1",
- "@napi-rs/nice-darwin-x64": "1.1.1",
- "@napi-rs/nice-freebsd-x64": "1.1.1",
- "@napi-rs/nice-linux-arm-gnueabihf": "1.1.1",
- "@napi-rs/nice-linux-arm64-gnu": "1.1.1",
- "@napi-rs/nice-linux-arm64-musl": "1.1.1",
- "@napi-rs/nice-linux-ppc64-gnu": "1.1.1",
- "@napi-rs/nice-linux-riscv64-gnu": "1.1.1",
- "@napi-rs/nice-linux-s390x-gnu": "1.1.1",
- "@napi-rs/nice-linux-x64-gnu": "1.1.1",
- "@napi-rs/nice-linux-x64-musl": "1.1.1",
- "@napi-rs/nice-openharmony-arm64": "1.1.1",
- "@napi-rs/nice-win32-arm64-msvc": "1.1.1",
- "@napi-rs/nice-win32-ia32-msvc": "1.1.1",
- "@napi-rs/nice-win32-x64-msvc": "1.1.1"
- }
- },
- "node_modules/@napi-rs/nice-android-arm-eabi": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@napi-rs/nice-android-arm-eabi/-/nice-android-arm-eabi-1.1.1.tgz",
- "integrity": "sha512-kjirL3N6TnRPv5iuHw36wnucNqXAO46dzK9oPb0wj076R5Xm8PfUVA9nAFB5ZNMmfJQJVKACAPd/Z2KYMppthw==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@napi-rs/nice-android-arm64": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@napi-rs/nice-android-arm64/-/nice-android-arm64-1.1.1.tgz",
- "integrity": "sha512-blG0i7dXgbInN5urONoUCNf+DUEAavRffrO7fZSeoRMJc5qD+BJeNcpr54msPF6qfDD6kzs9AQJogZvT2KD5nw==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@napi-rs/nice-darwin-arm64": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@napi-rs/nice-darwin-arm64/-/nice-darwin-arm64-1.1.1.tgz",
- "integrity": "sha512-s/E7w45NaLqTGuOjC2p96pct4jRfo61xb9bU1unM/MJ/RFkKlJyJDx7OJI/O0ll/hrfpqKopuAFDV8yo0hfT7A==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@napi-rs/nice-darwin-x64": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@napi-rs/nice-darwin-x64/-/nice-darwin-x64-1.1.1.tgz",
- "integrity": "sha512-dGoEBnVpsdcC+oHHmW1LRK5eiyzLwdgNQq3BmZIav+9/5WTZwBYX7r5ZkQC07Nxd3KHOCkgbHSh4wPkH1N1LiQ==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@napi-rs/nice-freebsd-x64": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@napi-rs/nice-freebsd-x64/-/nice-freebsd-x64-1.1.1.tgz",
- "integrity": "sha512-kHv4kEHAylMYmlNwcQcDtXjklYp4FCf0b05E+0h6nDHsZ+F0bDe04U/tXNOqrx5CmIAth4vwfkjjUmp4c4JktQ==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "freebsd"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@napi-rs/nice-linux-arm-gnueabihf": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-arm-gnueabihf/-/nice-linux-arm-gnueabihf-1.1.1.tgz",
- "integrity": "sha512-E1t7K0efyKXZDoZg1LzCOLxgolxV58HCkaEkEvIYQx12ht2pa8hoBo+4OB3qh7e+QiBlp1SRf+voWUZFxyhyqg==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@napi-rs/nice-linux-arm64-gnu": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-arm64-gnu/-/nice-linux-arm64-gnu-1.1.1.tgz",
- "integrity": "sha512-CIKLA12DTIZlmTaaKhQP88R3Xao+gyJxNWEn04wZwC2wmRapNnxCUZkVwggInMJvtVElA+D4ZzOU5sX4jV+SmQ==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@napi-rs/nice-linux-arm64-musl": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-arm64-musl/-/nice-linux-arm64-musl-1.1.1.tgz",
- "integrity": "sha512-+2Rzdb3nTIYZ0YJF43qf2twhqOCkiSrHx2Pg6DJaCPYhhaxbLcdlV8hCRMHghQ+EtZQWGNcS2xF4KxBhSGeutg==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@napi-rs/nice-linux-ppc64-gnu": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-ppc64-gnu/-/nice-linux-ppc64-gnu-1.1.1.tgz",
- "integrity": "sha512-4FS8oc0GeHpwvv4tKciKkw3Y4jKsL7FRhaOeiPei0X9T4Jd619wHNe4xCLmN2EMgZoeGg+Q7GY7BsvwKpL22Tg==",
- "cpu": [
- "ppc64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@napi-rs/nice-linux-riscv64-gnu": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-riscv64-gnu/-/nice-linux-riscv64-gnu-1.1.1.tgz",
- "integrity": "sha512-HU0nw9uD4FO/oGCCk409tCi5IzIZpH2agE6nN4fqpwVlCn5BOq0MS1dXGjXaG17JaAvrlpV5ZeyZwSon10XOXw==",
- "cpu": [
- "riscv64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@napi-rs/nice-linux-s390x-gnu": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-s390x-gnu/-/nice-linux-s390x-gnu-1.1.1.tgz",
- "integrity": "sha512-2YqKJWWl24EwrX0DzCQgPLKQBxYDdBxOHot1KWEq7aY2uYeX+Uvtv4I8xFVVygJDgf6/92h9N3Y43WPx8+PAgQ==",
- "cpu": [
- "s390x"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@napi-rs/nice-linux-x64-gnu": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-x64-gnu/-/nice-linux-x64-gnu-1.1.1.tgz",
- "integrity": "sha512-/gaNz3R92t+dcrfCw/96pDopcmec7oCcAQ3l/M+Zxr82KT4DljD37CpgrnXV+pJC263JkW572pdbP3hP+KjcIg==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@napi-rs/nice-linux-x64-musl": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-x64-musl/-/nice-linux-x64-musl-1.1.1.tgz",
- "integrity": "sha512-xScCGnyj/oppsNPMnevsBe3pvNaoK7FGvMjT35riz9YdhB2WtTG47ZlbxtOLpjeO9SqqQ2J2igCmz6IJOD5JYw==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@napi-rs/nice-openharmony-arm64": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@napi-rs/nice-openharmony-arm64/-/nice-openharmony-arm64-1.1.1.tgz",
- "integrity": "sha512-6uJPRVwVCLDeoOaNyeiW0gp2kFIM4r7PL2MczdZQHkFi9gVlgm+Vn+V6nTWRcu856mJ2WjYJiumEajfSm7arPQ==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "openharmony"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@napi-rs/nice-win32-arm64-msvc": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@napi-rs/nice-win32-arm64-msvc/-/nice-win32-arm64-msvc-1.1.1.tgz",
- "integrity": "sha512-uoTb4eAvM5B2aj/z8j+Nv8OttPf2m+HVx3UjA5jcFxASvNhQriyCQF1OB1lHL43ZhW+VwZlgvjmP5qF3+59atA==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@napi-rs/nice-win32-ia32-msvc": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@napi-rs/nice-win32-ia32-msvc/-/nice-win32-ia32-msvc-1.1.1.tgz",
- "integrity": "sha512-CNQqlQT9MwuCsg1Vd/oKXiuH+TcsSPJmlAFc5frFyX/KkOh0UpBLEj7aoY656d5UKZQMQFP7vJNa1DNUNORvug==",
- "cpu": [
- "ia32"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@napi-rs/nice-win32-x64-msvc": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@napi-rs/nice-win32-x64-msvc/-/nice-win32-x64-msvc-1.1.1.tgz",
- "integrity": "sha512-vB+4G/jBQCAh0jelMTY3+kgFy00Hlx2f2/1zjMoH821IbplbWZOkLiTYXQkygNTzQJTq5cvwBDgn2ppHD+bglQ==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@napi-rs/wasm-runtime": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.0.5.tgz",
- "integrity": "sha512-TBr9Cf9onSAS2LQ2+QHx6XcC6h9+RIzJgbqG3++9TUZSH204AwEy5jg3BTQ0VATsyoGj4ee49tN/y6rvaOOtcg==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "dependencies": {
- "@emnapi/core": "^1.5.0",
- "@emnapi/runtime": "^1.5.0",
- "@tybys/wasm-util": "^0.10.1"
- }
- },
- "node_modules/@ngx-translate/core": {
- "version": "17.0.0",
- "resolved": "https://registry.npmjs.org/@ngx-translate/core/-/core-17.0.0.tgz",
- "integrity": "sha512-Rft2D5ns2pq4orLZjEtx1uhNuEBerUdpFUG1IcqtGuipj6SavgB8SkxtNQALNDA+EVlvsNCCjC2ewZVtUeN6rg==",
- "license": "MIT",
- "dependencies": {
- "tslib": "^2.3.0"
- },
- "peerDependencies": {
- "@angular/common": ">=16",
- "@angular/core": ">=16"
- }
- },
- "node_modules/@ngx-translate/http-loader": {
- "version": "17.0.0",
- "resolved": "https://registry.npmjs.org/@ngx-translate/http-loader/-/http-loader-17.0.0.tgz",
- "integrity": "sha512-hgS8sa0ARjH9ll3PhkLTufeVXNI2DNR2uFKDhBgq13siUXzzVr/a31M6zgecrtwbA34iaBV01hsTMbMS8V7iIw==",
- "license": "MIT",
- "dependencies": {
- "tslib": "^2.3.0"
- },
- "peerDependencies": {
- "@angular/common": ">=16",
- "@angular/core": ">=16"
- }
- },
- "node_modules/@nodelib/fs.scandir": {
- "version": "2.1.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
- "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@nodelib/fs.stat": "2.0.5",
- "run-parallel": "^1.1.9"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/@nodelib/fs.stat": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
- "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/@nodelib/fs.walk": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
- "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@nodelib/fs.scandir": "2.1.5",
- "fastq": "^1.6.0"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/@npmcli/agent": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/@npmcli/agent/-/agent-3.0.0.tgz",
- "integrity": "sha512-S79NdEgDQd/NGCay6TCoVzXSj74skRZIKJcpJjC5lOq34SZzyI6MqtiiWoiVWoVrTcGjNeC4ipbh1VIHlpfF5Q==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "agent-base": "^7.1.0",
- "http-proxy-agent": "^7.0.0",
- "https-proxy-agent": "^7.0.1",
- "lru-cache": "^10.0.1",
- "socks-proxy-agent": "^8.0.3"
- },
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/@npmcli/agent/node_modules/lru-cache": {
- "version": "10.4.3",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz",
- "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/@npmcli/fs": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-4.0.0.tgz",
- "integrity": "sha512-/xGlezI6xfGO9NwuJlnwz/K14qD1kCSAGtacBHnGzeAIuJGazcp45KP5NuyARXoKb7cwulAGWVsbeSxdG/cb0Q==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "semver": "^7.3.5"
- },
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/@npmcli/git": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-6.0.3.tgz",
- "integrity": "sha512-GUYESQlxZRAdhs3UhbB6pVRNUELQOHXwK9ruDkwmCv2aZ5y0SApQzUJCg02p3A7Ue2J5hxvlk1YI53c00NmRyQ==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "@npmcli/promise-spawn": "^8.0.0",
- "ini": "^5.0.0",
- "lru-cache": "^10.0.1",
- "npm-pick-manifest": "^10.0.0",
- "proc-log": "^5.0.0",
- "promise-retry": "^2.0.1",
- "semver": "^7.3.5",
- "which": "^5.0.0"
- },
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/@npmcli/git/node_modules/isexe": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz",
- "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": ">=16"
- }
- },
- "node_modules/@npmcli/git/node_modules/lru-cache": {
- "version": "10.4.3",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz",
- "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/@npmcli/git/node_modules/which": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz",
- "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "isexe": "^3.1.1"
- },
- "bin": {
- "node-which": "bin/which.js"
- },
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/@npmcli/installed-package-contents": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-3.0.0.tgz",
- "integrity": "sha512-fkxoPuFGvxyrH+OQzyTkX2LUEamrF4jZSmxjAtPPHHGO0dqsQ8tTKjnIS8SAnPHdk2I03BDtSMR5K/4loKg79Q==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "npm-bundled": "^4.0.0",
- "npm-normalize-package-bin": "^4.0.0"
- },
- "bin": {
- "installed-package-contents": "bin/index.js"
- },
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/@npmcli/node-gyp": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-4.0.0.tgz",
- "integrity": "sha512-+t5DZ6mO/QFh78PByMq1fGSAub/agLJZDRfJRMeOSNCt8s9YVlTjmGpIPwPhvXTGUIJk+WszlT0rQa1W33yzNA==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/@npmcli/package-json": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/@npmcli/package-json/-/package-json-6.2.0.tgz",
- "integrity": "sha512-rCNLSB/JzNvot0SEyXqWZ7tX2B5dD2a1br2Dp0vSYVo5jh8Z0EZ7lS9TsZ1UtziddB1UfNUaMCc538/HztnJGA==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "@npmcli/git": "^6.0.0",
- "glob": "^10.2.2",
- "hosted-git-info": "^8.0.0",
- "json-parse-even-better-errors": "^4.0.0",
- "proc-log": "^5.0.0",
- "semver": "^7.5.3",
- "validate-npm-package-license": "^3.0.4"
- },
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/@npmcli/package-json/node_modules/glob": {
- "version": "10.4.5",
- "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz",
- "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "foreground-child": "^3.1.0",
- "jackspeak": "^3.1.2",
- "minimatch": "^9.0.4",
- "minipass": "^7.1.2",
- "package-json-from-dist": "^1.0.0",
- "path-scurry": "^1.11.1"
- },
- "bin": {
- "glob": "dist/esm/bin.mjs"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/@npmcli/package-json/node_modules/hosted-git-info": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-8.1.0.tgz",
- "integrity": "sha512-Rw/B2DNQaPBICNXEm8balFz9a6WpZrkCGpcWFpy7nCj+NyhSdqXipmfvtmWt9xGfp0wZnBxB+iVpLmQMYt47Tw==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "lru-cache": "^10.0.1"
- },
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/@npmcli/package-json/node_modules/lru-cache": {
- "version": "10.4.3",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz",
- "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/@npmcli/promise-spawn": {
- "version": "8.0.3",
- "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-8.0.3.tgz",
- "integrity": "sha512-Yb00SWaL4F8w+K8YGhQ55+xE4RUNdMHV43WZGsiTM92gS+lC0mGsn7I4hLug7pbao035S6bj3Y3w0cUNGLfmkg==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "which": "^5.0.0"
- },
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/@npmcli/promise-spawn/node_modules/isexe": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz",
- "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": ">=16"
- }
- },
- "node_modules/@npmcli/promise-spawn/node_modules/which": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz",
- "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "isexe": "^3.1.1"
- },
- "bin": {
- "node-which": "bin/which.js"
- },
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/@npmcli/redact": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/@npmcli/redact/-/redact-3.2.2.tgz",
- "integrity": "sha512-7VmYAmk4csGv08QzrDKScdzn11jHPFGyqJW39FyPgPuAp3zIaUmuCo1yxw9aGs+NEJuTGQ9Gwqpt93vtJubucg==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/@npmcli/run-script": {
- "version": "9.1.0",
- "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-9.1.0.tgz",
- "integrity": "sha512-aoNSbxtkePXUlbZB+anS1LqsJdctG5n3UVhfU47+CDdwMi6uNTBMF9gPcQRnqghQd2FGzcwwIFBruFMxjhBewg==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "@npmcli/node-gyp": "^4.0.0",
- "@npmcli/package-json": "^6.0.0",
- "@npmcli/promise-spawn": "^8.0.0",
- "node-gyp": "^11.0.0",
- "proc-log": "^5.0.0",
- "which": "^5.0.0"
- },
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/@npmcli/run-script/node_modules/isexe": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz",
- "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": ">=16"
- }
- },
- "node_modules/@npmcli/run-script/node_modules/which": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz",
- "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "isexe": "^3.1.1"
- },
- "bin": {
- "node-which": "bin/which.js"
- },
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/@oxc-project/types": {
- "version": "0.89.0",
- "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.89.0.tgz",
- "integrity": "sha512-yuo+ECPIW5Q9mSeNmCDC2im33bfKuwW18mwkaHMQh8KakHYDzj4ci/q7wxf2qS3dMlVVCIyrs3kFtH5LmnlYnw==",
- "dev": true,
- "license": "MIT",
- "funding": {
- "url": "https://github.com/sponsors/Boshen"
- }
- },
- "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/@parcel/watcher/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/@parcel/watcher/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/@pkgjs/parseargs": {
- "version": "0.11.0",
- "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
- "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "engines": {
- "node": ">=14"
- }
- },
- "node_modules/@popperjs/core": {
- "version": "2.11.8",
- "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz",
- "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==",
- "license": "MIT",
- "peer": true,
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/popperjs"
- }
- },
- "node_modules/@puppeteer/browsers": {
- "version": "2.6.1",
- "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-2.6.1.tgz",
- "integrity": "sha512-aBSREisdsGH890S2rQqK82qmQYU3uFpSH8wcZWHgHzl3LfzsxAKbLNiAG9mO8v1Y0UICBeClICxPJvyr0rcuxg==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "debug": "^4.4.0",
- "extract-zip": "^2.0.1",
- "progress": "^2.0.3",
- "proxy-agent": "^6.5.0",
- "semver": "^7.6.3",
- "tar-fs": "^3.0.6",
- "unbzip2-stream": "^1.4.3",
- "yargs": "^17.7.2"
- },
- "bin": {
- "browsers": "lib/cjs/main-cli.js"
- },
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@puppeteer/browsers/node_modules/ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@puppeteer/browsers/node_modules/cliui": {
- "version": "8.0.1",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
- "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "string-width": "^4.2.0",
- "strip-ansi": "^6.0.1",
- "wrap-ansi": "^7.0.0"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@puppeteer/browsers/node_modules/emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@puppeteer/browsers/node_modules/is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@puppeteer/browsers/node_modules/string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@puppeteer/browsers/node_modules/strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-regex": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@puppeteer/browsers/node_modules/wrap-ansi": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
- "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
- }
- },
- "node_modules/@puppeteer/browsers/node_modules/yargs": {
- "version": "17.7.2",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
- "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "cliui": "^8.0.1",
- "escalade": "^3.1.1",
- "get-caller-file": "^2.0.5",
- "require-directory": "^2.1.1",
- "string-width": "^4.2.3",
- "y18n": "^5.0.5",
- "yargs-parser": "^21.1.1"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@puppeteer/browsers/node_modules/yargs-parser": {
- "version": "21.1.1",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
- "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@rolldown/binding-android-arm64": {
- "version": "1.0.0-beta.38",
- "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-beta.38.tgz",
- "integrity": "sha512-AE3HFQrjWCKLFZD1Vpiy+qsqTRwwoil1oM5WsKPSmfQ5fif/A+ZtOZetF32erZdsR7qyvns6qHEteEsF6g6rsQ==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": "^20.19.0 || >=22.12.0"
- }
- },
- "node_modules/@rolldown/binding-darwin-arm64": {
- "version": "1.0.0-beta.38",
- "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0-beta.38.tgz",
- "integrity": "sha512-RaoWOKc0rrFsVmKOjQpebMY6c6/I7GR1FBc25v7L/R7NlM0166mUotwGEv7vxu7ruXH4SJcFeVrfADFUUXUmmQ==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": "^20.19.0 || >=22.12.0"
- }
- },
- "node_modules/@rolldown/binding-darwin-x64": {
- "version": "1.0.0-beta.38",
- "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0-beta.38.tgz",
- "integrity": "sha512-Ymojqc2U35iUc8NFU2XX1WQPfBRRHN6xHcrxAf9WS8BFFBn8pDrH5QPvH1tYs3lDkw6UGGbanr1RGzARqdUp1g==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": "^20.19.0 || >=22.12.0"
- }
- },
- "node_modules/@rolldown/binding-freebsd-x64": {
- "version": "1.0.0-beta.38",
- "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0-beta.38.tgz",
- "integrity": "sha512-0ermTQ//WzSI0nOL3z/LUWMNiE9xeM5cLGxjewPFEexqxV/0uM8/lNp9QageQ8jfc/VO1OURsGw34HYO5PaL8w==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "freebsd"
- ],
- "engines": {
- "node": "^20.19.0 || >=22.12.0"
- }
- },
- "node_modules/@rolldown/binding-linux-arm-gnueabihf": {
- "version": "1.0.0-beta.38",
- "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0-beta.38.tgz",
- "integrity": "sha512-GADxzVUTCTp6EWI52831A29Tt7PukFe94nhg/SUsfkI33oTiNQtPxyLIT/3oRegizGuPSZSlrdBurkjDwxyEUQ==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": "^20.19.0 || >=22.12.0"
- }
- },
- "node_modules/@rolldown/binding-linux-arm64-gnu": {
- "version": "1.0.0-beta.38",
- "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0-beta.38.tgz",
- "integrity": "sha512-SKO7Exl5Yem/OSNoA5uLHzyrptUQ8Hg70kHDxuwEaH0+GUg+SQe9/7PWmc4hFKBMrJGdQtii8WZ0uIz9Dofg5Q==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": "^20.19.0 || >=22.12.0"
- }
- },
- "node_modules/@rolldown/binding-linux-arm64-musl": {
- "version": "1.0.0-beta.38",
- "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0-beta.38.tgz",
- "integrity": "sha512-SOo6+WqhXPBaShLxLT0eCgH17d3Yu1lMAe4mFP0M9Bvr/kfMSOPQXuLxBcbBU9IFM9w3N6qP9xWOHO+oUJvi8Q==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": "^20.19.0 || >=22.12.0"
- }
- },
- "node_modules/@rolldown/binding-linux-x64-gnu": {
- "version": "1.0.0-beta.38",
- "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0-beta.38.tgz",
- "integrity": "sha512-yvsQ3CyrodOX+lcoi+lejZGCOvJZa9xTsNB8OzpMDmHeZq3QzJfpYjXSAS6vie70fOkLVJb77UqYO193Cl8XBQ==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": "^20.19.0 || >=22.12.0"
- }
- },
- "node_modules/@rolldown/binding-linux-x64-musl": {
- "version": "1.0.0-beta.38",
- "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0-beta.38.tgz",
- "integrity": "sha512-84qzKMwUwikfYeOuJ4Kxm/3z15rt0nFGGQArHYIQQNSTiQdxGHxOkqXtzPFqrVfBJUdxBAf+jYzR1pttFJuWyg==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": "^20.19.0 || >=22.12.0"
- }
- },
- "node_modules/@rolldown/binding-openharmony-arm64": {
- "version": "1.0.0-beta.38",
- "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0-beta.38.tgz",
- "integrity": "sha512-QrNiWlce01DYH0rL8K3yUBu+lNzY+B0DyCbIc2Atan6/S6flxOL0ow5DLQvMamOI/oKhrJ4xG+9MkMb9dDHbLQ==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "openharmony"
- ],
- "engines": {
- "node": "^20.19.0 || >=22.12.0"
- }
- },
- "node_modules/@rolldown/binding-wasm32-wasi": {
- "version": "1.0.0-beta.38",
- "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0-beta.38.tgz",
- "integrity": "sha512-fnLtHyjwEsG4/aNV3Uv3Qd1ZbdH+CopwJNoV0RgBqrcQB8V6/Qdikd5JKvnO23kb3QvIpP+dAMGZMv1c2PJMzw==",
- "cpu": [
- "wasm32"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "dependencies": {
- "@napi-rs/wasm-runtime": "^1.0.5"
- },
- "engines": {
- "node": ">=14.0.0"
- }
- },
- "node_modules/@rolldown/binding-win32-arm64-msvc": {
- "version": "1.0.0-beta.38",
- "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0-beta.38.tgz",
- "integrity": "sha512-19cTfnGedem+RY+znA9J6ARBOCEFD4YSjnx0p5jiTm9tR6pHafRfFIfKlTXhun+NL0WWM/M0eb2IfPPYUa8+wg==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": "^20.19.0 || >=22.12.0"
- }
- },
- "node_modules/@rolldown/binding-win32-ia32-msvc": {
- "version": "1.0.0-beta.38",
- "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-1.0.0-beta.38.tgz",
- "integrity": "sha512-HcICm4YzFJZV+fI0O0bFLVVlsWvRNo/AB9EfUXvNYbtAxakCnQZ15oq22deFdz6sfi9Y4/SagH2kPU723dhCFA==",
- "cpu": [
- "ia32"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": "^20.19.0 || >=22.12.0"
- }
- },
- "node_modules/@rolldown/binding-win32-x64-msvc": {
- "version": "1.0.0-beta.38",
- "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0-beta.38.tgz",
- "integrity": "sha512-4Qx6cgEPXLb0XsCyLoQcUgYBpfL0sjugftob+zhUH0EOk/NVCAIT+h0NJhY+jn7pFpeKxhNMqhvTNx3AesxIAQ==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": "^20.19.0 || >=22.12.0"
- }
- },
- "node_modules/@rolldown/pluginutils": {
- "version": "1.0.0-beta.38",
- "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.38.tgz",
- "integrity": "sha512-N/ICGKleNhA5nc9XXQG/kkKHJ7S55u0x0XUJbbkmdCnFuoRkM1Il12q9q0eX19+M7KKUEPw/daUPIRnxhcxAIw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@rollup/rollup-android-arm-eabi": {
- "version": "4.52.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.52.2.tgz",
- "integrity": "sha512-o3pcKzJgSGt4d74lSZ+OCnHwkKBeAbFDmbEm5gg70eA8VkyCuC/zV9TwBnmw6VjDlRdF4Pshfb+WE9E6XY1PoQ==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "android"
- ]
- },
- "node_modules/@rollup/rollup-android-arm64": {
- "version": "4.52.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.52.2.tgz",
- "integrity": "sha512-cqFSWO5tX2vhC9hJTK8WAiPIm4Q8q/cU8j2HQA0L3E1uXvBYbOZMhE2oFL8n2pKB5sOCHY6bBuHaRwG7TkfJyw==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "android"
- ]
- },
- "node_modules/@rollup/rollup-darwin-arm64": {
- "version": "4.52.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.52.2.tgz",
- "integrity": "sha512-vngduywkkv8Fkh3wIZf5nFPXzWsNsVu1kvtLETWxTFf/5opZmflgVSeLgdHR56RQh71xhPhWoOkEBvbehwTlVA==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ]
- },
- "node_modules/@rollup/rollup-darwin-x64": {
- "version": "4.52.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.52.2.tgz",
- "integrity": "sha512-h11KikYrUCYTrDj6h939hhMNlqU2fo/X4NB0OZcys3fya49o1hmFaczAiJWVAFgrM1NCP6RrO7lQKeVYSKBPSQ==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ]
- },
- "node_modules/@rollup/rollup-freebsd-arm64": {
- "version": "4.52.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.52.2.tgz",
- "integrity": "sha512-/eg4CI61ZUkLXxMHyVlmlGrSQZ34xqWlZNW43IAU4RmdzWEx0mQJ2mN/Cx4IHLVZFL6UBGAh+/GXhgvGb+nVxw==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "freebsd"
- ]
- },
- "node_modules/@rollup/rollup-freebsd-x64": {
- "version": "4.52.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.52.2.tgz",
- "integrity": "sha512-QOWgFH5X9+p+S1NAfOqc0z8qEpJIoUHf7OWjNUGOeW18Mx22lAUOiA9b6r2/vpzLdfxi/f+VWsYjUOMCcYh0Ng==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "freebsd"
- ]
- },
- "node_modules/@rollup/rollup-linux-arm-gnueabihf": {
- "version": "4.52.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.52.2.tgz",
- "integrity": "sha512-kDWSPafToDd8LcBYd1t5jw7bD5Ojcu12S3uT372e5HKPzQt532vW+rGFFOaiR0opxePyUkHrwz8iWYEyH1IIQA==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-arm-musleabihf": {
- "version": "4.52.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.52.2.tgz",
- "integrity": "sha512-gKm7Mk9wCv6/rkzwCiUC4KnevYhlf8ztBrDRT9g/u//1fZLapSRc+eDZj2Eu2wpJ+0RzUKgtNijnVIB4ZxyL+w==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-arm64-gnu": {
- "version": "4.52.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.52.2.tgz",
- "integrity": "sha512-66lA8vnj5mB/rtDNwPgrrKUOtCLVQypkyDa2gMfOefXK6rcZAxKLO9Fy3GkW8VkPnENv9hBkNOFfGLf6rNKGUg==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-arm64-musl": {
- "version": "4.52.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.52.2.tgz",
- "integrity": "sha512-s+OPucLNdJHvuZHuIz2WwncJ+SfWHFEmlC5nKMUgAelUeBUnlB4wt7rXWiyG4Zn07uY2Dd+SGyVa9oyLkVGOjA==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-loong64-gnu": {
- "version": "4.52.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.52.2.tgz",
- "integrity": "sha512-8wTRM3+gVMDLLDdaT6tKmOE3lJyRy9NpJUS/ZRWmLCmOPIJhVyXwjBo+XbrrwtV33Em1/eCTd5TuGJm4+DmYjw==",
- "cpu": [
- "loong64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-ppc64-gnu": {
- "version": "4.52.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.52.2.tgz",
- "integrity": "sha512-6yqEfgJ1anIeuP2P/zhtfBlDpXUb80t8DpbYwXQ3bQd95JMvUaqiX+fKqYqUwZXqdJDd8xdilNtsHM2N0cFm6A==",
- "cpu": [
- "ppc64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-riscv64-gnu": {
- "version": "4.52.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.52.2.tgz",
- "integrity": "sha512-sshYUiYVSEI2B6dp4jMncwxbrUqRdNApF2c3bhtLAU0qA8Lrri0p0NauOsTWh3yCCCDyBOjESHMExonp7Nzc0w==",
- "cpu": [
- "riscv64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-riscv64-musl": {
- "version": "4.52.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.52.2.tgz",
- "integrity": "sha512-duBLgd+3pqC4MMwBrKkFxaZerUxZcYApQVC5SdbF5/e/589GwVvlRUnyqMFbM8iUSb1BaoX/3fRL7hB9m2Pj8Q==",
- "cpu": [
- "riscv64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-s390x-gnu": {
- "version": "4.52.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.52.2.tgz",
- "integrity": "sha512-tzhYJJidDUVGMgVyE+PmxENPHlvvqm1KILjjZhB8/xHYqAGeizh3GBGf9u6WdJpZrz1aCpIIHG0LgJgH9rVjHQ==",
- "cpu": [
- "s390x"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-x64-gnu": {
- "version": "4.52.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.52.2.tgz",
- "integrity": "sha512-opH8GSUuVcCSSyHHcl5hELrmnk4waZoVpgn/4FDao9iyE4WpQhyWJ5ryl5M3ocp4qkRuHfyXnGqg8M9oKCEKRA==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-x64-musl": {
- "version": "4.52.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.52.2.tgz",
- "integrity": "sha512-LSeBHnGli1pPKVJ79ZVJgeZWWZXkEe/5o8kcn23M8eMKCUANejchJbF/JqzM4RRjOJfNRhKJk8FuqL1GKjF5oQ==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-openharmony-arm64": {
- "version": "4.52.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.52.2.tgz",
- "integrity": "sha512-uPj7MQ6/s+/GOpolavm6BPo+6CbhbKYyZHUDvZ/SmJM7pfDBgdGisFX3bY/CBDMg2ZO4utfhlApkSfZ92yXw7Q==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "openharmony"
- ]
- },
- "node_modules/@rollup/rollup-win32-arm64-msvc": {
- "version": "4.52.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.52.2.tgz",
- "integrity": "sha512-Z9MUCrSgIaUeeHAiNkm3cQyst2UhzjPraR3gYYfOjAuZI7tcFRTOD+4cHLPoS/3qinchth+V56vtqz1Tv+6KPA==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ]
- },
- "node_modules/@rollup/rollup-win32-ia32-msvc": {
- "version": "4.52.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.52.2.tgz",
- "integrity": "sha512-+GnYBmpjldD3XQd+HMejo+0gJGwYIOfFeoBQv32xF/RUIvccUz20/V6Otdv+57NE70D5pa8W/jVGDoGq0oON4A==",
- "cpu": [
- "ia32"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ]
- },
- "node_modules/@rollup/rollup-win32-x64-gnu": {
- "version": "4.52.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.52.2.tgz",
- "integrity": "sha512-ApXFKluSB6kDQkAqZOKXBjiaqdF1BlKi+/eqnYe9Ee7U2K3pUDKsIyr8EYm/QDHTJIM+4X+lI0gJc3TTRhd+dA==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ]
- },
- "node_modules/@rollup/rollup-win32-x64-msvc": {
- "version": "4.52.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.52.2.tgz",
- "integrity": "sha512-ARz+Bs8kY6FtitYM96PqPEVvPXqEZmPZsSkXvyX19YzDqkCaIlhCieLLMI5hxO9SRZ2XtCtm8wxhy0iJ2jxNfw==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ]
- },
- "node_modules/@schematics/angular": {
- "version": "20.3.3",
- "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-20.3.3.tgz",
- "integrity": "sha512-lqIP1pNKp8yaqd663R3graZWaTBjXH+Cl72BQl1Ghl7lFGReZJALr4GiSMiBR9r30Epklcw5TwOSi+Bs4UKmbw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@angular-devkit/core": "20.3.3",
- "@angular-devkit/schematics": "20.3.3",
- "jsonc-parser": "3.3.1"
- },
- "engines": {
- "node": "^20.19.0 || ^22.12.0 || >=24.0.0",
- "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
- "yarn": ">= 1.13.0"
- }
- },
- "node_modules/@sigstore/bundle": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/@sigstore/bundle/-/bundle-3.1.0.tgz",
- "integrity": "sha512-Mm1E3/CmDDCz3nDhFKTuYdB47EdRFRQMOE/EAbiG1MJW77/w1b3P7Qx7JSrVJs8PfwOLOVcKQCHErIwCTyPbag==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "@sigstore/protobuf-specs": "^0.4.0"
- },
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/@sigstore/core": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/@sigstore/core/-/core-2.0.0.tgz",
- "integrity": "sha512-nYxaSb/MtlSI+JWcwTHQxyNmWeWrUXJJ/G4liLrGG7+tS4vAz6LF3xRXqLH6wPIVUoZQel2Fs4ddLx4NCpiIYg==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/@sigstore/protobuf-specs": {
- "version": "0.4.3",
- "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.4.3.tgz",
- "integrity": "sha512-fk2zjD9117RL9BjqEwF7fwv7Q/P9yGsMV4MUJZ/DocaQJ6+3pKr+syBq1owU5Q5qGw5CUbXzm+4yJ2JVRDQeSA==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/@sigstore/sign": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/@sigstore/sign/-/sign-3.1.0.tgz",
- "integrity": "sha512-knzjmaOHOov1Ur7N/z4B1oPqZ0QX5geUfhrVaqVlu+hl0EAoL4o+l0MSULINcD5GCWe3Z0+YJO8ues6vFlW0Yw==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "@sigstore/bundle": "^3.1.0",
- "@sigstore/core": "^2.0.0",
- "@sigstore/protobuf-specs": "^0.4.0",
- "make-fetch-happen": "^14.0.2",
- "proc-log": "^5.0.0",
- "promise-retry": "^2.0.1"
- },
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/@sigstore/tuf": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/@sigstore/tuf/-/tuf-3.1.1.tgz",
- "integrity": "sha512-eFFvlcBIoGwVkkwmTi/vEQFSva3xs5Ot3WmBcjgjVdiaoelBLQaQ/ZBfhlG0MnG0cmTYScPpk7eDdGDWUcFUmg==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "@sigstore/protobuf-specs": "^0.4.1",
- "tuf-js": "^3.0.1"
- },
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/@sigstore/verify": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/@sigstore/verify/-/verify-2.1.1.tgz",
- "integrity": "sha512-hVJD77oT67aowHxwT4+M6PGOp+E2LtLdTK3+FC0lBO9T7sYwItDMXZ7Z07IDCvR1M717a4axbIWckrW67KMP/w==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "@sigstore/bundle": "^3.1.0",
- "@sigstore/core": "^2.0.0",
- "@sigstore/protobuf-specs": "^0.4.1"
- },
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/@socket.io/component-emitter": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz",
- "integrity": "sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@tootallnate/quickjs-emscripten": {
- "version": "0.23.0",
- "resolved": "https://registry.npmjs.org/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz",
- "integrity": "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@tufjs/canonical-json": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/@tufjs/canonical-json/-/canonical-json-2.0.0.tgz",
- "integrity": "sha512-yVtV8zsdo8qFHe+/3kw81dSLyF7D576A5cCFCi4X7B39tWT7SekaEFUnvnWJHz+9qO7qJTah1JbrDjWKqFtdWA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "^16.14.0 || >=18.0.0"
- }
- },
- "node_modules/@tufjs/models": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/@tufjs/models/-/models-3.0.1.tgz",
- "integrity": "sha512-UUYHISyhCU3ZgN8yaear3cGATHb3SMuKHsQ/nVbHXcmnBf+LzQ/cQfhNG+rfaSHgqGKNEm2cOCLVLELStUQ1JA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@tufjs/canonical-json": "2.0.0",
- "minimatch": "^9.0.5"
- },
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "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,
- "dependencies": {
- "tslib": "^2.4.0"
- }
- },
- "node_modules/@types/body-parser": {
- "version": "1.19.6",
- "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.6.tgz",
- "integrity": "sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/connect": "*",
- "@types/node": "*"
- }
- },
- "node_modules/@types/connect": {
- "version": "3.4.38",
- "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz",
- "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/node": "*"
- }
- },
- "node_modules/@types/cors": {
- "version": "2.8.19",
- "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.19.tgz",
- "integrity": "sha512-mFNylyeyqN93lfe/9CSxOGREz8cpzAhH+E93xJ4xWQf62V8sQ/24reV2nyzUWM6H6Xji+GGHpkbLe7pVoUEskg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/node": "*"
- }
- },
- "node_modules/@types/estree": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
- "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/express": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/@types/express/-/express-5.0.3.tgz",
- "integrity": "sha512-wGA0NX93b19/dZC1J18tKWVIYWyyF2ZjT9vin/NRu0qzzvfVzWjs04iq2rQ3H65vCTQYlRqs3YHfY7zjdV+9Kw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/body-parser": "*",
- "@types/express-serve-static-core": "^5.0.0",
- "@types/serve-static": "*"
- }
- },
- "node_modules/@types/express-serve-static-core": {
- "version": "5.0.7",
- "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.0.7.tgz",
- "integrity": "sha512-R+33OsgWw7rOhD1emjU7dzCDHucJrgJXMA5PYCzJxVil0dsyx5iBEPHqpPfiKNJQb7lZ1vxwoLR4Z87bBUpeGQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/node": "*",
- "@types/qs": "*",
- "@types/range-parser": "*",
- "@types/send": "*"
- }
- },
- "node_modules/@types/http-errors": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.5.tgz",
- "integrity": "sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/jasmine": {
- "version": "5.1.9",
- "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-5.1.9.tgz",
- "integrity": "sha512-8t4HtkW4wxiPVedMpeZ63n3vlWxEIquo/zc1Tm8ElU+SqVV7+D3Na2PWaJUp179AzTragMWVwkMv7mvty0NfyQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/json-schema": {
- "version": "7.0.15",
- "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
- "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/mime": {
- "version": "1.3.5",
- "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz",
- "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/node": {
- "version": "24.6.0",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-24.6.0.tgz",
- "integrity": "sha512-F1CBxgqwOMc4GKJ7eY22hWhBVQuMYTtqI8L0FcszYcpYX0fzfDGpez22Xau8Mgm7O9fI+zA/TYIdq3tGWfweBA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "undici-types": "~7.13.0"
- }
- },
- "node_modules/@types/qs": {
- "version": "6.14.0",
- "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.14.0.tgz",
- "integrity": "sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/range-parser": {
- "version": "1.2.7",
- "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz",
- "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/send": {
- "version": "0.17.5",
- "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.5.tgz",
- "integrity": "sha512-z6F2D3cOStZvuk2SaP6YrwkNO65iTZcwA2ZkSABegdkAh/lf+Aa/YQndZVfmEXT5vgAp6zv06VQ3ejSVjAny4w==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/mime": "^1",
- "@types/node": "*"
- }
- },
- "node_modules/@types/serve-static": {
- "version": "1.15.8",
- "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.8.tgz",
- "integrity": "sha512-roei0UY3LhpOJvjbIP6ZZFngyLKl5dskOtDhxY5THRSpO+ZI+nzJ+m5yUMzGrp89YRa7lvknKkMYjqQFGwA7Sg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/http-errors": "*",
- "@types/node": "*",
- "@types/send": "*"
- }
- },
- "node_modules/@types/yauzl": {
- "version": "2.10.3",
- "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz",
- "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "dependencies": {
- "@types/node": "*"
- }
- },
- "node_modules/@typescript-eslint/eslint-plugin": {
- "version": "8.45.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.45.0.tgz",
- "integrity": "sha512-HC3y9CVuevvWCl/oyZuI47dOeDF9ztdMEfMH8/DW/Mhwa9cCLnK1oD7JoTVGW/u7kFzNZUKUoyJEqkaJh5y3Wg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@eslint-community/regexpp": "^4.10.0",
- "@typescript-eslint/scope-manager": "8.45.0",
- "@typescript-eslint/type-utils": "8.45.0",
- "@typescript-eslint/utils": "8.45.0",
- "@typescript-eslint/visitor-keys": "8.45.0",
- "graphemer": "^1.4.0",
- "ignore": "^7.0.0",
- "natural-compare": "^1.4.0",
- "ts-api-utils": "^2.1.0"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "@typescript-eslint/parser": "^8.45.0",
- "eslint": "^8.57.0 || ^9.0.0",
- "typescript": ">=4.8.4 <6.0.0"
- }
- },
- "node_modules/@typescript-eslint/parser": {
- "version": "8.45.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.45.0.tgz",
- "integrity": "sha512-TGf22kon8KW+DeKaUmOibKWktRY8b2NSAZNdtWh798COm1NWx8+xJ6iFBtk3IvLdv6+LGLJLRlyhrhEDZWargQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@typescript-eslint/scope-manager": "8.45.0",
- "@typescript-eslint/types": "8.45.0",
- "@typescript-eslint/typescript-estree": "8.45.0",
- "@typescript-eslint/visitor-keys": "8.45.0",
- "debug": "^4.3.4"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "^8.57.0 || ^9.0.0",
- "typescript": ">=4.8.4 <6.0.0"
- }
- },
- "node_modules/@typescript-eslint/project-service": {
- "version": "8.45.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.45.0.tgz",
- "integrity": "sha512-3pcVHwMG/iA8afdGLMuTibGR7pDsn9RjDev6CCB+naRsSYs2pns5QbinF4Xqw6YC/Sj3lMrm/Im0eMfaa61WUg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@typescript-eslint/tsconfig-utils": "^8.45.0",
- "@typescript-eslint/types": "^8.45.0",
- "debug": "^4.3.4"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "typescript": ">=4.8.4 <6.0.0"
- }
- },
- "node_modules/@typescript-eslint/scope-manager": {
- "version": "8.45.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.45.0.tgz",
- "integrity": "sha512-clmm8XSNj/1dGvJeO6VGH7EUSeA0FMs+5au/u3lrA3KfG8iJ4u8ym9/j2tTEoacAffdW1TVUzXO30W1JTJS7dA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@typescript-eslint/types": "8.45.0",
- "@typescript-eslint/visitor-keys": "8.45.0"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@typescript-eslint/tsconfig-utils": {
- "version": "8.45.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.45.0.tgz",
- "integrity": "sha512-aFdr+c37sc+jqNMGhH+ajxPXwjv9UtFZk79k8pLoJ6p4y0snmYpPA52GuWHgt2ZF4gRRW6odsEj41uZLojDt5w==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "typescript": ">=4.8.4 <6.0.0"
- }
- },
- "node_modules/@typescript-eslint/type-utils": {
- "version": "8.45.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.45.0.tgz",
- "integrity": "sha512-bpjepLlHceKgyMEPglAeULX1vixJDgaKocp0RVJ5u4wLJIMNuKtUXIczpJCPcn2waII0yuvks/5m5/h3ZQKs0A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@typescript-eslint/types": "8.45.0",
- "@typescript-eslint/typescript-estree": "8.45.0",
- "@typescript-eslint/utils": "8.45.0",
- "debug": "^4.3.4",
- "ts-api-utils": "^2.1.0"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "^8.57.0 || ^9.0.0",
- "typescript": ">=4.8.4 <6.0.0"
- }
- },
- "node_modules/@typescript-eslint/types": {
- "version": "8.45.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.45.0.tgz",
- "integrity": "sha512-WugXLuOIq67BMgQInIxxnsSyRLFxdkJEJu8r4ngLR56q/4Q5LrbfkFRH27vMTjxEK8Pyz7QfzuZe/G15qQnVRA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@typescript-eslint/typescript-estree": {
- "version": "8.45.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.45.0.tgz",
- "integrity": "sha512-GfE1NfVbLam6XQ0LcERKwdTTPlLvHvXXhOeUGC1OXi4eQBoyy1iVsW+uzJ/J9jtCz6/7GCQ9MtrQ0fml/jWCnA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@typescript-eslint/project-service": "8.45.0",
- "@typescript-eslint/tsconfig-utils": "8.45.0",
- "@typescript-eslint/types": "8.45.0",
- "@typescript-eslint/visitor-keys": "8.45.0",
- "debug": "^4.3.4",
- "fast-glob": "^3.3.2",
- "is-glob": "^4.0.3",
- "minimatch": "^9.0.4",
- "semver": "^7.6.0",
- "ts-api-utils": "^2.1.0"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "typescript": ">=4.8.4 <6.0.0"
- }
- },
- "node_modules/@typescript-eslint/utils": {
- "version": "8.45.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.45.0.tgz",
- "integrity": "sha512-bxi1ht+tLYg4+XV2knz/F7RVhU0k6VrSMc9sb8DQ6fyCTrGQLHfo7lDtN0QJjZjKkLA2ThrKuCdHEvLReqtIGg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@eslint-community/eslint-utils": "^4.7.0",
- "@typescript-eslint/scope-manager": "8.45.0",
- "@typescript-eslint/types": "8.45.0",
- "@typescript-eslint/typescript-estree": "8.45.0"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "^8.57.0 || ^9.0.0",
- "typescript": ">=4.8.4 <6.0.0"
- }
- },
- "node_modules/@typescript-eslint/visitor-keys": {
- "version": "8.45.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.45.0.tgz",
- "integrity": "sha512-qsaFBA3e09MIDAGFUrTk+dzqtfv1XPVz8t8d1f0ybTzrCY7BKiMC5cjrl1O/P7UmHsNyW90EYSkU/ZWpmXelag==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@typescript-eslint/types": "8.45.0",
- "eslint-visitor-keys": "^4.2.1"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz",
- "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
- "node_modules/@vitejs/plugin-basic-ssl": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/@vitejs/plugin-basic-ssl/-/plugin-basic-ssl-2.1.0.tgz",
- "integrity": "sha512-dOxxrhgyDIEUADhb/8OlV9JIqYLgos03YorAueTIeOUskLJSEsfwCByjbu98ctXitUN3znXKp0bYD/WHSudCeA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "^18.0.0 || ^20.0.0 || >=22.0.0"
- },
- "peerDependencies": {
- "vite": "^6.0.0 || ^7.0.0"
- }
- },
- "node_modules/@yarnpkg/lockfile": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz",
- "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==",
- "dev": true,
- "license": "BSD-2-Clause"
- },
- "node_modules/abbrev": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-3.0.1.tgz",
- "integrity": "sha512-AO2ac6pjRB3SJmGJo+v5/aK6Omggp6fsLrs6wN9bd35ulu4cCwaAU9+7ZhXjeqHVkaHThLuzH0nZr0YpCDhygg==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/accepts": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz",
- "integrity": "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==",
- "license": "MIT",
- "dependencies": {
- "mime-types": "^3.0.0",
- "negotiator": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/acorn": {
- "version": "8.15.0",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz",
- "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
- "dev": true,
- "license": "MIT",
- "bin": {
- "acorn": "bin/acorn"
- },
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/acorn-jsx": {
- "version": "5.3.2",
- "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
- "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
- "dev": true,
- "license": "MIT",
- "peerDependencies": {
- "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
- }
- },
- "node_modules/agent-base": {
- "version": "7.1.4",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz",
- "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 14"
- }
- },
- "node_modules/ajv": {
- "version": "8.17.1",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz",
- "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==",
- "dev": true,
- "license": "MIT",
- "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/ajv-formats": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz",
- "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ajv": "^8.0.0"
- },
- "peerDependencies": {
- "ajv": "^8.0.0"
- },
- "peerDependenciesMeta": {
- "ajv": {
- "optional": true
- }
- }
- },
- "node_modules/algoliasearch": {
- "version": "5.35.0",
- "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-5.35.0.tgz",
- "integrity": "sha512-Y+moNhsqgLmvJdgTsO4GZNgsaDWv8AOGAaPeIeHKlDn/XunoAqYbA+XNpBd1dW8GOXAUDyxC9Rxc7AV4kpFcIg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@algolia/abtesting": "1.1.0",
- "@algolia/client-abtesting": "5.35.0",
- "@algolia/client-analytics": "5.35.0",
- "@algolia/client-common": "5.35.0",
- "@algolia/client-insights": "5.35.0",
- "@algolia/client-personalization": "5.35.0",
- "@algolia/client-query-suggestions": "5.35.0",
- "@algolia/client-search": "5.35.0",
- "@algolia/ingestion": "1.35.0",
- "@algolia/monitoring": "1.35.0",
- "@algolia/recommend": "5.35.0",
- "@algolia/requester-browser-xhr": "5.35.0",
- "@algolia/requester-fetch": "5.35.0",
- "@algolia/requester-node-http": "5.35.0"
- },
- "engines": {
- "node": ">= 14.0.0"
- }
- },
- "node_modules/angular-eslint": {
- "version": "20.3.0",
- "resolved": "https://registry.npmjs.org/angular-eslint/-/angular-eslint-20.3.0.tgz",
- "integrity": "sha512-MvmeFuPmJHRmfL1A9IMtZJEYaU6sF++saJgpsU7aOD6YDZCGJ0J6HxlJ/q7YRbWYuI1q+gF/qALxdnuwHYadSg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@angular-devkit/core": ">= 20.0.0 < 21.0.0",
- "@angular-devkit/schematics": ">= 20.0.0 < 21.0.0",
- "@angular-eslint/builder": "20.3.0",
- "@angular-eslint/eslint-plugin": "20.3.0",
- "@angular-eslint/eslint-plugin-template": "20.3.0",
- "@angular-eslint/schematics": "20.3.0",
- "@angular-eslint/template-parser": "20.3.0",
- "@typescript-eslint/types": "^8.0.0",
- "@typescript-eslint/utils": "^8.0.0"
- },
- "peerDependencies": {
- "eslint": "^8.57.0 || ^9.0.0",
- "typescript": "*",
- "typescript-eslint": "^8.0.0"
- }
- },
- "node_modules/ansi-escapes": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.1.1.tgz",
- "integrity": "sha512-Zhl0ErHcSRUaVfGUeUdDuLgpkEo8KIFjB4Y9uAc46ScOpdDiU1Dbyplh7qWJeJ/ZHpbyMSM26+X3BySgnIz40Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "environment": "^1.0.0"
- },
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/ansi-regex": {
- "version": "6.2.2",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz",
- "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-regex?sponsor=1"
- }
- },
- "node_modules/ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/ansis": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/ansis/-/ansis-4.1.0.tgz",
- "integrity": "sha512-BGcItUBWSMRgOCe+SVZJ+S7yTRG0eGt9cXAHev72yuGcY23hnLA7Bky5L/xLyPINoSN95geovfBkqoTlNZYa7w==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": ">=14"
- }
- },
- "node_modules/anymatch": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
- "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "normalize-path": "^3.0.0",
- "picomatch": "^2.0.4"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/anymatch/node_modules/picomatch": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
- "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/jonschlinkert"
- }
- },
- "node_modules/argparse": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
- "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
- "dev": true,
- "license": "Python-2.0"
- },
- "node_modules/aria-query": {
- "version": "5.3.2",
- "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz",
- "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/ast-types": {
- "version": "0.13.4",
- "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz",
- "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "tslib": "^2.0.1"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/axobject-query": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz",
- "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/b4a": {
- "version": "1.7.3",
- "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.7.3.tgz",
- "integrity": "sha512-5Q2mfq2WfGuFp3uS//0s6baOJLMoVduPYVeNmDYxu5OUA1/cBfvr2RIS7vi62LdNj/urk1hfmj867I3qt6uZ7Q==",
- "dev": true,
- "license": "Apache-2.0",
- "peerDependencies": {
- "react-native-b4a": "*"
- },
- "peerDependenciesMeta": {
- "react-native-b4a": {
- "optional": true
- }
- }
- },
- "node_modules/balanced-match": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
- "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/bare-events": {
- "version": "2.8.1",
- "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.8.1.tgz",
- "integrity": "sha512-oxSAxTS1hRfnyit2CL5QpAOS5ixfBjj6ex3yTNvXyY/kE719jQ/IjuESJBK2w5v4wwQRAHGseVJXx9QBYOtFGQ==",
- "dev": true,
- "license": "Apache-2.0",
- "peerDependencies": {
- "bare-abort-controller": "*"
- },
- "peerDependenciesMeta": {
- "bare-abort-controller": {
- "optional": true
- }
- }
- },
- "node_modules/bare-fs": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-4.5.0.tgz",
- "integrity": "sha512-GljgCjeupKZJNetTqxKaQArLK10vpmK28or0+RwWjEl5Rk+/xG3wkpmkv+WrcBm3q1BwHKlnhXzR8O37kcvkXQ==",
- "dev": true,
- "license": "Apache-2.0",
- "optional": true,
- "dependencies": {
- "bare-events": "^2.5.4",
- "bare-path": "^3.0.0",
- "bare-stream": "^2.6.4",
- "bare-url": "^2.2.2",
- "fast-fifo": "^1.3.2"
- },
- "engines": {
- "bare": ">=1.16.0"
- },
- "peerDependencies": {
- "bare-buffer": "*"
- },
- "peerDependenciesMeta": {
- "bare-buffer": {
- "optional": true
- }
- }
- },
- "node_modules/bare-os": {
- "version": "3.6.2",
- "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-3.6.2.tgz",
- "integrity": "sha512-T+V1+1srU2qYNBmJCXZkUY5vQ0B4FSlL3QDROnKQYOqeiQR8UbjNHlPa+TIbM4cuidiN9GaTaOZgSEgsvPbh5A==",
- "dev": true,
- "license": "Apache-2.0",
- "optional": true,
- "engines": {
- "bare": ">=1.14.0"
- }
- },
- "node_modules/bare-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/bare-path/-/bare-path-3.0.0.tgz",
- "integrity": "sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw==",
- "dev": true,
- "license": "Apache-2.0",
- "optional": true,
- "dependencies": {
- "bare-os": "^3.0.1"
- }
- },
- "node_modules/bare-stream": {
- "version": "2.7.0",
- "resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.7.0.tgz",
- "integrity": "sha512-oyXQNicV1y8nc2aKffH+BUHFRXmx6VrPzlnaEvMhram0nPBrKcEdcyBg5r08D0i8VxngHFAiVyn1QKXpSG0B8A==",
- "dev": true,
- "license": "Apache-2.0",
- "optional": true,
- "dependencies": {
- "streamx": "^2.21.0"
- },
- "peerDependencies": {
- "bare-buffer": "*",
- "bare-events": "*"
- },
- "peerDependenciesMeta": {
- "bare-buffer": {
- "optional": true
- },
- "bare-events": {
- "optional": true
- }
- }
- },
- "node_modules/bare-url": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/bare-url/-/bare-url-2.3.1.tgz",
- "integrity": "sha512-v2yl0TnaZTdEnelkKtXZGnotiV6qATBlnNuUMrHl6v9Lmmrh9mw9RYyImPU7/4RahumSwQS1k2oKXcRfXcbjJw==",
- "dev": true,
- "license": "Apache-2.0",
- "optional": true,
- "dependencies": {
- "bare-path": "^3.0.0"
- }
- },
- "node_modules/base64-js": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
- "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
- "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"
- },
- "node_modules/base64id": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz",
- "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "^4.5.0 || >= 5.9"
- }
- },
- "node_modules/baseline-browser-mapping": {
- "version": "2.8.7",
- "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.7.tgz",
- "integrity": "sha512-bxxN2M3a4d1CRoQC//IqsR5XrLh0IJ8TCv2x6Y9N0nckNz/rTjZB3//GGscZziZOxmjP55rzxg/ze7usFI9FqQ==",
- "dev": true,
- "license": "Apache-2.0",
- "bin": {
- "baseline-browser-mapping": "dist/cli.js"
- }
- },
- "node_modules/basic-ftp": {
- "version": "5.0.5",
- "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.0.5.tgz",
- "integrity": "sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10.0.0"
- }
- },
- "node_modules/beasties": {
- "version": "0.3.5",
- "resolved": "https://registry.npmjs.org/beasties/-/beasties-0.3.5.tgz",
- "integrity": "sha512-NaWu+f4YrJxEttJSm16AzMIFtVldCvaJ68b1L098KpqXmxt9xOLtKoLkKxb8ekhOrLqEJAbvT6n6SEvB/sac7A==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "css-select": "^6.0.0",
- "css-what": "^7.0.0",
- "dom-serializer": "^2.0.0",
- "domhandler": "^5.0.3",
- "htmlparser2": "^10.0.0",
- "picocolors": "^1.1.1",
- "postcss": "^8.4.49",
- "postcss-media-query-parser": "^0.2.3"
- },
- "engines": {
- "node": ">=14.0.0"
- }
- },
- "node_modules/binary-extensions": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz",
- "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/body-parser": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.0.tgz",
- "integrity": "sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg==",
- "license": "MIT",
- "dependencies": {
- "bytes": "^3.1.2",
- "content-type": "^1.0.5",
- "debug": "^4.4.0",
- "http-errors": "^2.0.0",
- "iconv-lite": "^0.6.3",
- "on-finished": "^2.4.1",
- "qs": "^6.14.0",
- "raw-body": "^3.0.0",
- "type-is": "^2.0.0"
- },
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/body-parser/node_modules/iconv-lite": {
- "version": "0.6.3",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
- "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
- "license": "MIT",
- "dependencies": {
- "safer-buffer": ">= 2.1.2 < 3.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/boolbase": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
- "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/bootstrap": {
- "version": "5.3.8",
- "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.3.8.tgz",
- "integrity": "sha512-HP1SZDqaLDPwsNiqRqi5NcP0SSXciX2s9E+RyqJIIqGo+vJeN5AJVM98CXmW/Wux0nQ5L7jeWUdplCEf0Ee+tg==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/twbs"
- },
- {
- "type": "opencollective",
- "url": "https://opencollective.com/bootstrap"
- }
- ],
- "license": "MIT",
- "peerDependencies": {
- "@popperjs/core": "^2.11.8"
- }
- },
- "node_modules/brace-expansion": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
- "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "balanced-match": "^1.0.0"
- }
- },
- "node_modules/braces": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
- "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "fill-range": "^7.1.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/browserslist": {
- "version": "4.26.2",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.26.2.tgz",
- "integrity": "sha512-ECFzp6uFOSB+dcZ5BK/IBaGWssbSYBHvuMeMt3MMFyhI0Z8SqGgEkBLARgpRH3hutIgPVsALcMwbDrJqPxQ65A==",
- "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",
- "dependencies": {
- "baseline-browser-mapping": "^2.8.3",
- "caniuse-lite": "^1.0.30001741",
- "electron-to-chromium": "^1.5.218",
- "node-releases": "^2.0.21",
- "update-browserslist-db": "^1.1.3"
- },
- "bin": {
- "browserslist": "cli.js"
- },
- "engines": {
- "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
- }
- },
- "node_modules/buffer": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
- "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
- "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",
- "dependencies": {
- "base64-js": "^1.3.1",
- "ieee754": "^1.1.13"
- }
- },
- "node_modules/buffer-crc32": {
- "version": "0.2.13",
- "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
- "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "*"
- }
- },
- "node_modules/buffer-from": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
- "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/bytes": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
- "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
- "license": "MIT",
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/cacache": {
- "version": "19.0.1",
- "resolved": "https://registry.npmjs.org/cacache/-/cacache-19.0.1.tgz",
- "integrity": "sha512-hdsUxulXCi5STId78vRVYEtDAjq99ICAUktLTeTYsLoTE6Z8dS0c8pWNCxwdrk9YfJeobDZc2Y186hD/5ZQgFQ==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "@npmcli/fs": "^4.0.0",
- "fs-minipass": "^3.0.0",
- "glob": "^10.2.2",
- "lru-cache": "^10.0.1",
- "minipass": "^7.0.3",
- "minipass-collect": "^2.0.1",
- "minipass-flush": "^1.0.5",
- "minipass-pipeline": "^1.2.4",
- "p-map": "^7.0.2",
- "ssri": "^12.0.0",
- "tar": "^7.4.3",
- "unique-filename": "^4.0.0"
- },
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/cacache/node_modules/chownr": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz",
- "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==",
- "dev": true,
- "license": "BlueOak-1.0.0",
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/cacache/node_modules/glob": {
- "version": "10.4.5",
- "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz",
- "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "foreground-child": "^3.1.0",
- "jackspeak": "^3.1.2",
- "minimatch": "^9.0.4",
- "minipass": "^7.1.2",
- "package-json-from-dist": "^1.0.0",
- "path-scurry": "^1.11.1"
- },
- "bin": {
- "glob": "dist/esm/bin.mjs"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/cacache/node_modules/lru-cache": {
- "version": "10.4.3",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz",
- "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/cacache/node_modules/tar": {
- "version": "7.5.1",
- "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.1.tgz",
- "integrity": "sha512-nlGpxf+hv0v7GkWBK2V9spgactGOp0qvfWRxUMjqHyzrt3SgwE48DIv/FhqPHJYLHpgW1opq3nERbz5Anq7n1g==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "@isaacs/fs-minipass": "^4.0.0",
- "chownr": "^3.0.0",
- "minipass": "^7.1.2",
- "minizlib": "^3.1.0",
- "yallist": "^5.0.0"
- },
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/cacache/node_modules/yallist": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz",
- "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==",
- "dev": true,
- "license": "BlueOak-1.0.0",
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/call-bind-apply-helpers": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz",
- "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==",
- "license": "MIT",
- "dependencies": {
- "es-errors": "^1.3.0",
- "function-bind": "^1.1.2"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/call-bound": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz",
- "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==",
- "license": "MIT",
- "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",
- "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
- "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/caniuse-lite": {
- "version": "1.0.30001745",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001745.tgz",
- "integrity": "sha512-ywt6i8FzvdgrrrGbr1jZVObnVv6adj+0if2/omv9cmR2oiZs30zL4DIyaptKcbOrBdOIc74QTMoJvSE2QHh5UQ==",
- "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"
- },
- "node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "license": "MIT",
- "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/chardet": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/chardet/-/chardet-2.1.0.tgz",
- "integrity": "sha512-bNFETTG/pM5ryzQ9Ad0lJOTa6HWD/YsScAR3EnCPZRPlQh77JocYktSHOUHelyhm8IARL+o4c4F1bP5KVOjiRA==",
- "dev": true,
- "license": "MIT"
- },
- "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",
- "dependencies": {
- "readdirp": "^4.0.1"
- },
- "engines": {
- "node": ">= 14.16.0"
- },
- "funding": {
- "url": "https://paulmillr.com/funding/"
- }
- },
- "node_modules/chownr": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
- "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/chromium-bidi": {
- "version": "0.11.0",
- "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-0.11.0.tgz",
- "integrity": "sha512-6CJWHkNRoyZyjV9Rwv2lYONZf1Xm0IuDyNq97nwSsxxP3wf5Bwy15K5rOvVKMtJ127jJBmxFUanSAOjgFRxgrA==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "mitt": "3.0.1",
- "zod": "3.23.8"
- },
- "peerDependencies": {
- "devtools-protocol": "*"
- }
- },
- "node_modules/chromium-bidi/node_modules/zod": {
- "version": "3.23.8",
- "resolved": "https://registry.npmjs.org/zod/-/zod-3.23.8.tgz",
- "integrity": "sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==",
- "dev": true,
- "license": "MIT",
- "funding": {
- "url": "https://github.com/sponsors/colinhacks"
- }
- },
- "node_modules/cli-cursor": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-5.0.0.tgz",
- "integrity": "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "restore-cursor": "^5.0.0"
- },
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/cli-spinners": {
- "version": "2.9.2",
- "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz",
- "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/cli-truncate": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-4.0.0.tgz",
- "integrity": "sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "slice-ansi": "^5.0.0",
- "string-width": "^7.0.0"
- },
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/cli-width": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz",
- "integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": ">= 12"
- }
- },
- "node_modules/cliui": {
- "version": "9.0.1",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-9.0.1.tgz",
- "integrity": "sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "string-width": "^7.2.0",
- "strip-ansi": "^7.1.0",
- "wrap-ansi": "^9.0.0"
- },
- "engines": {
- "node": ">=20"
- }
- },
- "node_modules/cliui/node_modules/ansi-styles": {
- "version": "6.2.3",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz",
- "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/cliui/node_modules/wrap-ansi": {
- "version": "9.0.2",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz",
- "integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^6.2.1",
- "string-width": "^7.0.0",
- "strip-ansi": "^7.1.0"
- },
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
- }
- },
- "node_modules/color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/colorette": {
- "version": "2.0.20",
- "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz",
- "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/concat-map": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/connect": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz",
- "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "debug": "2.6.9",
- "finalhandler": "1.1.2",
- "parseurl": "~1.3.3",
- "utils-merge": "1.0.1"
- },
- "engines": {
- "node": ">= 0.10.0"
- }
- },
- "node_modules/connect/node_modules/debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ms": "2.0.0"
- }
- },
- "node_modules/connect/node_modules/encodeurl": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
- "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/connect/node_modules/finalhandler": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz",
- "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "debug": "2.6.9",
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "on-finished": "~2.3.0",
- "parseurl": "~1.3.3",
- "statuses": "~1.5.0",
- "unpipe": "~1.0.0"
- },
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/connect/node_modules/ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/connect/node_modules/on-finished": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
- "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ee-first": "1.1.1"
- },
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/connect/node_modules/statuses": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
- "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/content-disposition": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.0.0.tgz",
- "integrity": "sha512-Au9nRL8VNUut/XSzbQA38+M78dzP4D+eqg3gfJHMIHHYa3bg067xj1KxMUWj+VULbiZMowKngFFbKczUrNJ1mg==",
- "license": "MIT",
- "dependencies": {
- "safe-buffer": "5.2.1"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/content-type": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz",
- "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==",
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/convert-source-map": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz",
- "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/cookie": {
- "version": "0.7.2",
- "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz",
- "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==",
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/cookie-signature": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz",
- "integrity": "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==",
- "license": "MIT",
- "engines": {
- "node": ">=6.6.0"
- }
- },
- "node_modules/cors": {
- "version": "2.8.5",
- "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
- "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "object-assign": "^4",
- "vary": "^1"
- },
- "engines": {
- "node": ">= 0.10"
- }
- },
- "node_modules/cosmiconfig": {
- "version": "9.0.0",
- "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz",
- "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==",
- "dev": true,
- "license": "MIT",
- "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",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
- "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "path-key": "^3.1.0",
- "shebang-command": "^2.0.0",
- "which": "^2.0.1"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/css-select": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/css-select/-/css-select-6.0.0.tgz",
- "integrity": "sha512-rZZVSLle8v0+EY8QAkDWrKhpgt6SA5OtHsgBnsj6ZaLb5dmDVOWUDtQitd9ydxxvEjhewNudS6eTVU7uOyzvXw==",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "boolbase": "^1.0.0",
- "css-what": "^7.0.0",
- "domhandler": "^5.0.3",
- "domutils": "^3.2.2",
- "nth-check": "^2.1.1"
- },
- "funding": {
- "url": "https://github.com/sponsors/fb55"
- }
- },
- "node_modules/css-what": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/css-what/-/css-what-7.0.0.tgz",
- "integrity": "sha512-wD5oz5xibMOPHzy13CyGmogB3phdvcDaB5t0W/Nr5Z2O/agcB8YwOz6e2Lsp10pNDzBoDO9nVa3RGs/2BttpHQ==",
- "dev": true,
- "license": "BSD-2-Clause",
- "engines": {
- "node": ">= 6"
- },
- "funding": {
- "url": "https://github.com/sponsors/fb55"
- }
- },
- "node_modules/custom-event": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz",
- "integrity": "sha512-GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/data-uri-to-buffer": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-6.0.2.tgz",
- "integrity": "sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 14"
- }
- },
- "node_modules/date-format": {
- "version": "4.0.14",
- "resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.14.tgz",
- "integrity": "sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=4.0"
- }
- },
- "node_modules/debug": {
- "version": "4.4.3",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
- "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
- "license": "MIT",
- "dependencies": {
- "ms": "^2.1.3"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "node_modules/deep-is": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
- "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/degenerator": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-5.0.1.tgz",
- "integrity": "sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ast-types": "^0.13.4",
- "escodegen": "^2.1.0",
- "esprima": "^4.0.1"
- },
- "engines": {
- "node": ">= 14"
- }
- },
- "node_modules/depd": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
- "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
- "license": "MIT",
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/destroy": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
- "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.8",
- "npm": "1.2.8000 || >= 1.4.16"
- }
- },
- "node_modules/detect-libc": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.1.tgz",
- "integrity": "sha512-ecqj/sy1jcK1uWrwpR67UhYrIFQ+5WlGxth34WquCbamhFA6hkkwiu37o6J5xCHdo1oixJRfVRw+ywV+Hq/0Aw==",
- "dev": true,
- "license": "Apache-2.0",
- "optional": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/devtools-protocol": {
- "version": "0.0.1367902",
- "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1367902.tgz",
- "integrity": "sha512-XxtPuC3PGakY6PD7dG66/o8KwJ/LkH2/EKe19Dcw58w53dv4/vSQEkn/SzuyhHE2q4zPgCkxQBxus3VV4ql+Pg==",
- "dev": true,
- "license": "BSD-3-Clause"
- },
- "node_modules/di": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz",
- "integrity": "sha512-uJaamHkagcZtHPqCIHZxnFrXlunQXgBOsZSUOWwFw31QJCAbyTBoHMW75YOTur5ZNx8pIeAKgf6GWIgaqqiLhA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/dom-serialize": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz",
- "integrity": "sha512-Yra4DbvoW7/Z6LBN560ZwXMjoNOSAN2wRsKFGc4iBeso+mpIA6qj1vfdf9HpMaKAqG6wXTy+1SYEzmNpKXOSsQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "custom-event": "~1.0.0",
- "ent": "~2.2.0",
- "extend": "^3.0.0",
- "void-elements": "^2.0.0"
- }
- },
- "node_modules/dom-serializer": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz",
- "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==",
- "dev": true,
- "license": "MIT",
- "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",
- "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz",
- "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/fb55"
- }
- ],
- "license": "BSD-2-Clause"
- },
- "node_modules/domhandler": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz",
- "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "domelementtype": "^2.3.0"
- },
- "engines": {
- "node": ">= 4"
- },
- "funding": {
- "url": "https://github.com/fb55/domhandler?sponsor=1"
- }
- },
- "node_modules/domutils": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz",
- "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==",
- "dev": true,
- "license": "BSD-2-Clause",
- "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",
- "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz",
- "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==",
- "license": "MIT",
- "dependencies": {
- "call-bind-apply-helpers": "^1.0.1",
- "es-errors": "^1.3.0",
- "gopd": "^1.2.0"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/eastasianwidth": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
- "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/ee-first": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
- "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==",
- "license": "MIT"
- },
- "node_modules/electron-to-chromium": {
- "version": "1.5.224",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.224.tgz",
- "integrity": "sha512-kWAoUu/bwzvnhpdZSIc6KUyvkI1rbRXMT0Eq8pKReyOyaPZcctMli+EgvcN1PAvwVc7Tdo4Fxi2PsLNDU05mdg==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/emoji-regex": {
- "version": "10.5.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.5.0.tgz",
- "integrity": "sha512-lb49vf1Xzfx080OKA0o6l8DQQpV+6Vg95zyCJX9VB/BqKYlhG7N4wgROUUHRA+ZPUefLnteQOad7z1kT2bV7bg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/encodeurl": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz",
- "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==",
- "license": "MIT",
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/encoding": {
- "version": "0.1.13",
- "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz",
- "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "dependencies": {
- "iconv-lite": "^0.6.2"
- }
- },
- "node_modules/encoding/node_modules/iconv-lite": {
- "version": "0.6.3",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
- "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "dependencies": {
- "safer-buffer": ">= 2.1.2 < 3.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/end-of-stream": {
- "version": "1.4.5",
- "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz",
- "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "once": "^1.4.0"
- }
- },
- "node_modules/engine.io": {
- "version": "6.6.4",
- "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.6.4.tgz",
- "integrity": "sha512-ZCkIjSYNDyGn0R6ewHDtXgns/Zre/NT6Agvq1/WobF7JXgFff4SeDroKiCO3fNJreU9YG429Sc81o4w5ok/W5g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/cors": "^2.8.12",
- "@types/node": ">=10.0.0",
- "accepts": "~1.3.4",
- "base64id": "2.0.0",
- "cookie": "~0.7.2",
- "cors": "~2.8.5",
- "debug": "~4.3.1",
- "engine.io-parser": "~5.2.1",
- "ws": "~8.17.1"
- },
- "engines": {
- "node": ">=10.2.0"
- }
- },
- "node_modules/engine.io-parser": {
- "version": "5.2.3",
- "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.3.tgz",
- "integrity": "sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10.0.0"
- }
- },
- "node_modules/engine.io/node_modules/accepts": {
- "version": "1.3.8",
- "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
- "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "mime-types": "~2.1.34",
- "negotiator": "0.6.3"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/engine.io/node_modules/debug": {
- "version": "4.3.7",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz",
- "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ms": "^2.1.3"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "node_modules/engine.io/node_modules/mime-db": {
- "version": "1.52.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
- "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/engine.io/node_modules/mime-types": {
- "version": "2.1.35",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
- "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "mime-db": "1.52.0"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/engine.io/node_modules/negotiator": {
- "version": "0.6.3",
- "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
- "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/ent": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.2.tgz",
- "integrity": "sha512-kKvD1tO6BM+oK9HzCPpUdRb4vKFQY/FPTFmurMvh6LlN68VMrdj77w8yp51/kDbpkFOS9J8w5W6zIzgM2H8/hw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "call-bound": "^1.0.3",
- "es-errors": "^1.3.0",
- "punycode": "^1.4.1",
- "safe-regex-test": "^1.1.0"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/entities": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
- "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
- "dev": true,
- "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",
- "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz",
- "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/environment": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/environment/-/environment-1.1.0.tgz",
- "integrity": "sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/err-code": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz",
- "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/error-ex": {
- "version": "1.3.4",
- "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz",
- "integrity": "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "is-arrayish": "^0.2.1"
- }
- },
- "node_modules/es-define-property": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz",
- "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==",
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/es-errors": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
- "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/es-object-atoms": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz",
- "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==",
- "license": "MIT",
- "dependencies": {
- "es-errors": "^1.3.0"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/esbuild": {
- "version": "0.25.9",
- "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.9.tgz",
- "integrity": "sha512-CRbODhYyQx3qp7ZEwzxOk4JBqmD/seJrzPa/cGjY1VtIn5E09Oi9/dB4JwctnfZ8Q8iT7rioVv5k/FNT/uf54g==",
- "dev": true,
- "hasInstallScript": true,
- "license": "MIT",
- "bin": {
- "esbuild": "bin/esbuild"
- },
- "engines": {
- "node": ">=18"
- },
- "optionalDependencies": {
- "@esbuild/aix-ppc64": "0.25.9",
- "@esbuild/android-arm": "0.25.9",
- "@esbuild/android-arm64": "0.25.9",
- "@esbuild/android-x64": "0.25.9",
- "@esbuild/darwin-arm64": "0.25.9",
- "@esbuild/darwin-x64": "0.25.9",
- "@esbuild/freebsd-arm64": "0.25.9",
- "@esbuild/freebsd-x64": "0.25.9",
- "@esbuild/linux-arm": "0.25.9",
- "@esbuild/linux-arm64": "0.25.9",
- "@esbuild/linux-ia32": "0.25.9",
- "@esbuild/linux-loong64": "0.25.9",
- "@esbuild/linux-mips64el": "0.25.9",
- "@esbuild/linux-ppc64": "0.25.9",
- "@esbuild/linux-riscv64": "0.25.9",
- "@esbuild/linux-s390x": "0.25.9",
- "@esbuild/linux-x64": "0.25.9",
- "@esbuild/netbsd-arm64": "0.25.9",
- "@esbuild/netbsd-x64": "0.25.9",
- "@esbuild/openbsd-arm64": "0.25.9",
- "@esbuild/openbsd-x64": "0.25.9",
- "@esbuild/openharmony-arm64": "0.25.9",
- "@esbuild/sunos-x64": "0.25.9",
- "@esbuild/win32-arm64": "0.25.9",
- "@esbuild/win32-ia32": "0.25.9",
- "@esbuild/win32-x64": "0.25.9"
- }
- },
- "node_modules/escalade": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
- "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/escape-html": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
- "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==",
- "license": "MIT"
- },
- "node_modules/escape-string-regexp": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
- "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/escodegen": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz",
- "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "esprima": "^4.0.1",
- "estraverse": "^5.2.0",
- "esutils": "^2.0.2"
- },
- "bin": {
- "escodegen": "bin/escodegen.js",
- "esgenerate": "bin/esgenerate.js"
- },
- "engines": {
- "node": ">=6.0"
- },
- "optionalDependencies": {
- "source-map": "~0.6.1"
- }
- },
- "node_modules/escodegen/node_modules/source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true,
- "license": "BSD-3-Clause",
- "optional": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/eslint": {
- "version": "9.36.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.36.0.tgz",
- "integrity": "sha512-hB4FIzXovouYzwzECDcUkJ4OcfOEkXTv2zRY6B9bkwjx/cprAq0uvm1nl7zvQ0/TsUk0zQiN4uPfJpB9m+rPMQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@eslint-community/eslint-utils": "^4.8.0",
- "@eslint-community/regexpp": "^4.12.1",
- "@eslint/config-array": "^0.21.0",
- "@eslint/config-helpers": "^0.3.1",
- "@eslint/core": "^0.15.2",
- "@eslint/eslintrc": "^3.3.1",
- "@eslint/js": "9.36.0",
- "@eslint/plugin-kit": "^0.3.5",
- "@humanfs/node": "^0.16.6",
- "@humanwhocodes/module-importer": "^1.0.1",
- "@humanwhocodes/retry": "^0.4.2",
- "@types/estree": "^1.0.6",
- "@types/json-schema": "^7.0.15",
- "ajv": "^6.12.4",
- "chalk": "^4.0.0",
- "cross-spawn": "^7.0.6",
- "debug": "^4.3.2",
- "escape-string-regexp": "^4.0.0",
- "eslint-scope": "^8.4.0",
- "eslint-visitor-keys": "^4.2.1",
- "espree": "^10.4.0",
- "esquery": "^1.5.0",
- "esutils": "^2.0.2",
- "fast-deep-equal": "^3.1.3",
- "file-entry-cache": "^8.0.0",
- "find-up": "^5.0.0",
- "glob-parent": "^6.0.2",
- "ignore": "^5.2.0",
- "imurmurhash": "^0.1.4",
- "is-glob": "^4.0.0",
- "json-stable-stringify-without-jsonify": "^1.0.1",
- "lodash.merge": "^4.6.2",
- "minimatch": "^3.1.2",
- "natural-compare": "^1.4.0",
- "optionator": "^0.9.3"
- },
- "bin": {
- "eslint": "bin/eslint.js"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "url": "https://eslint.org/donate"
- },
- "peerDependencies": {
- "jiti": "*"
- },
- "peerDependenciesMeta": {
- "jiti": {
- "optional": true
- }
- }
- },
- "node_modules/eslint-scope": {
- "version": "8.4.0",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz",
- "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "esrecurse": "^4.3.0",
- "estraverse": "^5.2.0"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
- "node_modules/eslint-visitor-keys": {
- "version": "3.4.3",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
- "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
- "node_modules/eslint/node_modules/ajv": {
- "version": "6.12.6",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
- "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
- "dev": true,
- "license": "MIT",
- "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/eslint/node_modules/brace-expansion": {
- "version": "1.1.12",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
- "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "node_modules/eslint/node_modules/eslint-visitor-keys": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz",
- "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
- "node_modules/eslint/node_modules/ignore": {
- "version": "5.3.2",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
- "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 4"
- }
- },
- "node_modules/eslint/node_modules/json-schema-traverse": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
- "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/eslint/node_modules/minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "brace-expansion": "^1.1.7"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/espree": {
- "version": "10.4.0",
- "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz",
- "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "acorn": "^8.15.0",
- "acorn-jsx": "^5.3.2",
- "eslint-visitor-keys": "^4.2.1"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
- "node_modules/espree/node_modules/eslint-visitor-keys": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz",
- "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
- "node_modules/esprima": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
- "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
- "dev": true,
- "license": "BSD-2-Clause",
- "bin": {
- "esparse": "bin/esparse.js",
- "esvalidate": "bin/esvalidate.js"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/esquery": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz",
- "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==",
- "dev": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "estraverse": "^5.1.0"
- },
- "engines": {
- "node": ">=0.10"
- }
- },
- "node_modules/esrecurse": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
- "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "estraverse": "^5.2.0"
- },
- "engines": {
- "node": ">=4.0"
- }
- },
- "node_modules/estraverse": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
- "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
- "dev": true,
- "license": "BSD-2-Clause",
- "engines": {
- "node": ">=4.0"
- }
- },
- "node_modules/esutils": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
- "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
- "dev": true,
- "license": "BSD-2-Clause",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/etag": {
- "version": "1.8.1",
- "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
- "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/eventemitter3": {
- "version": "4.0.7",
- "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz",
- "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/events-universal": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/events-universal/-/events-universal-1.0.1.tgz",
- "integrity": "sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "bare-events": "^2.7.0"
- }
- },
- "node_modules/eventsource": {
- "version": "3.0.7",
- "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-3.0.7.tgz",
- "integrity": "sha512-CRT1WTyuQoD771GW56XEZFQ/ZoSfWid1alKGDYMmkt2yl8UXrVR4pspqWNEcqKvVIzg6PAltWjxcSSPrboA4iA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "eventsource-parser": "^3.0.1"
- },
- "engines": {
- "node": ">=18.0.0"
- }
- },
- "node_modules/eventsource-parser": {
- "version": "3.0.6",
- "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-3.0.6.tgz",
- "integrity": "sha512-Vo1ab+QXPzZ4tCa8SwIHJFaSzy4R6SHf7BY79rFBDf0idraZWAkYrDjDj8uWaSm3S2TK+hJ7/t1CEmZ7jXw+pg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=18.0.0"
- }
- },
- "node_modules/exponential-backoff": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.2.tgz",
- "integrity": "sha512-8QxYTVXUkuy7fIIoitQkPwGonB8F3Zj8eEO8Sqg9Zv/bkI7RJAzowee4gr81Hak/dUTpA2Z7VfQgoijjPNlUZA==",
- "dev": true,
- "license": "Apache-2.0"
- },
- "node_modules/express": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/express/-/express-5.1.0.tgz",
- "integrity": "sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA==",
- "license": "MIT",
- "dependencies": {
- "accepts": "^2.0.0",
- "body-parser": "^2.2.0",
- "content-disposition": "^1.0.0",
- "content-type": "^1.0.5",
- "cookie": "^0.7.1",
- "cookie-signature": "^1.2.1",
- "debug": "^4.4.0",
- "encodeurl": "^2.0.0",
- "escape-html": "^1.0.3",
- "etag": "^1.8.1",
- "finalhandler": "^2.1.0",
- "fresh": "^2.0.0",
- "http-errors": "^2.0.0",
- "merge-descriptors": "^2.0.0",
- "mime-types": "^3.0.0",
- "on-finished": "^2.4.1",
- "once": "^1.4.0",
- "parseurl": "^1.3.3",
- "proxy-addr": "^2.0.7",
- "qs": "^6.14.0",
- "range-parser": "^1.2.1",
- "router": "^2.2.0",
- "send": "^1.1.0",
- "serve-static": "^2.2.0",
- "statuses": "^2.0.1",
- "type-is": "^2.0.1",
- "vary": "^1.1.2"
- },
- "engines": {
- "node": ">= 18"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/express"
- }
- },
- "node_modules/express-rate-limit": {
- "version": "7.5.1",
- "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-7.5.1.tgz",
- "integrity": "sha512-7iN8iPMDzOMHPUYllBEsQdWVB6fPDMPqwjBaFrgr4Jgr/+okjvzAy+UHlYYL/Vs0OsOrMkwS6PJDkFlJwoxUnw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 16"
- },
- "funding": {
- "url": "https://github.com/sponsors/express-rate-limit"
- },
- "peerDependencies": {
- "express": ">= 4.11"
- }
- },
- "node_modules/extend": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
- "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/extract-zip": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz",
- "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "debug": "^4.1.1",
- "get-stream": "^5.1.0",
- "yauzl": "^2.10.0"
- },
- "bin": {
- "extract-zip": "cli.js"
- },
- "engines": {
- "node": ">= 10.17.0"
- },
- "optionalDependencies": {
- "@types/yauzl": "^2.9.1"
- }
- },
- "node_modules/fast-deep-equal": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
- "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/fast-fifo": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz",
- "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/fast-glob": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz",
- "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==",
- "dev": true,
- "license": "MIT",
- "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",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
- "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "is-glob": "^4.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/fast-json-stable-stringify": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
- "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/fast-levenshtein": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
- "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/fast-uri": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz",
- "integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/fastify"
- },
- {
- "type": "opencollective",
- "url": "https://opencollective.com/fastify"
- }
- ],
- "license": "BSD-3-Clause"
- },
- "node_modules/fastq": {
- "version": "1.19.1",
- "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz",
- "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "reusify": "^1.0.4"
- }
- },
- "node_modules/fd-slicer": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
- "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "pend": "~1.2.0"
- }
- },
- "node_modules/fdir": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz",
- "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=12.0.0"
- },
- "peerDependencies": {
- "picomatch": "^3 || ^4"
- },
- "peerDependenciesMeta": {
- "picomatch": {
- "optional": true
- }
- }
- },
- "node_modules/file-entry-cache": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz",
- "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "flat-cache": "^4.0.0"
- },
- "engines": {
- "node": ">=16.0.0"
- }
- },
- "node_modules/fill-range": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
- "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "to-regex-range": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/finalhandler": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.0.tgz",
- "integrity": "sha512-/t88Ty3d5JWQbWYgaOGCCYfXRwV1+be02WqYYlL6h0lEiUAMPM8o8qKGO01YIkOHzka2up08wvgYD0mDiI+q3Q==",
- "license": "MIT",
- "dependencies": {
- "debug": "^4.4.0",
- "encodeurl": "^2.0.0",
- "escape-html": "^1.0.3",
- "on-finished": "^2.4.1",
- "parseurl": "^1.3.3",
- "statuses": "^2.0.1"
- },
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/find-up": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
- "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
- "dev": true,
- "license": "MIT",
- "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": "4.0.1",
- "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz",
- "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "flatted": "^3.2.9",
- "keyv": "^4.5.4"
- },
- "engines": {
- "node": ">=16"
- }
- },
- "node_modules/flatted": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz",
- "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/follow-redirects": {
- "version": "1.15.11",
- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz",
- "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==",
- "dev": true,
- "funding": [
- {
- "type": "individual",
- "url": "https://github.com/sponsors/RubenVerborgh"
- }
- ],
- "license": "MIT",
- "engines": {
- "node": ">=4.0"
- },
- "peerDependenciesMeta": {
- "debug": {
- "optional": true
- }
- }
- },
- "node_modules/foreground-child": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz",
- "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "cross-spawn": "^7.0.6",
- "signal-exit": "^4.0.1"
- },
- "engines": {
- "node": ">=14"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/forwarded": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
- "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==",
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/fresh": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz",
- "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==",
- "license": "MIT",
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/fs-extra": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
- "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "graceful-fs": "^4.2.0",
- "jsonfile": "^4.0.0",
- "universalify": "^0.1.0"
- },
- "engines": {
- "node": ">=6 <7 || >=8"
- }
- },
- "node_modules/fs-minipass": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.3.tgz",
- "integrity": "sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "minipass": "^7.0.3"
- },
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/fs.realpath": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
- "dev": true,
- "license": "ISC"
- },
- "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",
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
- "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
- "license": "MIT",
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/gensync": {
- "version": "1.0.0-beta.2",
- "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
- "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/get-caller-file": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
- "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": "6.* || 8.* || >= 10.*"
- }
- },
- "node_modules/get-east-asian-width": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.4.0.tgz",
- "integrity": "sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/get-intrinsic": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
- "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==",
- "license": "MIT",
- "dependencies": {
- "call-bind-apply-helpers": "^1.0.2",
- "es-define-property": "^1.0.1",
- "es-errors": "^1.3.0",
- "es-object-atoms": "^1.1.1",
- "function-bind": "^1.1.2",
- "get-proto": "^1.0.1",
- "gopd": "^1.2.0",
- "has-symbols": "^1.1.0",
- "hasown": "^2.0.2",
- "math-intrinsics": "^1.1.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/get-proto": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz",
- "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==",
- "license": "MIT",
- "dependencies": {
- "dunder-proto": "^1.0.1",
- "es-object-atoms": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/get-stream": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
- "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "pump": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/get-uri": {
- "version": "6.0.5",
- "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.5.tgz",
- "integrity": "sha512-b1O07XYq8eRuVzBNgJLstU6FYc1tS6wnMtF1I1D9lE8LxZSOGZ7LhxN54yPP6mGw5f2CkXY2BQUL9Fx41qvcIg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "basic-ftp": "^5.0.2",
- "data-uri-to-buffer": "^6.0.2",
- "debug": "^4.3.4"
- },
- "engines": {
- "node": ">= 14"
- }
- },
- "node_modules/glob": {
- "version": "7.2.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
- "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
- "deprecated": "Glob versions prior to v9 are no longer supported",
- "dev": true,
- "license": "ISC",
- "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",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
- "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "is-glob": "^4.0.3"
- },
- "engines": {
- "node": ">=10.13.0"
- }
- },
- "node_modules/glob-to-regexp": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz",
- "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==",
- "dev": true,
- "license": "BSD-2-Clause"
- },
- "node_modules/glob/node_modules/brace-expansion": {
- "version": "1.1.12",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
- "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "node_modules/glob/node_modules/minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "brace-expansion": "^1.1.7"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/globals": {
- "version": "14.0.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz",
- "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/gopd": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz",
- "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==",
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/graceful-fs": {
- "version": "4.2.11",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
- "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/graphemer": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz",
- "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/has-symbols": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz",
- "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==",
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/has-tostringtag": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz",
- "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "has-symbols": "^1.0.3"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/hasown": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
- "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
- "license": "MIT",
- "dependencies": {
- "function-bind": "^1.1.2"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/hosted-git-info": {
- "version": "9.0.0",
- "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-9.0.0.tgz",
- "integrity": "sha512-gEf705MZLrDPkbbhi8PnoO4ZwYgKoNL+ISZ3AjZMht2r3N5tuTwncyDi6Fv2/qDnMmZxgs0yI8WDOyR8q3G+SQ==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "lru-cache": "^11.1.0"
- },
- "engines": {
- "node": "^20.17.0 || >=22.9.0"
- }
- },
- "node_modules/hosted-git-info/node_modules/lru-cache": {
- "version": "11.2.2",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.2.tgz",
- "integrity": "sha512-F9ODfyqML2coTIsQpSkRHnLSZMtkU8Q+mSfcaIyKwy58u+8k5nvAYeiNhsyMARvzNcXJ9QfWVrcPsC9e9rAxtg==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": "20 || >=22"
- }
- },
- "node_modules/html-escaper": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz",
- "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/htmlparser2": {
- "version": "10.0.0",
- "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-10.0.0.tgz",
- "integrity": "sha512-TwAZM+zE5Tq3lrEHvOlvwgj1XLWQCtaaibSN11Q+gGBAS7Y1uZSWwXXRe4iF6OXnaq1riyQAPFOBtYc77Mxq0g==",
- "dev": true,
- "funding": [
- "https://github.com/fb55/htmlparser2?sponsor=1",
- {
- "type": "github",
- "url": "https://github.com/sponsors/fb55"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "domelementtype": "^2.3.0",
- "domhandler": "^5.0.3",
- "domutils": "^3.2.1",
- "entities": "^6.0.0"
- }
- },
- "node_modules/htmlparser2/node_modules/entities": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz",
- "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==",
- "dev": true,
- "license": "BSD-2-Clause",
- "engines": {
- "node": ">=0.12"
- },
- "funding": {
- "url": "https://github.com/fb55/entities?sponsor=1"
- }
- },
- "node_modules/http-cache-semantics": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz",
- "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==",
- "dev": true,
- "license": "BSD-2-Clause"
- },
- "node_modules/http-errors": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
- "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
- "license": "MIT",
- "dependencies": {
- "depd": "2.0.0",
- "inherits": "2.0.4",
- "setprototypeof": "1.2.0",
- "statuses": "2.0.1",
- "toidentifier": "1.0.1"
- },
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/http-errors/node_modules/statuses": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
- "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
- "license": "MIT",
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/http-proxy": {
- "version": "1.18.1",
- "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz",
- "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "eventemitter3": "^4.0.0",
- "follow-redirects": "^1.0.0",
- "requires-port": "^1.0.0"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/http-proxy-agent": {
- "version": "7.0.2",
- "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz",
- "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "agent-base": "^7.1.0",
- "debug": "^4.3.4"
- },
- "engines": {
- "node": ">= 14"
- }
- },
- "node_modules/https-proxy-agent": {
- "version": "7.0.6",
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz",
- "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "agent-base": "^7.1.2",
- "debug": "4"
- },
- "engines": {
- "node": ">= 14"
- }
- },
- "node_modules/iconv-lite": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.0.tgz",
- "integrity": "sha512-cf6L2Ds3h57VVmkZe+Pn+5APsT7FpqJtEhhieDCvrE2MK5Qk9MyffgQyuxQTm6BChfeZNtcOLHp9IcWRVcIcBQ==",
- "license": "MIT",
- "dependencies": {
- "safer-buffer": ">= 2.1.2 < 3.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/express"
- }
- },
- "node_modules/ieee754": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
- "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
- "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": "BSD-3-Clause"
- },
- "node_modules/ignore": {
- "version": "7.0.5",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz",
- "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 4"
- }
- },
- "node_modules/ignore-walk": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-8.0.0.tgz",
- "integrity": "sha512-FCeMZT4NiRQGh+YkeKMtWrOmBgWjHjMJ26WQWrRQyoyzqevdaGSakUaJW5xQYmjLlUVk2qUnCjYVBax9EKKg8A==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "minimatch": "^10.0.3"
- },
- "engines": {
- "node": "^20.17.0 || >=22.9.0"
- }
- },
- "node_modules/ignore-walk/node_modules/minimatch": {
- "version": "10.0.3",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.3.tgz",
- "integrity": "sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "@isaacs/brace-expansion": "^5.0.0"
- },
- "engines": {
- "node": "20 || >=22"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/immutable": {
- "version": "5.1.3",
- "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.3.tgz",
- "integrity": "sha512-+chQdDfvscSF1SJqv2gn4SRO2ZyS3xL3r7IW/wWEEzrzLisnOlKiQu5ytC/BVNcS15C39WT2Hg/bjKjDMcu+zg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/import-fresh": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz",
- "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==",
- "dev": true,
- "license": "MIT",
- "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",
- "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
- "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.8.19"
- }
- },
- "node_modules/inflight": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
- "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "once": "^1.3.0",
- "wrappy": "1"
- }
- },
- "node_modules/inherits": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
- "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
- "license": "ISC"
- },
- "node_modules/ini": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/ini/-/ini-5.0.0.tgz",
- "integrity": "sha512-+N0ngpO3e7cRUWOJAS7qw0IZIVc6XPrW4MlFBdD066F2L4k1L6ker3hLqSq7iXxU5tgS4WGkIUElWn5vogAEnw==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/ip-address": {
- "version": "10.0.1",
- "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.0.1.tgz",
- "integrity": "sha512-NWv9YLW4PoW2B7xtzaS3NCot75m6nK7Icdv0o3lfMceJVRfSoQwqD4wEH5rLwoKJwUiZ/rfpiVBhnaF0FK4HoA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 12"
- }
- },
- "node_modules/ipaddr.js": {
- "version": "1.9.1",
- "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
- "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==",
- "license": "MIT",
- "engines": {
- "node": ">= 0.10"
- }
- },
- "node_modules/is-arrayish": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
- "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/is-binary-path": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
- "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "binary-extensions": "^2.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/is-core-module": {
- "version": "2.16.1",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz",
- "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "hasown": "^2.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-extglob": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-fullwidth-code-point": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz",
- "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/is-glob": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
- "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "is-extglob": "^2.1.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-interactive": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-2.0.0.tgz",
- "integrity": "sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.12.0"
- }
- },
- "node_modules/is-promise": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz",
- "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==",
- "license": "MIT"
- },
- "node_modules/is-regex": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz",
- "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==",
- "dev": true,
- "license": "MIT",
- "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-unicode-supported": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz",
- "integrity": "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/isbinaryfile": {
- "version": "4.0.10",
- "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz",
- "integrity": "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 8.0.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/gjtorikian/"
- }
- },
- "node_modules/isexe": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/istanbul-lib-coverage": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz",
- "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==",
- "dev": true,
- "license": "BSD-3-Clause",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/istanbul-lib-instrument": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz",
- "integrity": "sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==",
- "dev": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "@babel/core": "^7.23.9",
- "@babel/parser": "^7.23.9",
- "@istanbuljs/schema": "^0.1.3",
- "istanbul-lib-coverage": "^3.2.0",
- "semver": "^7.5.4"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/istanbul-lib-report": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz",
- "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==",
- "dev": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "istanbul-lib-coverage": "^3.0.0",
- "make-dir": "^4.0.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/istanbul-lib-source-maps": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz",
- "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==",
- "dev": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "debug": "^4.1.1",
- "istanbul-lib-coverage": "^3.0.0",
- "source-map": "^0.6.1"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/istanbul-lib-source-maps/node_modules/source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true,
- "license": "BSD-3-Clause",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/istanbul-reports": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.2.0.tgz",
- "integrity": "sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==",
- "dev": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "html-escaper": "^2.0.0",
- "istanbul-lib-report": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/jackspeak": {
- "version": "3.4.3",
- "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz",
- "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==",
- "dev": true,
- "license": "BlueOak-1.0.0",
- "dependencies": {
- "@isaacs/cliui": "^8.0.2"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- },
- "optionalDependencies": {
- "@pkgjs/parseargs": "^0.11.0"
- }
- },
- "node_modules/jasmine-core": {
- "version": "5.11.0",
- "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-5.11.0.tgz",
- "integrity": "sha512-MPJ8L5yyNul0F2SuEsLASwESXQjJvBXnKu31JWFyRZSvuv2B79K4GDWN3pSqvLheUNh7Fyb6dXwd4rsz95O2Kg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/js-tokens": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
- "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/js-yaml": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
- "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "argparse": "^2.0.1"
- },
- "bin": {
- "js-yaml": "bin/js-yaml.js"
- }
- },
- "node_modules/jsesc": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz",
- "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==",
- "dev": true,
- "license": "MIT",
- "bin": {
- "jsesc": "bin/jsesc"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/json-buffer": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
- "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/json-parse-even-better-errors": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-4.0.0.tgz",
- "integrity": "sha512-lR4MXjGNgkJc7tkQ97kb2nuEMnNCyU//XYVH0MKTGcXEiSudQ5MKGKen3C5QubYy0vmq+JGitUg92uuywGEwIA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/json-schema-traverse": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
- "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/json-stable-stringify-without-jsonify": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
- "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/json5": {
- "version": "2.2.3",
- "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
- "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
- "dev": true,
- "license": "MIT",
- "bin": {
- "json5": "lib/cli.js"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/jsonc-parser": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz",
- "integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/jsonfile": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
- "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==",
- "dev": true,
- "license": "MIT",
- "optionalDependencies": {
- "graceful-fs": "^4.1.6"
- }
- },
- "node_modules/jsonparse": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz",
- "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==",
- "dev": true,
- "engines": [
- "node >= 0.2.0"
- ],
- "license": "MIT"
- },
- "node_modules/karma": {
- "version": "6.4.4",
- "resolved": "https://registry.npmjs.org/karma/-/karma-6.4.4.tgz",
- "integrity": "sha512-LrtUxbdvt1gOpo3gxG+VAJlJAEMhbWlM4YrFQgql98FwF7+K8K12LYO4hnDdUkNjeztYrOXEMqgTajSWgmtI/w==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@colors/colors": "1.5.0",
- "body-parser": "^1.19.0",
- "braces": "^3.0.2",
- "chokidar": "^3.5.1",
- "connect": "^3.7.0",
- "di": "^0.0.1",
- "dom-serialize": "^2.2.1",
- "glob": "^7.1.7",
- "graceful-fs": "^4.2.6",
- "http-proxy": "^1.18.1",
- "isbinaryfile": "^4.0.8",
- "lodash": "^4.17.21",
- "log4js": "^6.4.1",
- "mime": "^2.5.2",
- "minimatch": "^3.0.4",
- "mkdirp": "^0.5.5",
- "qjobs": "^1.2.0",
- "range-parser": "^1.2.1",
- "rimraf": "^3.0.2",
- "socket.io": "^4.7.2",
- "source-map": "^0.6.1",
- "tmp": "^0.2.1",
- "ua-parser-js": "^0.7.30",
- "yargs": "^16.1.1"
- },
- "bin": {
- "karma": "bin/karma"
- },
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/karma-chrome-launcher": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.2.0.tgz",
- "integrity": "sha512-rE9RkUPI7I9mAxByQWkGJFXfFD6lE4gC5nPuZdobf/QdTEJI6EU4yIay/cfU/xV4ZxlM5JiTv7zWYgA64NpS5Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "which": "^1.2.1"
- }
- },
- "node_modules/karma-chrome-launcher/node_modules/which": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "isexe": "^2.0.0"
- },
- "bin": {
- "which": "bin/which"
- }
- },
- "node_modules/karma-coverage": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/karma-coverage/-/karma-coverage-2.2.1.tgz",
- "integrity": "sha512-yj7hbequkQP2qOSb20GuNSIyE//PgJWHwC2IydLE6XRtsnaflv+/OSGNssPjobYUlhVVagy99TQpqUt3vAUG7A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "istanbul-lib-coverage": "^3.2.0",
- "istanbul-lib-instrument": "^5.1.0",
- "istanbul-lib-report": "^3.0.0",
- "istanbul-lib-source-maps": "^4.0.1",
- "istanbul-reports": "^3.0.5",
- "minimatch": "^3.0.4"
- },
- "engines": {
- "node": ">=10.0.0"
- }
- },
- "node_modules/karma-coverage/node_modules/brace-expansion": {
- "version": "1.1.12",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
- "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "node_modules/karma-coverage/node_modules/istanbul-lib-instrument": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz",
- "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==",
- "dev": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "@babel/core": "^7.12.3",
- "@babel/parser": "^7.14.7",
- "@istanbuljs/schema": "^0.1.2",
- "istanbul-lib-coverage": "^3.2.0",
- "semver": "^6.3.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/karma-coverage/node_modules/minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "brace-expansion": "^1.1.7"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/karma-coverage/node_modules/semver": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
- "dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- }
- },
- "node_modules/karma-jasmine": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-5.1.0.tgz",
- "integrity": "sha512-i/zQLFrfEpRyQoJF9fsCdTMOF5c2dK7C7OmsuKg2D0YSsuZSfQDiLuaiktbuio6F2wiCsZSnSnieIQ0ant/uzQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "jasmine-core": "^4.1.0"
- },
- "engines": {
- "node": ">=12"
- },
- "peerDependencies": {
- "karma": "^6.0.0"
- }
- },
- "node_modules/karma-jasmine-html-reporter": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-2.1.0.tgz",
- "integrity": "sha512-sPQE1+nlsn6Hwb5t+HHwyy0A1FNCVKuL1192b+XNauMYWThz2kweiBVW1DqloRpVvZIJkIoHVB7XRpK78n1xbQ==",
- "dev": true,
- "license": "MIT",
- "peerDependencies": {
- "jasmine-core": "^4.0.0 || ^5.0.0",
- "karma": "^6.0.0",
- "karma-jasmine": "^5.0.0"
- }
- },
- "node_modules/karma-jasmine/node_modules/jasmine-core": {
- "version": "4.6.1",
- "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-4.6.1.tgz",
- "integrity": "sha512-VYz/BjjmC3klLJlLwA4Kw8ytk0zDSmbbDLNs794VnWmkcCB7I9aAL/D48VNQtmITyPvea2C3jdUMfc3kAoy0PQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/karma/node_modules/ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/karma/node_modules/body-parser": {
- "version": "1.20.3",
- "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz",
- "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "bytes": "3.1.2",
- "content-type": "~1.0.5",
- "debug": "2.6.9",
- "depd": "2.0.0",
- "destroy": "1.2.0",
- "http-errors": "2.0.0",
- "iconv-lite": "0.4.24",
- "on-finished": "2.4.1",
- "qs": "6.13.0",
- "raw-body": "2.5.2",
- "type-is": "~1.6.18",
- "unpipe": "1.0.0"
- },
- "engines": {
- "node": ">= 0.8",
- "npm": "1.2.8000 || >= 1.4.16"
- }
- },
- "node_modules/karma/node_modules/brace-expansion": {
- "version": "1.1.12",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
- "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "node_modules/karma/node_modules/chokidar": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
- "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "anymatch": "~3.1.2",
- "braces": "~3.0.2",
- "glob-parent": "~5.1.2",
- "is-binary-path": "~2.1.0",
- "is-glob": "~4.0.1",
- "normalize-path": "~3.0.0",
- "readdirp": "~3.6.0"
- },
- "engines": {
- "node": ">= 8.10.0"
- },
- "funding": {
- "url": "https://paulmillr.com/funding/"
- },
- "optionalDependencies": {
- "fsevents": "~2.3.2"
- }
- },
- "node_modules/karma/node_modules/cliui": {
- "version": "7.0.4",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
- "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "string-width": "^4.2.0",
- "strip-ansi": "^6.0.0",
- "wrap-ansi": "^7.0.0"
- }
- },
- "node_modules/karma/node_modules/debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ms": "2.0.0"
- }
- },
- "node_modules/karma/node_modules/emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/karma/node_modules/glob-parent": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
- "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "is-glob": "^4.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/karma/node_modules/iconv-lite": {
- "version": "0.4.24",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
- "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "safer-buffer": ">= 2.1.2 < 3"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/karma/node_modules/is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/karma/node_modules/media-typer": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
- "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/karma/node_modules/mime-db": {
- "version": "1.52.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
- "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/karma/node_modules/mime-types": {
- "version": "2.1.35",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
- "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "mime-db": "1.52.0"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/karma/node_modules/minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "brace-expansion": "^1.1.7"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/karma/node_modules/ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/karma/node_modules/picomatch": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
- "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/jonschlinkert"
- }
- },
- "node_modules/karma/node_modules/qs": {
- "version": "6.13.0",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz",
- "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==",
- "dev": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "side-channel": "^1.0.6"
- },
- "engines": {
- "node": ">=0.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/karma/node_modules/raw-body": {
- "version": "2.5.2",
- "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz",
- "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "bytes": "3.1.2",
- "http-errors": "2.0.0",
- "iconv-lite": "0.4.24",
- "unpipe": "1.0.0"
- },
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/karma/node_modules/readdirp": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
- "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "picomatch": "^2.2.1"
- },
- "engines": {
- "node": ">=8.10.0"
- }
- },
- "node_modules/karma/node_modules/source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true,
- "license": "BSD-3-Clause",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/karma/node_modules/string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/karma/node_modules/strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-regex": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/karma/node_modules/type-is": {
- "version": "1.6.18",
- "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
- "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "media-typer": "0.3.0",
- "mime-types": "~2.1.24"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/karma/node_modules/wrap-ansi": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
- "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
- }
- },
- "node_modules/karma/node_modules/yargs": {
- "version": "16.2.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
- "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "cliui": "^7.0.2",
- "escalade": "^3.1.1",
- "get-caller-file": "^2.0.5",
- "require-directory": "^2.1.1",
- "string-width": "^4.2.0",
- "y18n": "^5.0.5",
- "yargs-parser": "^20.2.2"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/karma/node_modules/yargs-parser": {
- "version": "20.2.9",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz",
- "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/keyv": {
- "version": "4.5.4",
- "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz",
- "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "json-buffer": "3.0.1"
- }
- },
- "node_modules/levn": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
- "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
- "dev": true,
- "license": "MIT",
- "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",
- "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
- "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/listr2": {
- "version": "9.0.1",
- "resolved": "https://registry.npmjs.org/listr2/-/listr2-9.0.1.tgz",
- "integrity": "sha512-SL0JY3DaxylDuo/MecFeiC+7pedM0zia33zl0vcjgwcq1q1FWWF1To9EIauPbl8GbMCU0R2e0uJ8bZunhYKD2g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "cli-truncate": "^4.0.0",
- "colorette": "^2.0.20",
- "eventemitter3": "^5.0.1",
- "log-update": "^6.1.0",
- "rfdc": "^1.4.1",
- "wrap-ansi": "^9.0.0"
- },
- "engines": {
- "node": ">=20.0.0"
- }
- },
- "node_modules/listr2/node_modules/ansi-styles": {
- "version": "6.2.3",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz",
- "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/listr2/node_modules/eventemitter3": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz",
- "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/listr2/node_modules/wrap-ansi": {
- "version": "9.0.2",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz",
- "integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^6.2.1",
- "string-width": "^7.0.0",
- "strip-ansi": "^7.1.0"
- },
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
- }
- },
- "node_modules/lmdb": {
- "version": "3.4.2",
- "resolved": "https://registry.npmjs.org/lmdb/-/lmdb-3.4.2.tgz",
- "integrity": "sha512-nwVGUfTBUwJKXd6lRV8pFNfnrCC1+l49ESJRM19t/tFb/97QfJEixe5DYRvug5JO7DSFKoKaVy7oGMt5rVqZvg==",
- "dev": true,
- "hasInstallScript": true,
- "license": "MIT",
- "optional": true,
- "dependencies": {
- "msgpackr": "^1.11.2",
- "node-addon-api": "^6.1.0",
- "node-gyp-build-optional-packages": "5.2.2",
- "ordered-binary": "^1.5.3",
- "weak-lru-cache": "^1.2.2"
- },
- "bin": {
- "download-lmdb-prebuilds": "bin/download-prebuilds.js"
- },
- "optionalDependencies": {
- "@lmdb/lmdb-darwin-arm64": "3.4.2",
- "@lmdb/lmdb-darwin-x64": "3.4.2",
- "@lmdb/lmdb-linux-arm": "3.4.2",
- "@lmdb/lmdb-linux-arm64": "3.4.2",
- "@lmdb/lmdb-linux-x64": "3.4.2",
- "@lmdb/lmdb-win32-arm64": "3.4.2",
- "@lmdb/lmdb-win32-x64": "3.4.2"
- }
- },
- "node_modules/locate-path": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
- "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "p-locate": "^5.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/lodash": {
- "version": "4.17.21",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
- "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/lodash.merge": {
- "version": "4.6.2",
- "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
- "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/log-symbols": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-6.0.0.tgz",
- "integrity": "sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "chalk": "^5.3.0",
- "is-unicode-supported": "^1.3.0"
- },
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/log-symbols/node_modules/chalk": {
- "version": "5.6.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz",
- "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "^12.17.0 || ^14.13 || >=16.0.0"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/log-symbols/node_modules/is-unicode-supported": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz",
- "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/log-update": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/log-update/-/log-update-6.1.0.tgz",
- "integrity": "sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-escapes": "^7.0.0",
- "cli-cursor": "^5.0.0",
- "slice-ansi": "^7.1.0",
- "strip-ansi": "^7.1.0",
- "wrap-ansi": "^9.0.0"
- },
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/log-update/node_modules/ansi-styles": {
- "version": "6.2.3",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz",
- "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/log-update/node_modules/is-fullwidth-code-point": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.1.0.tgz",
- "integrity": "sha512-5XHYaSyiqADb4RnZ1Bdad6cPp8Toise4TzEjcOYDHZkTCbKgiUl7WTUCpNWHuxmDt91wnsZBc9xinNzopv3JMQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "get-east-asian-width": "^1.3.1"
- },
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/log-update/node_modules/slice-ansi": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.2.tgz",
- "integrity": "sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^6.2.1",
- "is-fullwidth-code-point": "^5.0.0"
- },
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/chalk/slice-ansi?sponsor=1"
- }
- },
- "node_modules/log-update/node_modules/wrap-ansi": {
- "version": "9.0.2",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz",
- "integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^6.2.1",
- "string-width": "^7.0.0",
- "strip-ansi": "^7.1.0"
- },
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
- }
- },
- "node_modules/log4js": {
- "version": "6.9.1",
- "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.9.1.tgz",
- "integrity": "sha512-1somDdy9sChrr9/f4UlzhdaGfDR2c/SaD2a4T7qEkG4jTS57/B3qmnjLYePwQ8cqWnUHZI0iAKxMBpCZICiZ2g==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "date-format": "^4.0.14",
- "debug": "^4.3.4",
- "flatted": "^3.2.7",
- "rfdc": "^1.3.0",
- "streamroller": "^3.1.5"
- },
- "engines": {
- "node": ">=8.0"
- }
- },
- "node_modules/lru-cache": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
- "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "yallist": "^3.0.2"
- }
- },
- "node_modules/magic-string": {
- "version": "0.30.17",
- "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz",
- "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jridgewell/sourcemap-codec": "^1.5.0"
- }
- },
- "node_modules/make-dir": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz",
- "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "semver": "^7.5.3"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/make-fetch-happen": {
- "version": "14.0.3",
- "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-14.0.3.tgz",
- "integrity": "sha512-QMjGbFTP0blj97EeidG5hk/QhKQ3T4ICckQGLgz38QF7Vgbk6e6FTARN8KhKxyBbWn8R0HU+bnw8aSoFPD4qtQ==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "@npmcli/agent": "^3.0.0",
- "cacache": "^19.0.1",
- "http-cache-semantics": "^4.1.1",
- "minipass": "^7.0.2",
- "minipass-fetch": "^4.0.0",
- "minipass-flush": "^1.0.5",
- "minipass-pipeline": "^1.2.4",
- "negotiator": "^1.0.0",
- "proc-log": "^5.0.0",
- "promise-retry": "^2.0.1",
- "ssri": "^12.0.0"
- },
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/math-intrinsics": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
- "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==",
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/media-typer": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz",
- "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==",
- "license": "MIT",
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/merge-descriptors": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-2.0.0.tgz",
- "integrity": "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==",
- "license": "MIT",
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/merge2": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
- "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/micromatch": {
- "version": "4.0.8",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
- "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
- "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",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
- "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/jonschlinkert"
- }
- },
- "node_modules/mime": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz",
- "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==",
- "dev": true,
- "license": "MIT",
- "bin": {
- "mime": "cli.js"
- },
- "engines": {
- "node": ">=4.0.0"
- }
- },
- "node_modules/mime-db": {
- "version": "1.54.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz",
- "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==",
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/mime-types": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.1.tgz",
- "integrity": "sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==",
- "license": "MIT",
- "dependencies": {
- "mime-db": "^1.54.0"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/mimic-function": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz",
- "integrity": "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/minimatch": {
- "version": "9.0.5",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
- "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
- "dev": true,
- "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",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
- "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
- "dev": true,
- "license": "MIT",
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/minipass": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
- "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": ">=16 || 14 >=14.17"
- }
- },
- "node_modules/minipass-collect": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-2.0.1.tgz",
- "integrity": "sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "minipass": "^7.0.3"
- },
- "engines": {
- "node": ">=16 || 14 >=14.17"
- }
- },
- "node_modules/minipass-fetch": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-4.0.1.tgz",
- "integrity": "sha512-j7U11C5HXigVuutxebFadoYBbd7VSdZWggSe64NVdvWNBqGAiXPL2QVCehjmw7lY1oF9gOllYbORh+hiNgfPgQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "minipass": "^7.0.3",
- "minipass-sized": "^1.0.3",
- "minizlib": "^3.0.1"
- },
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- },
- "optionalDependencies": {
- "encoding": "^0.1.13"
- }
- },
- "node_modules/minipass-flush": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz",
- "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "minipass": "^3.0.0"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/minipass-flush/node_modules/minipass": {
- "version": "3.3.6",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
- "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/minipass-flush/node_modules/yallist": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/minipass-pipeline": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz",
- "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "minipass": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/minipass-pipeline/node_modules/minipass": {
- "version": "3.3.6",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
- "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/minipass-pipeline/node_modules/yallist": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/minipass-sized": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz",
- "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "minipass": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/minipass-sized/node_modules/minipass": {
- "version": "3.3.6",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
- "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/minipass-sized/node_modules/yallist": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/minizlib": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.1.0.tgz",
- "integrity": "sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "minipass": "^7.1.2"
- },
- "engines": {
- "node": ">= 18"
- }
- },
- "node_modules/mitt": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz",
- "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/mkdirp": {
- "version": "0.5.6",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
- "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "minimist": "^1.2.6"
- },
- "bin": {
- "mkdirp": "bin/cmd.js"
- }
- },
- "node_modules/mrmime": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz",
- "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/ms": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
- "license": "MIT"
- },
- "node_modules/msgpackr": {
- "version": "1.11.5",
- "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.11.5.tgz",
- "integrity": "sha512-UjkUHN0yqp9RWKy0Lplhh+wlpdt9oQBYgULZOiFhV3VclSF1JnSQWZ5r9gORQlNYaUKQoR8itv7g7z1xDDuACA==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "optionalDependencies": {
- "msgpackr-extract": "^3.0.2"
- }
- },
- "node_modules/msgpackr-extract": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/msgpackr-extract/-/msgpackr-extract-3.0.3.tgz",
- "integrity": "sha512-P0efT1C9jIdVRefqjzOQ9Xml57zpOXnIuS+csaB4MdZbTdmGDLo8XhzBG1N7aO11gKDDkJvBLULeFTo46wwreA==",
- "dev": true,
- "hasInstallScript": true,
- "license": "MIT",
- "optional": true,
- "dependencies": {
- "node-gyp-build-optional-packages": "5.2.2"
- },
- "bin": {
- "download-msgpackr-prebuilds": "bin/download-prebuilds.js"
- },
- "optionalDependencies": {
- "@msgpackr-extract/msgpackr-extract-darwin-arm64": "3.0.3",
- "@msgpackr-extract/msgpackr-extract-darwin-x64": "3.0.3",
- "@msgpackr-extract/msgpackr-extract-linux-arm": "3.0.3",
- "@msgpackr-extract/msgpackr-extract-linux-arm64": "3.0.3",
- "@msgpackr-extract/msgpackr-extract-linux-x64": "3.0.3",
- "@msgpackr-extract/msgpackr-extract-win32-x64": "3.0.3"
- }
- },
- "node_modules/mute-stream": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-2.0.0.tgz",
- "integrity": "sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/nanoid": {
- "version": "3.3.11",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz",
- "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==",
- "dev": true,
- "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/natural-compare": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
- "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/negotiator": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz",
- "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==",
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/netmask": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz",
- "integrity": "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.4.0"
- }
- },
- "node_modules/node-addon-api": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz",
- "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==",
- "dev": true,
- "license": "MIT",
- "optional": true
- },
- "node_modules/node-gyp": {
- "version": "11.4.2",
- "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-11.4.2.tgz",
- "integrity": "sha512-3gD+6zsrLQH7DyYOUIutaauuXrcyxeTPyQuZQCQoNPZMHMMS5m4y0xclNpvYzoK3VNzuyxT6eF4mkIL4WSZ1eQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "env-paths": "^2.2.0",
- "exponential-backoff": "^3.1.1",
- "graceful-fs": "^4.2.6",
- "make-fetch-happen": "^14.0.3",
- "nopt": "^8.0.0",
- "proc-log": "^5.0.0",
- "semver": "^7.3.5",
- "tar": "^7.4.3",
- "tinyglobby": "^0.2.12",
- "which": "^5.0.0"
- },
- "bin": {
- "node-gyp": "bin/node-gyp.js"
- },
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/node-gyp-build-optional-packages": {
- "version": "5.2.2",
- "resolved": "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.2.2.tgz",
- "integrity": "sha512-s+w+rBWnpTMwSFbaE0UXsRlg7hU4FjekKU4eyAih5T8nJuNZT1nNsskXpxmeqSK9UzkBl6UgRlnKc8hz8IEqOw==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "dependencies": {
- "detect-libc": "^2.0.1"
- },
- "bin": {
- "node-gyp-build-optional-packages": "bin.js",
- "node-gyp-build-optional-packages-optional": "optional.js",
- "node-gyp-build-optional-packages-test": "build-test.js"
- }
- },
- "node_modules/node-gyp/node_modules/chownr": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz",
- "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==",
- "dev": true,
- "license": "BlueOak-1.0.0",
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/node-gyp/node_modules/isexe": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz",
- "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": ">=16"
- }
- },
- "node_modules/node-gyp/node_modules/tar": {
- "version": "7.5.1",
- "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.1.tgz",
- "integrity": "sha512-nlGpxf+hv0v7GkWBK2V9spgactGOp0qvfWRxUMjqHyzrt3SgwE48DIv/FhqPHJYLHpgW1opq3nERbz5Anq7n1g==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "@isaacs/fs-minipass": "^4.0.0",
- "chownr": "^3.0.0",
- "minipass": "^7.1.2",
- "minizlib": "^3.1.0",
- "yallist": "^5.0.0"
- },
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/node-gyp/node_modules/which": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz",
- "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "isexe": "^3.1.1"
- },
- "bin": {
- "node-which": "bin/which.js"
- },
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/node-gyp/node_modules/yallist": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz",
- "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==",
- "dev": true,
- "license": "BlueOak-1.0.0",
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/node-releases": {
- "version": "2.0.21",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.21.tgz",
- "integrity": "sha512-5b0pgg78U3hwXkCM8Z9b2FJdPZlr9Psr9V2gQPESdGHqbntyFJKFW4r5TeWGFzafGY3hzs1JC62VEQMbl1JFkw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/nopt": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/nopt/-/nopt-8.1.0.tgz",
- "integrity": "sha512-ieGu42u/Qsa4TFktmaKEwM6MQH0pOWnaB3htzh0JRtx84+Mebc0cbZYN5bC+6WTZ4+77xrL9Pn5m7CV6VIkV7A==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "abbrev": "^3.0.0"
- },
- "bin": {
- "nopt": "bin/nopt.js"
- },
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/normalize-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
- "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/npm-bundled": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-4.0.0.tgz",
- "integrity": "sha512-IxaQZDMsqfQ2Lz37VvyyEtKLe8FsRZuysmedy/N06TU1RyVppYKXrO4xIhR0F+7ubIBox6Q7nir6fQI3ej39iA==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "npm-normalize-package-bin": "^4.0.0"
- },
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/npm-install-checks": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-7.1.2.tgz",
- "integrity": "sha512-z9HJBCYw9Zr8BqXcllKIs5nI+QggAImbBdHphOzVYrz2CB4iQ6FzWyKmlqDZua+51nAu7FcemlbTc9VgQN5XDQ==",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "semver": "^7.1.1"
- },
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/npm-normalize-package-bin": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-4.0.0.tgz",
- "integrity": "sha512-TZKxPvItzai9kN9H/TkmCtx/ZN/hvr3vUycjlfmH0ootY9yFBzNOpiXAdIn1Iteqsvk4lQn6B5PTrt+n6h8k/w==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/npm-package-arg": {
- "version": "13.0.0",
- "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-13.0.0.tgz",
- "integrity": "sha512-+t2etZAGcB7TbbLHfDwooV9ppB2LhhcT6A+L9cahsf9mEUAoQ6CktLEVvEnpD0N5CkX7zJqnPGaFtoQDy9EkHQ==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "hosted-git-info": "^9.0.0",
- "proc-log": "^5.0.0",
- "semver": "^7.3.5",
- "validate-npm-package-name": "^6.0.0"
- },
- "engines": {
- "node": "^20.17.0 || >=22.9.0"
- }
- },
- "node_modules/npm-packlist": {
- "version": "10.0.2",
- "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-10.0.2.tgz",
- "integrity": "sha512-DrIWNiWT0FTdDRjGOYfEEZUNe1IzaSZ+up7qBTKnrQDySpdmuOQvytrqQlpK5QrCA4IThMvL4wTumqaa1ZvVIQ==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "ignore-walk": "^8.0.0",
- "proc-log": "^5.0.0"
- },
- "engines": {
- "node": "^20.17.0 || >=22.9.0"
- }
- },
- "node_modules/npm-pick-manifest": {
- "version": "10.0.0",
- "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-10.0.0.tgz",
- "integrity": "sha512-r4fFa4FqYY8xaM7fHecQ9Z2nE9hgNfJR+EmoKv0+chvzWkBcORX3r0FpTByP+CbOVJDladMXnPQGVN8PBLGuTQ==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "npm-install-checks": "^7.1.0",
- "npm-normalize-package-bin": "^4.0.0",
- "npm-package-arg": "^12.0.0",
- "semver": "^7.3.5"
- },
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/npm-pick-manifest/node_modules/hosted-git-info": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-8.1.0.tgz",
- "integrity": "sha512-Rw/B2DNQaPBICNXEm8balFz9a6WpZrkCGpcWFpy7nCj+NyhSdqXipmfvtmWt9xGfp0wZnBxB+iVpLmQMYt47Tw==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "lru-cache": "^10.0.1"
- },
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/npm-pick-manifest/node_modules/lru-cache": {
- "version": "10.4.3",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz",
- "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/npm-pick-manifest/node_modules/npm-package-arg": {
- "version": "12.0.2",
- "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-12.0.2.tgz",
- "integrity": "sha512-f1NpFjNI9O4VbKMOlA5QoBq/vSQPORHcTZ2feJpFkTHJ9eQkdlmZEKSjcAhxTGInC7RlEyScT9ui67NaOsjFWA==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "hosted-git-info": "^8.0.0",
- "proc-log": "^5.0.0",
- "semver": "^7.3.5",
- "validate-npm-package-name": "^6.0.0"
- },
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/npm-registry-fetch": {
- "version": "18.0.2",
- "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-18.0.2.tgz",
- "integrity": "sha512-LeVMZBBVy+oQb5R6FDV9OlJCcWDU+al10oKpe+nsvcHnG24Z3uM3SvJYKfGJlfGjVU8v9liejCrUR/M5HO5NEQ==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "@npmcli/redact": "^3.0.0",
- "jsonparse": "^1.3.1",
- "make-fetch-happen": "^14.0.0",
- "minipass": "^7.0.2",
- "minipass-fetch": "^4.0.0",
- "minizlib": "^3.0.1",
- "npm-package-arg": "^12.0.0",
- "proc-log": "^5.0.0"
- },
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/npm-registry-fetch/node_modules/hosted-git-info": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-8.1.0.tgz",
- "integrity": "sha512-Rw/B2DNQaPBICNXEm8balFz9a6WpZrkCGpcWFpy7nCj+NyhSdqXipmfvtmWt9xGfp0wZnBxB+iVpLmQMYt47Tw==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "lru-cache": "^10.0.1"
- },
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/npm-registry-fetch/node_modules/lru-cache": {
- "version": "10.4.3",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz",
- "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/npm-registry-fetch/node_modules/npm-package-arg": {
- "version": "12.0.2",
- "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-12.0.2.tgz",
- "integrity": "sha512-f1NpFjNI9O4VbKMOlA5QoBq/vSQPORHcTZ2feJpFkTHJ9eQkdlmZEKSjcAhxTGInC7RlEyScT9ui67NaOsjFWA==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "hosted-git-info": "^8.0.0",
- "proc-log": "^5.0.0",
- "semver": "^7.3.5",
- "validate-npm-package-name": "^6.0.0"
- },
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/nth-check": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz",
- "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "boolbase": "^1.0.0"
- },
- "funding": {
- "url": "https://github.com/fb55/nth-check?sponsor=1"
- }
- },
- "node_modules/object-assign": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
- "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/object-inspect": {
- "version": "1.13.4",
- "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz",
- "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==",
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/on-finished": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
- "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
- "license": "MIT",
- "dependencies": {
- "ee-first": "1.1.1"
- },
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/once": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
- "license": "ISC",
- "dependencies": {
- "wrappy": "1"
- }
- },
- "node_modules/onetime": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/onetime/-/onetime-7.0.0.tgz",
- "integrity": "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "mimic-function": "^5.0.0"
- },
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/optionator": {
- "version": "0.9.4",
- "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz",
- "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==",
- "dev": true,
- "license": "MIT",
- "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/ora": {
- "version": "8.2.0",
- "resolved": "https://registry.npmjs.org/ora/-/ora-8.2.0.tgz",
- "integrity": "sha512-weP+BZ8MVNnlCm8c0Qdc1WSWq4Qn7I+9CJGm7Qali6g44e/PUzbjNqJX5NJ9ljlNMosfJvg1fKEGILklK9cwnw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "chalk": "^5.3.0",
- "cli-cursor": "^5.0.0",
- "cli-spinners": "^2.9.2",
- "is-interactive": "^2.0.0",
- "is-unicode-supported": "^2.0.0",
- "log-symbols": "^6.0.0",
- "stdin-discarder": "^0.2.2",
- "string-width": "^7.2.0",
- "strip-ansi": "^7.1.0"
- },
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/ora/node_modules/chalk": {
- "version": "5.6.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz",
- "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "^12.17.0 || ^14.13 || >=16.0.0"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/ordered-binary": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/ordered-binary/-/ordered-binary-1.6.0.tgz",
- "integrity": "sha512-IQh2aMfMIDbPjI/8a3Edr+PiOpcsB7yo8NdW7aHWVaoR/pcDldunMvnnwbk/auPGqmKeAdxtZl7MHX/QmPwhvQ==",
- "dev": true,
- "license": "MIT",
- "optional": true
- },
- "node_modules/p-limit": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
- "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "yocto-queue": "^0.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/p-locate": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
- "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "p-limit": "^3.0.2"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/p-map": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.3.tgz",
- "integrity": "sha512-VkndIv2fIB99swvQoA65bm+fsmt6UNdGeIB0oxBs+WhAhdh08QA04JXpI7rbB9r08/nkbysKoya9rtDERYOYMA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/pac-proxy-agent": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-7.2.0.tgz",
- "integrity": "sha512-TEB8ESquiLMc0lV8vcd5Ql/JAKAoyzHFXaStwjkzpOpC5Yv+pIzLfHvjTSdf3vpa2bMiUQrg9i6276yn8666aA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@tootallnate/quickjs-emscripten": "^0.23.0",
- "agent-base": "^7.1.2",
- "debug": "^4.3.4",
- "get-uri": "^6.0.1",
- "http-proxy-agent": "^7.0.0",
- "https-proxy-agent": "^7.0.6",
- "pac-resolver": "^7.0.1",
- "socks-proxy-agent": "^8.0.5"
- },
- "engines": {
- "node": ">= 14"
- }
- },
- "node_modules/pac-resolver": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-7.0.1.tgz",
- "integrity": "sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "degenerator": "^5.0.0",
- "netmask": "^2.0.2"
- },
- "engines": {
- "node": ">= 14"
- }
- },
- "node_modules/package-json-from-dist": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz",
- "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==",
- "dev": true,
- "license": "BlueOak-1.0.0"
- },
- "node_modules/pacote": {
- "version": "21.0.0",
- "resolved": "https://registry.npmjs.org/pacote/-/pacote-21.0.0.tgz",
- "integrity": "sha512-lcqexq73AMv6QNLo7SOpz0JJoaGdS3rBFgF122NZVl1bApo2mfu+XzUBU/X/XsiJu+iUmKpekRayqQYAs+PhkA==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "@npmcli/git": "^6.0.0",
- "@npmcli/installed-package-contents": "^3.0.0",
- "@npmcli/package-json": "^6.0.0",
- "@npmcli/promise-spawn": "^8.0.0",
- "@npmcli/run-script": "^9.0.0",
- "cacache": "^19.0.0",
- "fs-minipass": "^3.0.0",
- "minipass": "^7.0.2",
- "npm-package-arg": "^12.0.0",
- "npm-packlist": "^10.0.0",
- "npm-pick-manifest": "^10.0.0",
- "npm-registry-fetch": "^18.0.0",
- "proc-log": "^5.0.0",
- "promise-retry": "^2.0.1",
- "sigstore": "^3.0.0",
- "ssri": "^12.0.0",
- "tar": "^6.1.11"
- },
- "bin": {
- "pacote": "bin/index.js"
- },
- "engines": {
- "node": "^20.17.0 || >=22.9.0"
- }
- },
- "node_modules/pacote/node_modules/hosted-git-info": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-8.1.0.tgz",
- "integrity": "sha512-Rw/B2DNQaPBICNXEm8balFz9a6WpZrkCGpcWFpy7nCj+NyhSdqXipmfvtmWt9xGfp0wZnBxB+iVpLmQMYt47Tw==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "lru-cache": "^10.0.1"
- },
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/pacote/node_modules/lru-cache": {
- "version": "10.4.3",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz",
- "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/pacote/node_modules/npm-package-arg": {
- "version": "12.0.2",
- "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-12.0.2.tgz",
- "integrity": "sha512-f1NpFjNI9O4VbKMOlA5QoBq/vSQPORHcTZ2feJpFkTHJ9eQkdlmZEKSjcAhxTGInC7RlEyScT9ui67NaOsjFWA==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "hosted-git-info": "^8.0.0",
- "proc-log": "^5.0.0",
- "semver": "^7.3.5",
- "validate-npm-package-name": "^6.0.0"
- },
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/parent-module": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
- "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "callsites": "^3.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/parse-json": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
- "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
- "dev": true,
- "license": "MIT",
- "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/parse-json/node_modules/json-parse-even-better-errors": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
- "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/parse5": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/parse5/-/parse5-8.0.0.tgz",
- "integrity": "sha512-9m4m5GSgXjL4AjumKzq1Fgfp3Z8rsvjRNbnkVwfu2ImRqE5D0LnY2QfDen18FSY9C573YU5XxSapdHZTZ2WolA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "entities": "^6.0.0"
- },
- "funding": {
- "url": "https://github.com/inikulin/parse5?sponsor=1"
- }
- },
- "node_modules/parse5-html-rewriting-stream": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/parse5-html-rewriting-stream/-/parse5-html-rewriting-stream-8.0.0.tgz",
- "integrity": "sha512-wzh11mj8KKkno1pZEu+l2EVeWsuKDfR5KNWZOTsslfUX8lPDZx77m9T0kIoAVkFtD1nx6YF8oh4BnPHvxMtNMw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "entities": "^6.0.0",
- "parse5": "^8.0.0",
- "parse5-sax-parser": "^8.0.0"
- },
- "funding": {
- "url": "https://github.com/inikulin/parse5?sponsor=1"
- }
- },
- "node_modules/parse5-html-rewriting-stream/node_modules/entities": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz",
- "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==",
- "dev": true,
- "license": "BSD-2-Clause",
- "engines": {
- "node": ">=0.12"
- },
- "funding": {
- "url": "https://github.com/fb55/entities?sponsor=1"
- }
- },
- "node_modules/parse5-sax-parser": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/parse5-sax-parser/-/parse5-sax-parser-8.0.0.tgz",
- "integrity": "sha512-/dQ8UzHZwnrzs3EvDj6IkKrD/jIZyTlB+8XrHJvcjNgRdmWruNdN9i9RK/JtxakmlUdPwKubKPTCqvbTgzGhrw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "parse5": "^8.0.0"
- },
- "funding": {
- "url": "https://github.com/inikulin/parse5?sponsor=1"
- }
- },
- "node_modules/parse5/node_modules/entities": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz",
- "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==",
- "dev": true,
- "license": "BSD-2-Clause",
- "engines": {
- "node": ">=0.12"
- },
- "funding": {
- "url": "https://github.com/fb55/entities?sponsor=1"
- }
- },
- "node_modules/parseurl": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
- "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
- "license": "MIT",
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/path-exists": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
- "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/path-is-absolute": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/path-key": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
- "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/path-parse": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
- "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/path-scurry": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz",
- "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==",
- "dev": true,
- "license": "BlueOak-1.0.0",
- "dependencies": {
- "lru-cache": "^10.2.0",
- "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0"
- },
- "engines": {
- "node": ">=16 || 14 >=14.18"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/path-scurry/node_modules/lru-cache": {
- "version": "10.4.3",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz",
- "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/path-to-regexp": {
- "version": "8.3.0",
- "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.3.0.tgz",
- "integrity": "sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA==",
- "license": "MIT",
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/express"
- }
- },
- "node_modules/pend": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
- "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/picocolors": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
- "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/picomatch": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
- "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/jonschlinkert"
- }
- },
- "node_modules/piscina": {
- "version": "5.1.3",
- "resolved": "https://registry.npmjs.org/piscina/-/piscina-5.1.3.tgz",
- "integrity": "sha512-0u3N7H4+hbr40KjuVn2uNhOcthu/9usKhnw5vT3J7ply79v3D3M8naI00el9Klcy16x557VsEkkUQaHCWFXC/g==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=20.x"
- },
- "optionalDependencies": {
- "@napi-rs/nice": "^1.0.4"
- }
- },
- "node_modules/pkce-challenge": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/pkce-challenge/-/pkce-challenge-5.0.0.tgz",
- "integrity": "sha512-ueGLflrrnvwB3xuo/uGob5pd5FN7l0MsLf0Z87o/UQmRtwjvfylfc9MurIxRAWywCYTgrvpXBcqjV4OfCYGCIQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=16.20.0"
- }
- },
- "node_modules/postcss": {
- "version": "8.5.6",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz",
- "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==",
- "dev": true,
- "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-media-query-parser": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz",
- "integrity": "sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/prelude-ls": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
- "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/proc-log": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-5.0.0.tgz",
- "integrity": "sha512-Azwzvl90HaF0aCz1JrDdXQykFakSSNPaPoiZ9fm5qJIMHioDZEi7OAdRwSm6rSoPtY3Qutnm3L7ogmg3dc+wbQ==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/progress": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
- "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/promise-retry": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz",
- "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "err-code": "^2.0.2",
- "retry": "^0.12.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/proxy-addr": {
- "version": "2.0.7",
- "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
- "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
- "license": "MIT",
- "dependencies": {
- "forwarded": "0.2.0",
- "ipaddr.js": "1.9.1"
- },
- "engines": {
- "node": ">= 0.10"
- }
- },
- "node_modules/proxy-agent": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.5.0.tgz",
- "integrity": "sha512-TmatMXdr2KlRiA2CyDu8GqR8EjahTG3aY3nXjdzFyoZbmB8hrBsTyMezhULIXKnC0jpfjlmiZ3+EaCzoInSu/A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "agent-base": "^7.1.2",
- "debug": "^4.3.4",
- "http-proxy-agent": "^7.0.1",
- "https-proxy-agent": "^7.0.6",
- "lru-cache": "^7.14.1",
- "pac-proxy-agent": "^7.1.0",
- "proxy-from-env": "^1.1.0",
- "socks-proxy-agent": "^8.0.5"
- },
- "engines": {
- "node": ">= 14"
- }
- },
- "node_modules/proxy-agent/node_modules/lru-cache": {
- "version": "7.18.3",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
- "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/proxy-from-env": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
- "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/pump": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.3.tgz",
- "integrity": "sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "end-of-stream": "^1.1.0",
- "once": "^1.3.1"
- }
- },
- "node_modules/punycode": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
- "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/puppeteer": {
- "version": "23.11.1",
- "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-23.11.1.tgz",
- "integrity": "sha512-53uIX3KR5en8l7Vd8n5DUv90Ae9QDQsyIthaUFVzwV6yU750RjqRznEtNMBT20VthqAdemnJN+hxVdmMHKt7Zw==",
- "deprecated": "< 24.15.0 is no longer supported",
- "dev": true,
- "hasInstallScript": true,
- "license": "Apache-2.0",
- "dependencies": {
- "@puppeteer/browsers": "2.6.1",
- "chromium-bidi": "0.11.0",
- "cosmiconfig": "^9.0.0",
- "devtools-protocol": "0.0.1367902",
- "puppeteer-core": "23.11.1",
- "typed-query-selector": "^2.12.0"
- },
- "bin": {
- "puppeteer": "lib/cjs/puppeteer/node/cli.js"
- },
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/puppeteer-core": {
- "version": "23.11.1",
- "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-23.11.1.tgz",
- "integrity": "sha512-3HZ2/7hdDKZvZQ7dhhITOUg4/wOrDRjyK2ZBllRB0ZCOi9u0cwq1ACHDjBB+nX+7+kltHjQvBRdeY7+W0T+7Gg==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "@puppeteer/browsers": "2.6.1",
- "chromium-bidi": "0.11.0",
- "debug": "^4.4.0",
- "devtools-protocol": "0.0.1367902",
- "typed-query-selector": "^2.12.0",
- "ws": "^8.18.0"
- },
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/puppeteer-core/node_modules/ws": {
- "version": "8.18.3",
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz",
- "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10.0.0"
- },
- "peerDependencies": {
- "bufferutil": "^4.0.1",
- "utf-8-validate": ">=5.0.2"
- },
- "peerDependenciesMeta": {
- "bufferutil": {
- "optional": true
- },
- "utf-8-validate": {
- "optional": true
- }
- }
- },
- "node_modules/qjobs": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz",
- "integrity": "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.9"
- }
- },
- "node_modules/qs": {
- "version": "6.14.0",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz",
- "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==",
- "license": "BSD-3-Clause",
- "dependencies": {
- "side-channel": "^1.1.0"
- },
- "engines": {
- "node": ">=0.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/queue-microtask": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
- "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
- "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"
- },
- "node_modules/range-parser": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
- "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/raw-body": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.1.tgz",
- "integrity": "sha512-9G8cA+tuMS75+6G/TzW8OtLzmBDMo8p1JRxN5AZ+LAp8uxGA8V8GZm4GQ4/N5QNQEnLmg6SS7wyuSmbKepiKqA==",
- "license": "MIT",
- "dependencies": {
- "bytes": "3.1.2",
- "http-errors": "2.0.0",
- "iconv-lite": "0.7.0",
- "unpipe": "1.0.0"
- },
- "engines": {
- "node": ">= 0.10"
- }
- },
- "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",
- "engines": {
- "node": ">= 14.18.0"
- },
- "funding": {
- "type": "individual",
- "url": "https://paulmillr.com/funding/"
- }
- },
- "node_modules/reflect-metadata": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.2.2.tgz",
- "integrity": "sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==",
- "dev": true,
- "license": "Apache-2.0"
- },
- "node_modules/require-directory": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
- "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/require-from-string": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
- "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/requires-port": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
- "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/resolve": {
- "version": "1.22.10",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz",
- "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "is-core-module": "^2.16.0",
- "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",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
- "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/restore-cursor": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz",
- "integrity": "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "onetime": "^7.0.0",
- "signal-exit": "^4.1.0"
- },
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/retry": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz",
- "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 4"
- }
- },
- "node_modules/reusify": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz",
- "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "iojs": ">=1.0.0",
- "node": ">=0.10.0"
- }
- },
- "node_modules/rfdc": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz",
- "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/rimraf": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
- "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
- "deprecated": "Rimraf versions prior to v4 are no longer supported",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "glob": "^7.1.3"
- },
- "bin": {
- "rimraf": "bin.js"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/rolldown": {
- "version": "1.0.0-beta.38",
- "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.0-beta.38.tgz",
- "integrity": "sha512-58frPNX55Je1YsyrtPJv9rOSR3G5efUZpRqok94Efsj0EUa8dnqJV3BldShyI7A+bVPleucOtzXHwVpJRcR0kQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@oxc-project/types": "=0.89.0",
- "@rolldown/pluginutils": "1.0.0-beta.38",
- "ansis": "^4.0.0"
- },
- "bin": {
- "rolldown": "bin/cli.mjs"
- },
- "engines": {
- "node": "^20.19.0 || >=22.12.0"
- },
- "optionalDependencies": {
- "@rolldown/binding-android-arm64": "1.0.0-beta.38",
- "@rolldown/binding-darwin-arm64": "1.0.0-beta.38",
- "@rolldown/binding-darwin-x64": "1.0.0-beta.38",
- "@rolldown/binding-freebsd-x64": "1.0.0-beta.38",
- "@rolldown/binding-linux-arm-gnueabihf": "1.0.0-beta.38",
- "@rolldown/binding-linux-arm64-gnu": "1.0.0-beta.38",
- "@rolldown/binding-linux-arm64-musl": "1.0.0-beta.38",
- "@rolldown/binding-linux-x64-gnu": "1.0.0-beta.38",
- "@rolldown/binding-linux-x64-musl": "1.0.0-beta.38",
- "@rolldown/binding-openharmony-arm64": "1.0.0-beta.38",
- "@rolldown/binding-wasm32-wasi": "1.0.0-beta.38",
- "@rolldown/binding-win32-arm64-msvc": "1.0.0-beta.38",
- "@rolldown/binding-win32-ia32-msvc": "1.0.0-beta.38",
- "@rolldown/binding-win32-x64-msvc": "1.0.0-beta.38"
- }
- },
- "node_modules/rollup": {
- "version": "4.52.2",
- "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.52.2.tgz",
- "integrity": "sha512-I25/2QgoROE1vYV+NQ1En9T9UFB9Cmfm2CJ83zZOlaDpvz29wGQSZXWKw7MiNXau7wYgB/T9fVIdIuEQ+KbiiA==",
- "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.52.2",
- "@rollup/rollup-android-arm64": "4.52.2",
- "@rollup/rollup-darwin-arm64": "4.52.2",
- "@rollup/rollup-darwin-x64": "4.52.2",
- "@rollup/rollup-freebsd-arm64": "4.52.2",
- "@rollup/rollup-freebsd-x64": "4.52.2",
- "@rollup/rollup-linux-arm-gnueabihf": "4.52.2",
- "@rollup/rollup-linux-arm-musleabihf": "4.52.2",
- "@rollup/rollup-linux-arm64-gnu": "4.52.2",
- "@rollup/rollup-linux-arm64-musl": "4.52.2",
- "@rollup/rollup-linux-loong64-gnu": "4.52.2",
- "@rollup/rollup-linux-ppc64-gnu": "4.52.2",
- "@rollup/rollup-linux-riscv64-gnu": "4.52.2",
- "@rollup/rollup-linux-riscv64-musl": "4.52.2",
- "@rollup/rollup-linux-s390x-gnu": "4.52.2",
- "@rollup/rollup-linux-x64-gnu": "4.52.2",
- "@rollup/rollup-linux-x64-musl": "4.52.2",
- "@rollup/rollup-openharmony-arm64": "4.52.2",
- "@rollup/rollup-win32-arm64-msvc": "4.52.2",
- "@rollup/rollup-win32-ia32-msvc": "4.52.2",
- "@rollup/rollup-win32-x64-gnu": "4.52.2",
- "@rollup/rollup-win32-x64-msvc": "4.52.2",
- "fsevents": "~2.3.2"
- }
- },
- "node_modules/router": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/router/-/router-2.2.0.tgz",
- "integrity": "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==",
- "license": "MIT",
- "dependencies": {
- "debug": "^4.4.0",
- "depd": "^2.0.0",
- "is-promise": "^4.0.0",
- "parseurl": "^1.3.3",
- "path-to-regexp": "^8.0.0"
- },
- "engines": {
- "node": ">= 18"
- }
- },
- "node_modules/run-parallel": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
- "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
- "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",
- "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==",
- "license": "Apache-2.0",
- "dependencies": {
- "tslib": "^2.1.0"
- }
- },
- "node_modules/safe-buffer": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
- "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
- "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"
- },
- "node_modules/safe-regex-test": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz",
- "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==",
- "dev": true,
- "license": "MIT",
- "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/safer-buffer": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
- "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
- "license": "MIT"
- },
- "node_modules/sass": {
- "version": "1.90.0",
- "resolved": "https://registry.npmjs.org/sass/-/sass-1.90.0.tgz",
- "integrity": "sha512-9GUyuksjw70uNpb1MTYWsH9MQHOHY6kwfnkafC24+7aOMZn9+rVMBxRbLvw756mrBFbIsFg6Xw9IkR2Fnn3k+Q==",
- "dev": true,
- "license": "MIT",
- "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/semver": {
- "version": "7.7.2",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
- "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
- "dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/send": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/send/-/send-1.2.0.tgz",
- "integrity": "sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==",
- "license": "MIT",
- "dependencies": {
- "debug": "^4.3.5",
- "encodeurl": "^2.0.0",
- "escape-html": "^1.0.3",
- "etag": "^1.8.1",
- "fresh": "^2.0.0",
- "http-errors": "^2.0.0",
- "mime-types": "^3.0.1",
- "ms": "^2.1.3",
- "on-finished": "^2.4.1",
- "range-parser": "^1.2.1",
- "statuses": "^2.0.1"
- },
- "engines": {
- "node": ">= 18"
- }
- },
- "node_modules/serve-static": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.2.0.tgz",
- "integrity": "sha512-61g9pCh0Vnh7IutZjtLGGpTA355+OPn2TyDv/6ivP2h/AdAVX9azsoxmg2/M6nZeQZNYBEwIcsne1mJd9oQItQ==",
- "license": "MIT",
- "dependencies": {
- "encodeurl": "^2.0.0",
- "escape-html": "^1.0.3",
- "parseurl": "^1.3.3",
- "send": "^1.2.0"
- },
- "engines": {
- "node": ">= 18"
- }
- },
- "node_modules/setprototypeof": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
- "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==",
- "license": "ISC"
- },
- "node_modules/shebang-command": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
- "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "shebang-regex": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/shebang-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
- "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/side-channel": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz",
- "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==",
- "license": "MIT",
- "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",
- "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz",
- "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==",
- "license": "MIT",
- "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",
- "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz",
- "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==",
- "license": "MIT",
- "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",
- "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz",
- "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==",
- "license": "MIT",
- "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",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
- "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": ">=14"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/sigstore": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/sigstore/-/sigstore-3.1.0.tgz",
- "integrity": "sha512-ZpzWAFHIFqyFE56dXqgX/DkDRZdz+rRcjoIk/RQU4IX0wiCv1l8S7ZrXDHcCc+uaf+6o7w3h2l3g6GYG5TKN9Q==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "@sigstore/bundle": "^3.1.0",
- "@sigstore/core": "^2.0.0",
- "@sigstore/protobuf-specs": "^0.4.0",
- "@sigstore/sign": "^3.1.0",
- "@sigstore/tuf": "^3.1.0",
- "@sigstore/verify": "^2.1.0"
- },
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/slice-ansi": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz",
- "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^6.0.0",
- "is-fullwidth-code-point": "^4.0.0"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/slice-ansi?sponsor=1"
- }
- },
- "node_modules/slice-ansi/node_modules/ansi-styles": {
- "version": "6.2.3",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz",
- "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/smart-buffer": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz",
- "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 6.0.0",
- "npm": ">= 3.0.0"
- }
- },
- "node_modules/socket.io": {
- "version": "4.8.1",
- "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.8.1.tgz",
- "integrity": "sha512-oZ7iUCxph8WYRHHcjBEc9unw3adt5CmSNlppj/5Q4k2RIrhl8Z5yY2Xr4j9zj0+wzVZ0bxmYoGSzKJnRl6A4yg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "accepts": "~1.3.4",
- "base64id": "~2.0.0",
- "cors": "~2.8.5",
- "debug": "~4.3.2",
- "engine.io": "~6.6.0",
- "socket.io-adapter": "~2.5.2",
- "socket.io-parser": "~4.2.4"
- },
- "engines": {
- "node": ">=10.2.0"
- }
- },
- "node_modules/socket.io-adapter": {
- "version": "2.5.5",
- "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.5.tgz",
- "integrity": "sha512-eLDQas5dzPgOWCk9GuuJC2lBqItuhKI4uxGgo9aIV7MYbk2h9Q6uULEh8WBzThoI7l+qU9Ast9fVUmkqPP9wYg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "debug": "~4.3.4",
- "ws": "~8.17.1"
- }
- },
- "node_modules/socket.io-adapter/node_modules/debug": {
- "version": "4.3.7",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz",
- "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ms": "^2.1.3"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "node_modules/socket.io-parser": {
- "version": "4.2.4",
- "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz",
- "integrity": "sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@socket.io/component-emitter": "~3.1.0",
- "debug": "~4.3.1"
- },
- "engines": {
- "node": ">=10.0.0"
- }
- },
- "node_modules/socket.io-parser/node_modules/debug": {
- "version": "4.3.7",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz",
- "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ms": "^2.1.3"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "node_modules/socket.io/node_modules/accepts": {
- "version": "1.3.8",
- "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
- "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "mime-types": "~2.1.34",
- "negotiator": "0.6.3"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/socket.io/node_modules/debug": {
- "version": "4.3.7",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz",
- "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ms": "^2.1.3"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "node_modules/socket.io/node_modules/mime-db": {
- "version": "1.52.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
- "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/socket.io/node_modules/mime-types": {
- "version": "2.1.35",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
- "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "mime-db": "1.52.0"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/socket.io/node_modules/negotiator": {
- "version": "0.6.3",
- "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
- "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/socks": {
- "version": "2.8.7",
- "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.7.tgz",
- "integrity": "sha512-HLpt+uLy/pxB+bum/9DzAgiKS8CX1EvbWxI4zlmgGCExImLdiad2iCwXT5Z4c9c3Eq8rP2318mPW2c+QbtjK8A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ip-address": "^10.0.1",
- "smart-buffer": "^4.2.0"
- },
- "engines": {
- "node": ">= 10.0.0",
- "npm": ">= 3.0.0"
- }
- },
- "node_modules/socks-proxy-agent": {
- "version": "8.0.5",
- "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz",
- "integrity": "sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "agent-base": "^7.1.2",
- "debug": "^4.3.4",
- "socks": "^2.8.3"
- },
- "engines": {
- "node": ">= 14"
- }
- },
- "node_modules/source-map": {
- "version": "0.7.6",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz",
- "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==",
- "dev": true,
- "license": "BSD-3-Clause",
- "engines": {
- "node": ">= 12"
- }
- },
- "node_modules/source-map-js": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
- "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
- "dev": true,
- "license": "BSD-3-Clause",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/source-map-support": {
- "version": "0.5.21",
- "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
- "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "buffer-from": "^1.0.0",
- "source-map": "^0.6.0"
- }
- },
- "node_modules/source-map-support/node_modules/source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true,
- "license": "BSD-3-Clause",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/spdx-correct": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz",
- "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "spdx-expression-parse": "^3.0.0",
- "spdx-license-ids": "^3.0.0"
- }
- },
- "node_modules/spdx-exceptions": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz",
- "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==",
- "dev": true,
- "license": "CC-BY-3.0"
- },
- "node_modules/spdx-expression-parse": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
- "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "spdx-exceptions": "^2.1.0",
- "spdx-license-ids": "^3.0.0"
- }
- },
- "node_modules/spdx-license-ids": {
- "version": "3.0.22",
- "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.22.tgz",
- "integrity": "sha512-4PRT4nh1EImPbt2jASOKHX7PB7I+e4IWNLvkKFDxNhJlfjbYlleYQh285Z/3mPTHSAK/AvdMmw5BNNuYH8ShgQ==",
- "dev": true,
- "license": "CC0-1.0"
- },
- "node_modules/ssri": {
- "version": "12.0.0",
- "resolved": "https://registry.npmjs.org/ssri/-/ssri-12.0.0.tgz",
- "integrity": "sha512-S7iGNosepx9RadX82oimUkvr0Ct7IjJbEbs4mJcTxst8um95J3sDYU1RBEOvdu6oL1Wek2ODI5i4MAw+dZ6cAQ==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "minipass": "^7.0.3"
- },
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/statuses": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz",
- "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==",
- "license": "MIT",
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/stdin-discarder": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/stdin-discarder/-/stdin-discarder-0.2.2.tgz",
- "integrity": "sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/streamroller": {
- "version": "3.1.5",
- "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.1.5.tgz",
- "integrity": "sha512-KFxaM7XT+irxvdqSP1LGLgNWbYN7ay5owZ3r/8t77p+EtSUAfUgtl7be3xtqtOmGUl9K9YPO2ca8133RlTjvKw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "date-format": "^4.0.14",
- "debug": "^4.3.4",
- "fs-extra": "^8.1.0"
- },
- "engines": {
- "node": ">=8.0"
- }
- },
- "node_modules/streamx": {
- "version": "2.23.0",
- "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.23.0.tgz",
- "integrity": "sha512-kn+e44esVfn2Fa/O0CPFcex27fjIL6MkVae0Mm6q+E6f0hWv578YCERbv+4m02cjxvDsPKLnmxral/rR6lBMAg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "events-universal": "^1.0.0",
- "fast-fifo": "^1.3.2",
- "text-decoder": "^1.1.0"
- }
- },
- "node_modules/string-width": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz",
- "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "emoji-regex": "^10.3.0",
- "get-east-asian-width": "^1.0.0",
- "strip-ansi": "^7.1.0"
- },
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/string-width-cjs": {
- "name": "string-width",
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/string-width-cjs/node_modules/ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/string-width-cjs/node_modules/emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/string-width-cjs/node_modules/is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/string-width-cjs/node_modules/strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-regex": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/strip-ansi": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz",
- "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-regex": "^6.0.1"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/strip-ansi?sponsor=1"
- }
- },
- "node_modules/strip-ansi-cjs": {
- "name": "strip-ansi",
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-regex": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/strip-ansi-cjs/node_modules/ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/strip-json-comments": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
- "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/supports-preserve-symlinks-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
- "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/tar": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz",
- "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "chownr": "^2.0.0",
- "fs-minipass": "^2.0.0",
- "minipass": "^5.0.0",
- "minizlib": "^2.1.1",
- "mkdirp": "^1.0.3",
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/tar-fs": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.1.1.tgz",
- "integrity": "sha512-LZA0oaPOc2fVo82Txf3gw+AkEd38szODlptMYejQUhndHMLQ9M059uXR+AfS7DNo0NpINvSqDsvyaCrBVkptWg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "pump": "^3.0.0",
- "tar-stream": "^3.1.5"
- },
- "optionalDependencies": {
- "bare-fs": "^4.0.1",
- "bare-path": "^3.0.0"
- }
- },
- "node_modules/tar-stream": {
- "version": "3.1.7",
- "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz",
- "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "b4a": "^1.6.4",
- "fast-fifo": "^1.2.0",
- "streamx": "^2.15.0"
- }
- },
- "node_modules/tar/node_modules/fs-minipass": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz",
- "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "minipass": "^3.0.0"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/tar/node_modules/fs-minipass/node_modules/minipass": {
- "version": "3.3.6",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
- "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/tar/node_modules/minipass": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz",
- "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/tar/node_modules/minizlib": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz",
- "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "minipass": "^3.0.0",
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/tar/node_modules/minizlib/node_modules/minipass": {
- "version": "3.3.6",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
- "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/tar/node_modules/mkdirp": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
- "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
- "dev": true,
- "license": "MIT",
- "bin": {
- "mkdirp": "bin/cmd.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/tar/node_modules/yallist": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/text-decoder": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.3.tgz",
- "integrity": "sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "b4a": "^1.6.4"
- }
- },
- "node_modules/through": {
- "version": "2.3.8",
- "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
- "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/tinyglobby": {
- "version": "0.2.14",
- "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz",
- "integrity": "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "fdir": "^6.4.4",
- "picomatch": "^4.0.2"
- },
- "engines": {
- "node": ">=12.0.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/SuperchupuDev"
- }
- },
- "node_modules/tmp": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.5.tgz",
- "integrity": "sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=14.14"
- }
- },
- "node_modules/to-regex-range": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
- "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "is-number": "^7.0.0"
- },
- "engines": {
- "node": ">=8.0"
- }
- },
- "node_modules/toidentifier": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
- "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
- "license": "MIT",
- "engines": {
- "node": ">=0.6"
- }
- },
- "node_modules/ts-api-utils": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz",
- "integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=18.12"
- },
- "peerDependencies": {
- "typescript": ">=4.8.4"
- }
- },
- "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==",
- "license": "0BSD"
- },
- "node_modules/tuf-js": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/tuf-js/-/tuf-js-3.1.0.tgz",
- "integrity": "sha512-3T3T04WzowbwV2FDiGXBbr81t64g1MUGGJRgT4x5o97N+8ArdhVCAF9IxFrxuSJmM3E5Asn7nKHkao0ibcZXAg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@tufjs/models": "3.0.1",
- "debug": "^4.4.1",
- "make-fetch-happen": "^14.0.3"
- },
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/type-check": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
- "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "prelude-ls": "^1.2.1"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/type-is": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.0.1.tgz",
- "integrity": "sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==",
- "license": "MIT",
- "dependencies": {
- "content-type": "^1.0.5",
- "media-typer": "^1.1.0",
- "mime-types": "^3.0.0"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/typed-query-selector": {
- "version": "2.12.0",
- "resolved": "https://registry.npmjs.org/typed-query-selector/-/typed-query-selector-2.12.0.tgz",
- "integrity": "sha512-SbklCd1F0EiZOyPiW192rrHZzZ5sBijB6xM+cpmrwDqObvdtunOHHIk9fCGsoK5JVIYXoyEp4iEdE3upFH3PAg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/typescript": {
- "version": "5.8.3",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz",
- "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==",
- "dev": true,
- "license": "Apache-2.0",
- "bin": {
- "tsc": "bin/tsc",
- "tsserver": "bin/tsserver"
- },
- "engines": {
- "node": ">=14.17"
- }
- },
- "node_modules/typescript-eslint": {
- "version": "8.45.0",
- "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.45.0.tgz",
- "integrity": "sha512-qzDmZw/Z5beNLUrXfd0HIW6MzIaAV5WNDxmMs9/3ojGOpYavofgNAAD/nC6tGV2PczIi0iw8vot2eAe/sBn7zg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@typescript-eslint/eslint-plugin": "8.45.0",
- "@typescript-eslint/parser": "8.45.0",
- "@typescript-eslint/typescript-estree": "8.45.0",
- "@typescript-eslint/utils": "8.45.0"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "^8.57.0 || ^9.0.0",
- "typescript": ">=4.8.4 <6.0.0"
- }
- },
- "node_modules/ua-parser-js": {
- "version": "0.7.41",
- "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.41.tgz",
- "integrity": "sha512-O3oYyCMPYgNNHuO7Jjk3uacJWZF8loBgwrfd/5LE/HyZ3lUIOdniQ7DNXJcIgZbwioZxk0fLfI4EVnetdiX5jg==",
- "dev": true,
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/ua-parser-js"
- },
- {
- "type": "paypal",
- "url": "https://paypal.me/faisalman"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/faisalman"
- }
- ],
- "license": "MIT",
- "bin": {
- "ua-parser-js": "script/cli.js"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/unbzip2-stream": {
- "version": "1.4.3",
- "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz",
- "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "buffer": "^5.2.1",
- "through": "^2.3.8"
- }
- },
- "node_modules/undici-types": {
- "version": "7.13.0",
- "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.13.0.tgz",
- "integrity": "sha512-Ov2Rr9Sx+fRgagJ5AX0qvItZG/JKKoBRAVITs1zk7IqZGTJUwgUr7qoYBpWwakpWilTZFM98rG/AFRocu10iIQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/unique-filename": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-4.0.0.tgz",
- "integrity": "sha512-XSnEewXmQ+veP7xX2dS5Q4yZAvO40cBN2MWkJ7D/6sW4Dg6wYBNwM1Vrnz1FhH5AdeLIlUXRI9e28z1YZi71NQ==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "unique-slug": "^5.0.0"
- },
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/unique-slug": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-5.0.0.tgz",
- "integrity": "sha512-9OdaqO5kwqR+1kVgHAhsp5vPNU0hnxRa26rBFNfNgM7M6pNtgzeBn3s/xbyCQL3dcjzOatcef6UUHpB/6MaETg==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "imurmurhash": "^0.1.4"
- },
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/universalify": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
- "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 4.0.0"
- }
- },
- "node_modules/unpipe": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
- "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
- "license": "MIT",
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/update-browserslist-db": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz",
- "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==",
- "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",
- "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",
- "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
- "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "punycode": "^2.1.0"
- }
- },
- "node_modules/uri-js/node_modules/punycode": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
- "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/utils-merge": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
- "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.4.0"
- }
- },
- "node_modules/uuid": {
- "version": "13.0.0",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-13.0.0.tgz",
- "integrity": "sha512-XQegIaBTVUjSHliKqcnFqYypAd4S+WCYt5NIeRs6w/UAry7z8Y9j5ZwRRL4kzq9U3sD6v+85er9FvkEaBpji2w==",
- "funding": [
- "https://github.com/sponsors/broofa",
- "https://github.com/sponsors/ctavan"
- ],
- "license": "MIT",
- "bin": {
- "uuid": "dist-node/bin/uuid"
- }
- },
- "node_modules/validate-npm-package-license": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
- "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "spdx-correct": "^3.0.0",
- "spdx-expression-parse": "^3.0.0"
- }
- },
- "node_modules/validate-npm-package-name": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-6.0.2.tgz",
- "integrity": "sha512-IUoow1YUtvoBBC06dXs8bR8B9vuA3aJfmQNKMoaPG/OFsPmoQvw8xh+6Ye25Gx9DQhoEom3Pcu9MKHerm/NpUQ==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/vary": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
- "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==",
- "license": "MIT",
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/vite": {
- "version": "7.1.5",
- "resolved": "https://registry.npmjs.org/vite/-/vite-7.1.5.tgz",
- "integrity": "sha512-4cKBO9wR75r0BeIWWWId9XK9Lj6La5X846Zw9dFfzMRw38IlTk2iCcUt6hsyiDRcPidc55ZParFYDXi0nXOeLQ==",
- "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/vite/node_modules/tinyglobby": {
- "version": "0.2.15",
- "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz",
- "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==",
- "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/void-elements": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz",
- "integrity": "sha512-qZKX4RnBzH2ugr8Lxa7x+0V6XD9Sb/ouARtiasEQCHB1EVU4NXtmHsDDrx1dO4ne5fc3J6EW05BP1Dl0z0iung==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/watchpack": {
- "version": "2.4.4",
- "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.4.tgz",
- "integrity": "sha512-c5EGNOiyxxV5qmTtAB7rbiXxi1ooX1pQKMLX/MIabJjRA0SJBQOjKF+KSVfHkr9U1cADPon0mRiVe/riyaiDUA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "glob-to-regexp": "^0.4.1",
- "graceful-fs": "^4.1.2"
- },
- "engines": {
- "node": ">=10.13.0"
- }
- },
- "node_modules/weak-lru-cache": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/weak-lru-cache/-/weak-lru-cache-1.2.2.tgz",
- "integrity": "sha512-DEAoo25RfSYMuTGc9vPJzZcZullwIqRDSI9LOy+fkCJPi6hykCnfKaXTuPBDuXAUcqHXyOgFtHNp/kB2FjYHbw==",
- "dev": true,
- "license": "MIT",
- "optional": true
- },
- "node_modules/which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "isexe": "^2.0.0"
- },
- "bin": {
- "node-which": "bin/node-which"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/word-wrap": {
- "version": "1.2.5",
- "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz",
- "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/wrap-ansi": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
- "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/wrap-ansi-cjs": {
- "name": "wrap-ansi",
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
- "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
- }
- },
- "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/wrap-ansi-cjs/node_modules/is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/wrap-ansi-cjs/node_modules/string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-regex": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/wrap-ansi/node_modules/ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/wrap-ansi/node_modules/emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/wrap-ansi/node_modules/string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/wrap-ansi/node_modules/strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-regex": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/wrappy": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
- "license": "ISC"
- },
- "node_modules/ws": {
- "version": "8.17.1",
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz",
- "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10.0.0"
- },
- "peerDependencies": {
- "bufferutil": "^4.0.1",
- "utf-8-validate": ">=5.0.2"
- },
- "peerDependenciesMeta": {
- "bufferutil": {
- "optional": true
- },
- "utf-8-validate": {
- "optional": true
- }
- }
- },
- "node_modules/xhr2": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/xhr2/-/xhr2-0.2.1.tgz",
- "integrity": "sha512-sID0rrVCqkVNUn8t6xuv9+6FViXjUVXq8H5rWOH2rz9fDNQEd4g0EA2XlcEdJXRz5BMEn4O1pJFdT+z4YHhoWw==",
- "license": "MIT",
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/y18n": {
- "version": "5.0.8",
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
- "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/yallist": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
- "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/yargs": {
- "version": "18.0.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-18.0.0.tgz",
- "integrity": "sha512-4UEqdc2RYGHZc7Doyqkrqiln3p9X2DZVxaGbwhn2pi7MrRagKaOcIKe8L3OxYcbhXLgLFUS3zAYuQjKBQgmuNg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "cliui": "^9.0.1",
- "escalade": "^3.1.1",
- "get-caller-file": "^2.0.5",
- "string-width": "^7.2.0",
- "y18n": "^5.0.5",
- "yargs-parser": "^22.0.0"
- },
- "engines": {
- "node": "^20.19.0 || ^22.12.0 || >=23"
- }
- },
- "node_modules/yargs-parser": {
- "version": "22.0.0",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-22.0.0.tgz",
- "integrity": "sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": "^20.19.0 || ^22.12.0 || >=23"
- }
- },
- "node_modules/yauzl": {
- "version": "2.10.0",
- "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
- "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "buffer-crc32": "~0.2.3",
- "fd-slicer": "~1.1.0"
- }
- },
- "node_modules/yocto-queue": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
- "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/yoctocolors-cjs": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/yoctocolors-cjs/-/yoctocolors-cjs-2.1.3.tgz",
- "integrity": "sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/zod": {
- "version": "3.25.76",
- "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz",
- "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==",
- "dev": true,
- "license": "MIT",
- "funding": {
- "url": "https://github.com/sponsors/colinhacks"
- }
- },
- "node_modules/zod-to-json-schema": {
- "version": "3.24.6",
- "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.24.6.tgz",
- "integrity": "sha512-h/z3PKvcTcTetyjl1fkj79MHNEjm+HpD6NXheWjzOekY7kV+lwDYnHw+ivHkijnCSMz1yJaWBD9vu/Fcmk+vEg==",
- "dev": true,
- "license": "ISC",
- "peerDependencies": {
- "zod": "^3.24.1"
- }
- },
- "node_modules/zone.js": {
- "version": "0.15.1",
- "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.15.1.tgz",
- "integrity": "sha512-XE96n56IQpJM7NAoXswY3XRLcWFW83xe0BiAOeMD7K5k5xecOeul3Qcpx6GqEeeHNkW5DWL5zOyTbEfB4eti8w==",
- "license": "MIT"
- }
- }
-}
diff --git a/cmd/core-gui/frontend.old/package.json b/cmd/core-gui/frontend.old/package.json
deleted file mode 100644
index 04a3ea8..0000000
--- a/cmd/core-gui/frontend.old/package.json
+++ /dev/null
@@ -1,60 +0,0 @@
-{
- "name": "lthn.io",
- "version": "20.3.2",
- "scripts": {
- "ng": "ng",
- "dev": "ng serve --port 4200",
- "start": "ng serve --port 4200",
- "build": "ng build",
- "watch": "ng build --watch --configuration development",
- "preview": "http-server ./dist/lthn-dns-web/browser -o",
- "puppeteer:install": "npx puppeteer browsers install chrome || true",
- "test": "ng test",
- "test:headless": "(export CHROME_BIN=\"$(node -e \"console.log(require('puppeteer').executablePath())\")\"; ng test --no-watch --code-coverage=false --browsers=ChromeHeadless) || (npm run puppeteer:install && export CHROME_BIN=\"$(node -e \"console.log(require('puppeteer').executablePath())\")\" && ng test --no-watch --code-coverage=false --browsers=ChromeHeadless)",
- "coverage": "(export CHROME_BIN=\"$(node -e \"console.log(require('puppeteer').executablePath())\")\"; ng test --no-watch --code-coverage --browsers=ChromeHeadless) || (npm run puppeteer:install && export CHROME_BIN=\"$(node -e \"console.log(require('puppeteer').executablePath())\")\" && ng test --no-watch --code-coverage --browsers=ChromeHeadless)",
- "lint": "ng lint",
- "serve": "node dist/angular-starter/server/server.mjs"
- },
- "private": true,
- "dependencies": {
- "@angular/common": "^20.3.2",
- "@angular/compiler": "^20.3.2",
- "@angular/core": "^20.3.2",
- "@angular/forms": "^20.3.2",
- "@angular/platform-browser": "^20.3.2",
- "@angular/platform-server": "^20.3.2",
- "@angular/router": "^20.3.2",
- "@angular/service-worker": "^20.3.2",
- "@angular/ssr": "^20.3.3",
- "@awesome.me/kit-2e7e02d1b1": "^1.0.6",
- "@awesome.me/webawesome": "file:~/Code/lib/webawesome",
- "@fortawesome/fontawesome-free": "^7.0.1",
- "@ngx-translate/core": "^17.0.0",
- "@ngx-translate/http-loader": "^17.0.0",
- "bootstrap": "^5.3.8",
- "express": "^5.1.0",
- "rxjs": "^7.8.2",
- "tslib": "^2.8.1",
- "uuid": "^13.0.0",
- "zone.js": "^0.15.1"
- },
- "devDependencies": {
- "@angular/build": "^20.3.3",
- "@angular/cli": "^20.3.3",
- "@angular/compiler-cli": "^20.3.2",
- "@types/express": "^5.0.3",
- "@types/jasmine": "^5.1.9",
- "@types/node": "^24.6.0",
- "angular-eslint": "^20.3.0",
- "eslint": "^9.36.0",
- "jasmine-core": "^5.11.0",
- "karma": "^6.4.4",
- "karma-chrome-launcher": "^3.2.0",
- "karma-coverage": "^2.2.1",
- "karma-jasmine": "^5.1.0",
- "karma-jasmine-html-reporter": "^2.1.0",
- "puppeteer": "^23.7.0",
- "typescript": "~5.8.3",
- "typescript-eslint": "^8.45.0"
- }
-}
diff --git a/cmd/core-gui/frontend.old/public/favicon.ico b/cmd/core-gui/frontend.old/public/favicon.ico
deleted file mode 100644
index 57614f9..0000000
Binary files a/cmd/core-gui/frontend.old/public/favicon.ico and /dev/null differ
diff --git a/cmd/core-gui/frontend.old/public/i18n/en.json b/cmd/core-gui/frontend.old/public/i18n/en.json
deleted file mode 100644
index 0ce1d3b..0000000
--- a/cmd/core-gui/frontend.old/public/i18n/en.json
+++ /dev/null
@@ -1,331 +0,0 @@
-{ "app": {
- "title": "Bob Wallet"
-},
- "sidebar": {
- "wallet": "Wallet",
- "topLevelDomains": "Top Level Domains",
- "miscellaneous": "Miscellaneous",
- "portfolio": "Portfolio",
- "send": "Send",
- "receive": "Receive",
- "domainManager": "Domain Manager",
- "browseDomains": "Browse Domains",
- "yourBids": "Your Bids",
- "watching": "Watching",
- "exchange": "Exchange",
- "claimAirdrop": "Claim Airdrop",
- "signMessage": "Sign Message",
- "verifyMessage": "Verify Message",
- "currentHeight": "Current Height",
- "currentHash": "Current Hash"
- },
- "topbar": {
- "searchPlaceholder": "Search TLD",
- "synced": "Synced",
- "walletID": "Wallet ID",
- "spendableBalance": "Spendable Balance",
- "network": "Network",
- "settings": "Settings",
- "logout": "Logout"
- },
- "home": {
- "spendable": "Spendable",
- "locked": "Locked",
- "revealable": "Revealable",
- "redeemable": "Redeemable",
- "registerable": "Registerable",
- "renewable": "Renewable",
- "transferring": "Transferring",
- "finalizable": "Finalizable",
- "inBids": "In bids",
- "bid": "bid",
- "bids": "bids",
- "revealAll": "Reveal All",
- "redeemAll": "Redeem All",
- "registerAll": "Register All",
- "renewAll": "Renew All",
- "finalizeAll": "Finalize All",
- "bidsReadyToReveal": "{{count}} bids ready to reveal",
- "bidsReadyToRedeem": "{{count}} bids ready to redeem",
- "namesReadyToRegister": "{{count}} names ready to register",
- "domainsExpiringSoon": "{{count}} domains expiring soon",
- "domainsInTransfer": "{{count}} domains in transfer",
- "transfersReadyToFinalize": "{{count}} transfers ready to finalize",
- "transactionHistory": "Transaction History",
- "noTransactions": "No transactions yet. Transaction history will appear here once you start using the wallet."
- },
- "domainManager": {
- "searchPlaceholder": "Search domains...",
- "export": "Export",
- "bulkTransfer": "Bulk Transfer",
- "claimNamePayment": "Claim Name for Payment",
- "emptyState": "You do not own any names yet.",
- "browseDomainsLink": "Browse domains",
- "toGetStarted": "to get started.",
- "name": "Name",
- "expires": "Expires",
- "highestBid": "Highest Bid",
- "showingDomains": "Showing {{count}} domains"
- },
- "exchange": {
- "listings": "Listings",
- "fills": "Fills",
- "auctions": "Auctions",
- "yourListings": "Your Listings",
- "yourFills": "Your Fills",
- "marketplaceAuctions": "Marketplace Auctions",
- "createListing": "Create Listing",
- "refresh": "Refresh",
- "noActiveListings": "You have no active listings.",
- "noFilledOrders": "You have no filled orders.",
- "noActiveAuctions": "No active auctions found.",
- "listDomainsInfo": "List your domains for sale to other Handshake users via the Shakedex protocol.",
- "completedPurchasesInfo": "Completed purchases will appear here.",
- "browseAuctionsInfo": "Browse available domain auctions from other users."
- },
- "searchTld": {
- "searchPlaceholder": "Search for a name...",
- "search": "Search",
- "searching": "Searching...",
- "enterNamePrompt": "Enter a name to search for availability and auction status.",
- "available": "Available",
- "inAuction": "In Auction",
- "status": "Status",
- "currentBid": "Current Bid",
- "blocksUntilReveal": "Blocks until reveal",
- "availableForBidding": "Available for bidding",
- "auctionInProgress": "Auction in progress",
- "placeBid": "Place Bid",
- "watch": "Watch"
- },
- "onboarding": {
- "welcome": "Welcome to Bob Wallet",
- "setupPrompt": "Set up your wallet to start managing Handshake names",
- "createNewWallet": "Create New Wallet",
- "importSeed": "Import Seed",
- "connectLedger": "Connect Ledger",
- "important": "Important:",
- "seedPhraseWarning": "Write down your seed phrase and store it in a secure location. You will need it to recover your wallet.",
- "copySeedPhrase": "Copy Seed Phrase",
- "savedSeed": "I've Saved My Seed",
- "importSeedPrompt": "Enter your 12 or 24 word seed phrase to restore an existing wallet.",
- "seedPhrase": "Seed Phrase",
- "seedPhrasePlaceholder": "Enter your seed phrase",
- "importWallet": "Import Wallet",
- "ledgerPrompt": "Connect your Ledger hardware wallet to manage your Handshake names securely.",
- "instructions": "Instructions:",
- "ledgerStep1": "Connect your Ledger device via USB",
- "ledgerStep2": "Enter your PIN on the device",
- "ledgerStep3": "Open the Handshake app on your Ledger",
- "ledgerStep4": "Click \"Connect\" below",
- "connectLedgerButton": "Connect Ledger"
- },
- "settings": {
- "general": "General",
- "wallet": "Wallet",
- "connection": "Connection",
- "advanced": "Advanced",
- "language": "Language",
- "blockExplorer": "Block Explorer",
- "theme": "Theme",
- "light": "Light",
- "dark": "Dark",
- "system": "System",
- "walletDirectory": "Wallet Directory",
- "walletDirectoryInfo": "Location where wallet data is stored",
- "changeDirectory": "Change Directory",
- "backup": "Backup",
- "backupInfo": "Export wallet seed phrase and settings",
- "exportBackup": "Export Backup",
- "rescanBlockchain": "Rescan Blockchain",
- "rescanInfo": "Re-scan the blockchain for transactions",
- "rescan": "Rescan",
- "connectionType": "Connection Type",
- "fullNode": "Full Node",
- "spv": "SPV (Light)",
- "customRPC": "Custom RPC",
- "network": "Network",
- "mainnet": "Mainnet",
- "testnet": "Testnet",
- "regtest": "Regtest",
- "simnet": "Simnet",
- "apiKey": "API Key",
- "apiKeyInfo": "Node API authentication key",
- "analytics": "Analytics",
- "analyticsInfo": "Share anonymous usage data to improve Bob",
- "developerOptions": "Developer Options",
- "openDebugConsole": "Open Debug Console"
- },
- "common": {
- "hns": "HNS",
- "usd": "USD",
- "loading": "Loading...",
- "save": "Save",
- "cancel": "Cancel",
- "close": "Close",
- "confirm": "Confirm",
- "continue": "Continue",
- "back": "Back",
- "next": "Next",
- "done": "Done",
- "error": "Error",
- "success": "Success",
- "warning": "Warning",
- "info": "Info"
- },
- "app.boot.download-check": "Checking for Updates",
- "app.boot.folder-check": "Setup Check",
- "app.boot.loaded-runtime": "Application Loaded",
- "app.boot.server-check": "Checking Server",
- "app.boot.start-runtime": "Starting Desktop",
- "app.core.ui.search": "Search",
- "app.lthn.chain.daemons.lethean-blockchain-export": "Blockchain Export",
- "app.lthn.chain.daemons.lethean-blockchain-import": "Blockchain Import",
- "app.lthn.chain.daemons.lethean-wallet-cli": "Wallet CLI",
- "app.lthn.chain.daemons.lethean-wallet-rpc": "Wallet RPC",
- "app.lthn.chain.daemons.lethean-wallet-vpn-rpc": "Exit Node Wallet",
- "app.lthn.chain.daemons.letheand": "Blockchain Service",
- "app.lthn.chain.desc.no_transactions": "There were no transactions included in this block",
- "app.lthn.chain.description": "Lethean (LTHN) Blockchain Stats",
- "app.lthn.chain.heading": "Lethean Blockchain Stats",
- "app.lthn.chain.menu.blocks": "Blocks",
- "app.lthn.chain.menu.configuration": "Configuration",
- "app.lthn.chain.menu.raw_data": "Raw Block Data",
- "app.lthn.chain.menu.stats": "Stats",
- "app.lthn.chain.table.age": "Age",
- "app.lthn.chain.table.depth": "Depth",
- "app.lthn.chain.table.difficulty": "Difficulty",
- "app.lthn.chain.table.height": "Height",
- "app.lthn.chain.table.reward": "Reward",
- "app.lthn.chain.table.time": "Time",
- "app.lthn.chain.table.title.chain-status": "Blockchain Status",
- "app.lthn.chain.table.title.recent-blocks": "Recently Created Blocks",
- "app.lthn.chain.title": "Blockchain Explorer",
- "app.lthn.chain.words.alt_blocks_count": "Alt Blocks",
- "app.lthn.chain.words.block_size": "Block Size",
- "app.lthn.chain.words.block_size_limit": "Block Size Limit",
- "app.lthn.chain.words.chain_stat": "Chain Stats",
- "app.lthn.chain.words.chain_stat_value": "Node Reported Value",
- "app.lthn.chain.words.cumulative_difficulty": "Cumulative Difficulty",
- "app.lthn.chain.words.depth": "Depth from Top Block",
- "app.lthn.chain.words.difficulty": "Difficulty",
- "app.lthn.chain.words.grey_peerlist_size": "P2P Grey Peers",
- "app.lthn.chain.words.hash": "Hash",
- "app.lthn.chain.words.height": "Height",
- "app.lthn.chain.words.incoming_connections_count": "P2P Incoming",
- "app.lthn.chain.words.install-blockchain": "Install Blockchain",
- "app.lthn.chain.words.last_block_time": "Synchronised to Block:",
- "app.lthn.chain.words.loading-data": "Loading Blockchain Data",
- "app.lthn.chain.words.major_version": "Major Version",
- "app.lthn.chain.words.miner_transaction": "Miner Transaction",
- "app.lthn.chain.words.miner_tx": "POW Miner Transaction",
- "app.lthn.chain.words.minor_version": "Minor Version",
- "app.lthn.chain.words.nonce": "Block Solution",
- "app.lthn.chain.words.orphan_status": "Valid Block",
- "app.lthn.chain.words.outgoing_connections_count": "P2P Out",
- "app.lthn.chain.words.reward": "Reward",
- "app.lthn.chain.words.start_time": "Start Time",
- "app.lthn.chain.words.status": "Status",
- "app.lthn.chain.words.target": "Target",
- "app.lthn.chain.words.target_height": "Target Height",
- "app.lthn.chain.words.testnet": "Testnet",
- "app.lthn.chain.words.timestamp": "Timestamp",
- "app.lthn.chain.words.top_height": "Newest Block",
- "app.lthn.chain.words.tx_count": "Total Transactions",
- "app.lthn.chain.words.tx_pool_size": "Pending Transactions",
- "app.lthn.chain.words.unlock_time": "Unlock Block",
- "app.lthn.chain.words.valid": "Valid Block",
- "app.lthn.chain.words.version": "Block Structure Version",
- "app.lthn.chain.words.white_peerlist_size": "P2P Whitelist",
- "app.lthn.console.title": "Console",
- "app.lthn.wallet.button.create-wallet": "Create Wallet",
- "app.lthn.wallet.button.restore-wallet": "Restore Wallet",
- "app.lthn.wallet.button.unlock-wallet": "Unlock",
- "app.lthn.wallet.label.address": "Address",
- "app.lthn.wallet.label.autosave": "Save Open Wallet",
- "app.lthn.wallet.label.filename": "Filename",
- "app.lthn.wallet.label.restore-height": "Restore Height",
- "app.lthn.wallet.label.spend-key": "Spend Key",
- "app.lthn.wallet.label.view-key": "View Key",
- "app.lthn.wallet.label.wallet-password": "Wallet Password",
- "app.lthn.wallet.label.wallet-password-confirm": "Confirm Password",
- "app.lthn.wallet.titles.new-wallet": "Make New Wallet",
- "app.lthn.wallet.titles.restore-keys": "Restore From Keys",
- "app.lthn.wallet.titles.restore-seed": "Restore From Seed",
- "app.lthn.wallet.titles.unlock-wallet": "Unlock Wallet",
- "app.lthn.wallet.titles.wallet-transactions": "Wallet Transactions",
- "app.market.apps": "App Marketplace",
- "app.market.dashboard": "Dashboard",
- "app.market.installed": "Installed Apps",
- "app.market.no-apps-installed": "You have no apps installed.",
- "app.market.view-installable-apps": "View Installable Apps",
- "app.title": "Lethean Desktop",
- "charts.network-hashrate.subtitle": "Data Provided by",
- "charts.network-hashrate.title": "Network Hash Rate",
- "lang.de": "German",
- "lang.en": "English",
- "lang.es": "Spanish",
- "lang.fr": "French",
- "lang.ru": "Russian",
- "lang.uk": "Ukrainian (Ukraine)",
- "lang.zh": "Chinese",
- "menu.about": "About",
- "menu.activity": "Activity",
- "menu.api": "api",
- "menu.blockchain": "Blockchain",
- "menu.build": "Build",
- "menu.dashboard": "Dashboard",
- "menu.docs": "Documentation",
- "menu.documentation": "Documentation",
- "menu.explorer": "Explorer",
- "menu.help": "Help",
- "menu.hub-admin": "Admin Hub",
- "menu.hub-client": "Client Hub",
- "menu.hub-developer": "Developer",
- "menu.hub-gateway": "Gateway",
- "menu.hub-server": "Server Hub",
- "menu.info": "info",
- "menu.logout": "Sign Out",
- "menu.mining": "Mining",
- "menu.settings": "Settings",
- "menu.vpn": "VPN",
- "menu.wallet": "Wallet",
- "menu.your-profile": "Your Profile",
- "view.dashboard.description": "Lethean (LTHN) Web app",
- "view.dashboard.heading": "Lethean Dashboard",
- "view.dashboard.title": "Lethean (LTHN)",
- "view.wallets.description": "Crypto Wallet Manager",
- "view.wallets.heading": "Wallet Manager",
- "view.wallets.title": "Wallets",
- "words.actions.add": "Add",
- "words.actions.clone": "Clone",
- "words.actions.edit": "Edit",
- "words.actions.install": "Install",
- "words.actions.new": "New",
- "words.actions.remove": "Remove",
- "words.actions.report": "Report",
- "words.actions.save": "Save",
- "words.states.installing": "Installing",
- "words.states.installing_desc": "We are downloading the blockchain executables from GitHub to your Lethean user directory.",
- "words.states.loading": "Loading",
- "words.states.not_installed": "Not Installed",
- "words.states.not_installed_desc": "Click Install Blockchain to download the latest Lethean Blockchain CLI",
- "words.things.button": "Button",
- "words.things.documentation": "Documentation",
- "words.things.menu": "Menu",
- "words.things.mining-pool": "Mining Pool",
- "words.things.page": "Page",
- "words.things.problem": "Problem",
- "words.things.type": "Type",
- "words.time.past.day": "a day ago",
- "words.time.past.days": "days ago",
- "words.time.past.hour": "an hour ago",
- "words.time.past.hours": "hours ago",
- "words.time.past.minute": "a minute ago",
- "words.time.past.minutes": "minutes ago",
- "words.time.past.month": "a month ago",
- "words.time.past.months": " months ago",
- "words.time.past.seconds": "a few seconds ago",
- "words.time.past.year": "a year ago",
- "words.time.past.years": "years ago"
-}
diff --git a/cmd/core-gui/frontend.old/public/icons/icon-128x128.png b/cmd/core-gui/frontend.old/public/icons/icon-128x128.png
deleted file mode 100644
index 5a9a2cc..0000000
Binary files a/cmd/core-gui/frontend.old/public/icons/icon-128x128.png and /dev/null differ
diff --git a/cmd/core-gui/frontend.old/public/icons/icon-144x144.png b/cmd/core-gui/frontend.old/public/icons/icon-144x144.png
deleted file mode 100644
index 11702cd..0000000
Binary files a/cmd/core-gui/frontend.old/public/icons/icon-144x144.png and /dev/null differ
diff --git a/cmd/core-gui/frontend.old/public/icons/icon-152x152.png b/cmd/core-gui/frontend.old/public/icons/icon-152x152.png
deleted file mode 100644
index ff4e06b..0000000
Binary files a/cmd/core-gui/frontend.old/public/icons/icon-152x152.png and /dev/null differ
diff --git a/cmd/core-gui/frontend.old/public/icons/icon-192x192.png b/cmd/core-gui/frontend.old/public/icons/icon-192x192.png
deleted file mode 100644
index afd36a4..0000000
Binary files a/cmd/core-gui/frontend.old/public/icons/icon-192x192.png and /dev/null differ
diff --git a/cmd/core-gui/frontend.old/public/icons/icon-384x384.png b/cmd/core-gui/frontend.old/public/icons/icon-384x384.png
deleted file mode 100644
index 613ac79..0000000
Binary files a/cmd/core-gui/frontend.old/public/icons/icon-384x384.png and /dev/null differ
diff --git a/cmd/core-gui/frontend.old/public/icons/icon-512x512.png b/cmd/core-gui/frontend.old/public/icons/icon-512x512.png
deleted file mode 100644
index 7574990..0000000
Binary files a/cmd/core-gui/frontend.old/public/icons/icon-512x512.png and /dev/null differ
diff --git a/cmd/core-gui/frontend.old/public/icons/icon-72x72.png b/cmd/core-gui/frontend.old/public/icons/icon-72x72.png
deleted file mode 100644
index 033724e..0000000
Binary files a/cmd/core-gui/frontend.old/public/icons/icon-72x72.png and /dev/null differ
diff --git a/cmd/core-gui/frontend.old/public/icons/icon-96x96.png b/cmd/core-gui/frontend.old/public/icons/icon-96x96.png
deleted file mode 100644
index 3090dc2..0000000
Binary files a/cmd/core-gui/frontend.old/public/icons/icon-96x96.png and /dev/null differ
diff --git a/cmd/core-gui/frontend.old/public/manifest.webmanifest b/cmd/core-gui/frontend.old/public/manifest.webmanifest
deleted file mode 100644
index eb768a0..0000000
--- a/cmd/core-gui/frontend.old/public/manifest.webmanifest
+++ /dev/null
@@ -1,57 +0,0 @@
-{
- "name": "Core Framework",
- "short_name": "Core",
- "display": "standalone",
- "scope": "./",
- "start_url": "./",
- "icons": [
- {
- "src": "icons/icon-72x72.png",
- "sizes": "72x72",
- "type": "image/png",
- "purpose": "maskable any"
- },
- {
- "src": "icons/icon-96x96.png",
- "sizes": "96x96",
- "type": "image/png",
- "purpose": "maskable any"
- },
- {
- "src": "icons/icon-128x128.png",
- "sizes": "128x128",
- "type": "image/png",
- "purpose": "maskable any"
- },
- {
- "src": "icons/icon-144x144.png",
- "sizes": "144x144",
- "type": "image/png",
- "purpose": "maskable any"
- },
- {
- "src": "icons/icon-152x152.png",
- "sizes": "152x152",
- "type": "image/png",
- "purpose": "maskable any"
- },
- {
- "src": "icons/icon-192x192.png",
- "sizes": "192x192",
- "type": "image/png",
- "purpose": "maskable any"
- },
- {
- "src": "icons/icon-384x384.png",
- "sizes": "384x384",
- "type": "image/png",
- "purpose": "maskable any"
- },
- {
- "src": "icons/icon-512x512.png",
- "sizes": "512x512",
- "type": "image/png",
- "purpose": "maskable any"
- }
- ]
-}
diff --git a/cmd/core-gui/frontend.old/public/robots.txt b/cmd/core-gui/frontend.old/public/robots.txt
deleted file mode 100644
index bfa8dd7..0000000
--- a/cmd/core-gui/frontend.old/public/robots.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-User-agent: *
-Disallow:
-Sitemap: /sitemap.xml
diff --git a/cmd/core-gui/frontend.old/public/sitemap.xml b/cmd/core-gui/frontend.old/public/sitemap.xml
deleted file mode 100644
index 6379a77..0000000
--- a/cmd/core-gui/frontend.old/public/sitemap.xml
+++ /dev/null
@@ -1,76 +0,0 @@
-
-
-
-
-
-
- https://angular.ganatan.com/
- 2023-12-08T12:51:22+00:00
- 1.00
-
-
- https://angular.ganatan.com/about
- 2023-12-08T12:51:22+00:00
- 0.80
-
-
- https://angular.ganatan.com/contact
- 2023-12-08T12:51:22+00:00
- 0.80
-
-
- https://angular.ganatan.com/bootstrap
- 2023-12-08T12:51:22+00:00
- 0.80
-
-
- https://angular.ganatan.com/services
- 2023-12-08T12:51:22+00:00
- 0.80
-
-
- https://angular.ganatan.com/components
- 2023-12-08T12:51:22+00:00
- 0.80
-
-
- https://angular.ganatan.com/httpclient
- 2023-12-08T12:51:22+00:00
- 0.80
-
-
- https://angular.ganatan.com/forms
- 2023-12-08T12:51:22+00:00
- 0.80
-
-
- https://angular.ganatan.com/about/experience
- 2023-12-08T12:51:22+00:00
- 0.64
-
-
- https://angular.ganatan.com/about/skill
- 2023-12-08T12:51:22+00:00
- 0.64
-
-
- https://angular.ganatan.com/contact/mailing
- 2023-12-08T12:51:22+00:00
- 0.64
-
-
- https://angular.ganatan.com/contact/mapping
- 2023-12-08T12:51:22+00:00
- 0.64
-
-
- https://angular.ganatan.com/contact/website
- 2023-12-08T12:51:22+00:00
- 0.64
-
-
-
diff --git a/cmd/core-gui/frontend.old/src/app/app.config.server.ts b/cmd/core-gui/frontend.old/src/app/app.config.server.ts
deleted file mode 100644
index ffca419..0000000
--- a/cmd/core-gui/frontend.old/src/app/app.config.server.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-import { mergeApplicationConfig, ApplicationConfig } from '@angular/core';
-import { provideServerRendering, withRoutes } from '@angular/ssr';
-import { appConfig } from './app.config';
-import { serverRoutes } from './app.routes.server';
-import { TranslateLoader } from '@ngx-translate/core';
-import { TranslateServerLoader } from './translate-server.loader';
-
-const serverConfig: ApplicationConfig = {
- providers: [
- provideServerRendering(withRoutes(serverRoutes)),
- { provide: TranslateLoader, useClass: TranslateServerLoader }
- ]
-};
-
-export const config = mergeApplicationConfig(appConfig, serverConfig);
diff --git a/cmd/core-gui/frontend.old/src/app/app.config.ts b/cmd/core-gui/frontend.old/src/app/app.config.ts
deleted file mode 100644
index d9dba88..0000000
--- a/cmd/core-gui/frontend.old/src/app/app.config.ts
+++ /dev/null
@@ -1,42 +0,0 @@
-import { ApplicationConfig, provideBrowserGlobalErrorListeners, provideZoneChangeDetection, isDevMode, importProvidersFrom } from '@angular/core';
-import { provideRouter } from '@angular/router';
-import { HttpClient, provideHttpClient, withFetch } from '@angular/common/http';
-import { TranslateModule } from '@ngx-translate/core';
-import { provideTranslateHttpLoader } from '@ngx-translate/http-loader';
-
-import { routes } from './app.routes';
-import { withInMemoryScrolling } from '@angular/router';
-import { provideClientHydration, withEventReplay } from '@angular/platform-browser';
-import { provideServiceWorker } from '@angular/service-worker';
-
-export const appConfig: ApplicationConfig = {
- providers: [
- provideHttpClient(
- withFetch(),
- ),
- provideBrowserGlobalErrorListeners(),
- provideZoneChangeDetection({ eventCoalescing: true }),
- provideRouter(routes,
- withInMemoryScrolling({
- scrollPositionRestoration: 'enabled',
- anchorScrolling: 'enabled',
- }),
- ),
- provideClientHydration(withEventReplay()),
- provideServiceWorker('ngsw-worker.js', {
- enabled: !isDevMode(),
- registrationStrategy: 'registerWhenStable:30000'
- }),
-
- // Add ngx-translate providers
- importProvidersFrom(
- TranslateModule.forRoot({
- fallbackLang: 'en'
- })
- ),
- provideTranslateHttpLoader({
- prefix: './i18n/',
- suffix: '.json'
- })
- ]
-};
diff --git a/cmd/core-gui/frontend.old/src/app/app.css b/cmd/core-gui/frontend.old/src/app/app.css
deleted file mode 100644
index e69de29..0000000
diff --git a/cmd/core-gui/frontend.old/src/app/app.html b/cmd/core-gui/frontend.old/src/app/app.html
deleted file mode 100644
index f42f6e8..0000000
--- a/cmd/core-gui/frontend.old/src/app/app.html
+++ /dev/null
@@ -1,140 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/cmd/core-gui/frontend.old/src/app/app.routes.server.ts b/cmd/core-gui/frontend.old/src/app/app.routes.server.ts
deleted file mode 100644
index ffd37b1..0000000
--- a/cmd/core-gui/frontend.old/src/app/app.routes.server.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-import { RenderMode, ServerRoute } from '@angular/ssr';
-
-export const serverRoutes: ServerRoute[] = [
- {
- path: '**',
- renderMode: RenderMode.Prerender
- }
-];
diff --git a/cmd/core-gui/frontend.old/src/app/app.routes.ts b/cmd/core-gui/frontend.old/src/app/app.routes.ts
deleted file mode 100644
index ddbd37b..0000000
--- a/cmd/core-gui/frontend.old/src/app/app.routes.ts
+++ /dev/null
@@ -1,25 +0,0 @@
-import { Routes } from '@angular/router';
-import { HomePage } from './pages/home/home.page';
-import { SearchTldPage } from './pages/search-tld/search-tld.page';
-import { OnboardingPage } from './pages/onboarding/onboarding.page';
-import { SettingsPage } from './pages/settings/settings.page';
-import { DomainManagerPage } from './pages/domain-manager/domain-manager.page';
-import { ExchangePage } from './pages/exchange/exchange.page';
-
-export const routes: Routes = [
- { path: '', redirectTo: '/account', pathMatch: 'full' },
- { path: 'account', component: HomePage, title: 'Portfolio • Bob Wallet' },
- { path: 'send', component: HomePage, title: 'Send • Bob Wallet' },
- { path: 'receive', component: HomePage, title: 'Receive • Bob Wallet' },
- { path: 'domain-manager', component: DomainManagerPage, title: 'Domain Manager • Bob Wallet' },
- { path: 'domains', component: SearchTldPage, title: 'Browse Domains • Bob Wallet' },
- { path: 'bids', component: HomePage, title: 'Your Bids • Bob Wallet' },
- { path: 'watching', component: HomePage, title: 'Watching • Bob Wallet' },
- { path: 'exchange', component: ExchangePage, title: 'Exchange • Bob Wallet' },
- { path: 'get-coins', component: HomePage, title: 'Claim Airdrop • Bob Wallet' },
- { path: 'sign-message', component: HomePage, title: 'Sign Message • Bob Wallet' },
- { path: 'verify-message', component: HomePage, title: 'Verify Message • Bob Wallet' },
- { path: 'settings', component: SettingsPage, title: 'Settings • Bob Wallet' },
- { path: 'onboarding', component: OnboardingPage, title: 'Onboarding • Bob Wallet' },
- { path: '**', redirectTo: '/account' }
-];
diff --git a/cmd/core-gui/frontend.old/src/app/app.spec.ts b/cmd/core-gui/frontend.old/src/app/app.spec.ts
deleted file mode 100644
index aa2a763..0000000
--- a/cmd/core-gui/frontend.old/src/app/app.spec.ts
+++ /dev/null
@@ -1,24 +0,0 @@
-import { TestBed } from '@angular/core/testing';
-import { App } from './app';
-import { ActivatedRoute } from '@angular/router';
-
-describe('App', () => {
- beforeEach(async () => {
- await TestBed.configureTestingModule({
- imports: [App],
- providers: [
- {
- provide: ActivatedRoute,
- useValue: {}
- }
- ]
- }).compileComponents();
- });
-
- it('should create the app', () => {
- const fixture = TestBed.createComponent(App);
- const app = fixture.componentInstance;
- expect(app).toBeTruthy();
- });
-
-});
diff --git a/cmd/core-gui/frontend.old/src/app/app.ts b/cmd/core-gui/frontend.old/src/app/app.ts
deleted file mode 100644
index d479b79..0000000
--- a/cmd/core-gui/frontend.old/src/app/app.ts
+++ /dev/null
@@ -1,40 +0,0 @@
-import { Component, OnInit, Inject, PLATFORM_ID, CUSTOM_ELEMENTS_SCHEMA, ViewChild, ElementRef } from '@angular/core';
-import { CommonModule, DOCUMENT, isPlatformBrowser } from '@angular/common';
-import {RouterLink, RouterOutlet} from '@angular/router';
-import { FooterComponent } from './shared/components/footer/footer.component';
-import { TranslateModule, TranslateService } from '@ngx-translate/core';
-import {Subscription} from 'rxjs';
-
-@Component({
- selector: 'app-root',
- imports: [
- CommonModule,
- RouterOutlet,
- FooterComponent,
- TranslateModule,
- RouterLink
- ],
- templateUrl: './app.html',
- styleUrl: './app.css',
- standalone: true,
- schemas: [CUSTOM_ELEMENTS_SCHEMA],
-})
-export class App {
- @ViewChild('sidebar', { read: ElementRef, static: false }) sidebar?: ElementRef;
-
- sidebarOpen = false;
- userMenuOpen = false;
- currentRole = 'Developer';
-
- time: string = '';
-
- constructor(
- @Inject(DOCUMENT) private document: Document,
- @Inject(PLATFORM_ID) private platformId: object,
- private translateService: TranslateService
- ) {
- // Set default language
- this.translateService.use('en');
- }
-
-}
diff --git a/cmd/core-gui/frontend.old/src/app/core/services/seo/seo.service.spec.ts b/cmd/core-gui/frontend.old/src/app/core/services/seo/seo.service.spec.ts
deleted file mode 100644
index eed57e9..0000000
--- a/cmd/core-gui/frontend.old/src/app/core/services/seo/seo.service.spec.ts
+++ /dev/null
@@ -1,63 +0,0 @@
-import { TestBed } from '@angular/core/testing';
-import { Meta, Title } from '@angular/platform-browser';
-import { SeoService } from './seo.service';
-import { itGood, itBad, itUgly, trio } from 'src/testing/gbu';
-
-describe('SeoService', () => {
- let service: SeoService;
- let metaSpy: jasmine.SpyObj;
- let titleSpy: jasmine.SpyObj;
-
- beforeEach(() => {
- metaSpy = jasmine.createSpyObj('Meta', ['updateTag']);
- titleSpy = jasmine.createSpyObj('Title', ['setTitle']);
-
- TestBed.configureTestingModule({
- providers: [
- SeoService,
- { provide: Meta, useValue: metaSpy },
- { provide: Title, useValue: titleSpy }
- ]
- });
- service = TestBed.inject(SeoService);
- });
-
- it('should be created', () => {
- expect(service).toBeTruthy();
- });
-
- describe('setMetaTitle', () => {
- trio('sets document title', {
- good: () => {
- service.setMetaTitle('Hello');
- expect(titleSpy.setTitle).toHaveBeenCalledOnceWith('Hello');
- },
- bad: () => {
- service.setMetaTitle('');
- expect(titleSpy.setTitle).toHaveBeenCalledWith('');
- },
- ugly: () => {
- // Force invalid via any cast; ensure we do not throw
- expect(() => service.setMetaTitle(null as any)).not.toThrow();
- expect(titleSpy.setTitle).toHaveBeenCalledWith(null as any);
- }
- });
- });
-
- describe('setMetaDescription', () => {
- itGood('updates description meta tag', () => {
- service.setMetaDescription('desc');
- expect(metaSpy.updateTag).toHaveBeenCalledWith({ name: 'description', content: 'desc' });
- });
-
- itBad('handles empty description', () => {
- service.setMetaDescription('');
- expect(metaSpy.updateTag).toHaveBeenCalledWith({ name: 'description', content: '' });
- });
-
- itUgly('does not throw on invalid description', () => {
- expect(() => service.setMetaDescription(null as any)).not.toThrow();
- expect(metaSpy.updateTag).toHaveBeenCalledWith({ name: 'description', content: null as any });
- });
- });
-});
diff --git a/cmd/core-gui/frontend.old/src/app/core/services/seo/seo.service.ts b/cmd/core-gui/frontend.old/src/app/core/services/seo/seo.service.ts
deleted file mode 100644
index 2e98271..0000000
--- a/cmd/core-gui/frontend.old/src/app/core/services/seo/seo.service.ts
+++ /dev/null
@@ -1,30 +0,0 @@
-import { Injectable } from '@angular/core';
-import { Meta, Title } from '@angular/platform-browser';
-
-@Injectable({
- providedIn: 'root'
-})
-export class SeoService {
-
- constructor(
- private meta: Meta,
- private titleService: Title) {
-
- }
-
- public setMetaDescription(content: string) {
-
- this.meta.updateTag(
- {
- name: 'description',
- content: content
- });
- }
-
- public setMetaTitle(title:string) {
-
- this.titleService.setTitle(title);
-
- }
-
-}
diff --git a/cmd/core-gui/frontend.old/src/app/custom-elements.module.ts b/cmd/core-gui/frontend.old/src/app/custom-elements.module.ts
deleted file mode 100644
index e6bf0ca..0000000
--- a/cmd/core-gui/frontend.old/src/app/custom-elements.module.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
-import { } from "@awesome.me/webawesome/dist/webawesome.loader.js"
-// This module enables Angular to accept unknown custom elements (Web Awesome components)
-// without throwing template parse errors.
-@NgModule({
- schemas: [CUSTOM_ELEMENTS_SCHEMA],
-})
-export class CustomElementsModule {}
diff --git a/cmd/core-gui/frontend.old/src/app/pages/domain-manager/domain-manager.page.spec.ts b/cmd/core-gui/frontend.old/src/app/pages/domain-manager/domain-manager.page.spec.ts
deleted file mode 100644
index b819f6c..0000000
--- a/cmd/core-gui/frontend.old/src/app/pages/domain-manager/domain-manager.page.spec.ts
+++ /dev/null
@@ -1,81 +0,0 @@
-import { ComponentFixture, TestBed } from '@angular/core/testing';
-import { RouterTestingModule } from '@angular/router/testing';
-import { DomainManagerPage } from './domain-manager.page';
-import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
-
-describe('DomainManagerPage', () => {
- let component: DomainManagerPage;
- let fixture: ComponentFixture;
-
- beforeEach(async () => {
- await TestBed.configureTestingModule({
- imports: [DomainManagerPage, RouterTestingModule],
- schemas: [CUSTOM_ELEMENTS_SCHEMA]
- }).compileComponents();
-
- fixture = TestBed.createComponent(DomainManagerPage);
- component = fixture.componentInstance;
- fixture.detectChanges();
- });
-
- it('should create', () => {
- expect(component).toBeTruthy();
- // NEW: Verify component is an instance of DomainManagerPage
- expect(component instanceof DomainManagerPage).toBe(true);
- });
-
- it('should initialize with empty searchQuery', () => {
- expect(component.searchQuery).toBe('');
- // NEW: Verify searchQuery is a string type
- expect(typeof component.searchQuery).toBe('string');
- });
-
- it('should initialize with empty domains array', () => {
- expect(component.domains).toEqual([]);
- // NEW: Verify domains is an array
- expect(Array.isArray(component.domains)).toBe(true);
- });
-
- it('should render domain manager header', () => {
- const compiled = fixture.nativeElement as HTMLElement;
- const header = compiled.querySelector('.domain-manager__header');
- expect(header).toBeTruthy();
- // NEW: Verify header contains actions section
- const actions = header?.querySelector('.domain-manager__actions');
- expect(actions).toBeTruthy();
- });
-
- it('should display search input', () => {
- const compiled = fixture.nativeElement as HTMLElement;
- const searchInput = compiled.querySelector('wa-input');
- expect(searchInput).toBeTruthy();
- // NEW: Verify search input has placeholder attribute
- expect(searchInput?.hasAttribute('placeholder')).toBe(true);
- });
-
- it('should show empty state when no domains', () => {
- const compiled = fixture.nativeElement as HTMLElement;
- const emptyState = compiled.querySelector('.domain-manager__empty');
- expect(emptyState).toBeTruthy();
- expect(emptyState?.textContent).toContain('You do not own any names yet');
- // NEW: Verify empty state is within a callout
- const callout = compiled.querySelector('wa-callout');
- expect(callout).toBeTruthy();
- });
-
- it('should render action buttons in header', () => {
- const compiled = fixture.nativeElement as HTMLElement;
- const buttons = compiled.querySelectorAll('.domain-manager__actions wa-button');
- expect(buttons.length).toBeGreaterThan(0);
- // NEW: Verify exactly 3 action buttons (Export, Bulk Transfer, Claim Name)
- expect(buttons.length).toBe(3);
- });
-
- it('should have viewDomain method', () => {
- spyOn(console, 'log');
- component.viewDomain('testdomain');
- expect(console.log).toHaveBeenCalledWith('View domain:', 'testdomain');
- // NEW: Verify viewDomain is a function
- expect(typeof component.viewDomain).toBe('function');
- });
-});
diff --git a/cmd/core-gui/frontend.old/src/app/pages/domain-manager/domain-manager.page.ts b/cmd/core-gui/frontend.old/src/app/pages/domain-manager/domain-manager.page.ts
deleted file mode 100644
index 0b76f2e..0000000
--- a/cmd/core-gui/frontend.old/src/app/pages/domain-manager/domain-manager.page.ts
+++ /dev/null
@@ -1,107 +0,0 @@
-import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
-
-import { FormsModule } from '@angular/forms';
-import { Router } from '@angular/router';
-import { TranslateModule } from '@ngx-translate/core';
-
-@Component({
- selector: 'app-domain-manager-page',
- imports: [FormsModule, TranslateModule],
- schemas: [CUSTOM_ELEMENTS_SCHEMA],
- template: `
-
-
-
-
-
-
-
-
-
- {{ 'domainManager.export' | translate }}
-
-
-
- {{ 'domainManager.bulkTransfer' | translate }}
-
-
-
- {{ 'domainManager.claimNamePayment' | translate }}
-
-
-
-
- @if (domains.length === 0) {
-
-
-
-
-
{{ 'domainManager.emptyState' | translate }}
-
- {{ 'domainManager.browseDomainsLink' | translate }} {{ 'domainManager.toGetStarted' | translate }}
-
-
-
-
- }
-
- @if (domains.length > 0) {
-
-
-
- @for (domain of domains; track domain) {
-
-
{{domain.name}}/
-
{{domain.expires}}
-
{{domain.highestBid}} {{ 'common.hns' | translate }}
-
- }
-
-
-
- 5
- 10
- 20
- 50
-
-
-
-
- }
-
- `,
- styles: [`
- .domain-manager { display: flex; flex-direction: column; gap: 1.5rem; }
-
- .domain-manager__header { display: flex; gap: 1rem; align-items: center; flex-wrap: wrap; }
- .domain-manager__actions { display: flex; gap: 0.5rem; }
-
- .domain-manager__content { }
- .domain-manager__empty { text-align: center; padding: 2rem; }
- .domain-manager__empty p { margin: 0; color: var(--wa-color-neutral-600, #4b5563); }
-
- .domain-manager__table { border: 1px solid var(--wa-color-neutral-200, #e5e7eb); border-radius: 0.5rem; overflow: hidden; }
- .table-header { display: grid; grid-template-columns: 2fr 1fr 1fr; background: var(--wa-color-neutral-50, #fafafa); font-weight: 600; font-size: 0.875rem; }
- .table-row { display: grid; grid-template-columns: 2fr 1fr 1fr; border-top: 1px solid var(--wa-color-neutral-200, #e5e7eb); cursor: pointer; transition: background 0.15s; }
- .table-row:hover { background: var(--wa-color-neutral-50, #fafafa); }
- .table-col { padding: 0.75rem 1rem; }
-
- .domain-manager__pagination { display: flex; align-items: center; gap: 1rem; margin-top: 1rem; }
- .pagination-info { font-size: 0.875rem; color: var(--wa-color-neutral-600, #4b5563); }
- `]
-})
-export class DomainManagerPage {
- searchQuery = '';
- domains: any[] = [];
-
- constructor(private router: Router) {}
-
- viewDomain(name: string) {
- // Navigate to individual domain view
- console.log('View domain:', name);
- }
-}
diff --git a/cmd/core-gui/frontend.old/src/app/pages/exchange/exchange.page.spec.ts b/cmd/core-gui/frontend.old/src/app/pages/exchange/exchange.page.spec.ts
deleted file mode 100644
index a1c0c02..0000000
--- a/cmd/core-gui/frontend.old/src/app/pages/exchange/exchange.page.spec.ts
+++ /dev/null
@@ -1,117 +0,0 @@
-import { ComponentFixture, TestBed } from '@angular/core/testing';
-import { ExchangePage } from './exchange.page';
-import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
-
-describe('ExchangePage', () => {
- let component: ExchangePage;
- let fixture: ComponentFixture;
-
- beforeEach(async () => {
- await TestBed.configureTestingModule({
- imports: [ExchangePage],
- schemas: [CUSTOM_ELEMENTS_SCHEMA]
- }).compileComponents();
-
- fixture = TestBed.createComponent(ExchangePage);
- component = fixture.componentInstance;
- fixture.detectChanges();
- });
-
- it('should create', () => {
- expect(component).toBeTruthy();
- // NEW: Verify component is an instance of ExchangePage
- expect(component instanceof ExchangePage).toBe(true);
- });
-
- it('should render exchange container', () => {
- const compiled = fixture.nativeElement as HTMLElement;
- const exchange = compiled.querySelector('.exchange');
- expect(exchange).toBeTruthy();
- // NEW: Verify exchange container has tab group
- const tabGroup = exchange?.querySelector('wa-tab-group');
- expect(tabGroup).toBeTruthy();
- });
-
- it('should render tab group', () => {
- const compiled = fixture.nativeElement as HTMLElement;
- const tabGroup = compiled.querySelector('wa-tab-group');
- expect(tabGroup).toBeTruthy();
- // NEW: Verify tab group contains tabs
- const tabs = tabGroup?.querySelectorAll('wa-tab');
- expect(tabs?.length).toBeGreaterThan(0);
- });
-
- it('should render three tabs', () => {
- const compiled = fixture.nativeElement as HTMLElement;
- const tabs = compiled.querySelectorAll('wa-tab');
- expect(tabs.length).toBe(3);
- // NEW: Verify corresponding tab panels exist
- const tabPanels = compiled.querySelectorAll('wa-tab-panel');
- expect(tabPanels.length).toBe(3);
- });
-
- it('should have Listings tab', () => {
- const compiled = fixture.nativeElement as HTMLElement;
- const tabs = Array.from(compiled.querySelectorAll('wa-tab'));
- const listingsTab = tabs.find(tab => tab.textContent?.includes('Listings'));
- expect(listingsTab).toBeTruthy();
- // NEW: Verify listings tab has correct panel attribute
- expect(listingsTab?.getAttribute('panel')).toBe('listings');
- });
-
- it('should have Fills tab', () => {
- const compiled = fixture.nativeElement as HTMLElement;
- const tabs = Array.from(compiled.querySelectorAll('wa-tab'));
- const fillsTab = tabs.find(tab => tab.textContent?.includes('Fills'));
- expect(fillsTab).toBeTruthy();
- // NEW: Verify fills tab has correct panel attribute
- expect(fillsTab?.getAttribute('panel')).toBe('fills');
- });
-
- it('should have Auctions tab', () => {
- const compiled = fixture.nativeElement as HTMLElement;
- const tabs = Array.from(compiled.querySelectorAll('wa-tab'));
- const auctionsTab = tabs.find(tab => tab.textContent?.includes('Auctions'));
- expect(auctionsTab).toBeTruthy();
- // NEW: Verify auctions tab has correct panel attribute
- expect(auctionsTab?.getAttribute('panel')).toBe('auctions');
- });
-
- it('should render three tab panels', () => {
- const compiled = fixture.nativeElement as HTMLElement;
- const tabPanels = compiled.querySelectorAll('wa-tab-panel');
- expect(tabPanels.length).toBe(3);
- // NEW: Verify each panel has correct name attribute
- const names = Array.from(tabPanels).map(p => p.getAttribute('name'));
- expect(names).toContain('listings');
- expect(names).toContain('fills');
- expect(names).toContain('auctions');
- });
-
- it('should display empty state for listings', () => {
- const compiled = fixture.nativeElement as HTMLElement;
- const listingsPanel = compiled.querySelector('wa-tab-panel[name="listings"]');
- expect(listingsPanel?.textContent).toContain('You have no active listings');
- // NEW: Verify listings panel has callout
- const callout = listingsPanel?.querySelector('wa-callout');
- expect(callout).toBeTruthy();
- });
-
- it('should display empty state for fills', () => {
- const compiled = fixture.nativeElement as HTMLElement;
- const fillsPanel = compiled.querySelector('wa-tab-panel[name="fills"]');
- expect(fillsPanel?.textContent).toContain('You have no filled orders');
- // NEW: Verify fills panel has empty state icon
- const icon = fillsPanel?.querySelector('wa-icon');
- expect(icon).toBeTruthy();
- });
-
- it('should display empty state for auctions', () => {
- const compiled = fixture.nativeElement as HTMLElement;
- const auctionsPanel = compiled.querySelector('wa-tab-panel[name="auctions"]');
- expect(auctionsPanel?.textContent).toContain('No active auctions found');
- // NEW: Verify auctions panel has refresh button
- const button = auctionsPanel?.querySelector('wa-button');
- expect(button).toBeTruthy();
- });
-});
diff --git a/cmd/core-gui/frontend.old/src/app/pages/exchange/exchange.page.ts b/cmd/core-gui/frontend.old/src/app/pages/exchange/exchange.page.ts
deleted file mode 100644
index 94a3105..0000000
--- a/cmd/core-gui/frontend.old/src/app/pages/exchange/exchange.page.ts
+++ /dev/null
@@ -1,91 +0,0 @@
-import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
-
-import { TranslateModule } from '@ngx-translate/core';
-
-@Component({
- selector: 'app-exchange-page',
- imports: [TranslateModule],
- schemas: [CUSTOM_ELEMENTS_SCHEMA],
- template: `
-
-
- {{ 'exchange.listings' | translate }}
- {{ 'exchange.fills' | translate }}
- {{ 'exchange.auctions' | translate }}
-
-
-
-
-
-
-
-
-
{{ 'exchange.noActiveListings' | translate }}
-
- {{ 'exchange.listDomainsInfo' | translate }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
{{ 'exchange.noFilledOrders' | translate }}
-
- {{ 'exchange.completedPurchasesInfo' | translate }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
{{ 'exchange.noActiveAuctions' | translate }}
-
- {{ 'exchange.browseAuctionsInfo' | translate }}
-
-
-
-
-
-
-
- `,
- styles: [`
- .exchange { }
-
- .exchange__content { padding: 1.5rem 0; }
-
- .exchange__header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; }
-
- .exchange__empty { text-align: center; padding: 2rem 1rem; }
- .exchange__empty p { margin: 0; color: var(--wa-color-neutral-700, #374151); }
- `]
-})
-export class ExchangePage {}
diff --git a/cmd/core-gui/frontend.old/src/app/pages/home/home.page.spec.ts b/cmd/core-gui/frontend.old/src/app/pages/home/home.page.spec.ts
deleted file mode 100644
index d4c4859..0000000
--- a/cmd/core-gui/frontend.old/src/app/pages/home/home.page.spec.ts
+++ /dev/null
@@ -1,86 +0,0 @@
-import { ComponentFixture, TestBed } from '@angular/core/testing';
-import { HomePage } from './home.page';
-import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
-
-describe('HomePage', () => {
- let component: HomePage;
- let fixture: ComponentFixture;
-
- beforeEach(async () => {
- await TestBed.configureTestingModule({
- imports: [HomePage],
- schemas: [CUSTOM_ELEMENTS_SCHEMA]
- }).compileComponents();
-
- fixture = TestBed.createComponent(HomePage);
- component = fixture.componentInstance;
- fixture.detectChanges();
- });
-
- it('should create', () => {
- expect(component).toBeTruthy();
- // NEW: Verify component is an instance of HomePage
- expect(component instanceof HomePage).toBe(true);
- });
-
- it('should render account header with balance sections', () => {
- const compiled = fixture.nativeElement as HTMLElement;
- const header = compiled.querySelector('.account__header');
- expect(header).toBeTruthy();
- // NEW: Verify header has at least 2 sections (spendable and locked)
- const sections = compiled.querySelectorAll('.account__header__section');
- expect(sections.length).toBeGreaterThanOrEqual(2);
- });
-
- it('should display spendable balance section', () => {
- const compiled = fixture.nativeElement as HTMLElement;
- const spendableLabel = compiled.querySelector('.label');
- expect(spendableLabel?.textContent).toContain('Spendable');
- // NEW: Verify there's an amount display
- const amount = compiled.querySelector('.amount');
- expect(amount).toBeTruthy();
- });
-
- it('should render actionable cards grid', () => {
- const compiled = fixture.nativeElement as HTMLElement;
- const cardsGrid = compiled.querySelector('.account__cards');
- expect(cardsGrid).toBeTruthy();
- // NEW: Verify grid contains wa-card elements
- const cards = cardsGrid?.querySelectorAll('wa-card');
- expect(cards?.length).toBeGreaterThan(0);
- });
-
- it('should render six action cards', () => {
- const compiled = fixture.nativeElement as HTMLElement;
- const cards = compiled.querySelectorAll('wa-card');
- expect(cards.length).toBe(6);
- // NEW: Verify each card has an icon
- const icons = compiled.querySelectorAll('.account__card__icon');
- expect(icons.length).toBe(6);
- });
-
- it('should render transaction history section', () => {
- const compiled = fixture.nativeElement as HTMLElement;
- const transactions = compiled.querySelector('.account__transactions');
- expect(transactions).toBeTruthy();
- // NEW: Verify transactions section has a title
- const title = transactions?.querySelector('.account__panel-title');
- expect(title).toBeTruthy();
- });
-
- it('should display transaction history title', () => {
- const compiled = fixture.nativeElement as HTMLElement;
- const title = compiled.querySelector('.account__panel-title');
- expect(title?.textContent).toContain('Transaction History');
- // NEW: Verify title is not empty
- expect(title?.textContent?.trim().length).toBeGreaterThan(0);
- });
-
- it('should show empty state for transactions', () => {
- const compiled = fixture.nativeElement as HTMLElement;
- const callout = compiled.querySelector('wa-callout');
- expect(callout?.textContent).toContain('No transactions yet');
- // NEW: Verify callout has neutral variant attribute
- expect(callout?.getAttribute('variant')).toBe('neutral');
- });
-});
diff --git a/cmd/core-gui/frontend.old/src/app/pages/home/home.page.ts b/cmd/core-gui/frontend.old/src/app/pages/home/home.page.ts
deleted file mode 100644
index 1ba757a..0000000
--- a/cmd/core-gui/frontend.old/src/app/pages/home/home.page.ts
+++ /dev/null
@@ -1,139 +0,0 @@
-import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
-
-import { TranslateModule } from '@ngx-translate/core';
-
-@Component({
- selector: 'app-home-page',
- imports: [TranslateModule],
- schemas: [CUSTOM_ELEMENTS_SCHEMA],
- template: `
-
-
-
-
-
-
-
-
-
-
0.00 {{ 'common.hns' | translate }}
-
{{ 'home.bidsReadyToReveal' | translate: {count: 0} }}
-
- {{ 'home.revealAll' | translate }}
-
-
-
-
-
-
-
-
0.00 {{ 'common.hns' | translate }}
-
{{ 'home.bidsReadyToRedeem' | translate: {count: 0} }}
-
- {{ 'home.redeemAll' | translate }}
-
-
-
-
-
-
-
-
0.00 {{ 'common.hns' | translate }}
-
{{ 'home.namesReadyToRegister' | translate: {count: 0} }}
-
- {{ 'home.registerAll' | translate }}
-
-
-
-
-
-
-
-
{{ 'home.domainsExpiringSoon' | translate: {count: 0} }}
-
- {{ 'home.renewAll' | translate }}
-
-
-
-
-
-
-
-
{{ 'home.domainsInTransfer' | translate: {count: 0} }}
-
-
-
-
-
-
-
{{ 'home.transfersReadyToFinalize' | translate: {count: 0} }}
-
- {{ 'home.finalizeAll' | translate }}
-
-
-
-
-
-
-
-
{{ 'home.transactionHistory' | translate }}
-
- {{ 'home.noTransactions' | translate }}
-
-
-
- `,
- styles: [`
- .account { display: flex; flex-direction: column; gap: 1.5rem; }
-
- .account__header { display: flex; gap: 1rem; flex-wrap: wrap; padding: 1.5rem; background: var(--wa-color-neutral-50, #fafafa); border-radius: 0.5rem; border: 1px solid var(--wa-color-neutral-200, #e5e7eb); }
- .account__header__section { display: flex; flex-direction: column; padding: 0 1rem; }
- .account__header__section:not(:last-child) { border-right: 1px solid var(--wa-color-neutral-300, #d1d5db); }
- .account__header__section .label { font-size: 0.75rem; font-weight: 600; text-transform: uppercase; color: var(--wa-color-neutral-600, #4b5563); margin-bottom: 0.25rem; }
- .account__header__section .amount { font-size: 1.875rem; font-weight: 700; color: var(--wa-color-neutral-900, #111827); margin: 0.25rem 0; }
- .account__header__section .subtext { font-size: 0.875rem; color: var(--wa-color-neutral-500, #6b7280); }
-
- .account__cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1rem; }
- .account__card { height: 100%; }
- .account__card__header { display: flex; align-items: center; gap: 0.5rem; font-weight: 600; padding: 1rem; }
- .account__card__icon { font-size: 1.25rem; color: var(--wa-color-primary-600, #4f46e5); }
- .account__card__content { padding: 0 1rem 1rem; }
- .account__card__amount { font-size: 1.5rem; font-weight: 700; color: var(--wa-color-neutral-900, #111827); margin-bottom: 0.5rem; }
- .account__card__detail { font-size: 0.875rem; color: var(--wa-color-neutral-600, #4b5563); margin-bottom: 0.75rem; }
- .account__card__action { margin-top: 0.75rem; }
-
- .account__transactions { }
- .account__panel-title { font-size: 1.25rem; font-weight: 600; margin-bottom: 1rem; }
- `]
-})
-export class HomePage {}
diff --git a/cmd/core-gui/frontend.old/src/app/pages/onboarding/onboarding.page.ts b/cmd/core-gui/frontend.old/src/app/pages/onboarding/onboarding.page.ts
deleted file mode 100644
index d9f7fbb..0000000
--- a/cmd/core-gui/frontend.old/src/app/pages/onboarding/onboarding.page.ts
+++ /dev/null
@@ -1,126 +0,0 @@
-import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
-
-
-@Component({
- selector: 'app-onboarding-page',
- imports: [],
- schemas: [CUSTOM_ELEMENTS_SCHEMA],
- template: `
-
-
-
-
- Create New Wallet
- Import Seed
- Connect Ledger
-
-
-
-
- Important: Write down your seed phrase and store it in a secure location.
- You will need it to recover your wallet.
-
-
-
-
-
abandon
-
ability
-
able
-
about
-
above
-
absent
-
absorb
-
abstract
-
absurd
-
abuse
-
access
-
accident
-
-
-
-
-
-
- Copy Seed Phrase
-
-
-
- I've Saved My Seed
-
-
-
-
-
-
-
-
- Enter your 12 or 24 word seed phrase to restore an existing wallet.
-
-
-
-
-
-
-
-
-
-
-
-
- Import Wallet
-
-
-
-
-
-
-
-
- Connect your Ledger hardware wallet to manage your Handshake names securely.
-
-
-
-
Instructions:
-
- - Connect your Ledger device via USB
- - Enter your PIN on the device
- - Open the Handshake app on your Ledger
- - Click "Connect" below
-
-
-
-
-
-
- Connect Ledger
-
-
-
-
-
-
- `,
- styles: [`
- .onboarding { }
-
- .onboarding__header { margin-bottom: 2rem; }
-
- .onboarding__content { padding: 1.5rem 0; }
-
- .seed-display { margin: 1.5rem 0; padding: 1.5rem; background: var(--wa-color-neutral-50, #fafafa); border: 2px solid var(--wa-color-neutral-200, #e5e7eb); border-radius: 0.5rem; }
-
- .seed-words { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.75rem; }
-
- .seed-word { padding: 0.75rem; background: white; border: 1px solid var(--wa-color-neutral-300, #d1d5db); border-radius: 0.375rem; font-family: monospace; font-size: 0.875rem; text-align: center; }
-
- .onboarding__actions { display: flex; gap: 0.75rem; margin-top: 1.5rem; }
-
- .ledger-instructions { margin-top: 1rem; }
- `]
-})
-export class OnboardingPage {}
diff --git a/cmd/core-gui/frontend.old/src/app/pages/search-tld/search-tld.page.ts b/cmd/core-gui/frontend.old/src/app/pages/search-tld/search-tld.page.ts
deleted file mode 100644
index 02b0ea9..0000000
--- a/cmd/core-gui/frontend.old/src/app/pages/search-tld/search-tld.page.ts
+++ /dev/null
@@ -1,127 +0,0 @@
-import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-
-import { Router } from '@angular/router';
-
-@Component({
- selector: 'app-search-tld-page',
- imports: [FormsModule],
- schemas: [CUSTOM_ELEMENTS_SCHEMA],
- template: `
-
-
-
- @if (loading) {
-
- }
-
- @if (!loading && !result) {
-
-
-
-
-
Enter a name to search for availability and auction status.
-
-
-
- }
-
- @if (!loading && result) {
-
-
-
-
{{result.name}}/
-
- {{result.available ? 'Available' : 'In Auction'}}
-
-
-
-
-
Status
-
{{result.status}}
-
- @if (result.currentBid) {
-
-
Current Bid
-
{{result.currentBid}} HNS
-
- }
- @if (result.blocksUntil) {
-
-
{{result.blocksUntilLabel}}
-
~{{result.blocksUntil}} blocks
-
- }
-
-
-
- Place Bid
-
-
-
- Watch
-
-
-
-
-
- }
-
- `,
- styles: [`
- .search-tld { display: flex; flex-direction: column; gap: 1.5rem; }
-
- .search-tld__header { display: flex; gap: 1rem; align-items: center; }
-
- .search-tld__content { }
-
- .search-result { padding: 1rem 0; }
- .search-result__section { display: flex; justify-content: space-between; padding: 0.75rem 0; border-bottom: 1px solid var(--wa-color-neutral-200, #e5e7eb); }
- .search-result__section:last-of-type { border-bottom: none; }
- .search-result__label { font-size: 0.875rem; font-weight: 600; color: var(--wa-color-neutral-600, #4b5563); }
- .search-result__value { font-size: 0.875rem; color: var(--wa-color-neutral-900, #111827); font-weight: 500; }
- .search-result__actions { display: flex; gap: 0.75rem; margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid var(--wa-color-neutral-200, #e5e7eb); }
- `]
-})
-export class SearchTldPage {
- query = '';
- loading = false;
- result: any = null;
-
- constructor(private router: Router) {}
-
- async onSearch() {
- if (!this.query.trim()) return;
-
- this.loading = true;
- this.result = null;
-
- // Simulate API call
- await new Promise(r => setTimeout(r, 800));
-
- const name = this.query.trim().replace('/', '');
- const available = Math.random() > 0.3;
-
- this.result = {
- name,
- available,
- status: available ? 'Available for bidding' : 'Auction in progress',
- currentBid: available ? null : (Math.random() * 100).toFixed(2),
- blocksUntil: available ? null : Math.floor(Math.random() * 5000),
- blocksUntilLabel: available ? null : 'Blocks until reveal'
- };
-
- this.loading = false;
- }
-}
diff --git a/cmd/core-gui/frontend.old/src/app/pages/settings/settings.page.spec.ts b/cmd/core-gui/frontend.old/src/app/pages/settings/settings.page.spec.ts
deleted file mode 100644
index 0761225..0000000
--- a/cmd/core-gui/frontend.old/src/app/pages/settings/settings.page.spec.ts
+++ /dev/null
@@ -1,95 +0,0 @@
-import { ComponentFixture, TestBed } from '@angular/core/testing';
-import { SettingsPage } from './settings.page';
-import { FileDialogService } from '../../services/file-dialog.service';
-import { ClipboardService } from '../../services/clipboard.service';
-import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
-
-describe('SettingsPage', () => {
- let component: SettingsPage;
- let fixture: ComponentFixture;
- let fileDialogService: jasmine.SpyObj;
- let clipboardService: jasmine.SpyObj;
-
- beforeEach(async () => {
- const fileDialogSpy = jasmine.createSpyObj('FileDialogService', ['pickDirectory', 'openFile', 'saveFile']);
- const clipboardSpy = jasmine.createSpyObj('ClipboardService', ['copyText']);
-
- await TestBed.configureTestingModule({
- imports: [SettingsPage],
- providers: [
- { provide: FileDialogService, useValue: fileDialogSpy },
- { provide: ClipboardService, useValue: clipboardSpy }
- ],
- schemas: [CUSTOM_ELEMENTS_SCHEMA]
- }).compileComponents();
-
- fileDialogService = TestBed.inject(FileDialogService) as jasmine.SpyObj;
- clipboardService = TestBed.inject(ClipboardService) as jasmine.SpyObj;
-
- fixture = TestBed.createComponent(SettingsPage);
- component = fixture.componentInstance;
- fixture.detectChanges();
- });
-
- it('should create', () => {
- expect(component).toBeTruthy();
- // NEW: Verify component is an instance of SettingsPage
- expect(component instanceof SettingsPage).toBe(true);
- });
-
- it('should initialize with default locale', () => {
- expect(component.locale).toBe('en-US');
- // NEW: Verify msg is initialized as empty string
- expect(component.msg).toBe('');
- });
-
- it('should render settings tabs', () => {
- const compiled = fixture.nativeElement as HTMLElement;
- const tabGroup = compiled.querySelector('wa-tab-group');
- expect(tabGroup).toBeTruthy();
- // NEW: Verify tab group contains tab panels
- const tabPanels = compiled.querySelectorAll('wa-tab-panel');
- expect(tabPanels.length).toBeGreaterThan(0);
- });
-
- it('should render four tab panels', () => {
- const compiled = fixture.nativeElement as HTMLElement;
- const tabs = compiled.querySelectorAll('wa-tab');
- expect(tabs.length).toBe(4);
- // NEW: Verify corresponding tab panels exist
- const tabPanels = compiled.querySelectorAll('wa-tab-panel');
- expect(tabPanels.length).toBe(4);
- });
-
- it('should call pickDirectory when change directory button clicked', async () => {
- fileDialogService.pickDirectory.and.returnValue(Promise.resolve({ path: '/test/path' }));
- await component.pickDir();
- expect(fileDialogService.pickDirectory).toHaveBeenCalled();
- // NEW: Verify pickedPath is updated
- expect(component.pickedPath).toBe('/test/path');
- });
-
- it('should call saveFile when export backup button clicked', async () => {
- fileDialogService.saveFile.and.returnValue(Promise.resolve({ name: 'settings.json' } as any));
- await component.saveFile();
- expect(fileDialogService.saveFile).toHaveBeenCalled();
- // NEW: Verify pickedPath is updated with filename
- expect(component.pickedPath).toBe('settings.json');
- });
-
- it('should update message after saving locale', () => {
- component.saveLocale();
- expect(component.msg).toContain('Saved locale');
- // NEW: Verify message includes the locale value
- expect(component.msg).toContain('en-US');
- });
-
- it('should copy locale to clipboard', async () => {
- clipboardService.copyText.and.returnValue(Promise.resolve(true));
- await component.copyLocale();
- expect(clipboardService.copyText).toHaveBeenCalledWith(component.locale);
- expect(component.msg).toContain('copied to clipboard');
- // NEW: Verify clipboard was called exactly once
- expect(clipboardService.copyText).toHaveBeenCalledTimes(1);
- });
-});
diff --git a/cmd/core-gui/frontend.old/src/app/pages/settings/settings.page.ts b/cmd/core-gui/frontend.old/src/app/pages/settings/settings.page.ts
deleted file mode 100644
index ee8923c..0000000
--- a/cmd/core-gui/frontend.old/src/app/pages/settings/settings.page.ts
+++ /dev/null
@@ -1,168 +0,0 @@
-import { Component, CUSTOM_ELEMENTS_SCHEMA, inject } from '@angular/core';
-
-import { FormsModule } from '@angular/forms';
-import { FileDialogService } from '../../services/file-dialog.service';
-import { ClipboardService } from '../../services/clipboard.service';
-
-@Component({
- selector: 'app-settings-page',
- imports: [FormsModule],
- schemas: [CUSTOM_ELEMENTS_SCHEMA],
- template: `
-
-
- General
- Wallet
- Connection
- Advanced
-
-
-
-
Language
-
- English (US)
- 中文 (简体)
- Español
-
-
-
-
-
Block Explorer
-
- HNS Network
- Niami
- HNScan
-
-
-
-
-
Theme
-
- Light
- Dark
- System
-
-
-
-
-
-
-
Wallet Directory
-
Location where wallet data is stored
-
-
-
-
- Change Directory
-
-
-
-
-
Backup
-
Export wallet seed phrase and settings
-
-
- Export Backup
-
-
-
-
-
Rescan Blockchain
-
Re-scan the blockchain for transactions
-
Rescan
-
-
-
-
-
-
Connection Type
-
- Full Node
- SPV (Light)
- Custom RPC
-
-
-
-
-
Network
-
- Mainnet
- Testnet
- Regtest
- Simnet
-
-
-
-
-
-
-
API Key
-
Node API authentication key
-
-
-
-
-
-
-
Analytics
- Share anonymous usage data to improve Bob
-
-
-
-
Developer Options
-
-
- Open Debug Console
-
-
-
-
-
- `,
- styles: [`
- .settings { }
-
- .settings__section { padding: 1.5rem 0; border-bottom: 1px solid var(--wa-color-neutral-200, #e5e7eb); }
- .settings__section:last-child { border-bottom: none; }
-
- .settings__section-title { margin: 0 0 0.5rem 0; font-size: 1rem; font-weight: 600; }
-
- .settings__description { margin: 0 0 0.75rem 0; font-size: 0.875rem; color: var(--wa-color-neutral-600, #4b5563); }
- `]
-})
-export class SettingsPage {
- private fileDialog = inject(FileDialogService);
- private clipboard = inject(ClipboardService);
-
- locale = 'en-US';
- msg = '';
- pickedPath = '';
-
- saveLocale() {
- // TODO: connect to Setting.setLocale via IPC when available
- this.msg = `Saved locale: ${this.locale}`;
- setTimeout(() => (this.msg = ''), 1500);
- }
-
- async copyLocale() {
- await this.clipboard.copyText(this.locale);
- this.msg = 'Locale copied to clipboard';
- setTimeout(() => (this.msg = ''), 1500);
- }
-
- async pickDir() {
- const res = await this.fileDialog.pickDirectory();
- this.pickedPath = res?.path || res?.name || '';
- }
-
- async pickFile() {
- const res = await this.fileDialog.openFile({ multiple: false, accept: ['application/json'] });
- this.pickedPath = res?.[0]?.name || '';
- }
-
- async saveFile() {
- const data = new Blob([JSON.stringify({ locale: this.locale }, null, 2)], { type: 'application/json' });
- const file = await this.fileDialog.saveFile({ suggestedName: 'settings.json', blob: data });
- this.pickedPath = file?.name || '';
- }
-}
diff --git a/cmd/core-gui/frontend.old/src/app/services/clipboard.service.ts b/cmd/core-gui/frontend.old/src/app/services/clipboard.service.ts
deleted file mode 100644
index 9bfb531..0000000
--- a/cmd/core-gui/frontend.old/src/app/services/clipboard.service.ts
+++ /dev/null
@@ -1,31 +0,0 @@
-import { Injectable } from '@angular/core';
-
-@Injectable({ providedIn: 'root' })
-export class ClipboardService {
- async copyText(text: string): Promise {
- try {
- if (navigator.clipboard && navigator.clipboard.writeText) {
- await navigator.clipboard.writeText(text);
- return true;
- }
- } catch (e) {
- // fall back
- }
-
- // Fallback using a hidden textarea
- const ta = document.createElement('textarea');
- ta.value = text;
- ta.style.position = 'fixed';
- ta.style.left = '-9999px';
- document.body.appendChild(ta);
- ta.select();
- try {
- document.execCommand('copy');
- return true;
- } catch (e) {
- return false;
- } finally {
- document.body.removeChild(ta);
- }
- }
-}
diff --git a/cmd/core-gui/frontend.old/src/app/services/file-dialog.service.ts b/cmd/core-gui/frontend.old/src/app/services/file-dialog.service.ts
deleted file mode 100644
index 856a454..0000000
--- a/cmd/core-gui/frontend.old/src/app/services/file-dialog.service.ts
+++ /dev/null
@@ -1,85 +0,0 @@
-import { Injectable } from '@angular/core';
-
-// WAILS3 INTEGRATION:
-// This service currently uses web-standard File System Access API.
-// For Wails3, replace with Go service methods calling:
-// - application.OpenFileDialog().PromptForSingleSelection()
-// - application.SaveFileDialog().SetFilename().PromptForSelection()
-// See WAILS3_INTEGRATION.md for complete examples.
-
-export interface OpenFileOptions {
- multiple?: boolean;
- accept?: string[]; // e.g., ["application/json", "text/plain"]
-}
-
-export interface SaveFileOptions {
- suggestedName?: string;
- types?: { description?: string; accept?: Record }[];
- blob: Blob;
-}
-
-@Injectable({ providedIn: 'root' })
-export class FileDialogService {
- // Directory picker using File System Access API when available
- async pickDirectory(): Promise {
- const nav: any = window.navigator;
- if ((window as any).showDirectoryPicker) {
- try {
- // @ts-ignore
- const handle: any = await (window as any).showDirectoryPicker({ mode: 'readwrite' });
- return handle;
- } catch (e) {
- return null;
- }
- }
- // Fallback: not supported in all browsers; inform the user
- alert('Directory picker is not supported in this browser.');
- return null;
- }
-
- // Open file(s) with fallback if FS Access API not used
- async openFile(opts: OpenFileOptions = {}): Promise {
- // Always supported fallback
- return new Promise((resolve) => {
- const input = document.createElement('input');
- input.type = 'file';
- input.multiple = !!opts.multiple;
- if (opts.accept && opts.accept.length) {
- input.accept = opts.accept.join(',');
- }
- input.onchange = () => {
- const files = input.files ? Array.from(input.files) : null;
- resolve(files);
- };
- input.click();
- });
- }
-
- // Save file using File System Access API if available, otherwise trigger a download
- async saveFile(opts: SaveFileOptions): Promise {
- if ((window as any).showSaveFilePicker) {
- try {
- // @ts-ignore
- const handle = await (window as any).showSaveFilePicker({
- suggestedName: opts.suggestedName,
- types: opts.types
- });
- const writable = await handle.createWritable();
- await writable.write(opts.blob);
- await writable.close();
- return { name: handle.name } as any;
- } catch (e) {
- return null;
- }
- }
-
- // Fallback: download
- const url = URL.createObjectURL(opts.blob);
- const a = document.createElement('a');
- a.href = url;
- a.download = opts.suggestedName || 'download';
- a.click();
- URL.revokeObjectURL(url);
- return { name: opts.suggestedName || 'download' } as any;
- }
-}
diff --git a/cmd/core-gui/frontend.old/src/app/services/hardware-wallet.service.ts b/cmd/core-gui/frontend.old/src/app/services/hardware-wallet.service.ts
deleted file mode 100644
index 719dff1..0000000
--- a/cmd/core-gui/frontend.old/src/app/services/hardware-wallet.service.ts
+++ /dev/null
@@ -1,30 +0,0 @@
-import { Injectable } from '@angular/core';
-
-@Injectable({ providedIn: 'root' })
-export class HardwareWalletService {
- // Placeholder for WebHID/WebUSB detection
- get isWebHIDAvailable() {
- return 'hid' in navigator;
- }
-
- get isWebUSBAvailable() {
- return 'usb' in navigator;
- }
-
- async connectLedger(): Promise {
- // In a real implementation, prompt for a specific HID/USB device
- // and establish transport (e.g., via @ledgerhq/hw-transport-webhid).
- // This is a stub to document the integration point.
- throw new Error('HardwareWalletService.connectLedger is not implemented in the web build.');
- }
-
- async getAppVersion(): Promise {
- // Should query the connected device/app for version information
- throw new Error('HardwareWalletService.getAppVersion is not implemented in the web build.');
- }
-
- async disconnect(): Promise {
- // Close transport/session to the device
- throw new Error('HardwareWalletService.disconnect is not implemented in the web build.');
- }
-}
diff --git a/cmd/core-gui/frontend.old/src/app/services/ipc/stubs.ts b/cmd/core-gui/frontend.old/src/app/services/ipc/stubs.ts
deleted file mode 100644
index 22bc14c..0000000
--- a/cmd/core-gui/frontend.old/src/app/services/ipc/stubs.ts
+++ /dev/null
@@ -1,233 +0,0 @@
-// IPC Stub classes mapping old Electron IPC services and methods.
-// These stubs let the web build compile and run without native IPC.
-// Each method throws a NotImplementedError to highlight what needs
-// to be replaced in a native wrapper or future web-compatible API.
-//
-// WAILS3 INTEGRATION:
-// These stubs will be replaced by Wails3 auto-generated bindings.
-// See WAILS3_INTEGRATION.md for complete migration guide.
-//
-// Pattern:
-// 1. Create Go service structs with exported methods (e.g., NodeService, WalletService)
-// 2. Register services in Wails3 main.go: application.NewService(&NodeService{})
-// 3. Run `wails3 generate bindings` to create TypeScript bindings
-// 4. Import generated bindings: import { GetInfo } from '../bindings/.../nodeservice'
-// 5. Replace stub calls with binding calls: await GetInfo() instead of IPC.Node.getInfo()
-//
-// Each service below maps 1:1 to a Go service struct that will be created.
-
-export class NotImplementedError extends Error {
- constructor(message: string) {
- super(message);
- this.name = 'NotImplementedError';
- }
-}
-
-function notImplemented(service: string, method: string): never {
- throw new NotImplementedError(`IPC ${service}.${method} is not implemented in the web build.`);
-}
-
-function makeIpcStub>(service: string, methods: string[]): T {
- const obj: Record = {};
- for (const m of methods) {
- obj[m] = (..._args: any[]) => notImplemented(service, m);
- }
- return obj as T;
-}
-
-// Services and their methods as defined in old/app/background/**/client.js
-export const Node = makeIpcStub('Node', [
- 'start',
- 'stop',
- 'reset',
- 'generateToAddress',
- 'getAPIKey',
- 'getNoDns',
- 'getSpvMode',
- 'getInfo',
- 'getNameInfo',
- 'getTXByAddresses',
- 'getNameByHash',
- 'getBlockByHeight',
- 'getTx',
- 'broadcastRawTx',
- 'sendRawAirdrop',
- 'getFees',
- 'getAverageBlockTime',
- 'getMTP',
- 'getCoin',
- 'verifyMessageWithName',
- 'setNodeDir',
- 'setAPIKey',
- 'setNoDns',
- 'setSpvMode',
- 'getDir',
- 'getHNSPrice',
- 'testCustomRPCClient',
- 'getDNSSECProof',
- 'sendRawClaim',
-]);
-
-export const Wallet = makeIpcStub('Wallet', [
- 'start',
- 'getAPIKey',
- 'setAPIKey',
- 'getWalletInfo',
- 'getAccountInfo',
- 'getCoin',
- 'getTX',
- 'getNames',
- 'createNewWallet',
- 'importSeed',
- 'generateReceivingAddress',
- 'getAuctionInfo',
- 'getTransactionHistory',
- 'getPendingTransactions',
- 'getBids',
- 'getBlind',
- 'getMasterHDKey',
- 'hasAddress',
- 'setPassphrase',
- 'revealSeed',
- 'estimateTxFee',
- 'estimateMaxSend',
- 'removeWalletById',
- 'updateAccountDepth',
- 'findNonce',
- 'findNonceCancel',
- 'encryptWallet',
- 'backup',
- 'rescan',
- 'deepClean',
- 'reset',
- 'sendOpen',
- 'sendBid',
- 'sendRegister',
- 'sendUpdate',
- 'sendReveal',
- 'sendRedeem',
- 'sendRenewal',
- 'sendRevealAll',
- 'sendRedeemAll',
- 'sendRegisterAll',
- 'signMessageWithName',
- 'transferMany',
- 'finalizeAll',
- 'finalizeMany',
- 'renewAll',
- 'renewMany',
- 'sendTransfer',
- 'cancelTransfer',
- 'finalizeTransfer',
- 'finalizeWithPayment',
- 'claimPaidTransfer',
- 'revokeName',
- 'send',
- 'lock',
- 'unlock',
- 'isLocked',
- 'addSharedKey',
- 'removeSharedKey',
- 'getNonce',
- 'importNonce',
- 'zap',
- 'importName',
- 'rpcGetWalletInfo',
- 'loadTransaction',
- 'listWallets',
- 'getStats',
- 'isReady',
- 'createClaim',
- 'sendClaim',
-]);
-
-export const Setting = makeIpcStub('Setting', [
- 'getExplorer',
- 'setExplorer',
- 'getLocale',
- 'setLocale',
- 'getCustomLocale',
- 'setCustomLocale',
- 'getLatestRelease',
-]);
-
-export const Ledger = makeIpcStub('Ledger', [
- 'getXPub',
- 'getAppVersion',
-]);
-
-export const DB = makeIpcStub('DB', [
- 'open',
- 'close',
- 'put',
- 'get',
- 'del',
- 'getUserDir',
-]);
-
-export const Analytics = makeIpcStub('Analytics', [
- 'setOptIn',
- 'getOptIn',
- 'track',
- 'screenView',
-]);
-
-export const Connections = makeIpcStub('Connections', [
- 'getConnection',
- 'setConnection',
- 'setConnectionType',
- 'getCustomRPC',
-]);
-
-export const Shakedex = makeIpcStub('Shakedex', [
- 'fulfillSwap',
- 'getFulfillments',
- 'finalizeSwap',
- 'transferLock',
- 'transferCancel',
- 'getListings',
- 'finalizeLock',
- 'finalizeCancel',
- 'launchAuction',
- 'downloadProofs',
- 'restoreOneListing',
- 'restoreOneFill',
- 'getExchangeAuctions',
- 'listAuction',
- 'getFeeInfo',
- 'getBestBid',
-]);
-
-export const Claim = makeIpcStub('Claim', [
- 'airdropGenerateProofs',
-]);
-
-export const Logger = makeIpcStub('Logger', [
- 'info',
- 'warn',
- 'error',
- 'log',
- 'download',
-]);
-
-export const Hip2 = makeIpcStub('Hip2', [
- 'getPort',
- 'setPort',
- 'fetchAddress',
- 'setServers',
-]);
-
-// Aggregate facade to import from components/services if needed
-export const IPC = {
- Node,
- Wallet,
- Setting,
- Ledger,
- DB,
- Analytics,
- Connections,
- Shakedex,
- Claim,
- Logger,
- Hip2,
-};
diff --git a/cmd/core-gui/frontend.old/src/app/services/notifications.service.ts b/cmd/core-gui/frontend.old/src/app/services/notifications.service.ts
deleted file mode 100644
index 1bf0af5..0000000
--- a/cmd/core-gui/frontend.old/src/app/services/notifications.service.ts
+++ /dev/null
@@ -1,24 +0,0 @@
-import { Injectable } from '@angular/core';
-
-@Injectable({ providedIn: 'root' })
-export class NotificationsService {
- async requestPermission(): Promise {
- if (!('Notification' in window)) return 'denied';
- if (Notification.permission === 'default') {
- try {
- return await Notification.requestPermission();
- } catch {
- return Notification.permission;
- }
- }
- return Notification.permission;
- }
-
- async show(title: string, options?: NotificationOptions): Promise {
- if (!('Notification' in window)) return;
- const perm = await this.requestPermission();
- if (perm === 'granted') {
- new Notification(title, options);
- }
- }
-}
diff --git a/cmd/core-gui/frontend.old/src/app/services/storage.provider.ts b/cmd/core-gui/frontend.old/src/app/services/storage.provider.ts
deleted file mode 100644
index a4c5694..0000000
--- a/cmd/core-gui/frontend.old/src/app/services/storage.provider.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-import { InjectionToken } from '@angular/core';
-
-export const BROWSER_STORAGE = new InjectionToken('Browser Storage', {
- providedIn: 'root',
- factory: () => localStorage
-});
diff --git a/cmd/core-gui/frontend.old/src/app/services/storage.service.ts b/cmd/core-gui/frontend.old/src/app/services/storage.service.ts
deleted file mode 100644
index 86561e2..0000000
--- a/cmd/core-gui/frontend.old/src/app/services/storage.service.ts
+++ /dev/null
@@ -1,34 +0,0 @@
-import { Injectable } from '@angular/core';
-
-@Injectable({ providedIn: 'root' })
-export class StorageService {
- private prefix = 'lthnDNS:';
-
- setItem(key: string, value: T): void {
- try {
- localStorage.setItem(this.prefix + key, JSON.stringify(value));
- } catch (e) {
- // ignore quota or unsupported errors
- }
- }
-
- getItem(key: string, fallback: T | null = null): T | null {
- const raw = localStorage.getItem(this.prefix + key);
- if (!raw) return fallback;
- try {
- return JSON.parse(raw) as T;
- } catch {
- return fallback;
- }
- }
-
- removeItem(key: string): void {
- localStorage.removeItem(this.prefix + key);
- }
-
- clearAll(): void {
- Object.keys(localStorage)
- .filter(k => k.startsWith(this.prefix))
- .forEach(k => localStorage.removeItem(k));
- }
-}
diff --git a/cmd/core-gui/frontend.old/src/app/shared/components/checkbox/checkbox.component.css b/cmd/core-gui/frontend.old/src/app/shared/components/checkbox/checkbox.component.css
deleted file mode 100644
index 6946171..0000000
--- a/cmd/core-gui/frontend.old/src/app/shared/components/checkbox/checkbox.component.css
+++ /dev/null
@@ -1,65 +0,0 @@
-.nga-form-check-input {
- --bs-form-check-bg: var(--bs-body-bg);
- width: 1em;
- height: 1em;
- margin-top: 0.25em;
- vertical-align: top;
- -webkit-appearance: none;
- -moz-appearance: none;
- appearance: none;
- background-color: var(--bs-form-check-bg);
- background-image: var(--bs-form-check-bg-image);
- background-repeat: no-repeat;
- background-position: center;
- background-size: contain;
- border: var(--bs-border-width) solid var(--bs-border-color);
-}
-
-.nga-form-check-input[type="checkbox"] {
- border-radius: 0.25em;
-}
-
-.nga-form-check-input[type="radio"] {
- border-radius: 50%;
-}
-
-.nga-form-check-input:active {
- filter: brightness(90%);
-}
-
-.nga-form-check-input:focus {
- border-color: #86b7fe;
- outline: 0;
- box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
-}
-
-.nga-form-check-input:checked {
- background-color: green;
- border-color: green;
-}
-
-.nga-form-check-input:checked[type="checkbox"] {
- --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");
-}
-
-.nga-form-check-input:checked[type="radio"] {
- --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e");
-}
-
-.nga-form-check-input[type="checkbox"]:indeterminate {
- background-color: red;
- border-color: red;
- --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e");
-}
-
-.nga-form-check-input:disabled {
- pointer-events: none;
- filter: none;
- opacity: 0.5;
-}
-
-.nga-form-check-input[disabled]~.form-check-label,
-.form-check-input:disabled~.form-check-label {
- cursor: default;
- opacity: 0.5;
-}
diff --git a/cmd/core-gui/frontend.old/src/app/shared/components/checkbox/checkbox.component.html b/cmd/core-gui/frontend.old/src/app/shared/components/checkbox/checkbox.component.html
deleted file mode 100644
index 8e8d937..0000000
--- a/cmd/core-gui/frontend.old/src/app/shared/components/checkbox/checkbox.component.html
+++ /dev/null
@@ -1,8 +0,0 @@
-
diff --git a/cmd/core-gui/frontend.old/src/app/shared/components/checkbox/checkbox.component.ts b/cmd/core-gui/frontend.old/src/app/shared/components/checkbox/checkbox.component.ts
deleted file mode 100644
index b348889..0000000
--- a/cmd/core-gui/frontend.old/src/app/shared/components/checkbox/checkbox.component.ts
+++ /dev/null
@@ -1,115 +0,0 @@
-import { CommonModule } from '@angular/common';
-import {
- Component, EventEmitter, Output, forwardRef,
- ElementRef, Renderer2, ViewChild
-} from '@angular/core';
-
-import { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';
-
-@Component({
- selector: 'app-checkbox',
- imports: [
- CommonModule,
- FormsModule,
- ],
- templateUrl: './checkbox.component.html',
- styleUrls: ['./checkbox.component.css'],
- providers: [{
- provide: NG_VALUE_ACCESSOR,
- useExisting: forwardRef(() => CheckboxComponent),
- multi: true
- }]
-})
-export class CheckboxComponent {
-
-
- private innerValueTmp: any = '';
-
- private onTouchedCallback = (): void => {
- // Callback function intentionally left blank.
- };
-
- private onChangeCallback = (_value: unknown): void => {
- // Callback function intentionally left blank.
- };
-
- @ViewChild('checkbox', { static: false }) checkbox!: ElementRef;
- @Output() buttonclick: EventEmitter = new EventEmitter();
-
- valueCheckbox: any;
- indeterminate: any;
- checked: any;
-
- constructor(
- private renderer: Renderer2) {
- this.valueCheckbox = null;
- }
-
- onSelect() {
- let value = this.checkbox.nativeElement.value;
- switch (value) {
- case "":
- this.checked = true;
- this.indeterminate = false;
- value = "true";
- this.valueCheckbox = true;
- break;
- case "true":
- this.checked = false;
- this.indeterminate = true;
- value = "false";
- this.valueCheckbox = false;
- break;
- case "false":
- this.checked = null;
- this.indeterminate = false;
- value = "";
- this.valueCheckbox = "";
- break;
- }
- this.innerValueTmp = 4;
- this.renderer.setAttribute(this.checkbox.nativeElement, 'value', value);
- this.renderer.setProperty(this.checkbox.nativeElement, 'checked', this.checked);
- this.renderer.setProperty(this.checkbox.nativeElement, 'indeterminate', this.indeterminate);
- }
-
- onClickButton() {
- const value = this.checkbox.nativeElement.getAttribute('value');
- // const indeterminate = this.checkbox.nativeElement.getProperty('indeterminate');
- this.buttonclick.emit(value);
- }
-
-
- get valueTmp(): any {
- return this.innerValueTmp;
- };
-
- set valueTmp(value: any) {
- if (value !== this.innerValueTmp) {
- if (this.checked && !this.indeterminate) { value = true; }
- if (!this.checked && this.indeterminate) { value = false; }
- if ((this.checked === null) && !this.indeterminate) { value = null; }
- this.innerValueTmp = value;
- this.onChangeCallback(value);
- }
- }
-
- onBlur() {
- this.onTouchedCallback();
- }
-
- writeValue(valueTmp: any) {
- if (valueTmp !== this.innerValueTmp) {
- this.innerValueTmp = valueTmp;
- }
- }
-
- registerOnChange(fn: any) {
- this.onChangeCallback = fn;
- }
-
- registerOnTouched(fn: any) {
- this.onTouchedCallback = fn;
- }
-
-}
diff --git a/cmd/core-gui/frontend.old/src/app/shared/components/footer/footer.component.css b/cmd/core-gui/frontend.old/src/app/shared/components/footer/footer.component.css
deleted file mode 100644
index ba38452..0000000
--- a/cmd/core-gui/frontend.old/src/app/shared/components/footer/footer.component.css
+++ /dev/null
@@ -1,79 +0,0 @@
-.nga-footer {
- background-color: #212121;
- color: white;
-}
-
-.nga-footer a {
- color: white;
- text-decoration: none
-}
-
-.nga-footer a:hover,
-.nga-footer a:focus {
- color: white;
- text-decoration: underline;
-}
-
-.nga-footer .nga-hint {
- background-color: #1976d2;
-}
-
-.nga-footer .nga-hint:hover {
- opacity: 0.8;
-}
-
-.nga-btn-social {
- position: relative;
- z-index: 1;
- display: inline-block;
- padding: 0;
- margin: 10px;
- overflow: hidden;
- vertical-align: middle;
- cursor: pointer;
- border-radius: 50%;
- -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
- box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
- -webkit-transition: all 0.2s ease-in-out;
- transition: all 0.2s ease-in-out;
- width: 47px;
- height: 47px
-}
-
-.nga-btn-social i {
- font-size: 1.25rem;
- line-height: 47px
-}
-
-.nga-btn-social i {
- display: inline-block;
- width: inherit;
- color: white;
- text-align: center
-}
-
-.nga-btn-social:hover {
- -webkit-box-shadow: 0 8px 17px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
- box-shadow: 0 8px 17px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19)
-}
-
-.nga-btn-social i:hover {
- color: black;
-}
-
-.nga-btn-github {
- background-color: #333;
-}
-
-.nga-btn-gitlab {
- background-color: #ff4500;
-}
-
-.nga-btn-linkedin {
- background-color: #0082ca;
-}
-
-.nga-btn-twitter {
- background-color: #55acee;
-}
-
diff --git a/cmd/core-gui/frontend.old/src/app/shared/components/footer/footer.component.html b/cmd/core-gui/frontend.old/src/app/shared/components/footer/footer.component.html
deleted file mode 100644
index 616f55b..0000000
--- a/cmd/core-gui/frontend.old/src/app/shared/components/footer/footer.component.html
+++ /dev/null
@@ -1,62 +0,0 @@
-
diff --git a/cmd/core-gui/frontend.old/src/app/shared/components/footer/footer.component.ts b/cmd/core-gui/frontend.old/src/app/shared/components/footer/footer.component.ts
deleted file mode 100644
index 058e16e..0000000
--- a/cmd/core-gui/frontend.old/src/app/shared/components/footer/footer.component.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-import { Component } from '@angular/core';
-
-import { environment } from '../../../../environments/environment';
-
-@Component({
- selector: 'app-footer',
- templateUrl: './footer.component.html',
- styleUrls: ['./footer.component.css']
-})
-export class FooterComponent {
-
- appInfo = environment.appInfo;
-}
diff --git a/cmd/core-gui/frontend.old/src/app/shared/components/header/header.component.css b/cmd/core-gui/frontend.old/src/app/shared/components/header/header.component.css
deleted file mode 100644
index 80d289b..0000000
--- a/cmd/core-gui/frontend.old/src/app/shared/components/header/header.component.css
+++ /dev/null
@@ -1,38 +0,0 @@
-.nga-nav-link {
- color: white;
- border-top: 1px solid #09238d;
- border-bottom: 1px solid #09238d;
- font-weight: 500;
-}
-
-.nga-nav-link:hover {
- color: yellow;
- border-top: 1px solid yellow;
- border-bottom: 1px solid yellow;
-}
-
-
-.nga-navbar {
- -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 11px 10px 0 rgba(0, 0, 0, 0.12);
- box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 11px 10px 0 rgba(0, 0, 0, 0.12);
- background-color: #09238d;
-}
-
-.nga-logo {
- font-weight: 500;
-}
-
-.nga-logo:hover {
- color: rgba(255, 255, 255, 0.75);
-}
-
-.nga-btn-navbar {
- --bs-btn-color: #fff;
- --bs-btn-bg: #1976d2;
- --bs-btn-border-color: #1976d2;
- --bs-btn-hover-color: #fff;
- --bs-btn-hover-bg: #0b5ed7;
- --bs-btn-hover-border-color: #0a58ca;
-}
-
-
diff --git a/cmd/core-gui/frontend.old/src/app/shared/components/header/header.component.html b/cmd/core-gui/frontend.old/src/app/shared/components/header/header.component.html
deleted file mode 100644
index f0d4af0..0000000
--- a/cmd/core-gui/frontend.old/src/app/shared/components/header/header.component.html
+++ /dev/null
@@ -1,11 +0,0 @@
-
diff --git a/cmd/core-gui/frontend.old/src/app/shared/components/header/header.component.ts b/cmd/core-gui/frontend.old/src/app/shared/components/header/header.component.ts
deleted file mode 100644
index a75a3e0..0000000
--- a/cmd/core-gui/frontend.old/src/app/shared/components/header/header.component.ts
+++ /dev/null
@@ -1,18 +0,0 @@
-import {Component, CUSTOM_ELEMENTS_SCHEMA, EventEmitter, Output} from '@angular/core';
-import { CommonModule } from '@angular/common';
-import { RouterLink } from '@angular/router';
-
-@Component({
- selector: 'app-header',
- imports: [CommonModule, RouterLink],
- templateUrl: './header.component.html',
- styleUrls: ['./header.component.css'],
- schemas: [CUSTOM_ELEMENTS_SCHEMA]
-})
-export class HeaderComponent {
- @Output() menuToggle = new EventEmitter();
-
- onMenuClick() {
- this.menuToggle.emit();
- }
-}
diff --git a/cmd/core-gui/frontend.old/src/app/shared/constants/sort.constants.ts b/cmd/core-gui/frontend.old/src/app/shared/constants/sort.constants.ts
deleted file mode 100644
index 58a9ea3..0000000
--- a/cmd/core-gui/frontend.old/src/app/shared/constants/sort.constants.ts
+++ /dev/null
@@ -1,4 +0,0 @@
-export enum SortDirection {
- ASC = 'asc',
- DESC = 'desc'
-}
diff --git a/cmd/core-gui/frontend.old/src/app/shared/pipes/date-format.pipe.ts b/cmd/core-gui/frontend.old/src/app/shared/pipes/date-format.pipe.ts
deleted file mode 100644
index b3f5da3..0000000
--- a/cmd/core-gui/frontend.old/src/app/shared/pipes/date-format.pipe.ts
+++ /dev/null
@@ -1,30 +0,0 @@
-import { Pipe, PipeTransform } from '@angular/core';
-
-@Pipe({
- name: 'dateFormat'
-})
-export class DateFormatPipe implements PipeTransform {
- transform(value: string | null | undefined): string {
- if (!value) {
- return '';
- }
-
- const regex = /^([0-2][0-9]|3[0-1])\/([0][1-9]|1[0-2])\/[0-9]{4} ([0-1][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])$/;
- if (regex.test(value)) {
- const [day, month, year] = value.split(/[/ ]/);
-
- return `${day}/${month}/${year}`;
- }
-
- const date = new Date(value);
- if (!isNaN(date.getTime())) {
- const day = String(date.getDate()).padStart(2, '0');
- const month = String(date.getMonth() + 1).padStart(2, '0');
- const year = date.getFullYear();
-
- return `${day}/${month}/${year}`;
- }
-
- return '';
- }
-}
diff --git a/cmd/core-gui/frontend.old/src/app/shared/pipes/date-hour-format.pipe.ts b/cmd/core-gui/frontend.old/src/app/shared/pipes/date-hour-format.pipe.ts
deleted file mode 100644
index cfea96b..0000000
--- a/cmd/core-gui/frontend.old/src/app/shared/pipes/date-hour-format.pipe.ts
+++ /dev/null
@@ -1,29 +0,0 @@
-import { Pipe, PipeTransform } from '@angular/core';
-
-@Pipe({
- name: 'dateHourFormat'
-})
-export class DateHourFormatPipe implements PipeTransform {
- transform(value: string | null | undefined): string {
- if (!value) {
- return '';
- }
- const regex = /^([0-2][0-9]|3[0-1])\/([0][1-9]|1[0-2])\/[0-9]{4} ([0-1][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])$/;
- if (regex.test(value)) {
- return value;
- }
- const date = new Date(value);
- if (!isNaN(date.getTime())) {
- const day = String(date.getDate()).padStart(2, '0');
- const month = String(date.getMonth() + 1).padStart(2, '0');
- const year = date.getFullYear();
- const hours = String(date.getHours()).padStart(2, '0');
- const minutes = String(date.getMinutes()).padStart(2, '0');
- const seconds = String(date.getSeconds()).padStart(2, '0');
-
- return `${day}/${month}/${year} ${hours}:${minutes}:${seconds}`;
- }
-
- return '';
- }
-}
diff --git a/cmd/core-gui/frontend.old/src/app/shared/services/pagination/pagination.service.spec.ts b/cmd/core-gui/frontend.old/src/app/shared/services/pagination/pagination.service.spec.ts
deleted file mode 100644
index e6a519d..0000000
--- a/cmd/core-gui/frontend.old/src/app/shared/services/pagination/pagination.service.spec.ts
+++ /dev/null
@@ -1,157 +0,0 @@
-import { PaginationService } from './pagination.service';
-import { Pagination } from './pagination';
-
-describe('PaginationService', () => {
- let service: PaginationService;
-
- beforeEach(() => {
- service = new PaginationService();
- });
-
- it('should initialize a Pagination object correctly', () => {
- // Arrange
- const perPage = 5;
-
- // Act
- const pagination: Pagination = service.initializePagination(perPage);
-
- // Assert
- expect(pagination).toEqual({
- totalItems: 0,
- currentPage: 1,
- perPage,
- totalPages: 0,
- startPage: 1,
- endPage: 1,
- pages: [],
- pageBrowser: false,
- useful: false
- });
- });
-
- it('should handle the case where currentPage is greater than the total number of pages', () => {
- // Arrange
- const input = {
- totalItems: 10,
- currentPage: 5,
- perPage: 5,
- totalPages: 2,
- startPage: 1,
- endPage: 2,
- pages: [1, 2],
- pageBrowser: true,
- useful: true
- };
-
- // Act
- const pagination = service.getPagination(input);
-
- // Assert
- expect(pagination.currentPage).toBe(1);
- expect(pagination.totalPages).toBe(2);
- });
-
- it('should handle a small number of pages (≤ 7 pages) correctly', () => {
- // Arrange
- const input = {
- totalItems: 25,
- currentPage: 3,
- perPage: 5,
- totalPages: 5,
- startPage: 1,
- endPage: 5,
- pages: [1, 2, 3, 4, 5],
- pageBrowser: true,
- useful: true
- };
-
- // Act
- const pagination = service.getPagination(input);
-
- // Assert
- expect(pagination.startPage).toBe(1);
- expect(pagination.endPage).toBe(5);
- expect(pagination.pages).toEqual([1, 2, 3, 4, 5]);
- });
-
- it('should handle the first pages with many total pages', () => {
- // Arrange
- const input = {
- totalItems: 100,
- currentPage: 3,
- perPage: 5,
- totalPages: 20,
- startPage: 1,
- endPage: 7,
- pages: [1, 2, 3, 4, 5, 6, 7],
- pageBrowser: true,
- useful: true
- };
-
- // Act
- const pagination = service.getPagination(input);
-
- // Assert
- expect(pagination.startPage).toBe(1);
- expect(pagination.endPage).toBe(7);
- expect(pagination.pages.length).toBe(7);
- });
-
- it('should handle the last pages with many total pages', () => {
- // Arrange
- const input = {
- totalItems: 100,
- currentPage: 18,
- perPage: 5,
- totalPages: 20,
- startPage: 14,
- endPage: 20,
- pages: [14, 15, 16, 17, 18, 19, 20],
- pageBrowser: true,
- useful: true
- };
-
- // Act
- const pagination = service.getPagination(input);
-
- // Assert
- expect(pagination.startPage).toBe(14);
- expect(pagination.endPage).toBe(20);
- expect(pagination.pages.length).toBe(7);
- });
-
- it('should handle middle pages with many total pages', () => {
- // Arrange
- const input = {
- totalItems: 100,
- currentPage: 10,
- perPage: 5,
- totalPages: 20,
- startPage: 8,
- endPage: 14,
- pages: [8, 9, 10, 11, 12, 13, 14],
- pageBrowser: true,
- useful: true
- };
-
- // Act
- const pagination = service.getPagination(input);
-
- // Assert
- expect(pagination.startPage).toBe(8);
- expect(pagination.endPage).toBe(14);
- expect(pagination.pages.length).toBe(7);
- });
-
- it('should generate a correct array of numbers with range()', () => {
- // Arrange
- const start = 1;
- const end = 5;
-
- // Act
- const result = (service as any).range(start, end);
-
- // Assert
- expect(result).toEqual([1, 2, 3, 4]);
- });
-});
diff --git a/cmd/core-gui/frontend.old/src/app/shared/services/pagination/pagination.service.ts b/cmd/core-gui/frontend.old/src/app/shared/services/pagination/pagination.service.ts
deleted file mode 100644
index 1efca09..0000000
--- a/cmd/core-gui/frontend.old/src/app/shared/services/pagination/pagination.service.ts
+++ /dev/null
@@ -1,72 +0,0 @@
-import { Injectable } from "@angular/core";
-import { Pagination } from './pagination';
-
-@Injectable()
-export class PaginationService {
-
- private readonly MAX_PAGES_DISPLAYED = 7;
- private readonly STARTING_PAGE = 1;
-
- range(start: number, end: number): number[] {
- const length = end - start;
-
- return Array.from({ length }, (__, index) => start + index);
- }
-
- getPagination(pagination: Pagination): Pagination {
- const { totalItems, perPage } = pagination;
- let currentPage = pagination.currentPage;
- const totalPages = Math.ceil(totalItems / perPage);
-
- if (currentPage > totalPages) {
- currentPage = this.STARTING_PAGE;
- }
-
- const { startPage, endPage } = this.calculatePageRange(currentPage, totalPages);
-
- const pages = this.range(startPage, endPage + 1);
-
- return {
- totalItems,
- currentPage,
- perPage,
- totalPages,
- startPage,
- endPage,
- pages,
- pageBrowser: totalPages > 0,
- useful: totalPages > 1
- };
- }
-
- private calculatePageRange(currentPage: number, totalPages: number): { startPage: number, endPage: number } {
- if (totalPages <= this.MAX_PAGES_DISPLAYED) {
- return { startPage: this.STARTING_PAGE, endPage: totalPages };
- }
-
- if (currentPage <= this.MAX_PAGES_DISPLAYED - 1) {
- return { startPage: this.STARTING_PAGE, endPage: this.MAX_PAGES_DISPLAYED };
- }
-
- if (currentPage + 4 >= totalPages) {
- return { startPage: totalPages - (this.MAX_PAGES_DISPLAYED - 1), endPage: totalPages };
- }
-
- return { startPage: currentPage - 2, endPage: currentPage + 4 };
- }
-
- initializePagination(perPage: number): Pagination {
- return {
- totalItems: 0,
- currentPage: this.STARTING_PAGE,
- perPage,
- totalPages: 0,
- startPage: this.STARTING_PAGE,
- endPage: this.STARTING_PAGE,
- pages: [],
- pageBrowser: false,
- useful: false
- };
- }
-}
-
diff --git a/cmd/core-gui/frontend.old/src/app/shared/services/pagination/pagination.ts b/cmd/core-gui/frontend.old/src/app/shared/services/pagination/pagination.ts
deleted file mode 100644
index ceb18e5..0000000
--- a/cmd/core-gui/frontend.old/src/app/shared/services/pagination/pagination.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-export interface Pagination {
- totalItems: number;
- currentPage: number,
- perPage: number,
- totalPages: number,
- startPage: number,
- endPage: number,
- pages: number[],
- pageBrowser: boolean,
- useful: boolean,
-}
diff --git a/cmd/core-gui/frontend.old/src/app/shared/utils/date-utils.ts b/cmd/core-gui/frontend.old/src/app/shared/utils/date-utils.ts
deleted file mode 100644
index de4ab54..0000000
--- a/cmd/core-gui/frontend.old/src/app/shared/utils/date-utils.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-import { formatDate } from '@angular/common';
-
-export function getCurrentDate(): string {
- const now = new Date();
-
- return formatDate(now, 'dd/MM/yyyy HH:mm:ss', 'fr-FR');
-}
diff --git a/cmd/core-gui/frontend.old/src/app/shared/utils/objects-utils.ts b/cmd/core-gui/frontend.old/src/app/shared/utils/objects-utils.ts
deleted file mode 100644
index 2c8598c..0000000
--- a/cmd/core-gui/frontend.old/src/app/shared/utils/objects-utils.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-export function areObjectsEqual(obj1: any, obj2: any) {
- const keys1 = Object.keys(obj1);
- const keys2 = Object.keys(obj2);
- if (keys1.length !== keys2.length) return false;
-
- return keys1.every(key => obj1[key] === obj2[key]);
-}
-
diff --git a/cmd/core-gui/frontend.old/src/app/shared/utils/query-utils.ts b/cmd/core-gui/frontend.old/src/app/shared/utils/query-utils.ts
deleted file mode 100644
index f65979f..0000000
--- a/cmd/core-gui/frontend.old/src/app/shared/utils/query-utils.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-export function addFilterParam(params: URLSearchParams, key: string, value: any): void {
- if (value !== null && value !== undefined && value !== '') {
- params.set(key, encodeURIComponent(value));
- }
-}
diff --git a/cmd/core-gui/frontend.old/src/app/translate-server.loader.ts b/cmd/core-gui/frontend.old/src/app/translate-server.loader.ts
deleted file mode 100644
index 38db3c2..0000000
--- a/cmd/core-gui/frontend.old/src/app/translate-server.loader.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-import { join } from 'path';
-import { Observable, of } from 'rxjs';
-import { TranslateLoader } from '@ngx-translate/core';
-import * as fs from 'fs';
-
-export class TranslateServerLoader implements TranslateLoader {
- constructor(private prefix: string = 'i18n', private suffix: string = '.json') {}
-
- public getTranslation(lang: string): Observable {
- const path = join(process.cwd(), 'i18n', this.prefix, `${lang}${this.suffix}`);
- const data = JSON.parse(fs.readFileSync(path, 'utf8'));
- return of(data);
- }
-}
diff --git a/cmd/core-gui/frontend.old/src/environments/environment.common.ts b/cmd/core-gui/frontend.old/src/environments/environment.common.ts
deleted file mode 100644
index 3be1243..0000000
--- a/cmd/core-gui/frontend.old/src/environments/environment.common.ts
+++ /dev/null
@@ -1,18 +0,0 @@
-export const appVersion = '250905-1502';
-
-export const appInfo = {
- name: 'Core',
- logo: 'ganatan',
- network: 'ganatan',
- xnetwork: 'dannyganatan',
- linkedinnetwork: 'dannyganatan',
- website: 'www.ganatan.com',
-};
-
-export const applicationBase = {
- name: 'angular-starter',
- angular: 'Angular 20.3.2',
- bootstrap: 'Bootstrap 5.3.8',
- fontawesome: 'Font Awesome 7.0.1',
-};
-
diff --git a/cmd/core-gui/frontend.old/src/environments/environment.development.ts b/cmd/core-gui/frontend.old/src/environments/environment.development.ts
deleted file mode 100644
index 237999f..0000000
--- a/cmd/core-gui/frontend.old/src/environments/environment.development.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-import { appInfo, applicationBase } from './environment.common';
-
-export const environment = {
- appInfo,
- application: {
- ...applicationBase,
- angular: `${applicationBase.angular} DEV`,
- },
- urlNews: './assets/params/json/mock/trailers.json',
- urlMovies: './assets/params/json/mock/movies.json',
- useMock: true,
- backend: 'http://localhost:3000',
-};
diff --git a/cmd/core-gui/frontend.old/src/environments/environment.ts b/cmd/core-gui/frontend.old/src/environments/environment.ts
deleted file mode 100644
index 865bb20..0000000
--- a/cmd/core-gui/frontend.old/src/environments/environment.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-import { appInfo, applicationBase } from './environment.common';
-
-export const environment = {
- appInfo,
- application: {
- ...applicationBase,
- angular: `${applicationBase.angular} PROD`,
- },
- urlNews: './assets/params/json/mock/trailers.json',
- urlMovies: './assets/params/json/mock/movies.json',
- useMock: true,
- backend: 'http://localhost:3000',
-};
diff --git a/cmd/core-gui/frontend.old/src/index.html b/cmd/core-gui/frontend.old/src/index.html
deleted file mode 100644
index c35788c..0000000
--- a/cmd/core-gui/frontend.old/src/index.html
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
-
- LTHN - Layered Transmission Host Network
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/cmd/core-gui/frontend.old/src/main.server.ts b/cmd/core-gui/frontend.old/src/main.server.ts
deleted file mode 100644
index 723e001..0000000
--- a/cmd/core-gui/frontend.old/src/main.server.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-import { BootstrapContext, bootstrapApplication } from '@angular/platform-browser';
-import { App } from './app/app';
-import { config } from './app/app.config.server';
-
-const bootstrap = (context: BootstrapContext) =>
- bootstrapApplication(App, config, context);
-
-export default bootstrap;
diff --git a/cmd/core-gui/frontend.old/src/main.ts b/cmd/core-gui/frontend.old/src/main.ts
deleted file mode 100644
index a5bebef..0000000
--- a/cmd/core-gui/frontend.old/src/main.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-import { bootstrapApplication } from '@angular/platform-browser';
-import { appConfig } from './app/app.config';
-import { App } from './app/app';
-bootstrapApplication(App, appConfig)
- .catch((err) => console.error(err));
diff --git a/cmd/core-gui/frontend.old/src/server.ts b/cmd/core-gui/frontend.old/src/server.ts
deleted file mode 100644
index e6546c4..0000000
--- a/cmd/core-gui/frontend.old/src/server.ts
+++ /dev/null
@@ -1,68 +0,0 @@
-import {
- AngularNodeAppEngine,
- createNodeRequestHandler,
- isMainModule,
- writeResponseToNodeResponse,
-} from '@angular/ssr/node';
-import express from 'express';
-import { join } from 'node:path';
-
-const browserDistFolder = join(import.meta.dirname, '../browser');
-
-const app = express();
-const angularApp = new AngularNodeAppEngine();
-
-/**
- * Example Express Rest API endpoints can be defined here.
- * Uncomment and define endpoints as necessary.
- *
- * Example:
- * ```ts
- * app.get('/api/{*splat}', (req, res) => {
- * // Handle API request
- * });
- * ```
- */
-
-/**
- * Serve static files from /browser
- */
-app.use(
- express.static(browserDistFolder, {
- maxAge: '1y',
- index: false,
- redirect: false,
- }),
-);
-
-/**
- * Handle all other requests by rendering the Angular application.
- */
-app.use((req, res, next) => {
- angularApp
- .handle(req)
- .then((response) =>
- response ? writeResponseToNodeResponse(response, res) : next(),
- )
- .catch(next);
-});
-
-/**
- * Start the server if this module is the main entry point.
- * The server listens on the port defined by the `PORT` environment variable, or defaults to 4000.
- */
-if (isMainModule(import.meta.url)) {
- const port = process.env['PORT'] || 4000;
- app.listen(port, (error) => {
- if (error) {
- throw error;
- }
-
- console.log(`Node Express server listening on http://localhost:${port}`);
- });
-}
-
-/**
- * Request handler used by the Angular CLI (for dev-server and during build) or Firebase Cloud Functions.
- */
-export const reqHandler = createNodeRequestHandler(app);
diff --git a/cmd/core-gui/frontend.old/src/styles.css b/cmd/core-gui/frontend.old/src/styles.css
deleted file mode 100644
index 0ce01c7..0000000
--- a/cmd/core-gui/frontend.old/src/styles.css
+++ /dev/null
@@ -1,13 +0,0 @@
-@import "@awesome.me/webawesome/dist/styles/webawesome.css";
-@import "@awesome.me/webawesome/dist/styles/themes/premium.css";
-@import "@awesome.me/webawesome/dist/styles/native.css";
-@import "@awesome.me/webawesome/dist/styles/utilities.css";
-@import "@awesome.me/webawesome/dist/styles/color/palettes/vogue.css";
-html,
-body {
- min-height: 100%;
- height: 100%;
- padding: 0;
- margin: 0;
-}
-
diff --git a/cmd/core-gui/frontend.old/src/test.ts b/cmd/core-gui/frontend.old/src/test.ts
deleted file mode 100644
index 9d201be..0000000
--- a/cmd/core-gui/frontend.old/src/test.ts
+++ /dev/null
@@ -1,38 +0,0 @@
-import 'zone.js/testing';
-import { TestBed } from '@angular/core/testing';
-import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
-import { TranslateService, TranslateLoader, TranslateModule } from '@ngx-translate/core';
-import { Observable, of } from 'rxjs';
-
-// Provide TranslateService mock globally for tests to avoid NG0201 in standalone components
-(() => {
- class FakeTranslateLoader implements TranslateLoader {
- getTranslation(lang: string): Observable { return of({}); }
- }
-
- const translateServiceMock: Partial = {
- use: (() => ({ toPromise: async () => undefined })) as any,
- instant: ((key: string) => key) as any,
- get: (((key: any) => ({ subscribe: (fn: any) => fn(key) })) as any),
- onLangChange: { subscribe: () => ({ unsubscribe() {} }) } as any,
- } as Partial;
-
- // Patch TestBed.configureTestingModule to always include Translate support
- const originalConfigure = TestBed.configureTestingModule.bind(TestBed);
- (TestBed as any).configureTestingModule = (meta: any = {}) => {
- // Ensure providers include TranslateService mock if not already provided
- const providers = meta.providers ?? [];
- const hasTranslateProvider = providers.some((p: any) => p && (p.provide === TranslateService));
- meta.providers = hasTranslateProvider ? providers : [...providers, { provide: TranslateService, useValue: translateServiceMock }];
-
- // Ensure imports include TranslateModule.forRoot with a fake loader (brings internal _TranslateService)
- const imports = meta.imports ?? [];
- const hasTranslateModule = imports.some((imp: any) => imp && (imp === TranslateModule || (imp.ngModule && imp.ngModule === TranslateModule)));
- if (!hasTranslateModule) {
- imports.push(TranslateModule.forRoot({ loader: { provide: TranslateLoader, useClass: FakeTranslateLoader } }));
- }
- meta.imports = imports;
-
- return originalConfigure(meta);
- };
-})();
diff --git a/cmd/core-gui/frontend.old/src/testing/gbu.ts b/cmd/core-gui/frontend.old/src/testing/gbu.ts
deleted file mode 100644
index baa66c5..0000000
--- a/cmd/core-gui/frontend.old/src/testing/gbu.ts
+++ /dev/null
@@ -1,31 +0,0 @@
-// Good/Bad/Ugly test helpers for Jasmine
-// Usage:
-// import { itGood, itBad, itUgly, trio } from 'src/testing/gbu';
-// itGood('does X', () => { /* ... */ });
-// trio('feature does Y', {
-// good: () => { /* ... */ },
-// bad: () => { /* ... */ },
-// ugly: () => { /* ... */ },
-// });
-
-export function suffix(base: string, tag: 'Good' | 'Bad' | 'Ugly'): string {
- return `${base}_${tag}`;
-}
-
-export function itGood(name: string, fn: jasmine.ImplementationCallback, timeout?: number): void {
- it(suffix(name, 'Good'), fn, timeout as any);
-}
-
-export function itBad(name: string, fn: jasmine.ImplementationCallback, timeout?: number): void {
- it(suffix(name, 'Bad'), fn, timeout as any);
-}
-
-export function itUgly(name: string, fn: jasmine.ImplementationCallback, timeout?: number): void {
- it(suffix(name, 'Ugly'), fn, timeout as any);
-}
-
-export function trio(name: string, impls: { good: () => void; bad: () => void; ugly: () => void; }): void {
- itGood(name, impls.good);
- itBad(name, impls.bad);
- itUgly(name, impls.ugly);
-}
diff --git a/cmd/core-gui/frontend.old/tsconfig.app.json b/cmd/core-gui/frontend.old/tsconfig.app.json
deleted file mode 100644
index 44b43fb..0000000
--- a/cmd/core-gui/frontend.old/tsconfig.app.json
+++ /dev/null
@@ -1,20 +0,0 @@
-/* To learn more about Typescript configuration file: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html. */
-/* To learn more about Angular compiler options: https://angular.dev/reference/configs/angular-compiler-options. */
-{
- "extends": "./tsconfig.json",
- "compilerOptions": {
- "outDir": "./out-tsc/app",
- "types": [
- "node",
- "./node_modules/@awesome.me/webawesome/dist/custom-elements-jsx.d.ts"
- ]
- },
- "include": [
- "src/**/*.ts"
- ],
- "exclude": [
- "src/**/*.spec.ts",
- "src/testing/**/*.ts",
- "src/test.ts"
- ]
-}
diff --git a/cmd/core-gui/frontend.old/tsconfig.json b/cmd/core-gui/frontend.old/tsconfig.json
deleted file mode 100644
index 731b0df..0000000
--- a/cmd/core-gui/frontend.old/tsconfig.json
+++ /dev/null
@@ -1,35 +0,0 @@
-/* To learn more about Typescript configuration file: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html. */
-/* To learn more about Angular compiler options: https://angular.dev/reference/configs/angular-compiler-options. */
-{
- "compileOnSave": false,
- "lib": [ "ES2022", "DOM"],
- "compilerOptions": {
- "strict": true,
- "noImplicitOverride": true,
- "noPropertyAccessFromIndexSignature": true,
- "noImplicitReturns": true,
- "noFallthroughCasesInSwitch": true,
- "skipLibCheck": true,
- "isolatedModules": true,
- "experimentalDecorators": true,
- "importHelpers": true,
- "target": "ES2022",
- "module": "preserve",
- },
- "angularCompilerOptions": {
- "enableI18nLegacyMessageIdFormat": false,
- "strictInjectionParameters": true,
- "strictInputAccessModifiers": true,
- "typeCheckHostBindings": true,
- "strictTemplates": true
- },
- "files": [],
- "references": [
- {
- "path": "./tsconfig.app.json"
- },
- {
- "path": "./tsconfig.spec.json"
- }
- ]
-}
diff --git a/cmd/core-gui/frontend.old/tsconfig.spec.json b/cmd/core-gui/frontend.old/tsconfig.spec.json
deleted file mode 100644
index a54039f..0000000
--- a/cmd/core-gui/frontend.old/tsconfig.spec.json
+++ /dev/null
@@ -1,18 +0,0 @@
-/* To learn more about Typescript configuration file: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html. */
-/* To learn more about Angular compiler options: https://angular.dev/reference/configs/angular-compiler-options. */
-{
- "extends": "./tsconfig.json",
- "compilerOptions": {
- "outDir": "./out-tsc/spec",
- "types": [
- "jasmine"
- ],
- "baseUrl": ".",
- "paths": {
- "src/*": ["src/*"]
- }
- },
- "include": [
- "src/**/*.ts"
- ]
-}
diff --git a/cmd/core-gui/frontend/.dockerignore b/cmd/core-gui/frontend/.dockerignore
deleted file mode 100644
index b592cf4..0000000
--- a/cmd/core-gui/frontend/.dockerignore
+++ /dev/null
@@ -1,7 +0,0 @@
-node_modules
-npm-debug.log
-Dockerfile
-.dockerignore
-.env
-.git
-.gitignore
diff --git a/cmd/core-gui/frontend/.editorconfig b/cmd/core-gui/frontend/.editorconfig
deleted file mode 100644
index f166060..0000000
--- a/cmd/core-gui/frontend/.editorconfig
+++ /dev/null
@@ -1,17 +0,0 @@
-# Editor configuration, see https://editorconfig.org
-root = true
-
-[*]
-charset = utf-8
-indent_style = space
-indent_size = 2
-insert_final_newline = true
-trim_trailing_whitespace = true
-
-[*.ts]
-quote_type = single
-ij_typescript_use_double_quotes = false
-
-[*.md]
-max_line_length = off
-trim_trailing_whitespace = false
diff --git a/cmd/core-gui/frontend/.gitignore b/cmd/core-gui/frontend/.gitignore
deleted file mode 100644
index 192ab77..0000000
--- a/cmd/core-gui/frontend/.gitignore
+++ /dev/null
@@ -1,42 +0,0 @@
-# See https://docs.github.com/get-started/getting-started-with-git/ignoring-files for more about ignoring files.
-.npmrc
-# Compiled output
-/dist
-/tmp
-/out-tsc
-/bazel-out
-
-# Node
-/node_modules
-npm-debug.log
-yarn-error.log
-
-# IDEs and editors
-.idea/
-.project
-.classpath
-.c9/
-*.launch
-.settings/
-*.sublime-workspace
-
-# Visual Studio Code
-.vscode/*
-!.vscode/settings.json
-!.vscode/tasks.json
-!.vscode/launch.json
-!.vscode/extensions.json
-.history/*
-
-# Miscellaneous
-/.angular/cache
-.sass-cache/
-/connect.lock
-/coverage
-/libpeerconnection.log
-testem.log
-/typings
-
-# System files
-.DS_Store
-Thumbs.db
diff --git a/cmd/core-gui/frontend/.postcssrc.json b/cmd/core-gui/frontend/.postcssrc.json
deleted file mode 100644
index e092dc7..0000000
--- a/cmd/core-gui/frontend/.postcssrc.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "plugins": {
- "@tailwindcss/postcss": {}
- }
-}
diff --git a/cmd/core-gui/frontend/README.md b/cmd/core-gui/frontend/README.md
deleted file mode 100644
index 6d3eef0..0000000
--- a/cmd/core-gui/frontend/README.md
+++ /dev/null
@@ -1,59 +0,0 @@
-# Frontend
-
-This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 20.3.6.
-
-## Development server
-
-To start a local development server, run:
-
-```bash
-ng serve
-```
-
-Once the server is running, open your browser and navigate to `http://localhost:4200/`. The application will automatically reload whenever you modify any of the source files.
-
-## Code scaffolding
-
-Angular CLI includes powerful code scaffolding tools. To generate a new component, run:
-
-```bash
-ng generate component component-name
-```
-
-For a complete list of available schematics (such as `components`, `directives`, or `pipes`), run:
-
-```bash
-ng generate --help
-```
-
-## Building
-
-To build the project run:
-
-```bash
-ng build
-```
-
-This will compile your project and store the build artifacts in the `dist/` directory. By default, the production build optimizes your application for performance and speed.
-
-## Running unit tests
-
-To execute unit tests with the [Karma](https://karma-runner.github.io) test runner, use the following command:
-
-```bash
-ng test
-```
-
-## Running end-to-end tests
-
-For end-to-end (e2e) testing, run:
-
-```bash
-ng e2e
-```
-
-Angular CLI does not come with an end-to-end testing framework by default. You can choose one that suits your needs.
-
-## Additional Resources
-
-For more information on using the Angular CLI, including detailed command references, visit the [Angular CLI Overview and Command Reference](https://angular.dev/tools/cli) page.
diff --git a/cmd/core-gui/frontend/angular.json b/cmd/core-gui/frontend/angular.json
deleted file mode 100644
index 8dbe5d6..0000000
--- a/cmd/core-gui/frontend/angular.json
+++ /dev/null
@@ -1,126 +0,0 @@
-{
- "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
- "version": 1,
- "newProjectRoot": "projects",
- "projects": {
- "frontend": {
- "projectType": "application",
- "schematics": {
- "@schematics/angular:component": {
- "style": "scss"
- }
- },
- "root": "",
- "sourceRoot": "src",
- "prefix": "app",
- "architect": {
- "build": {
- "builder": "@angular/build:application",
- "options": {
- "browser": "src/main.ts",
- "tsConfig": "tsconfig.app.json",
- "polyfills": ["src/polyfills.ts"],
- "inlineStyleLanguage": "scss",
- "assets": [
- {
- "glob": "**/*",
- "input": "public"
- },
- {
- "glob": "fa-{brands,jelly,thin,light,regular,solid}*.woff2",
- "input": "node_modules/@fortawesome/fontawesome-free/webfonts",
- "output": "webfonts"
- },
- {
- "glob": "**/*.*",
- "input": "node_modules/@awesome.me/webawesome/dist",
- "output": "@awesome.me/webawesome"
- },
- {
- "glob": "**/*.*",
- "input": "bindings",
- "output": "/"
- },
- { "glob": "**/*", "input": "node_modules/monaco-editor", "output": "/assets/monaco/" },
- { "glob": "**/*", "input": "../services/docs/static", "output": "docs" },
- {
- "glob": "**/*.json",
- "input": "../services/core/i18n/locales",
- "output": "assets/i18n"
- }
- ],
- "scripts": [
- "node_modules/@tailwindplus/elements/dist/index.js"
- ],
- "styles": [
- "src/styles.scss"
- ]
- },
- "configurations": {
- "production": {
- "fileReplacements": [
- {
- "replace": "src/environments/environment.ts",
- "with": "src/environments/environment.prod.ts"
- }
- ],
- "budgets": [
- {
- "type": "initial",
- "maximumWarning": "500kB",
- "maximumError": "1MB"
- },
- {
- "type": "anyComponentStyle",
- "maximumWarning": "4kB",
- "maximumError": "8kB"
- }
- ],
- "outputHashing": "all"
- },
- "development": {
- "optimization": false,
- "extractLicenses": false,
- "sourceMap": true
- }
- },
- "defaultConfiguration": "production"
- },
- "serve": {
- "builder": "@angular/build:dev-server",
- "configurations": {
- "production": {
- "buildTarget": "frontend:build:production"
- },
- "development": {
- "buildTarget": "frontend:build:development"
- }
- },
- "defaultConfiguration": "development"
- },
- "extract-i18n": {
- "builder": "@angular/build:extract-i18n"
- },
- "test": {
- "builder": "@angular/build:karma",
- "options": {
- "tsConfig": "tsconfig.spec.json",
- "inlineStyleLanguage": "scss",
- "assets": [
- {
- "glob": "**/*",
- "input": "public"
- }
- ],
- "styles": [
- "src/styles.scss"
- ]
- }
- }
- }
- }
- },
- "cli": {
- "analytics": false
- }
-}
diff --git a/cmd/core-gui/frontend/bindings/core-gui/index.ts b/cmd/core-gui/frontend/bindings/core-gui/index.ts
deleted file mode 100644
index 6ed5d05..0000000
--- a/cmd/core-gui/frontend/bindings/core-gui/index.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
-// This file is automatically generated. DO NOT EDIT
-
-import * as MCPBridge from "./mcpbridge.js";
-export {
- MCPBridge
-};
diff --git a/cmd/core-gui/frontend/bindings/core-gui/mcpbridge.ts b/cmd/core-gui/frontend/bindings/core-gui/mcpbridge.ts
deleted file mode 100644
index bf5209e..0000000
--- a/cmd/core-gui/frontend/bindings/core-gui/mcpbridge.ts
+++ /dev/null
@@ -1,57 +0,0 @@
-// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
-// This file is automatically generated. DO NOT EDIT
-
-/**
- * MCPBridge wires together MCP, WebView, Display and WebSocket services
- * and starts the MCP HTTP server after Wails initializes.
- * @module
- */
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import { Call as $Call, CancellablePromise as $CancellablePromise, Create as $Create } from "@wailsio/runtime";
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import * as display$0 from "../github.com/Snider/Core/pkg/display/models.js";
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import * as mcp$0 from "../github.com/Snider/Core/pkg/mcp/models.js";
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import * as webview$0 from "../github.com/Snider/Core/pkg/webview/models.js";
-
-/**
- * GetDisplay returns the Display service.
- */
-export function GetDisplay(): $CancellablePromise {
- return $Call.ByID(3763799861).then(($result: any) => {
- return $$createType1($result);
- });
-}
-
-/**
- * GetMCPService returns the MCP service for direct access.
- */
-export function GetMCPService(): $CancellablePromise {
- return $Call.ByID(4133944486).then(($result: any) => {
- return $$createType3($result);
- });
-}
-
-/**
- * GetWebView returns the WebView service.
- */
-export function GetWebView(): $CancellablePromise {
- return $Call.ByID(903939500).then(($result: any) => {
- return $$createType5($result);
- });
-}
-
-// Private type creation functions
-const $$createType0 = display$0.Service.createFrom;
-const $$createType1 = $Create.Nullable($$createType0);
-const $$createType2 = mcp$0.Service.createFrom;
-const $$createType3 = $Create.Nullable($$createType2);
-const $$createType4 = webview$0.Service.createFrom;
-const $$createType5 = $Create.Nullable($$createType4);
diff --git a/cmd/core-gui/frontend/bindings/github.com/Snider/Core/pkg/config/index.ts b/cmd/core-gui/frontend/bindings/github.com/Snider/Core/pkg/config/index.ts
deleted file mode 100644
index fd900b4..0000000
--- a/cmd/core-gui/frontend/bindings/github.com/Snider/Core/pkg/config/index.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
-// This file is automatically generated. DO NOT EDIT
-
-import * as Service from "./service.js";
-export {
- Service
-};
diff --git a/cmd/core-gui/frontend/bindings/github.com/Snider/Core/pkg/config/service.ts b/cmd/core-gui/frontend/bindings/github.com/Snider/Core/pkg/config/service.ts
deleted file mode 100644
index 0b1168b..0000000
--- a/cmd/core-gui/frontend/bindings/github.com/Snider/Core/pkg/config/service.ts
+++ /dev/null
@@ -1,226 +0,0 @@
-// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
-// This file is automatically generated. DO NOT EDIT
-
-/**
- * Service provides access to the application's configuration.
- * It handles loading, saving, and providing access to configuration values,
- * abstracting away the details of file I/O and data serialization.
- * The Service is designed to be a central point for all configuration-related
- * operations within the application.
- *
- * The fields of the Service struct are automatically saved to and loaded from
- * a JSON configuration file. The `json:"-"` tag on ServiceRuntime prevents
- * it from being serialized.
- * @module
- */
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import { Call as $Call, CancellablePromise as $CancellablePromise, Create as $Create } from "@wailsio/runtime";
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import * as core$0 from "../core/models.js";
-
-/**
- * Config returns the registered Config service from the core application.
- * This is a convenience method for accessing the application's configuration.
- */
-export function Config(): $CancellablePromise {
- return $Call.ByID(80156326);
-}
-
-/**
- * Core returns the central core instance, providing access to all registered services.
- */
-export function Core(): $CancellablePromise {
- return $Call.ByID(1678901799).then(($result: any) => {
- return $$createType1($result);
- });
-}
-
-/**
- * DisableFeature disables a feature by removing it from the features list.
- * If the feature is not enabled, this is a no-op.
- *
- * Example:
- *
- * err := cfg.DisableFeature("dark_mode")
- * if err != nil {
- * log.Printf("Failed to disable feature: %v", err)
- * }
- */
-export function DisableFeature(feature: string): $CancellablePromise {
- return $Call.ByID(796720498, feature);
-}
-
-/**
- * EnableFeature enables a feature by adding it to the features list.
- * If the feature is already enabled, this is a no-op.
- *
- * Example:
- *
- * err := cfg.EnableFeature("dark_mode")
- * if err != nil {
- * log.Printf("Failed to enable feature: %v", err)
- * }
- */
-export function EnableFeature(feature: string): $CancellablePromise {
- return $Call.ByID(953595547, feature);
-}
-
-/**
- * Get retrieves a configuration value by its key. The key corresponds to the
- * JSON tag of a field in the Service struct. The retrieved value is stored in
- * the `out` parameter, which must be a non-nil pointer to a variable of the
- * correct type.
- *
- * Example:
- *
- * var currentLanguage string
- * err := cfg.Get("language", ¤tLanguage)
- * if err != nil {
- * log.Printf("Could not retrieve language setting: %v", err)
- * }
- * fmt.Println("Current language is:", currentLanguage)
- */
-export function Get(key: string, out: any): $CancellablePromise {
- return $Call.ByID(1987004372, key, out);
-}
-
-/**
- * HandleIPCEvents processes IPC messages for the config service.
- */
-export function HandleIPCEvents(c: core$0.Core | null, msg: core$0.Message): $CancellablePromise {
- return $Call.ByID(1015502349, c, msg);
-}
-
-/**
- * IsFeatureEnabled checks if a feature is enabled.
- *
- * Example:
- *
- * if cfg.IsFeatureEnabled("dark_mode") {
- * // Apply dark mode styles
- * }
- */
-export function IsFeatureEnabled(feature: string): $CancellablePromise {
- return $Call.ByID(1495993163, feature);
-}
-
-/**
- * LoadKeyValues loads a map of key-value pairs from a file in the config
- * directory. The file format is determined by the extension of the `key`
- * parameter. This allows for easy retrieval of data stored in various formats.
- *
- * Example:
- *
- * dbConfig, err := cfg.LoadKeyValues("database.yml")
- * if err != nil {
- * log.Printf("Error loading database config: %v", err)
- * }
- * port, ok := dbConfig["port"].(int)
- * // ...
- */
-export function LoadKeyValues(key: string): $CancellablePromise<{ [_: string]: any }> {
- return $Call.ByID(1235871433, key).then(($result: any) => {
- return $$createType2($result);
- });
-}
-
-/**
- * LoadStruct loads an arbitrary struct from a JSON file in the config directory.
- * The `key` parameter specifies the filename (without the .json extension). The
- * loaded data is unmarshaled into the `data` parameter, which must be a
- * non-nil pointer to a struct.
- *
- * Example:
- *
- * var prefs UserPreferences
- * err := cfg.LoadStruct("user_prefs", &prefs)
- * if err != nil {
- * log.Printf("Error loading user preferences: %v", err)
- * }
- * fmt.Printf("User theme is: %s", prefs.Theme)
- */
-export function LoadStruct(key: string, data: any): $CancellablePromise {
- return $Call.ByID(2823566133, key, data);
-}
-
-/**
- * Save writes the current configuration to a JSON file. The location of the file
- * is determined by the ConfigPath field of the Service struct. This method is
- * typically called automatically by Set, but can be used to explicitly save
- * changes.
- *
- * Example:
- *
- * err := cfg.Save()
- * if err != nil {
- * log.Printf("Error saving configuration: %v", err)
- * }
- */
-export function Save(): $CancellablePromise {
- return $Call.ByID(1923338053);
-}
-
-/**
- * SaveKeyValues saves a map of key-value pairs to a file in the config
- * directory. The file format is determined by the extension of the `key`
- * parameter. This method is a convenient way to store structured data in a
- * format of choice.
- *
- * Example:
- *
- * data := map[string]interface{}{"host": "localhost", "port": 8080}
- * err := cfg.SaveKeyValues("database.yml", data)
- * if err != nil {
- * log.Printf("Error saving database config: %v", err)
- * }
- */
-export function SaveKeyValues(key: string, data: { [_: string]: any }): $CancellablePromise {
- return $Call.ByID(2830367426, key, data);
-}
-
-/**
- * SaveStruct saves an arbitrary struct to a JSON file in the config directory.
- * This is useful for storing complex data that is not part of the main
- * configuration. The `key` parameter is used as the filename (with a .json
- * extension).
- *
- * Example:
- *
- * type UserPreferences struct {
- * Theme string `json:"theme"`
- * Notifications bool `json:"notifications"`
- * }
- * prefs := UserPreferences{Theme: "dark", Notifications: true}
- * err := cfg.SaveStruct("user_prefs", prefs)
- * if err != nil {
- * log.Printf("Error saving user preferences: %v", err)
- * }
- */
-export function SaveStruct(key: string, data: any): $CancellablePromise {
- return $Call.ByID(2819770048, key, data);
-}
-
-/**
- * Set updates a configuration value and saves the change to the configuration
- * file. The key corresponds to the JSON tag of a field in the Service struct.
- * The provided value `v` must be of a type that is assignable to the field.
- *
- * Example:
- *
- * err := cfg.Set("default_route", "/home")
- * if err != nil {
- * log.Printf("Failed to set default route: %v", err)
- * }
- */
-export function Set(key: string, v: any): $CancellablePromise {
- return $Call.ByID(2438166024, key, v);
-}
-
-// Private type creation functions
-const $$createType0 = core$0.Core.createFrom;
-const $$createType1 = $Create.Nullable($$createType0);
-const $$createType2 = $Create.Map($Create.Any, $Create.Any);
diff --git a/cmd/core-gui/frontend/bindings/github.com/Snider/Core/pkg/core/index.ts b/cmd/core-gui/frontend/bindings/github.com/Snider/Core/pkg/core/index.ts
deleted file mode 100644
index f82fcea..0000000
--- a/cmd/core-gui/frontend/bindings/github.com/Snider/Core/pkg/core/index.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
-// This file is automatically generated. DO NOT EDIT
-
-export {
- Core,
- Features
-} from "./models.js";
-
-export type {
- Config,
- Message
-} from "./models.js";
diff --git a/cmd/core-gui/frontend/bindings/github.com/Snider/Core/pkg/core/models.ts b/cmd/core-gui/frontend/bindings/github.com/Snider/Core/pkg/core/models.ts
deleted file mode 100644
index 5eb0897..0000000
--- a/cmd/core-gui/frontend/bindings/github.com/Snider/Core/pkg/core/models.ts
+++ /dev/null
@@ -1,96 +0,0 @@
-// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
-// This file is automatically generated. DO NOT EDIT
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import { Create as $Create } from "@wailsio/runtime";
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import * as application$0 from "../../../../wailsapp/wails/v3/pkg/application/models.js";
-
-/**
- * Config provides access to application configuration.
- */
-export type Config = any;
-
-/**
- * Core is the central application object that manages services, assets, and communication.
- */
-export class Core {
- "App": application$0.App | null;
- "Features": Features | null;
-
- /** Creates a new Core instance. */
- constructor($$source: Partial = {}) {
- if (!("App" in $$source)) {
- this["App"] = null;
- }
- if (!("Features" in $$source)) {
- this["Features"] = null;
- }
-
- Object.assign(this, $$source);
- }
-
- /**
- * Creates a new Core instance from a string or object.
- */
- static createFrom($$source: any = {}): Core {
- const $$createField0_0 = $$createType1;
- const $$createField1_0 = $$createType3;
- let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
- if ("App" in $$parsedSource) {
- $$parsedSource["App"] = $$createField0_0($$parsedSource["App"]);
- }
- if ("Features" in $$parsedSource) {
- $$parsedSource["Features"] = $$createField1_0($$parsedSource["Features"]);
- }
- return new Core($$parsedSource as Partial);
- }
-}
-
-/**
- * Features provides a way to check if a feature is enabled.
- * This is used for feature flagging and conditional logic.
- */
-export class Features {
- /**
- * Flags is a list of enabled feature flags.
- */
- "Flags": string[];
-
- /** Creates a new Features instance. */
- constructor($$source: Partial = {}) {
- if (!("Flags" in $$source)) {
- this["Flags"] = [];
- }
-
- Object.assign(this, $$source);
- }
-
- /**
- * Creates a new Features instance from a string or object.
- */
- static createFrom($$source: any = {}): Features {
- const $$createField0_0 = $$createType4;
- let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
- if ("Flags" in $$parsedSource) {
- $$parsedSource["Flags"] = $$createField0_0($$parsedSource["Flags"]);
- }
- return new Features($$parsedSource as Partial);
- }
-}
-
-/**
- * Message is the interface for all messages that can be sent through the Core's IPC system.
- * Any struct can be a message, allowing for structured data to be passed between services.
- */
-export type Message = any;
-
-// Private type creation functions
-const $$createType0 = application$0.App.createFrom;
-const $$createType1 = $Create.Nullable($$createType0);
-const $$createType2 = Features.createFrom;
-const $$createType3 = $Create.Nullable($$createType2);
-const $$createType4 = $Create.Array($Create.Any);
diff --git a/cmd/core-gui/frontend/bindings/github.com/Snider/Core/pkg/crypt/index.ts b/cmd/core-gui/frontend/bindings/github.com/Snider/Core/pkg/crypt/index.ts
deleted file mode 100644
index 17c9e39..0000000
--- a/cmd/core-gui/frontend/bindings/github.com/Snider/Core/pkg/crypt/index.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
-// This file is automatically generated. DO NOT EDIT
-
-import * as Service from "./service.js";
-export {
- Service
-};
-
-export type {
- HashType
-} from "./models.js";
diff --git a/cmd/core-gui/frontend/bindings/github.com/Snider/Core/pkg/crypt/models.ts b/cmd/core-gui/frontend/bindings/github.com/Snider/Core/pkg/crypt/models.ts
deleted file mode 100644
index b40f958..0000000
--- a/cmd/core-gui/frontend/bindings/github.com/Snider/Core/pkg/crypt/models.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
-// This file is automatically generated. DO NOT EDIT
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import { Create as $Create } from "@wailsio/runtime";
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import * as crypt$0 from "../../../Enchantrix/pkg/crypt/models.js";
-
-/**
- * HashType defines the supported hashing algorithms.
- * Re-exported from Enchantrix for convenience.
- */
-export type HashType = crypt$0.HashType;
diff --git a/cmd/core-gui/frontend/bindings/github.com/Snider/Core/pkg/crypt/service.ts b/cmd/core-gui/frontend/bindings/github.com/Snider/Core/pkg/crypt/service.ts
deleted file mode 100644
index c313954..0000000
--- a/cmd/core-gui/frontend/bindings/github.com/Snider/Core/pkg/crypt/service.ts
+++ /dev/null
@@ -1,169 +0,0 @@
-// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
-// This file is automatically generated. DO NOT EDIT
-
-/**
- * Service provides cryptographic functions to the application.
- * It delegates to Enchantrix for all cryptographic operations.
- * @module
- */
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import { Call as $Call, CancellablePromise as $CancellablePromise, Create as $Create } from "@wailsio/runtime";
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import * as core$0 from "../core/models.js";
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import * as io$0 from "../../../../../io/models.js";
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import * as $models from "./models.js";
-
-/**
- * Config returns the registered Config service from the core application.
- * This is a convenience method for accessing the application's configuration.
- */
-export function Config(): $CancellablePromise {
- return $Call.ByID(4086601246);
-}
-
-/**
- * Core returns the central core instance, providing access to all registered services.
- */
-export function Core(): $CancellablePromise {
- return $Call.ByID(81428095).then(($result: any) => {
- return $$createType1($result);
- });
-}
-
-/**
- * DecryptPGP decrypts a PGP message.
- * Note: Enchantrix does not support passphrase-protected keys for decryption.
- */
-export function DecryptPGP(privateKey: string, message: string): $CancellablePromise {
- return $Call.ByID(583706276, privateKey, message);
-}
-
-/**
- * DecryptRSA decrypts data using an RSA private key.
- * Takes PEM-encoded private key and ciphertext.
- */
-export function DecryptRSA(privateKeyPEM: string, ciphertext: string): $CancellablePromise {
- return $Call.ByID(1345539309, privateKeyPEM, ciphertext);
-}
-
-/**
- * EncryptPGP encrypts data for a recipient and writes to the provided writer.
- */
-export function EncryptPGP(writer: io$0.Writer, recipientPublicKey: string, data: string): $CancellablePromise {
- return $Call.ByID(2890283020, writer, recipientPublicKey, data);
-}
-
-/**
- * EncryptPGPToString encrypts data for a recipient and returns the ciphertext.
- */
-export function EncryptPGPToString(recipientPublicKey: string, data: string): $CancellablePromise {
- return $Call.ByID(165721080, recipientPublicKey, data);
-}
-
-/**
- * EncryptRSA encrypts data using an RSA public key.
- * Takes PEM-encoded public key and returns base64-encoded ciphertext.
- */
-export function EncryptRSA(publicKeyPEM: string, plaintext: string): $CancellablePromise {
- return $Call.ByID(2625148021, publicKeyPEM, plaintext);
-}
-
-/**
- * Fletcher16 computes the Fletcher-16 checksum.
- */
-export function Fletcher16(payload: string): $CancellablePromise {
- return $Call.ByID(1946934332, payload);
-}
-
-/**
- * Fletcher32 computes the Fletcher-32 checksum.
- */
-export function Fletcher32(payload: string): $CancellablePromise {
- return $Call.ByID(134657290, payload);
-}
-
-/**
- * Fletcher64 computes the Fletcher-64 checksum.
- */
-export function Fletcher64(payload: string): $CancellablePromise {
- return $Call.ByID(4160741397, payload);
-}
-
-/**
- * GeneratePGPKeyPair generates a PGP key pair.
- * Note: Enchantrix PGP keys are not passphrase-protected. The comment parameter
- * is used instead of passphrase for key metadata.
- */
-export function GeneratePGPKeyPair(name: string, email: string, comment: string): $CancellablePromise<[string, string]> {
- return $Call.ByID(404306973, name, email, comment);
-}
-
-/**
- * GenerateRSAKeyPair generates an RSA key pair with the specified bit size.
- * Returns PEM-encoded public and private keys.
- */
-export function GenerateRSAKeyPair(bits: number): $CancellablePromise<[string, string]> {
- return $Call.ByID(931266286, bits);
-}
-
-/**
- * HandleIPCEvents processes IPC messages for the crypt service.
- */
-export function HandleIPCEvents(c: core$0.Core | null, msg: core$0.Message): $CancellablePromise {
- return $Call.ByID(2172739989, c, msg);
-}
-
-/**
- * Hash computes a hash of the payload using the specified algorithm.
- */
-export function Hash(lib: $models.HashType, payload: string): $CancellablePromise {
- return $Call.ByID(2586228864, lib, payload);
-}
-
-/**
- * IsHashAlgo checks if the given string is a valid hash algorithm.
- */
-export function IsHashAlgo(algo: string): $CancellablePromise {
- return $Call.ByID(326857739, algo);
-}
-
-/**
- * Luhn validates a number using the Luhn algorithm.
- */
-export function Luhn(payload: string): $CancellablePromise {
- return $Call.ByID(2072043901, payload);
-}
-
-/**
- * SignPGP signs data with a PGP private key.
- */
-export function SignPGP(privateKey: string, data: string): $CancellablePromise {
- return $Call.ByID(1808182420, privateKey, data);
-}
-
-/**
- * SymmetricallyEncryptPGP encrypts data using a passphrase and writes to the provided writer.
- */
-export function SymmetricallyEncryptPGP(writer: io$0.Writer, data: string, passphrase: string): $CancellablePromise {
- return $Call.ByID(1965343785, writer, data, passphrase);
-}
-
-/**
- * VerifyPGP verifies a PGP signature.
- */
-export function VerifyPGP(publicKey: string, data: string, signature: string): $CancellablePromise {
- return $Call.ByID(2355577904, publicKey, data, signature);
-}
-
-// Private type creation functions
-const $$createType0 = core$0.Core.createFrom;
-const $$createType1 = $Create.Nullable($$createType0);
diff --git a/cmd/core-gui/frontend/bindings/github.com/Snider/Core/pkg/display/index.ts b/cmd/core-gui/frontend/bindings/github.com/Snider/Core/pkg/display/index.ts
deleted file mode 100644
index 9064bee..0000000
--- a/cmd/core-gui/frontend/bindings/github.com/Snider/Core/pkg/display/index.ts
+++ /dev/null
@@ -1,34 +0,0 @@
-// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
-// This file is automatically generated. DO NOT EDIT
-
-import * as Service from "./service.js";
-export {
- Service
-};
-
-export {
- CreateWindowOptions,
- FileFilter,
- Layout,
- LayoutInfo,
- NotificationOptions,
- OpenDirectoryOptions,
- OpenFileOptions,
- SaveFileOptions,
- ScreenInfo,
- Service,
- SnapPosition,
- ThemeInfo,
- TileMode,
- TrayMenuItem,
- WSEventManager,
- Window,
- WindowInfo,
- WindowState,
- WorkArea,
- WorkflowType
-} from "./models.js";
-
-export type {
- WindowOption
-} from "./models.js";
diff --git a/cmd/core-gui/frontend/bindings/github.com/Snider/Core/pkg/display/models.ts b/cmd/core-gui/frontend/bindings/github.com/Snider/Core/pkg/display/models.ts
deleted file mode 100644
index 933ffd4..0000000
--- a/cmd/core-gui/frontend/bindings/github.com/Snider/Core/pkg/display/models.ts
+++ /dev/null
@@ -1,641 +0,0 @@
-// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
-// This file is automatically generated. DO NOT EDIT
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import { Create as $Create } from "@wailsio/runtime";
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import * as application$0 from "../../../../wailsapp/wails/v3/pkg/application/models.js";
-
-/**
- * CreateWindowOptions contains options for creating a new window.
- */
-export class CreateWindowOptions {
- "name": string;
- "title"?: string;
- "url"?: string;
- "x"?: number;
- "y"?: number;
- "width"?: number;
- "height"?: number;
-
- /** Creates a new CreateWindowOptions instance. */
- constructor($$source: Partial = {}) {
- if (!("name" in $$source)) {
- this["name"] = "";
- }
-
- Object.assign(this, $$source);
- }
-
- /**
- * Creates a new CreateWindowOptions instance from a string or object.
- */
- static createFrom($$source: any = {}): CreateWindowOptions {
- let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
- return new CreateWindowOptions($$parsedSource as Partial);
- }
-}
-
-/**
- * FileFilter represents a file type filter for dialogs.
- */
-export class FileFilter {
- "displayName": string;
- "pattern": string;
- "extensions"?: string[];
-
- /** Creates a new FileFilter instance. */
- constructor($$source: Partial = {}) {
- if (!("displayName" in $$source)) {
- this["displayName"] = "";
- }
- if (!("pattern" in $$source)) {
- this["pattern"] = "";
- }
-
- Object.assign(this, $$source);
- }
-
- /**
- * Creates a new FileFilter instance from a string or object.
- */
- static createFrom($$source: any = {}): FileFilter {
- const $$createField2_0 = $$createType0;
- let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
- if ("extensions" in $$parsedSource) {
- $$parsedSource["extensions"] = $$createField2_0($$parsedSource["extensions"]);
- }
- return new FileFilter($$parsedSource as Partial);
- }
-}
-
-/**
- * Layout represents a saved window arrangement.
- */
-export class Layout {
- "name": string;
- "windows": { [_: string]: WindowState };
- "createdAt": number;
- "updatedAt": number;
-
- /** Creates a new Layout instance. */
- constructor($$source: Partial = {}) {
- if (!("name" in $$source)) {
- this["name"] = "";
- }
- if (!("windows" in $$source)) {
- this["windows"] = {};
- }
- if (!("createdAt" in $$source)) {
- this["createdAt"] = 0;
- }
- if (!("updatedAt" in $$source)) {
- this["updatedAt"] = 0;
- }
-
- Object.assign(this, $$source);
- }
-
- /**
- * Creates a new Layout instance from a string or object.
- */
- static createFrom($$source: any = {}): Layout {
- const $$createField1_0 = $$createType2;
- let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
- if ("windows" in $$parsedSource) {
- $$parsedSource["windows"] = $$createField1_0($$parsedSource["windows"]);
- }
- return new Layout($$parsedSource as Partial);
- }
-}
-
-/**
- * LayoutInfo contains summary information about a layout.
- */
-export class LayoutInfo {
- "name": string;
- "windowCount": number;
- "createdAt": number;
- "updatedAt": number;
-
- /** Creates a new LayoutInfo instance. */
- constructor($$source: Partial = {}) {
- if (!("name" in $$source)) {
- this["name"] = "";
- }
- if (!("windowCount" in $$source)) {
- this["windowCount"] = 0;
- }
- if (!("createdAt" in $$source)) {
- this["createdAt"] = 0;
- }
- if (!("updatedAt" in $$source)) {
- this["updatedAt"] = 0;
- }
-
- Object.assign(this, $$source);
- }
-
- /**
- * Creates a new LayoutInfo instance from a string or object.
- */
- static createFrom($$source: any = {}): LayoutInfo {
- let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
- return new LayoutInfo($$parsedSource as Partial);
- }
-}
-
-/**
- * NotificationOptions contains options for showing a notification.
- */
-export class NotificationOptions {
- "id"?: string;
- "title": string;
- "message": string;
- "subtitle"?: string;
-
- /** Creates a new NotificationOptions instance. */
- constructor($$source: Partial = {}) {
- if (!("title" in $$source)) {
- this["title"] = "";
- }
- if (!("message" in $$source)) {
- this["message"] = "";
- }
-
- Object.assign(this, $$source);
- }
-
- /**
- * Creates a new NotificationOptions instance from a string or object.
- */
- static createFrom($$source: any = {}): NotificationOptions {
- let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
- return new NotificationOptions($$parsedSource as Partial);
- }
-}
-
-/**
- * OpenDirectoryOptions contains options for the directory picker.
- */
-export class OpenDirectoryOptions {
- "title"?: string;
- "defaultDirectory"?: string;
- "allowMultiple"?: boolean;
-
- /** Creates a new OpenDirectoryOptions instance. */
- constructor($$source: Partial = {}) {
-
- Object.assign(this, $$source);
- }
-
- /**
- * Creates a new OpenDirectoryOptions instance from a string or object.
- */
- static createFrom($$source: any = {}): OpenDirectoryOptions {
- let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
- return new OpenDirectoryOptions($$parsedSource as Partial);
- }
-}
-
-/**
- * OpenFileOptions contains options for the open file dialog.
- */
-export class OpenFileOptions {
- "title"?: string;
- "defaultDirectory"?: string;
- "defaultFilename"?: string;
- "filters"?: FileFilter[];
- "allowMultiple"?: boolean;
-
- /** Creates a new OpenFileOptions instance. */
- constructor($$source: Partial = {}) {
-
- Object.assign(this, $$source);
- }
-
- /**
- * Creates a new OpenFileOptions instance from a string or object.
- */
- static createFrom($$source: any = {}): OpenFileOptions {
- const $$createField3_0 = $$createType4;
- let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
- if ("filters" in $$parsedSource) {
- $$parsedSource["filters"] = $$createField3_0($$parsedSource["filters"]);
- }
- return new OpenFileOptions($$parsedSource as Partial);
- }
-}
-
-/**
- * SaveFileOptions contains options for the save file dialog.
- */
-export class SaveFileOptions {
- "title"?: string;
- "defaultDirectory"?: string;
- "defaultFilename"?: string;
- "filters"?: FileFilter[];
-
- /** Creates a new SaveFileOptions instance. */
- constructor($$source: Partial = {}) {
-
- Object.assign(this, $$source);
- }
-
- /**
- * Creates a new SaveFileOptions instance from a string or object.
- */
- static createFrom($$source: any = {}): SaveFileOptions {
- const $$createField3_0 = $$createType4;
- let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
- if ("filters" in $$parsedSource) {
- $$parsedSource["filters"] = $$createField3_0($$parsedSource["filters"]);
- }
- return new SaveFileOptions($$parsedSource as Partial);
- }
-}
-
-/**
- * ScreenInfo contains information about a display screen.
- */
-export class ScreenInfo {
- "id": string;
- "name": string;
- "x": number;
- "y": number;
- "width": number;
- "height": number;
- "primary": boolean;
-
- /** Creates a new ScreenInfo instance. */
- constructor($$source: Partial = {}) {
- if (!("id" in $$source)) {
- this["id"] = "";
- }
- if (!("name" in $$source)) {
- this["name"] = "";
- }
- if (!("x" in $$source)) {
- this["x"] = 0;
- }
- if (!("y" in $$source)) {
- this["y"] = 0;
- }
- if (!("width" in $$source)) {
- this["width"] = 0;
- }
- if (!("height" in $$source)) {
- this["height"] = 0;
- }
- if (!("primary" in $$source)) {
- this["primary"] = false;
- }
-
- Object.assign(this, $$source);
- }
-
- /**
- * Creates a new ScreenInfo instance from a string or object.
- */
- static createFrom($$source: any = {}): ScreenInfo {
- let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
- return new ScreenInfo($$parsedSource as Partial);
- }
-}
-
-/**
- * Service manages windowing, dialogs, and other visual elements.
- * It is the primary interface for interacting with the UI.
- */
-export class Service {
-
- /** Creates a new Service instance. */
- constructor($$source: Partial = {}) {
-
- Object.assign(this, $$source);
- }
-
- /**
- * Creates a new Service instance from a string or object.
- */
- static createFrom($$source: any = {}): Service {
- let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
- return new Service($$parsedSource as Partial);
- }
-}
-
-/**
- * SnapPosition represents positions for snapping windows.
- */
-export enum SnapPosition {
- /**
- * The Go zero value for the underlying type of the enum.
- */
- $zero = "",
-
- SnapLeft = "left",
- SnapRight = "right",
- SnapTop = "top",
- SnapBottom = "bottom",
- SnapTopLeft = "top-left",
- SnapTopRight = "top-right",
- SnapBottomLeft = "bottom-left",
- SnapBottomRight = "bottom-right",
- SnapCenter = "center",
-};
-
-/**
- * ThemeInfo contains information about the current theme.
- */
-export class ThemeInfo {
- "isDark": boolean;
-
- /**
- * "dark" or "light"
- */
- "theme": string;
-
- /**
- * Whether following system theme
- */
- "system": boolean;
-
- /** Creates a new ThemeInfo instance. */
- constructor($$source: Partial = {}) {
- if (!("isDark" in $$source)) {
- this["isDark"] = false;
- }
- if (!("theme" in $$source)) {
- this["theme"] = "";
- }
- if (!("system" in $$source)) {
- this["system"] = false;
- }
-
- Object.assign(this, $$source);
- }
-
- /**
- * Creates a new ThemeInfo instance from a string or object.
- */
- static createFrom($$source: any = {}): ThemeInfo {
- let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
- return new ThemeInfo($$parsedSource as Partial);
- }
-}
-
-/**
- * TileMode represents different tiling arrangements.
- */
-export enum TileMode {
- /**
- * The Go zero value for the underlying type of the enum.
- */
- $zero = "",
-
- TileModeLeft = "left",
- TileModeRight = "right",
- TileModeTop = "top",
- TileModeBottom = "bottom",
- TileModeTopLeft = "top-left",
- TileModeTopRight = "top-right",
- TileModeBottomLeft = "bottom-left",
- TileModeBottomRight = "bottom-right",
- TileModeGrid = "grid",
-};
-
-/**
- * TrayMenuItem represents a menu item for the system tray.
- */
-export class TrayMenuItem {
- "label": string;
-
- /**
- * "normal", "separator", "checkbox", "radio"
- */
- "type"?: string;
-
- /**
- * for checkbox/radio items
- */
- "checked"?: boolean;
- "disabled"?: boolean;
- "tooltip"?: string;
- "submenu"?: TrayMenuItem[];
-
- /**
- * ID for callback
- */
- "actionId"?: string;
-
- /** Creates a new TrayMenuItem instance. */
- constructor($$source: Partial = {}) {
- if (!("label" in $$source)) {
- this["label"] = "";
- }
-
- Object.assign(this, $$source);
- }
-
- /**
- * Creates a new TrayMenuItem instance from a string or object.
- */
- static createFrom($$source: any = {}): TrayMenuItem {
- const $$createField5_0 = $$createType6;
- let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
- if ("submenu" in $$parsedSource) {
- $$parsedSource["submenu"] = $$createField5_0($$parsedSource["submenu"]);
- }
- return new TrayMenuItem($$parsedSource as Partial);
- }
-}
-
-/**
- * WSEventManager manages WebSocket connections and event subscriptions.
- */
-export class WSEventManager {
-
- /** Creates a new WSEventManager instance. */
- constructor($$source: Partial = {}) {
-
- Object.assign(this, $$source);
- }
-
- /**
- * Creates a new WSEventManager instance from a string or object.
- */
- static createFrom($$source: any = {}): WSEventManager {
- let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
- return new WSEventManager($$parsedSource as Partial);
- }
-}
-
-export const Window = application$0.WebviewWindowOptions;
-export type Window = application$0.WebviewWindowOptions;
-
-/**
- * WindowInfo contains information about a window for MCP.
- */
-export class WindowInfo {
- "name": string;
- "x": number;
- "y": number;
- "width": number;
- "height": number;
- "maximized": boolean;
-
- /** Creates a new WindowInfo instance. */
- constructor($$source: Partial = {}) {
- if (!("name" in $$source)) {
- this["name"] = "";
- }
- if (!("x" in $$source)) {
- this["x"] = 0;
- }
- if (!("y" in $$source)) {
- this["y"] = 0;
- }
- if (!("width" in $$source)) {
- this["width"] = 0;
- }
- if (!("height" in $$source)) {
- this["height"] = 0;
- }
- if (!("maximized" in $$source)) {
- this["maximized"] = false;
- }
-
- Object.assign(this, $$source);
- }
-
- /**
- * Creates a new WindowInfo instance from a string or object.
- */
- static createFrom($$source: any = {}): WindowInfo {
- let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
- return new WindowInfo($$parsedSource as Partial);
- }
-}
-
-export type WindowOption = any;
-
-/**
- * WindowState holds the persisted state of a window.
- */
-export class WindowState {
- "x": number;
- "y": number;
- "width": number;
- "height": number;
- "maximized": boolean;
-
- /**
- * Screen identifier for multi-monitor
- */
- "screen"?: string;
-
- /**
- * Last URL/route
- */
- "url"?: string;
- "updatedAt": number;
-
- /** Creates a new WindowState instance. */
- constructor($$source: Partial = {}) {
- if (!("x" in $$source)) {
- this["x"] = 0;
- }
- if (!("y" in $$source)) {
- this["y"] = 0;
- }
- if (!("width" in $$source)) {
- this["width"] = 0;
- }
- if (!("height" in $$source)) {
- this["height"] = 0;
- }
- if (!("maximized" in $$source)) {
- this["maximized"] = false;
- }
- if (!("updatedAt" in $$source)) {
- this["updatedAt"] = 0;
- }
-
- Object.assign(this, $$source);
- }
-
- /**
- * Creates a new WindowState instance from a string or object.
- */
- static createFrom($$source: any = {}): WindowState {
- let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
- return new WindowState($$parsedSource as Partial);
- }
-}
-
-/**
- * WorkArea represents usable screen space (excluding dock, menubar, etc).
- */
-export class WorkArea {
- "screenId": string;
- "x": number;
- "y": number;
- "width": number;
- "height": number;
-
- /** Creates a new WorkArea instance. */
- constructor($$source: Partial = {}) {
- if (!("screenId" in $$source)) {
- this["screenId"] = "";
- }
- if (!("x" in $$source)) {
- this["x"] = 0;
- }
- if (!("y" in $$source)) {
- this["y"] = 0;
- }
- if (!("width" in $$source)) {
- this["width"] = 0;
- }
- if (!("height" in $$source)) {
- this["height"] = 0;
- }
-
- Object.assign(this, $$source);
- }
-
- /**
- * Creates a new WorkArea instance from a string or object.
- */
- static createFrom($$source: any = {}): WorkArea {
- let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
- return new WorkArea($$parsedSource as Partial);
- }
-}
-
-/**
- * WorkflowType represents predefined workflow layouts.
- */
-export enum WorkflowType {
- /**
- * The Go zero value for the underlying type of the enum.
- */
- $zero = "",
-
- WorkflowCoding = "coding",
- WorkflowDebugging = "debugging",
- WorkflowPresenting = "presenting",
- WorkflowSideBySide = "side-by-side",
-};
-
-// Private type creation functions
-const $$createType0 = $Create.Array($Create.Any);
-const $$createType1 = WindowState.createFrom;
-const $$createType2 = $Create.Map($Create.Any, $$createType1);
-const $$createType3 = FileFilter.createFrom;
-const $$createType4 = $Create.Array($$createType3);
-const $$createType5 = TrayMenuItem.createFrom;
-const $$createType6 = $Create.Array($$createType5);
diff --git a/cmd/core-gui/frontend/bindings/github.com/Snider/Core/pkg/display/service.ts b/cmd/core-gui/frontend/bindings/github.com/Snider/Core/pkg/display/service.ts
deleted file mode 100644
index 378c8bd..0000000
--- a/cmd/core-gui/frontend/bindings/github.com/Snider/Core/pkg/display/service.ts
+++ /dev/null
@@ -1,618 +0,0 @@
-// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
-// This file is automatically generated. DO NOT EDIT
-
-/**
- * Service manages windowing, dialogs, and other visual elements.
- * It is the primary interface for interacting with the UI.
- * @module
- */
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import { Call as $Call, CancellablePromise as $CancellablePromise, Create as $Create } from "@wailsio/runtime";
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import * as core$0 from "../core/models.js";
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import * as application$0 from "../../../../wailsapp/wails/v3/pkg/application/models.js";
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import * as notifications$0 from "../../../../wailsapp/wails/v3/pkg/services/notifications/models.js";
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import * as $models from "./models.js";
-
-/**
- * ApplyWorkflowLayout applies a predefined layout for a specific workflow.
- */
-export function ApplyWorkflowLayout(workflow: $models.WorkflowType): $CancellablePromise {
- return $Call.ByID(476043825, workflow);
-}
-
-/**
- * CheckNotificationPermission checks if notifications are authorized.
- */
-export function CheckNotificationPermission(): $CancellablePromise {
- return $Call.ByID(3457032254);
-}
-
-/**
- * ClearClipboard clears the clipboard by setting empty text.
- */
-export function ClearClipboard(): $CancellablePromise {
- return $Call.ByID(841655875);
-}
-
-/**
- * CloseWindow closes a window by name.
- */
-export function CloseWindow(name: string): $CancellablePromise {
- return $Call.ByID(3433483506, name);
-}
-
-/**
- * Config returns the registered Config service from the core application.
- * This is a convenience method for accessing the application's configuration.
- */
-export function Config(): $CancellablePromise {
- return $Call.ByID(2232242108);
-}
-
-/**
- * ConfirmDialog shows a confirmation dialog and returns the user's choice.
- */
-export function ConfirmDialog(title: string, message: string): $CancellablePromise {
- return $Call.ByID(3496660522, title, message);
-}
-
-/**
- * Core returns the central core instance, providing access to all registered services.
- */
-export function Core(): $CancellablePromise {
- return $Call.ByID(1945729093).then(($result: any) => {
- return $$createType1($result);
- });
-}
-
-/**
- * CreateWindow creates a new window with the specified options.
- */
-export function CreateWindow(opts: $models.CreateWindowOptions): $CancellablePromise<$models.WindowInfo | null> {
- return $Call.ByID(2268870170, opts).then(($result: any) => {
- return $$createType3($result);
- });
-}
-
-/**
- * DeleteLayout removes a saved layout by name.
- */
-export function DeleteLayout(name: string): $CancellablePromise {
- return $Call.ByID(431293335, name);
-}
-
-/**
- * FocusWindow brings a window to the front.
- */
-export function FocusWindow(name: string): $CancellablePromise {
- return $Call.ByID(3679876474, name);
-}
-
-/**
- * GetEventManager returns the event manager for WebSocket event subscriptions.
- */
-export function GetEventManager(): $CancellablePromise<$models.WSEventManager | null> {
- return $Call.ByID(4088339441).then(($result: any) => {
- return $$createType5($result);
- });
-}
-
-/**
- * GetFocusedWindow returns the name of the currently focused window, or empty if none.
- */
-export function GetFocusedWindow(): $CancellablePromise {
- return $Call.ByID(4250461515);
-}
-
-/**
- * GetLayout returns a specific layout by name.
- */
-export function GetLayout(name: string): $CancellablePromise<$models.Layout | null> {
- return $Call.ByID(2300207048, name).then(($result: any) => {
- return $$createType7($result);
- });
-}
-
-/**
- * GetPrimaryScreen returns information about the primary screen.
- */
-export function GetPrimaryScreen(): $CancellablePromise<$models.ScreenInfo | null> {
- return $Call.ByID(1543157204).then(($result: any) => {
- return $$createType9($result);
- });
-}
-
-/**
- * GetSavedWindowStates returns all saved window states.
- */
-export function GetSavedWindowStates(): $CancellablePromise<{ [_: string]: $models.WindowState | null }> {
- return $Call.ByID(959704111).then(($result: any) => {
- return $$createType12($result);
- });
-}
-
-/**
- * GetScreen returns information about a specific screen by ID.
- */
-export function GetScreen(id: string): $CancellablePromise<$models.ScreenInfo | null> {
- return $Call.ByID(461483954, id).then(($result: any) => {
- return $$createType9($result);
- });
-}
-
-/**
- * GetScreenAtPoint returns the screen containing a specific point.
- */
-export function GetScreenAtPoint(x: number, y: number): $CancellablePromise<$models.ScreenInfo | null> {
- return $Call.ByID(1700073503, x, y).then(($result: any) => {
- return $$createType9($result);
- });
-}
-
-/**
- * GetScreenForWindow returns the screen containing a specific window.
- */
-export function GetScreenForWindow(name: string): $CancellablePromise<$models.ScreenInfo | null> {
- return $Call.ByID(835390401, name).then(($result: any) => {
- return $$createType9($result);
- });
-}
-
-/**
- * GetScreens returns information about all available screens.
- */
-export function GetScreens(): $CancellablePromise<$models.ScreenInfo[]> {
- return $Call.ByID(237481171).then(($result: any) => {
- return $$createType13($result);
- });
-}
-
-/**
- * GetSystemTheme returns the system's theme preference.
- * This is the same as GetTheme since Wails follows the system theme.
- */
-export function GetSystemTheme(): $CancellablePromise<$models.ThemeInfo> {
- return $Call.ByID(3150417360).then(($result: any) => {
- return $$createType14($result);
- });
-}
-
-/**
- * GetTheme returns the current application theme.
- */
-export function GetTheme(): $CancellablePromise<$models.ThemeInfo> {
- return $Call.ByID(4073748231).then(($result: any) => {
- return $$createType14($result);
- });
-}
-
-/**
- * GetTrayInfo returns information about the current tray state.
- */
-export function GetTrayInfo(): $CancellablePromise<{ [_: string]: any }> {
- return $Call.ByID(3859382794).then(($result: any) => {
- return $$createType15($result);
- });
-}
-
-/**
- * GetWindowInfo returns information about a window by name.
- */
-export function GetWindowInfo(name: string): $CancellablePromise<$models.WindowInfo | null> {
- return $Call.ByID(349034490, name).then(($result: any) => {
- return $$createType3($result);
- });
-}
-
-/**
- * GetWindowTitle returns the title of a window by name.
- * Note: Wails v3 doesn't expose a title getter, so we track it ourselves or return the name.
- */
-export function GetWindowTitle(name: string): $CancellablePromise {
- return $Call.ByID(2943922308, name);
-}
-
-/**
- * GetWorkAreas returns the usable work area for all screens.
- */
-export function GetWorkAreas(): $CancellablePromise<$models.WorkArea[]> {
- return $Call.ByID(2006398407).then(($result: any) => {
- return $$createType17($result);
- });
-}
-
-/**
- * HasClipboard checks if the clipboard has content.
- */
-export function HasClipboard(): $CancellablePromise {
- return $Call.ByID(2739125668);
-}
-
-/**
- * ListLayouts returns all saved layout names with metadata.
- */
-export function ListLayouts(): $CancellablePromise<$models.LayoutInfo[]> {
- return $Call.ByID(1178398225).then(($result: any) => {
- return $$createType19($result);
- });
-}
-
-/**
- * ListWindowInfos returns information about all windows.
- */
-export function ListWindowInfos(): $CancellablePromise<$models.WindowInfo[]> {
- return $Call.ByID(1417409467).then(($result: any) => {
- return $$createType20($result);
- });
-}
-
-/**
- * MaximizeWindow maximizes a window.
- */
-export function MaximizeWindow(name: string): $CancellablePromise {
- return $Call.ByID(3409085844, name);
-}
-
-/**
- * MinimizeWindow minimizes a window.
- */
-export function MinimizeWindow(name: string): $CancellablePromise {
- return $Call.ByID(282422382, name);
-}
-
-/**
- * NewWithOptions creates a new window by applying a series of options.
- */
-export function NewWithOptions(...opts: $models.WindowOption[]): $CancellablePromise {
- return $Call.ByID(2933522506, opts).then(($result: any) => {
- return $$createType22($result);
- });
-}
-
-/**
- * NewWithStruct creates a new window using the provided options and returns its handle.
- */
-export function NewWithStruct(options: $models.Window | null): $CancellablePromise {
- return $Call.ByID(51896165, options).then(($result: any) => {
- return $$createType22($result);
- });
-}
-
-/**
- * NewWithURL creates a new default window pointing to the specified URL.
- */
-export function NewWithURL(url: string): $CancellablePromise {
- return $Call.ByID(1128847469, url).then(($result: any) => {
- return $$createType22($result);
- });
-}
-
-/**
- * OpenDirectoryDialog shows a directory picker.
- */
-export function OpenDirectoryDialog(opts: $models.OpenDirectoryOptions): $CancellablePromise {
- return $Call.ByID(2018109069, opts);
-}
-
-/**
- * OpenFileDialog shows a file open dialog and returns selected path(s).
- */
-export function OpenFileDialog(opts: $models.OpenFileOptions): $CancellablePromise {
- return $Call.ByID(1105329884, opts).then(($result: any) => {
- return $$createType23($result);
- });
-}
-
-/**
- * OpenSingleFileDialog shows a file open dialog for a single file.
- */
-export function OpenSingleFileDialog(opts: $models.OpenFileOptions): $CancellablePromise {
- return $Call.ByID(2818039508, opts);
-}
-
-/**
- * OpenWindow creates a new window with the given options. If no options are
- * provided, it will use the default options.
- *
- * example:
- *
- * err := displayService.OpenWindow(
- * display.WithName("my-window"),
- * display.WithTitle("My Window"),
- * display.WithWidth(800),
- * display.WithHeight(600),
- * )
- * if err != nil {
- * log.Fatal(err)
- * }
- */
-export function OpenWindow(...opts: $models.WindowOption[]): $CancellablePromise {
- return $Call.ByID(1872737238, opts);
-}
-
-/**
- * PromptDialog shows an input prompt dialog.
- * Note: Wails v3 doesn't have a native prompt dialog, so this uses a question dialog.
- */
-export function PromptDialog(title: string, message: string): $CancellablePromise<[string, boolean]> {
- return $Call.ByID(3860540752, title, message);
-}
-
-/**
- * ReadClipboard reads text content from the system clipboard.
- */
-export function ReadClipboard(): $CancellablePromise {
- return $Call.ByID(353696084);
-}
-
-/**
- * RegisterTrayMenuCallback registers a callback for a tray menu action ID.
- */
-export function RegisterTrayMenuCallback(actionID: string, callback: any): $CancellablePromise {
- return $Call.ByID(2238034275, actionID, callback);
-}
-
-/**
- * RequestNotificationPermission requests permission for native notifications.
- */
-export function RequestNotificationPermission(): $CancellablePromise {
- return $Call.ByID(1315305223);
-}
-
-/**
- * ResetWindowState clears saved window positions.
- */
-export function ResetWindowState(): $CancellablePromise {
- return $Call.ByID(610344254);
-}
-
-/**
- * RestoreLayout applies a saved layout, positioning all windows.
- */
-export function RestoreLayout(name: string): $CancellablePromise {
- return $Call.ByID(2529654318, name);
-}
-
-/**
- * RestoreWindow restores a maximized/minimized window.
- */
-export function RestoreWindow(name: string): $CancellablePromise {
- return $Call.ByID(2762972996, name);
-}
-
-/**
- * SaveFileDialog shows a save file dialog and returns the selected path.
- */
-export function SaveFileDialog(opts: $models.SaveFileOptions): $CancellablePromise {
- return $Call.ByID(3969587317, opts);
-}
-
-/**
- * SaveLayout saves the current window arrangement as a named layout.
- */
-export function SaveLayout(name: string): $CancellablePromise {
- return $Call.ByID(1426429509, name);
-}
-
-/**
- * SelectDirectory opens a directory selection dialog and returns the selected path.
- */
-export function SelectDirectory(): $CancellablePromise {
- return $Call.ByID(968138697);
-}
-
-/**
- * SetNotifier sets the notifications service for native notifications.
- */
-export function SetNotifier(notifier: notifications$0.NotificationService | null): $CancellablePromise {
- return $Call.ByID(4060884340, notifier);
-}
-
-/**
- * SetTrayIcon sets the system tray icon from raw PNG data.
- */
-export function SetTrayIcon(iconData: string): $CancellablePromise {
- return $Call.ByID(888726123, iconData);
-}
-
-/**
- * SetTrayLabel sets the system tray label text.
- */
-export function SetTrayLabel(label: string): $CancellablePromise {
- return $Call.ByID(3980670180, label);
-}
-
-/**
- * SetTrayMenu sets the system tray menu from a list of menu items.
- */
-export function SetTrayMenu(items: $models.TrayMenuItem[]): $CancellablePromise {
- return $Call.ByID(3981223617, items);
-}
-
-/**
- * SetTrayTooltip sets the system tray tooltip text.
- */
-export function SetTrayTooltip(tooltip: string): $CancellablePromise {
- return $Call.ByID(85856277, tooltip);
-}
-
-/**
- * SetWindowAlwaysOnTop sets whether a window stays on top of other windows.
- */
-export function SetWindowAlwaysOnTop(name: string, alwaysOnTop: boolean): $CancellablePromise {
- return $Call.ByID(2197119377, name, alwaysOnTop);
-}
-
-/**
- * SetWindowBackgroundColour sets the background color of a window with alpha for transparency.
- * Note: On Windows, only alpha 0 or 255 are supported. Other values treated as 255.
- */
-export function SetWindowBackgroundColour(name: string, r: number, g: number, b: number, a: number): $CancellablePromise {
- return $Call.ByID(3749517962, name, r, g, b, a);
-}
-
-/**
- * SetWindowBounds sets both position and size of a window.
- */
-export function SetWindowBounds(name: string, x: number, y: number, width: number, height: number): $CancellablePromise {
- return $Call.ByID(2084950575, name, x, y, width, height);
-}
-
-/**
- * SetWindowFullscreen sets a window to fullscreen mode.
- */
-export function SetWindowFullscreen(name: string, fullscreen: boolean): $CancellablePromise {
- return $Call.ByID(4232233979, name, fullscreen);
-}
-
-/**
- * SetWindowPosition moves a window to the specified position.
- */
-export function SetWindowPosition(name: string, x: number, y: number): $CancellablePromise {
- return $Call.ByID(3018518601, name, x, y);
-}
-
-/**
- * SetWindowSize resizes a window.
- */
-export function SetWindowSize(name: string, width: number, height: number): $CancellablePromise {
- return $Call.ByID(2987817615, name, width, height);
-}
-
-/**
- * SetWindowTitle changes a window's title.
- */
-export function SetWindowTitle(name: string, title: string): $CancellablePromise {
- return $Call.ByID(3349151432, name, title);
-}
-
-/**
- * SetWindowVisibility shows or hides a window.
- */
-export function SetWindowVisibility(name: string, visible: boolean): $CancellablePromise {
- return $Call.ByID(121431198, name, visible);
-}
-
-/**
- * ShowEnvironmentDialog displays a dialog containing detailed information about
- * the application's runtime environment. This is useful for debugging and
- * understanding the context in which the application is running.
- *
- * example:
- *
- * displayService.ShowEnvironmentDialog()
- */
-export function ShowEnvironmentDialog(): $CancellablePromise {
- return $Call.ByID(3261510832);
-}
-
-/**
- * ShowErrorNotification shows an error notification.
- */
-export function ShowErrorNotification(title: string, message: string): $CancellablePromise {
- return $Call.ByID(1228262280, title, message);
-}
-
-/**
- * ShowInfoNotification shows an info notification with a simple message.
- */
-export function ShowInfoNotification(title: string, message: string): $CancellablePromise {
- return $Call.ByID(2419366044, title, message);
-}
-
-/**
- * ShowNotification displays a native system notification.
- * Falls back to dialog if notifier is not available.
- */
-export function ShowNotification(opts: $models.NotificationOptions): $CancellablePromise {
- return $Call.ByID(2416075800, opts);
-}
-
-/**
- * ShowWarningNotification shows a warning notification.
- */
-export function ShowWarningNotification(title: string, message: string): $CancellablePromise {
- return $Call.ByID(200899338, title, message);
-}
-
-/**
- * SnapWindow snaps a window to a screen edge or corner.
- */
-export function SnapWindow(name: string, position: $models.SnapPosition): $CancellablePromise {
- return $Call.ByID(3088366266, name, position);
-}
-
-/**
- * StackWindows arranges windows in a cascade (stacked) pattern.
- * Each window is offset by the given amount from the previous one.
- */
-export function StackWindows(windowNames: string[], offsetX: number, offsetY: number): $CancellablePromise {
- return $Call.ByID(3309040327, windowNames, offsetX, offsetY);
-}
-
-/**
- * Startup is called when the app starts. It initializes the display service
- * and sets up the main application window and system tray.
- *
- * err := displayService.Startup(ctx)
- * if err != nil {
- * log.Fatal(err)
- * }
- */
-export function Startup(): $CancellablePromise {
- return $Call.ByID(1664741927);
-}
-
-/**
- * TileWindows arranges windows in a tiled layout.
- * mode can be: left, right, top, bottom, top-left, top-right, bottom-left, bottom-right, grid
- * If windowNames is empty, tiles all windows.
- */
-export function TileWindows(mode: $models.TileMode, windowNames: string[]): $CancellablePromise {
- return $Call.ByID(1638500379, mode, windowNames);
-}
-
-/**
- * WriteClipboard writes text content to the system clipboard.
- */
-export function WriteClipboard(text: string): $CancellablePromise {
- return $Call.ByID(2577466505, text);
-}
-
-// Private type creation functions
-const $$createType0 = core$0.Core.createFrom;
-const $$createType1 = $Create.Nullable($$createType0);
-const $$createType2 = $models.WindowInfo.createFrom;
-const $$createType3 = $Create.Nullable($$createType2);
-const $$createType4 = $models.WSEventManager.createFrom;
-const $$createType5 = $Create.Nullable($$createType4);
-const $$createType6 = $models.Layout.createFrom;
-const $$createType7 = $Create.Nullable($$createType6);
-const $$createType8 = $models.ScreenInfo.createFrom;
-const $$createType9 = $Create.Nullable($$createType8);
-const $$createType10 = $models.WindowState.createFrom;
-const $$createType11 = $Create.Nullable($$createType10);
-const $$createType12 = $Create.Map($Create.Any, $$createType11);
-const $$createType13 = $Create.Array($$createType8);
-const $$createType14 = $models.ThemeInfo.createFrom;
-const $$createType15 = $Create.Map($Create.Any, $Create.Any);
-const $$createType16 = $models.WorkArea.createFrom;
-const $$createType17 = $Create.Array($$createType16);
-const $$createType18 = $models.LayoutInfo.createFrom;
-const $$createType19 = $Create.Array($$createType18);
-const $$createType20 = $Create.Array($$createType2);
-const $$createType21 = application$0.WebviewWindow.createFrom;
-const $$createType22 = $Create.Nullable($$createType21);
-const $$createType23 = $Create.Array($Create.Any);
diff --git a/cmd/core-gui/frontend/bindings/github.com/Snider/Core/pkg/docs/index.ts b/cmd/core-gui/frontend/bindings/github.com/Snider/Core/pkg/docs/index.ts
deleted file mode 100644
index fd900b4..0000000
--- a/cmd/core-gui/frontend/bindings/github.com/Snider/Core/pkg/docs/index.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
-// This file is automatically generated. DO NOT EDIT
-
-import * as Service from "./service.js";
-export {
- Service
-};
diff --git a/cmd/core-gui/frontend/bindings/github.com/Snider/Core/pkg/docs/service.ts b/cmd/core-gui/frontend/bindings/github.com/Snider/Core/pkg/docs/service.ts
deleted file mode 100644
index 6493ff9..0000000
--- a/cmd/core-gui/frontend/bindings/github.com/Snider/Core/pkg/docs/service.ts
+++ /dev/null
@@ -1,37 +0,0 @@
-// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
-// This file is automatically generated. DO NOT EDIT
-
-/**
- * Service manages documentation windows.
- * @module
- */
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import { Call as $Call, CancellablePromise as $CancellablePromise, Create as $Create } from "@wailsio/runtime";
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import * as core$0 from "../core/models.js";
-
-/**
- * OpenDocsWindow opens a documentation window at the specified path.
- * The path is appended to the base URL to form the full documentation URL.
- */
-export function OpenDocsWindow(path: string): $CancellablePromise {
- return $Call.ByID(2514509460, path);
-}
-
-/**
- * SetBaseURL sets the base URL for documentation.
- */
-export function SetBaseURL(url: string): $CancellablePromise {
- return $Call.ByID(1851990453, url);
-}
-
-/**
- * SetCore sets the core reference for accessing other services.
- */
-export function SetCore(c: core$0.Core | null): $CancellablePromise {
- return $Call.ByID(527529290, c);
-}
diff --git a/cmd/core-gui/frontend/bindings/github.com/Snider/Core/pkg/help/index.ts b/cmd/core-gui/frontend/bindings/github.com/Snider/Core/pkg/help/index.ts
deleted file mode 100644
index 60e9dac..0000000
--- a/cmd/core-gui/frontend/bindings/github.com/Snider/Core/pkg/help/index.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
-// This file is automatically generated. DO NOT EDIT
-
-import * as Service from "./service.js";
-export {
- Service
-};
-
-export type {
- Core,
- Display
-} from "./models.js";
diff --git a/cmd/core-gui/frontend/bindings/github.com/Snider/Core/pkg/help/models.ts b/cmd/core-gui/frontend/bindings/github.com/Snider/Core/pkg/help/models.ts
deleted file mode 100644
index 870f934..0000000
--- a/cmd/core-gui/frontend/bindings/github.com/Snider/Core/pkg/help/models.ts
+++ /dev/null
@@ -1,20 +0,0 @@
-// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
-// This file is automatically generated. DO NOT EDIT
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import { Create as $Create } from "@wailsio/runtime";
-
-/**
- * Core defines the interface for the core runtime functionalities that the
- * help service depends on. This typically includes methods for performing
- * actions and accessing the application context.
- */
-export type Core = any;
-
-/**
- * Display defines the interface for a display service. The help service
- * uses this interface to check for the presence of a display module,
- * allowing it to function as an optional dependency.
- */
-export type Display = any;
diff --git a/cmd/core-gui/frontend/bindings/github.com/Snider/Core/pkg/help/service.ts b/cmd/core-gui/frontend/bindings/github.com/Snider/Core/pkg/help/service.ts
deleted file mode 100644
index 27f822d..0000000
--- a/cmd/core-gui/frontend/bindings/github.com/Snider/Core/pkg/help/service.ts
+++ /dev/null
@@ -1,48 +0,0 @@
-// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
-// This file is automatically generated. DO NOT EDIT
-
-/**
- * Service manages the in-app help system. It handles the initialization
- * of the help content, interaction with the core runtime, and display
- * of the help window.
- * @module
- */
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import { Call as $Call, CancellablePromise as $CancellablePromise, Create as $Create } from "@wailsio/runtime";
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import * as $models from "./models.js";
-
-/**
- * Init initializes the service with its core dependencies. This method is
- * intended to be called by the dependency injection system of the application
- * to provide the necessary `Core` and `Display` implementations.
- */
-export function Init(c: $models.Core, d: $models.Display): $CancellablePromise {
- return $Call.ByID(2251945077, c, d);
-}
-
-/**
- * Show displays the main help window. If a `Display` service is available,
- * it sends an action to the core runtime to open the window. Otherwise, it
- * falls back to using the `wails3` application instance to create a new
- * window. This ensures that the help functionality is available even when
- * the `Snider/display` module is not in use.
- */
-export function Show(): $CancellablePromise {
- return $Call.ByID(401579614);
-}
-
-/**
- * ShowAt displays a specific section of the help documentation, identified
- * by an anchor. Similar to `Show`, it uses the `Display` service if available,
- * or falls back to a direct `wails3` implementation. The anchor is appended
- * to the URL, allowing the help window to open directly to the relevant
- * section.
- */
-export function ShowAt(anchor: string): $CancellablePromise {
- return $Call.ByID(3303047483, anchor);
-}
diff --git a/cmd/core-gui/frontend/bindings/github.com/Snider/Core/pkg/i18n/index.ts b/cmd/core-gui/frontend/bindings/github.com/Snider/Core/pkg/i18n/index.ts
deleted file mode 100644
index fd900b4..0000000
--- a/cmd/core-gui/frontend/bindings/github.com/Snider/Core/pkg/i18n/index.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
-// This file is automatically generated. DO NOT EDIT
-
-import * as Service from "./service.js";
-export {
- Service
-};
diff --git a/cmd/core-gui/frontend/bindings/github.com/Snider/Core/pkg/i18n/service.ts b/cmd/core-gui/frontend/bindings/github.com/Snider/Core/pkg/i18n/service.ts
deleted file mode 100644
index e731b9e..0000000
--- a/cmd/core-gui/frontend/bindings/github.com/Snider/Core/pkg/i18n/service.ts
+++ /dev/null
@@ -1,65 +0,0 @@
-// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
-// This file is automatically generated. DO NOT EDIT
-
-/**
- * Service provides internationalization and localization.
- * It is the primary entrypoint for the i18n package.
- * @module
- */
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import { Call as $Call, CancellablePromise as $CancellablePromise, Create as $Create } from "@wailsio/runtime";
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import * as i18n$0 from "../../../../nicksnyder/go-i18n/v2/i18n/models.js";
-
-/**
- * AvailableLanguages returns a list of available language codes.
- */
-export function AvailableLanguages(): $CancellablePromise {
- return $Call.ByID(3797911080).then(($result: any) => {
- return $$createType0($result);
- });
-}
-
-/**
- * GetAllMessages returns all translation messages for the specified language.
- * The keys are message IDs and values are the translated strings.
- * If lang is empty, it uses the current language.
- */
-export function GetAllMessages(lang: string): $CancellablePromise<{ [_: string]: string }> {
- return $Call.ByID(497958721, lang).then(($result: any) => {
- return $$createType1($result);
- });
-}
-
-/**
- * SetBundle is a test helper to inject a bundle.
- */
-export function SetBundle(bundle: i18n$0.Bundle | null): $CancellablePromise {
- return $Call.ByID(2373446086, bundle);
-}
-
-/**
- * SetLanguage sets the language for the i18n service.
- * The language tag should be a valid BCP 47 language tag (e.g., "en", "en-US").
- * If the language is not supported, an error is returned.
- */
-export function SetLanguage(lang: string): $CancellablePromise {
- return $Call.ByID(1882213732, lang);
-}
-
-/**
- * Translate translates a message by its ID.
- * It accepts an optional template data argument to interpolate into the translation.
- * If the message is not found, the message ID is returned.
- */
-export function Translate(messageID: string, ...args: any[]): $CancellablePromise {
- return $Call.ByID(1625170060, messageID, args);
-}
-
-// Private type creation functions
-const $$createType0 = $Create.Array($Create.Any);
-const $$createType1 = $Create.Map($Create.Any, $Create.Any);
diff --git a/cmd/core-gui/frontend/bindings/github.com/Snider/Core/pkg/ide/index.ts b/cmd/core-gui/frontend/bindings/github.com/Snider/Core/pkg/ide/index.ts
deleted file mode 100644
index fdc5393..0000000
--- a/cmd/core-gui/frontend/bindings/github.com/Snider/Core/pkg/ide/index.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
-// This file is automatically generated. DO NOT EDIT
-
-import * as Service from "./service.js";
-export {
- Service
-};
-
-export {
- DirectoryEntry,
- FileInfo,
- LanguageInfo
-} from "./models.js";
diff --git a/cmd/core-gui/frontend/bindings/github.com/Snider/Core/pkg/ide/models.ts b/cmd/core-gui/frontend/bindings/github.com/Snider/Core/pkg/ide/models.ts
deleted file mode 100644
index d406c52..0000000
--- a/cmd/core-gui/frontend/bindings/github.com/Snider/Core/pkg/ide/models.ts
+++ /dev/null
@@ -1,121 +0,0 @@
-// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
-// This file is automatically generated. DO NOT EDIT
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import { Create as $Create } from "@wailsio/runtime";
-
-/**
- * DirectoryEntry represents a file or directory in a listing.
- */
-export class DirectoryEntry {
- "name": string;
- "path": string;
- "isDir": boolean;
- "size": number;
-
- /** Creates a new DirectoryEntry instance. */
- constructor($$source: Partial = {}) {
- if (!("name" in $$source)) {
- this["name"] = "";
- }
- if (!("path" in $$source)) {
- this["path"] = "";
- }
- if (!("isDir" in $$source)) {
- this["isDir"] = false;
- }
- if (!("size" in $$source)) {
- this["size"] = 0;
- }
-
- Object.assign(this, $$source);
- }
-
- /**
- * Creates a new DirectoryEntry instance from a string or object.
- */
- static createFrom($$source: any = {}): DirectoryEntry {
- let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
- return new DirectoryEntry($$parsedSource as Partial);
- }
-}
-
-/**
- * FileInfo represents information about a file for the editor.
- */
-export class FileInfo {
- "path": string;
- "name": string;
- "content": string;
- "language": string;
- "isNew": boolean;
-
- /** Creates a new FileInfo instance. */
- constructor($$source: Partial = {}) {
- if (!("path" in $$source)) {
- this["path"] = "";
- }
- if (!("name" in $$source)) {
- this["name"] = "";
- }
- if (!("content" in $$source)) {
- this["content"] = "";
- }
- if (!("language" in $$source)) {
- this["language"] = "";
- }
- if (!("isNew" in $$source)) {
- this["isNew"] = false;
- }
-
- Object.assign(this, $$source);
- }
-
- /**
- * Creates a new FileInfo instance from a string or object.
- */
- static createFrom($$source: any = {}): FileInfo {
- let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
- return new FileInfo($$parsedSource as Partial);
- }
-}
-
-/**
- * LanguageInfo describes a supported programming language.
- */
-export class LanguageInfo {
- "id": string;
- "name": string;
- "extensions": string[];
-
- /** Creates a new LanguageInfo instance. */
- constructor($$source: Partial = {}) {
- if (!("id" in $$source)) {
- this["id"] = "";
- }
- if (!("name" in $$source)) {
- this["name"] = "";
- }
- if (!("extensions" in $$source)) {
- this["extensions"] = [];
- }
-
- Object.assign(this, $$source);
- }
-
- /**
- * Creates a new LanguageInfo instance from a string or object.
- */
- static createFrom($$source: any = {}): LanguageInfo {
- const $$createField2_0 = $$createType0;
- let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
- if ("extensions" in $$parsedSource) {
- $$parsedSource["extensions"] = $$createField2_0($$parsedSource["extensions"]);
- }
- return new LanguageInfo($$parsedSource as Partial);
- }
-}
-
-// Private type creation functions
-const $$createType0 = $Create.Array($Create.Any);
diff --git a/cmd/core-gui/frontend/bindings/github.com/Snider/Core/pkg/ide/service.ts b/cmd/core-gui/frontend/bindings/github.com/Snider/Core/pkg/ide/service.ts
deleted file mode 100644
index 02998c0..0000000
--- a/cmd/core-gui/frontend/bindings/github.com/Snider/Core/pkg/ide/service.ts
+++ /dev/null
@@ -1,130 +0,0 @@
-// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
-// This file is automatically generated. DO NOT EDIT
-
-/**
- * Service provides IDE functionality for code editing, file management, and project operations.
- * @module
- */
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import { Call as $Call, CancellablePromise as $CancellablePromise, Create as $Create } from "@wailsio/runtime";
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import * as core$0 from "../core/models.js";
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import * as $models from "./models.js";
-
-/**
- * Config returns the registered Config service from the core application.
- * This is a convenience method for accessing the application's configuration.
- */
-export function Config(): $CancellablePromise {
- return $Call.ByID(2256800318);
-}
-
-/**
- * Core returns the central core instance, providing access to all registered services.
- */
-export function Core(): $CancellablePromise {
- return $Call.ByID(2000663455).then(($result: any) => {
- return $$createType1($result);
- });
-}
-
-/**
- * CreateDirectory creates a new directory at the given path.
- */
-export function CreateDirectory(path: string): $CancellablePromise {
- return $Call.ByID(4108527007, path);
-}
-
-/**
- * DeleteFile removes a file at the given path.
- */
-export function DeleteFile(path: string): $CancellablePromise {
- return $Call.ByID(1778361797, path);
-}
-
-/**
- * DetectLanguage returns the Monaco editor language for a given file path.
- */
-export function DetectLanguage(path: string): $CancellablePromise {
- return $Call.ByID(1446649409, path);
-}
-
-/**
- * FileExists checks if a file exists at the given path.
- */
-export function FileExists(path: string): $CancellablePromise {
- return $Call.ByID(2444049838, path);
-}
-
-/**
- * GetSupportedLanguages returns a list of languages supported by the editor.
- */
-export function GetSupportedLanguages(): $CancellablePromise<$models.LanguageInfo[]> {
- return $Call.ByID(948137385).then(($result: any) => {
- return $$createType3($result);
- });
-}
-
-/**
- * ListDirectory returns a list of files and directories in the given path.
- */
-export function ListDirectory(path: string): $CancellablePromise<$models.DirectoryEntry[]> {
- return $Call.ByID(2978024379, path).then(($result: any) => {
- return $$createType5($result);
- });
-}
-
-/**
- * NewFile creates a new untitled file with the specified language.
- */
-export function NewFile(language: string): $CancellablePromise<$models.FileInfo> {
- return $Call.ByID(354339848, language).then(($result: any) => {
- return $$createType6($result);
- });
-}
-
-/**
- * OpenFile reads a file from disk and returns its content with language detection.
- */
-export function OpenFile(path: string): $CancellablePromise<$models.FileInfo> {
- return $Call.ByID(1563991886, path).then(($result: any) => {
- return $$createType6($result);
- });
-}
-
-/**
- * ReadFile reads content from a file without additional metadata.
- */
-export function ReadFile(path: string): $CancellablePromise {
- return $Call.ByID(1836122514, path);
-}
-
-/**
- * RenameFile renames/moves a file from oldPath to newPath.
- */
-export function RenameFile(oldPath: string, newPath: string): $CancellablePromise {
- return $Call.ByID(128270740, oldPath, newPath);
-}
-
-/**
- * SaveFile saves content to the specified path.
- */
-export function SaveFile(path: string, content: string): $CancellablePromise {
- return $Call.ByID(1229744459, path, content);
-}
-
-// Private type creation functions
-const $$createType0 = core$0.Core.createFrom;
-const $$createType1 = $Create.Nullable($$createType0);
-const $$createType2 = $models.LanguageInfo.createFrom;
-const $$createType3 = $Create.Array($$createType2);
-const $$createType4 = $models.DirectoryEntry.createFrom;
-const $$createType5 = $Create.Array($$createType4);
-const $$createType6 = $models.FileInfo.createFrom;
diff --git a/cmd/core-gui/frontend/bindings/github.com/Snider/Core/pkg/mcp/index.ts b/cmd/core-gui/frontend/bindings/github.com/Snider/Core/pkg/mcp/index.ts
deleted file mode 100644
index f47f133..0000000
--- a/cmd/core-gui/frontend/bindings/github.com/Snider/Core/pkg/mcp/index.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
-// This file is automatically generated. DO NOT EDIT
-
-export {
- Service
-} from "./models.js";
diff --git a/cmd/core-gui/frontend/bindings/github.com/Snider/Core/pkg/mcp/models.ts b/cmd/core-gui/frontend/bindings/github.com/Snider/Core/pkg/mcp/models.ts
deleted file mode 100644
index 9809f71..0000000
--- a/cmd/core-gui/frontend/bindings/github.com/Snider/Core/pkg/mcp/models.ts
+++ /dev/null
@@ -1,26 +0,0 @@
-// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
-// This file is automatically generated. DO NOT EDIT
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import { Create as $Create } from "@wailsio/runtime";
-
-/**
- * Service provides an MCP server that exposes Core functionality.
- */
-export class Service {
-
- /** Creates a new Service instance. */
- constructor($$source: Partial = {}) {
-
- Object.assign(this, $$source);
- }
-
- /**
- * Creates a new Service instance from a string or object.
- */
- static createFrom($$source: any = {}): Service {
- let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
- return new Service($$parsedSource as Partial);
- }
-}
diff --git a/cmd/core-gui/frontend/bindings/github.com/Snider/Core/pkg/module/index.ts b/cmd/core-gui/frontend/bindings/github.com/Snider/Core/pkg/module/index.ts
deleted file mode 100644
index 30cdf0a..0000000
--- a/cmd/core-gui/frontend/bindings/github.com/Snider/Core/pkg/module/index.ts
+++ /dev/null
@@ -1,23 +0,0 @@
-// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
-// This file is automatically generated. DO NOT EDIT
-
-import * as Service from "./service.js";
-export {
- Service
-};
-
-export {
- APIEndpoint,
- AppConfig,
- AppHook,
- BinaryInfo,
- Config,
- Context,
- Downloads,
- MenuItem,
- ModuleType,
- PlatformBinaries,
- Registry,
- Route,
- UIConfig
-} from "./models.js";
diff --git a/cmd/core-gui/frontend/bindings/github.com/Snider/Core/pkg/module/models.ts b/cmd/core-gui/frontend/bindings/github.com/Snider/Core/pkg/module/models.ts
deleted file mode 100644
index acbcfab..0000000
--- a/cmd/core-gui/frontend/bindings/github.com/Snider/Core/pkg/module/models.ts
+++ /dev/null
@@ -1,577 +0,0 @@
-// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
-// This file is automatically generated. DO NOT EDIT
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import { Create as $Create } from "@wailsio/runtime";
-
-/**
- * APIEndpoint declares an API endpoint the module provides.
- */
-export class APIEndpoint {
- /**
- * GET, POST, etc.
- */
- "method": string;
-
- /**
- * Relative to /api/{namespace}/{code}
- */
- "path": string;
- "description"?: string;
-
- /** Creates a new APIEndpoint instance. */
- constructor($$source: Partial = {}) {
- if (!("method" in $$source)) {
- this["method"] = "";
- }
- if (!("path" in $$source)) {
- this["path"] = "";
- }
-
- Object.assign(this, $$source);
- }
-
- /**
- * Creates a new APIEndpoint instance from a string or object.
- */
- static createFrom($$source: any = {}): APIEndpoint {
- let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
- return new APIEndpoint($$parsedSource as Partial);
- }
-}
-
-/**
- * AppConfig defines web app specific configuration.
- */
-export class AppConfig {
- "url"?: string;
-
- /**
- * spa, iframe, etc.
- */
- "type"?: string;
- "hooks"?: AppHook[];
-
- /** Creates a new AppConfig instance. */
- constructor($$source: Partial = {}) {
-
- Object.assign(this, $$source);
- }
-
- /**
- * Creates a new AppConfig instance from a string or object.
- */
- static createFrom($$source: any = {}): AppConfig {
- const $$createField2_0 = $$createType1;
- let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
- if ("hooks" in $$parsedSource) {
- $$parsedSource["hooks"] = $$createField2_0($$parsedSource["hooks"]);
- }
- return new AppConfig($$parsedSource as Partial);
- }
-}
-
-/**
- * AppHook defines app lifecycle hooks.
- */
-export class AppHook {
- /**
- * rename, copy, etc.
- */
- "type": string;
- "from"?: string;
- "to"?: string;
- "data"?: { [_: string]: any };
-
- /** Creates a new AppHook instance. */
- constructor($$source: Partial = {}) {
- if (!("type" in $$source)) {
- this["type"] = "";
- }
-
- Object.assign(this, $$source);
- }
-
- /**
- * Creates a new AppHook instance from a string or object.
- */
- static createFrom($$source: any = {}): AppHook {
- const $$createField3_0 = $$createType2;
- let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
- if ("data" in $$parsedSource) {
- $$parsedSource["data"] = $$createField3_0($$parsedSource["data"]);
- }
- return new AppHook($$parsedSource as Partial);
- }
-}
-
-/**
- * BinaryInfo contains download info for a binary.
- */
-export class BinaryInfo {
- "url": string;
- "checksum"?: string;
-
- /** Creates a new BinaryInfo instance. */
- constructor($$source: Partial = {}) {
- if (!("url" in $$source)) {
- this["url"] = "";
- }
-
- Object.assign(this, $$source);
- }
-
- /**
- * Creates a new BinaryInfo instance from a string or object.
- */
- static createFrom($$source: any = {}): BinaryInfo {
- let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
- return new BinaryInfo($$parsedSource as Partial);
- }
-}
-
-/**
- * Config is the .itw3.json format for module registration.
- * This is the boundary format between Core and external modules.
- */
-export class Config {
- /**
- * Unique identifier
- */
- "code": string;
-
- /**
- * core, app, bin
- */
- "type": ModuleType;
-
- /**
- * Display name
- */
- "name": string;
-
- /**
- * Semantic version
- */
- "version": string;
-
- /**
- * API/config namespace
- */
- "namespace": string;
-
- /**
- * Human description
- */
- "description"?: string;
- "author"?: string;
-
- /**
- * UI menu contributions
- */
- "menu"?: MenuItem[];
-
- /**
- * UI route contributions
- */
- "routes"?: Route[];
-
- /**
- * Which contexts this module supports
- */
- "contexts"?: Context[];
-
- /**
- * Platform binaries
- */
- "downloads"?: Downloads | null;
-
- /**
- * Web app config
- */
- "app"?: AppConfig | null;
-
- /**
- * Module dependencies
- */
- "depends"?: string[];
-
- /**
- * API endpoint declarations
- */
- "api"?: APIEndpoint[];
-
- /**
- * Default configuration
- */
- "config"?: { [_: string]: any };
-
- /** Creates a new Config instance. */
- constructor($$source: Partial = {}) {
- if (!("code" in $$source)) {
- this["code"] = "";
- }
- if (!("type" in $$source)) {
- this["type"] = ModuleType.$zero;
- }
- if (!("name" in $$source)) {
- this["name"] = "";
- }
- if (!("version" in $$source)) {
- this["version"] = "";
- }
- if (!("namespace" in $$source)) {
- this["namespace"] = "";
- }
-
- Object.assign(this, $$source);
- }
-
- /**
- * Creates a new Config instance from a string or object.
- */
- static createFrom($$source: any = {}): Config {
- const $$createField7_0 = $$createType4;
- const $$createField8_0 = $$createType6;
- const $$createField9_0 = $$createType7;
- const $$createField10_0 = $$createType9;
- const $$createField11_0 = $$createType11;
- const $$createField12_0 = $$createType12;
- const $$createField13_0 = $$createType14;
- const $$createField14_0 = $$createType2;
- let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
- if ("menu" in $$parsedSource) {
- $$parsedSource["menu"] = $$createField7_0($$parsedSource["menu"]);
- }
- if ("routes" in $$parsedSource) {
- $$parsedSource["routes"] = $$createField8_0($$parsedSource["routes"]);
- }
- if ("contexts" in $$parsedSource) {
- $$parsedSource["contexts"] = $$createField9_0($$parsedSource["contexts"]);
- }
- if ("downloads" in $$parsedSource) {
- $$parsedSource["downloads"] = $$createField10_0($$parsedSource["downloads"]);
- }
- if ("app" in $$parsedSource) {
- $$parsedSource["app"] = $$createField11_0($$parsedSource["app"]);
- }
- if ("depends" in $$parsedSource) {
- $$parsedSource["depends"] = $$createField12_0($$parsedSource["depends"]);
- }
- if ("api" in $$parsedSource) {
- $$parsedSource["api"] = $$createField13_0($$parsedSource["api"]);
- }
- if ("config" in $$parsedSource) {
- $$parsedSource["config"] = $$createField14_0($$parsedSource["config"]);
- }
- return new Config($$parsedSource as Partial);
- }
-}
-
-/**
- * Context represents the UI context (developer, retail, miner, etc.)
- */
-export enum Context {
- /**
- * The Go zero value for the underlying type of the enum.
- */
- $zero = "",
-
- ContextDefault = "default",
- ContextDeveloper = "developer",
- ContextRetail = "retail",
- ContextMiner = "miner",
-};
-
-/**
- * Downloads defines platform-specific binary downloads.
- */
-export class Downloads {
- /**
- * Web app archive
- */
- "app"?: string;
- "x86_64"?: PlatformBinaries | null;
- "aarch64"?: PlatformBinaries | null;
-
- /** Creates a new Downloads instance. */
- constructor($$source: Partial = {}) {
-
- Object.assign(this, $$source);
- }
-
- /**
- * Creates a new Downloads instance from a string or object.
- */
- static createFrom($$source: any = {}): Downloads {
- const $$createField1_0 = $$createType16;
- const $$createField2_0 = $$createType16;
- let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
- if ("x86_64" in $$parsedSource) {
- $$parsedSource["x86_64"] = $$createField1_0($$parsedSource["x86_64"]);
- }
- if ("aarch64" in $$parsedSource) {
- $$parsedSource["aarch64"] = $$createField2_0($$parsedSource["aarch64"]);
- }
- return new Downloads($$parsedSource as Partial);
- }
-}
-
-/**
- * MenuItem represents a menu item contribution.
- */
-export class MenuItem {
- "id": string;
- "label": string;
- "icon"?: string;
-
- /**
- * Event name to emit
- */
- "action"?: string;
-
- /**
- * Frontend route
- */
- "route"?: string;
-
- /**
- * Keyboard shortcut
- */
- "accelerator"?: string;
-
- /**
- * Show in these contexts
- */
- "contexts"?: Context[];
-
- /**
- * Submenu items
- */
- "children"?: MenuItem[];
-
- /**
- * Sort order
- */
- "order"?: number;
- "separator"?: boolean;
-
- /** Creates a new MenuItem instance. */
- constructor($$source: Partial