add vcsi to requirements
Some checks failed
ci / build (push) Failing after 0s
ci / Tests & Checks (push) Failing after 1s

This commit is contained in:
CJ_Clippy 2025-07-19 11:47:22 -08:00
parent 41ce355e7e
commit 4a9a04ee86
20 changed files with 1527 additions and 631 deletions

2
.npmrc
View File

@ -12,5 +12,5 @@ package-manager-strict=true
## Don't use `use-node-version`! It causes redundant Node.js downloads which slows down the docker image build. ## Don't use `use-node-version`! It causes redundant Node.js downloads which slows down the docker image build.
## @see https://github.com/orgs/pnpm/discussions/7140 ## @see https://github.com/orgs/pnpm/discussions/7140
##use-node-version=20.15.1 ##use-node-version=20.15.1
node-version=20.15.1 node-version=20.19.3
recursive-install=true recursive-install=true

View File

@ -1,7 +1,6 @@
{ {
"recommendations": [ "recommendations": [
"redhat.vscode-yaml", "redhat.vscode-yaml",
"elixir-lsp.elixir-ls",
"jetify.devbox", "jetify.devbox",
"redhat.ansible", "redhat.ansible",
"dotjoshjohnson.xml" "dotjoshjohnson.xml"

View File

@ -7,7 +7,5 @@
"https://json.schemastore.org/kustomization.json": "file:///home/cj/Documents/futureporn-monorepo/clusters/production/infrastructure.yaml" "https://json.schemastore.org/kustomization.json": "file:///home/cj/Documents/futureporn-monorepo/clusters/production/infrastructure.yaml"
}, },
"editor.tabSize": 2, "editor.tabSize": 2,
"elixirLS.projectDir": "apps/bright", "editor.formatOnSave": true
"editor.formatOnSave": true,
"elixirLS.useCurrentRootFolderAsProjectDir": true
} }

View File

@ -4,3 +4,4 @@ inventory = ./inventory/terraform.yml
private_key_file = ~/.ssh/futureporn2025 private_key_file = ~/.ssh/futureporn2025
remote_user = root remote_user = root
interpreter_python=auto_silent interpreter_python=auto_silent
nocows = 1

View File

@ -6,3 +6,6 @@ collections:
- name: gluster.gluster - name: gluster.gluster
roles: roles:
- name: nvjacobo.caddy - name: nvjacobo.caddy
- name: geerlingguy.nodejs
- name: artis3n.tailscale
- name: bpbradley.komodo

View File

@ -1,5 +1,9 @@
--- ---
## @warning Do not edit this file! It's probably right, and you're probably doing something wrong!
## If you're seeing interactive host auth checks prompts while running ansible-playbook,
## you're probably skipping over this role! Don't skip it!
## @see https://gist.github.com/shirou/6928012 ## @see https://gist.github.com/shirou/6928012
## @todo known_hosts.py has a `add_host_key` function. Could we use that instead of this shell script? ## @todo known_hosts.py has a `add_host_key` function. Could we use that instead of this shell script?
- name: Scan for SSH host keys. - name: Scan for SSH host keys.
@ -12,8 +16,8 @@
until: ssh_scan.rc == 0 until: ssh_scan.rc == 0
# - debug: - debug:
# var: ssh_scan var: ssh_scan
- name: Update known_hosts. - name: Update known_hosts.
ansible.builtin.known_hosts: ansible.builtin.known_hosts:

View File

@ -1,6 +1,5 @@
--- ---
- name: Install apt packages - name: Install apt packages
ansible.builtin.apt: ansible.builtin.apt:
name: name:
@ -12,6 +11,7 @@
- ncdu - ncdu
- pipx - pipx
- fd-find - fd-find
update_cache: yes
state: present state: present
- name: Download Docker installer - name: Download Docker installer
@ -25,7 +25,6 @@
args: args:
creates: /usr/bin/docker creates: /usr/bin/docker
- name: Clone dotfiles repository - name: Clone dotfiles repository
ansible.builtin.git: ansible.builtin.git:
repo: https://github.com/insanity54/dotfiles repo: https://github.com/insanity54/dotfiles

View File

@ -1,30 +1,179 @@
--- ---
- name: Setup volume
community.docker.docker_volume:
name: pg_data
- name: Setup docker container - name: Install apt packages
community.docker.docker_container: ansible.builtin.apt:
name: bright name:
image: postgres:16 - python3-psycopg2
pull: missing update_cache: yes
state: present
- name: Ensure required packages are installed
apt:
name:
- curl
- ca-certificates
- postgresql-common
state: present
update_cache: yes
- name: Create directory for PostgreSQL apt key
file:
path: /usr/share/postgresql-common/pgdg
state: directory
mode: '0755'
- name: Download PostgreSQL signing key
get_url:
url: https://www.postgresql.org/media/keys/ACCC4CF8.asc
dest: /usr/share/postgresql-common/pgdg/apt.postgresql.org.asc
mode: '0644'
- name: Add PostgreSQL APT repository
apt_repository:
repo: "deb [signed-by=/usr/share/postgresql-common/pgdg/apt.postgresql.org.asc] https://apt.postgresql.org/pub/repos/apt {{ ansible_distribution_release }}-pgdg main"
filename: "pgdg"
state: present
update_cache: yes
- name: Update apt cache
apt:
update_cache: yes
- name: Install PostgreSQL 16
apt:
name: postgresql-16
state: present
- name: Start postgres
ansible.builtin.systemd_service:
name: postgresql@16-main
state: started state: started
ports: enabled: true
- "5432:5432"
env:
POSTGRES_USER: "postgres"
POSTGRES_DB: "bright"
POSTGRES_PASSWORD: "{{ lookup('dotenv', 'DB_PASS', file='../.env') }}"
mounts:
- type: volume
target: "/var/lib/postgresql/data"
source: "pg_data"
- name: Allow VPC2.0 network access - name: Create a new database with name "future_porn"
community.postgresql.postgresql_db:
name: future_porn
become: true
become_user: postgres
- name: Create postgres user and set password
community.postgresql.postgresql_user:
name: postgres
password: "{{ lookup('dotenv', 'DB_PASSWORD', file='../../../.env.production') }}"
expires: infinity
become: true
become_user: postgres
- name: Grant privs
community.postgresql.postgresql_privs:
login_db: "{{ lookup('dotenv', 'DB_NAME', file='../../../.env.production') }}"
roles: "{{ lookup('dotenv', 'DB_USER', file='../../../.env.production') }}"
type: schema
objs: public
privs: ALL
become: true
become_user: postgres
- name: Allow access on Vultr VPC subnet
community.postgresql.postgresql_pg_hba:
dest: /etc/postgresql/16/main/pg_hba.conf
contype: host
users: all
databases: all
method: scram-sha-256
source: 10.2.112.0/20
keep_comments_at_rules: true
comment: "Vultr VPC"
- name: set listen_addresses
community.postgresql.postgresql_alter_system:
param: listen_addresses
value: '*'
become: true
become_user: postgres
- name: set port
community.postgresql.postgresql_alter_system:
param: port
value: '5432'
become: true
become_user: postgres
# - name: Setup volume
# community.docker.docker_volume:
# name: pg_data
# - name: Setup docker container
# community.docker.docker_container:
# name: postgres
# image: postgres:16
# pull: missing
# state: started
# ports:
# - "0.0.0.0:5432:5432"
# env:
# POSTGRES_USER: "{{ lookup('dotenv', 'DB_USER', file='../../../../.env.production') }}"
# POSTGRES_DB: "{{ lookup('dotenv', 'DB_PASSWORD', file='../../../../.env.production') }}"
# POSTGRES_PASSWORD: "{{ lookup('dotenv', 'DB_PASSWORD', file='../../../../.env.production') }}"
# mounts:
# - type: volume
# target: "/var/lib/postgresql/data"
# source: "pg_data"
- name: Set default UFW policy to deny incoming
community.general.ufw:
state: enabled
policy: deny
direction: incoming
- name: Allow /20 subnet access for VPC
community.general.ufw: community.general.ufw:
rule: allow rule: allow
port: '5432' port: '5432'
proto: tcp proto: tcp
from: 10.2.128.0/20 from: 10.2.112.0/20
# sudo ufw default deny incoming
# - name: start pgweb
# community.docker.docker_container:
# name: pgweb
# image: sosedoff/pgweb:latest
# pull: missing
# state: started
# ports:
# - "8091:8091"
# env:
# POSTGRES_USER: "postgres"
# POSTGRES_DB: "our"
# POSTGRES_PASSWORD: "{{ lookup('dotenv', 'DB_PASSWORD', file='../../../../.env.production') }}"
# PGWEB_DATABASE_URL: "postgres://{{lookup('dotenv', 'DB_USER', file='../../../../.env.production'):{{lookup('dotenv', 'DB_PASSWORD', file='../../../../.env.production')@postgres:}}}}"
# mounts:
# - type: volume
# target: "/var/lib/postgresql/data"
# source: "pg_data"
# pgweb:
# container_name: out-pgweb
# image: sosedoff/pgweb
# depends_on:
# postgres:
# condition: service_healthy
# environment:
# PGWEB_DATABASE_URL: postgres://${DB_USER}:${DB_PASSWORD}@postgres:5432/${DB_NAME}?sslmode=disable
# ports:
# - "8091:8081"
# healthcheck:
# test: ["CMD", "curl", "-f", "http://localhost:8081"]
# interval: 10s
# retries: 5
# start_period: 10s
# timeout: 10s

View File

@ -1,15 +1,15 @@
bright.futureporn.net { future.porn {
root * /usr/share/futureporn root * /usr/share/futureporn
file_server file_server
# Define the upstream servers for load balancing # Define the upstream servers for load balancing
reverse_proxy {% for host in groups['bright'] %}{{ hostvars[host]['internal_ip'] }}:4000 {% endfor %} { reverse_proxy {% for host in groups['our'] %}{{ hostvars[host]['internal_ip'] }}:{{our_server_port}} {% endfor %} {
# Load balancing policy (optional, defaults to "random") # Load balancing policy (optional, defaults to "random")
lb_policy round_robin lb_policy round_robin
# Health checks (optional) # Health checks (optional)
health_uri /api/health health_uri /health
health_interval 10s health_interval 10s
health_timeout 5s health_timeout 5s
} }
@ -20,3 +20,4 @@ bright.futureporn.net {
} }

View File

@ -1,7 +1,7 @@
--- ---
- name: Bootstrap - name: Bootstrap
hosts: all hosts: our
gather_facts: false ## required because ansible_host may not have python gather_facts: false ## required because ansible_host may not have python
check_mode: false check_mode: false
become: false become: false
@ -9,26 +9,49 @@
- bootstrap - bootstrap
- name: Assert common dependencies - name: Assert common dependencies
hosts: all hosts: our
gather_facts: true gather_facts: true
check_mode: false check_mode: false
become: true become: true
roles: roles:
- common - common
- name: Set up IPFS - name: Assert our dependencies
hosts: ipfs hosts: our
gather_facts: true
roles:
- ipfs
- name: Assert Capture dependencies
hosts: capture
gather_facts: true gather_facts: true
check_mode: false check_mode: false
become: false become: true
roles: roles:
- capture - our
- name: Install Komodo Service
hosts: our
vars_files:
- vars/main.yml
vars:
komodo_allowed_ips: "[\"::ffff:{{ lookup('dotenv', 'KOMODO_ALLOWED_IPS', file='../.env.production') }}\"]"
roles:
- role: bpbradley.komodo
komodo_action: "install"
komodo_version: "latest"
komodo_passkeys: "{{ lookup('dotenv', 'KOMODO_PASSKEYS', file='../.env.production') }}"
komodo_core_url: "{{ lookup('dotenv', 'KOMODO_CORE_URL', file='../.env.production') }}"
komodo_core_api_key: "{{ lookup('dotenv', 'KOMODO_CORE_API_KEY', file='../.env.production') }}"
komodo_core_api_secret: "{{ lookup('dotenv', 'KOMODO_CORE_API_SECRET', file='../.env.production') }}"
enable_server_management: true
tasks:
- name: debug
ansible.builtin.debug:
msg:
komodo_allowed_ips: "{{ komodo_allowed_ips }}"
- name: Allow port 8120 TCP from Komodo core
community.general.ufw:
rule: allow
port: "8120"
proto: tcp
from_ip: "{{ lookup('dotenv', 'KOMODO_ALLOWED_IPS', file='../.env.production') }}"
- name: Configure database - name: Configure database
hosts: database hosts: database
@ -37,22 +60,30 @@
become: false become: false
roles: roles:
- database - database
tags:
- database
- name: Configure tracker - name: Configure Our Server
hosts: tracker hosts: our-server
gather_facts: true gather_facts: true
check_mode: false check_mode: false
become: false become: false
tags:
- our-server
roles: roles:
- tracker - geerlingguy.nodejs
- our-server
- name: Configure Bright - name: Configure Our Worker
hosts: bright hosts: our-worker
gather_facts: true gather_facts: true
check_mode: false check_mode: false
become: false become: false
tags:
- our-worker
roles: roles:
- bright - geerlingguy.nodejs
- our-worker
- name: Configure load balancer - name: Configure load balancer
hosts: load_balancer hosts: load_balancer
@ -61,4 +92,36 @@
become: false become: false
roles: roles:
- load_balancer - load_balancer
vars_files:
- vars/main.yml
tags:
- lb
- name: Set up IPFS
hosts: ipfs
gather_facts: true
roles:
- ipfs
tags:
- capture
- ipfs
- name: Install Capture instance
hosts: capture
gather_facts: true
check_mode: false
become: false
roles:
- capture
tags:
- capture
# - name: Configure tracker
# hosts: tracker
# gather_facts: true
# check_mode: false
# become: false
# roles:
# - tracker

Binary file not shown.

View File

@ -16,7 +16,7 @@ reg_name='kind-registry'
reg_port='5001' reg_port='5001'
if [ "$(docker inspect -f '{{.State.Running}}' "${reg_name}" 2>/dev/null || true)" != 'true' ]; then if [ "$(docker inspect -f '{{.State.Running}}' "${reg_name}" 2>/dev/null || true)" != 'true' ]; then
docker run \ docker run \
-d --restart=always -p "127.0.0.1:${reg_port}:5000" --network bridge --name "${reg_name}" \ -d --restart=always -p "127.0.0.1:${reg_port}:3000" --network bridge --name "${reg_name}" \
registry:2 registry:2
fi fi

0
packages/scripts/thumbnail-generator.sh Normal file → Executable file
View File

View File

@ -13,13 +13,13 @@ importers:
version: 2.2.2 version: 2.2.2
'@types/node': '@types/node':
specifier: ^22.5.2 specifier: ^22.5.2
version: 22.5.2 version: 22.16.3
'@types/slug': '@types/slug':
specifier: ^5.0.9 specifier: ^5.0.9
version: 5.0.9 version: 5.0.9
p-retry: p-retry:
specifier: ^6.2.0 specifier: ^6.2.0
version: 6.2.0 version: 6.2.1
prevvy: prevvy:
specifier: ^8.0.1 specifier: ^8.0.1
version: 8.0.1 version: 8.0.1
@ -32,22 +32,22 @@ importers:
devDependencies: devDependencies:
'@types/chai': '@types/chai':
specifier: ^4.3.19 specifier: ^4.3.19
version: 4.3.19 version: 4.3.20
'@types/mocha': '@types/mocha':
specifier: ^10.0.7 specifier: ^10.0.7
version: 10.0.7 version: 10.0.10
chai: chai:
specifier: ^5.1.1 specifier: ^5.1.1
version: 5.1.1 version: 5.2.1
mocha: mocha:
specifier: ^10.7.3 specifier: ^10.7.3
version: 10.7.3 version: 10.8.2
ts-node: ts-node:
specifier: ^10.9.2 specifier: ^10.9.2
version: 10.9.2(@types/node@22.5.2)(typescript@5.5.4) version: 10.9.2(@types/node@22.16.3)(typescript@5.8.3)
tsx: tsx:
specifier: ^4.19.0 specifier: ^4.19.0
version: 4.19.0 version: 4.20.3
packages: packages:
@ -55,149 +55,161 @@ packages:
resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==}
engines: {node: '>=12'} engines: {node: '>=12'}
'@emnapi/runtime@1.2.0': '@emnapi/runtime@1.4.4':
resolution: {integrity: sha512-bV21/9LQmcQeCPEg3BDFtvwL6cwiTMksYNWQQ4KOxCZikEGalWtenoZ0wCiukJINlGCIi2KXx01g4FoH/LxpzQ==} resolution: {integrity: sha512-hHyapA4A3gPaDCNfiqyZUStTMqIkKRshqPIuDOXv1hcBnD4U3l8cP0T1HMCfGRxQ6V64TGCcoswChANyOAwbQg==}
'@esbuild/aix-ppc64@0.23.1': '@esbuild/aix-ppc64@0.25.6':
resolution: {integrity: sha512-6VhYk1diRqrhBAqpJEdjASR/+WVRtfjpqKuNw11cLiaWpAT/Uu+nokB+UJnevzy/P9C/ty6AOe0dwueMrGh/iQ==} resolution: {integrity: sha512-ShbM/3XxwuxjFiuVBHA+d3j5dyac0aEVVq1oluIDf71hUw0aRF59dV/efUsIwFnR6m8JNM2FjZOzmaZ8yG61kw==}
engines: {node: '>=18'} engines: {node: '>=18'}
cpu: [ppc64] cpu: [ppc64]
os: [aix] os: [aix]
'@esbuild/android-arm64@0.23.1': '@esbuild/android-arm64@0.25.6':
resolution: {integrity: sha512-xw50ipykXcLstLeWH7WRdQuysJqejuAGPd30vd1i5zSyKK3WE+ijzHmLKxdiCMtH1pHz78rOg0BKSYOSB/2Khw==} resolution: {integrity: sha512-hd5zdUarsK6strW+3Wxi5qWws+rJhCCbMiC9QZyzoxfk5uHRIE8T287giQxzVpEvCwuJ9Qjg6bEjcRJcgfLqoA==}
engines: {node: '>=18'} engines: {node: '>=18'}
cpu: [arm64] cpu: [arm64]
os: [android] os: [android]
'@esbuild/android-arm@0.23.1': '@esbuild/android-arm@0.25.6':
resolution: {integrity: sha512-uz6/tEy2IFm9RYOyvKl88zdzZfwEfKZmnX9Cj1BHjeSGNuGLuMD1kR8y5bteYmwqKm1tj8m4cb/aKEorr6fHWQ==} resolution: {integrity: sha512-S8ToEOVfg++AU/bHwdksHNnyLyVM+eMVAOf6yRKFitnwnbwwPNqKr3srzFRe7nzV69RQKb5DgchIX5pt3L53xg==}
engines: {node: '>=18'} engines: {node: '>=18'}
cpu: [arm] cpu: [arm]
os: [android] os: [android]
'@esbuild/android-x64@0.23.1': '@esbuild/android-x64@0.25.6':
resolution: {integrity: sha512-nlN9B69St9BwUoB+jkyU090bru8L0NA3yFvAd7k8dNsVH8bi9a8cUAUSEcEEgTp2z3dbEDGJGfP6VUnkQnlReg==} resolution: {integrity: sha512-0Z7KpHSr3VBIO9A/1wcT3NTy7EB4oNC4upJ5ye3R7taCc2GUdeynSLArnon5G8scPwaU866d3H4BCrE5xLW25A==}
engines: {node: '>=18'} engines: {node: '>=18'}
cpu: [x64] cpu: [x64]
os: [android] os: [android]
'@esbuild/darwin-arm64@0.23.1': '@esbuild/darwin-arm64@0.25.6':
resolution: {integrity: sha512-YsS2e3Wtgnw7Wq53XXBLcV6JhRsEq8hkfg91ESVadIrzr9wO6jJDMZnCQbHm1Guc5t/CdDiFSSfWP58FNuvT3Q==} resolution: {integrity: sha512-FFCssz3XBavjxcFxKsGy2DYK5VSvJqa6y5HXljKzhRZ87LvEi13brPrf/wdyl/BbpbMKJNOr1Sd0jtW4Ge1pAA==}
engines: {node: '>=18'} engines: {node: '>=18'}
cpu: [arm64] cpu: [arm64]
os: [darwin] os: [darwin]
'@esbuild/darwin-x64@0.23.1': '@esbuild/darwin-x64@0.25.6':
resolution: {integrity: sha512-aClqdgTDVPSEGgoCS8QDG37Gu8yc9lTHNAQlsztQ6ENetKEO//b8y31MMu2ZaPbn4kVsIABzVLXYLhCGekGDqw==} resolution: {integrity: sha512-GfXs5kry/TkGM2vKqK2oyiLFygJRqKVhawu3+DOCk7OxLy/6jYkWXhlHwOoTb0WqGnWGAS7sooxbZowy+pK9Yg==}
engines: {node: '>=18'} engines: {node: '>=18'}
cpu: [x64] cpu: [x64]
os: [darwin] os: [darwin]
'@esbuild/freebsd-arm64@0.23.1': '@esbuild/freebsd-arm64@0.25.6':
resolution: {integrity: sha512-h1k6yS8/pN/NHlMl5+v4XPfikhJulk4G+tKGFIOwURBSFzE8bixw1ebjluLOjfwtLqY0kewfjLSrO6tN2MgIhA==} resolution: {integrity: sha512-aoLF2c3OvDn2XDTRvn8hN6DRzVVpDlj2B/F66clWd/FHLiHaG3aVZjxQX2DYphA5y/evbdGvC6Us13tvyt4pWg==}
engines: {node: '>=18'} engines: {node: '>=18'}
cpu: [arm64] cpu: [arm64]
os: [freebsd] os: [freebsd]
'@esbuild/freebsd-x64@0.23.1': '@esbuild/freebsd-x64@0.25.6':
resolution: {integrity: sha512-lK1eJeyk1ZX8UklqFd/3A60UuZ/6UVfGT2LuGo3Wp4/z7eRTRYY+0xOu2kpClP+vMTi9wKOfXi2vjUpO1Ro76g==} resolution: {integrity: sha512-2SkqTjTSo2dYi/jzFbU9Plt1vk0+nNg8YC8rOXXea+iA3hfNJWebKYPs3xnOUf9+ZWhKAaxnQNUf2X9LOpeiMQ==}
engines: {node: '>=18'} engines: {node: '>=18'}
cpu: [x64] cpu: [x64]
os: [freebsd] os: [freebsd]
'@esbuild/linux-arm64@0.23.1': '@esbuild/linux-arm64@0.25.6':
resolution: {integrity: sha512-/93bf2yxencYDnItMYV/v116zff6UyTjo4EtEQjUBeGiVpMmffDNUyD9UN2zV+V3LRV3/on4xdZ26NKzn6754g==} resolution: {integrity: sha512-b967hU0gqKd9Drsh/UuAm21Khpoh6mPBSgz8mKRq4P5mVK8bpA+hQzmm/ZwGVULSNBzKdZPQBRT3+WuVavcWsQ==}
engines: {node: '>=18'} engines: {node: '>=18'}
cpu: [arm64] cpu: [arm64]
os: [linux] os: [linux]
'@esbuild/linux-arm@0.23.1': '@esbuild/linux-arm@0.25.6':
resolution: {integrity: sha512-CXXkzgn+dXAPs3WBwE+Kvnrf4WECwBdfjfeYHpMeVxWE0EceB6vhWGShs6wi0IYEqMSIzdOF1XjQ/Mkm5d7ZdQ==} resolution: {integrity: sha512-SZHQlzvqv4Du5PrKE2faN0qlbsaW/3QQfUUc6yO2EjFcA83xnwm91UbEEVx4ApZ9Z5oG8Bxz4qPE+HFwtVcfyw==}
engines: {node: '>=18'} engines: {node: '>=18'}
cpu: [arm] cpu: [arm]
os: [linux] os: [linux]
'@esbuild/linux-ia32@0.23.1': '@esbuild/linux-ia32@0.25.6':
resolution: {integrity: sha512-VTN4EuOHwXEkXzX5nTvVY4s7E/Krz7COC8xkftbbKRYAl96vPiUssGkeMELQMOnLOJ8k3BY1+ZY52tttZnHcXQ==} resolution: {integrity: sha512-aHWdQ2AAltRkLPOsKdi3xv0mZ8fUGPdlKEjIEhxCPm5yKEThcUjHpWB1idN74lfXGnZ5SULQSgtr5Qos5B0bPw==}
engines: {node: '>=18'} engines: {node: '>=18'}
cpu: [ia32] cpu: [ia32]
os: [linux] os: [linux]
'@esbuild/linux-loong64@0.23.1': '@esbuild/linux-loong64@0.25.6':
resolution: {integrity: sha512-Vx09LzEoBa5zDnieH8LSMRToj7ir/Jeq0Gu6qJ/1GcBq9GkfoEAoXvLiW1U9J1qE/Y/Oyaq33w5p2ZWrNNHNEw==} resolution: {integrity: sha512-VgKCsHdXRSQ7E1+QXGdRPlQ/e08bN6WMQb27/TMfV+vPjjTImuT9PmLXupRlC90S1JeNNW5lzkAEO/McKeJ2yg==}
engines: {node: '>=18'} engines: {node: '>=18'}
cpu: [loong64] cpu: [loong64]
os: [linux] os: [linux]
'@esbuild/linux-mips64el@0.23.1': '@esbuild/linux-mips64el@0.25.6':
resolution: {integrity: sha512-nrFzzMQ7W4WRLNUOU5dlWAqa6yVeI0P78WKGUo7lg2HShq/yx+UYkeNSE0SSfSure0SqgnsxPvmAUu/vu0E+3Q==} resolution: {integrity: sha512-WViNlpivRKT9/py3kCmkHnn44GkGXVdXfdc4drNmRl15zVQ2+D2uFwdlGh6IuK5AAnGTo2qPB1Djppj+t78rzw==}
engines: {node: '>=18'} engines: {node: '>=18'}
cpu: [mips64el] cpu: [mips64el]
os: [linux] os: [linux]
'@esbuild/linux-ppc64@0.23.1': '@esbuild/linux-ppc64@0.25.6':
resolution: {integrity: sha512-dKN8fgVqd0vUIjxuJI6P/9SSSe/mB9rvA98CSH2sJnlZ/OCZWO1DJvxj8jvKTfYUdGfcq2dDxoKaC6bHuTlgcw==} resolution: {integrity: sha512-wyYKZ9NTdmAMb5730I38lBqVu6cKl4ZfYXIs31Baf8aoOtB4xSGi3THmDYt4BTFHk7/EcVixkOV2uZfwU3Q2Jw==}
engines: {node: '>=18'} engines: {node: '>=18'}
cpu: [ppc64] cpu: [ppc64]
os: [linux] os: [linux]
'@esbuild/linux-riscv64@0.23.1': '@esbuild/linux-riscv64@0.25.6':
resolution: {integrity: sha512-5AV4Pzp80fhHL83JM6LoA6pTQVWgB1HovMBsLQ9OZWLDqVY8MVobBXNSmAJi//Csh6tcY7e7Lny2Hg1tElMjIA==} resolution: {integrity: sha512-KZh7bAGGcrinEj4qzilJ4hqTY3Dg2U82c8bv+e1xqNqZCrCyc+TL9AUEn5WGKDzm3CfC5RODE/qc96OcbIe33w==}
engines: {node: '>=18'} engines: {node: '>=18'}
cpu: [riscv64] cpu: [riscv64]
os: [linux] os: [linux]
'@esbuild/linux-s390x@0.23.1': '@esbuild/linux-s390x@0.25.6':
resolution: {integrity: sha512-9ygs73tuFCe6f6m/Tb+9LtYxWR4c9yg7zjt2cYkjDbDpV/xVn+68cQxMXCjUpYwEkze2RcU/rMnfIXNRFmSoDw==} resolution: {integrity: sha512-9N1LsTwAuE9oj6lHMyyAM+ucxGiVnEqUdp4v7IaMmrwb06ZTEVCIs3oPPplVsnjPfyjmxwHxHMF8b6vzUVAUGw==}
engines: {node: '>=18'} engines: {node: '>=18'}
cpu: [s390x] cpu: [s390x]
os: [linux] os: [linux]
'@esbuild/linux-x64@0.23.1': '@esbuild/linux-x64@0.25.6':
resolution: {integrity: sha512-EV6+ovTsEXCPAp58g2dD68LxoP/wK5pRvgy0J/HxPGB009omFPv3Yet0HiaqvrIrgPTBuC6wCH1LTOY91EO5hQ==} resolution: {integrity: sha512-A6bJB41b4lKFWRKNrWoP2LHsjVzNiaurf7wyj/XtFNTsnPuxwEBWHLty+ZE0dWBKuSK1fvKgrKaNjBS7qbFKig==}
engines: {node: '>=18'} engines: {node: '>=18'}
cpu: [x64] cpu: [x64]
os: [linux] os: [linux]
'@esbuild/netbsd-x64@0.23.1': '@esbuild/netbsd-arm64@0.25.6':
resolution: {integrity: sha512-aevEkCNu7KlPRpYLjwmdcuNz6bDFiE7Z8XC4CPqExjTvrHugh28QzUXVOZtiYghciKUacNktqxdpymplil1beA==} resolution: {integrity: sha512-IjA+DcwoVpjEvyxZddDqBY+uJ2Snc6duLpjmkXm/v4xuS3H+3FkLZlDm9ZsAbF9rsfP3zeA0/ArNDORZgrxR/Q==}
engines: {node: '>=18'}
cpu: [arm64]
os: [netbsd]
'@esbuild/netbsd-x64@0.25.6':
resolution: {integrity: sha512-dUXuZr5WenIDlMHdMkvDc1FAu4xdWixTCRgP7RQLBOkkGgwuuzaGSYcOpW4jFxzpzL1ejb8yF620UxAqnBrR9g==}
engines: {node: '>=18'} engines: {node: '>=18'}
cpu: [x64] cpu: [x64]
os: [netbsd] os: [netbsd]
'@esbuild/openbsd-arm64@0.23.1': '@esbuild/openbsd-arm64@0.25.6':
resolution: {integrity: sha512-3x37szhLexNA4bXhLrCC/LImN/YtWis6WXr1VESlfVtVeoFJBRINPJ3f0a/6LV8zpikqoUg4hyXw0sFBt5Cr+Q==} resolution: {integrity: sha512-l8ZCvXP0tbTJ3iaqdNf3pjaOSd5ex/e6/omLIQCVBLmHTlfXW3zAxQ4fnDmPLOB1x9xrcSi/xtCWFwCZRIaEwg==}
engines: {node: '>=18'} engines: {node: '>=18'}
cpu: [arm64] cpu: [arm64]
os: [openbsd] os: [openbsd]
'@esbuild/openbsd-x64@0.23.1': '@esbuild/openbsd-x64@0.25.6':
resolution: {integrity: sha512-aY2gMmKmPhxfU+0EdnN+XNtGbjfQgwZj43k8G3fyrDM/UdZww6xrWxmDkuz2eCZchqVeABjV5BpildOrUbBTqA==} resolution: {integrity: sha512-hKrmDa0aOFOr71KQ/19JC7az1P0GWtCN1t2ahYAf4O007DHZt/dW8ym5+CUdJhQ/qkZmI1HAF8KkJbEFtCL7gw==}
engines: {node: '>=18'} engines: {node: '>=18'}
cpu: [x64] cpu: [x64]
os: [openbsd] os: [openbsd]
'@esbuild/sunos-x64@0.23.1': '@esbuild/openharmony-arm64@0.25.6':
resolution: {integrity: sha512-RBRT2gqEl0IKQABT4XTj78tpk9v7ehp+mazn2HbUeZl1YMdaGAQqhapjGTCe7uw7y0frDi4gS0uHzhvpFuI1sA==} resolution: {integrity: sha512-+SqBcAWoB1fYKmpWoQP4pGtx+pUUC//RNYhFdbcSA16617cchuryuhOCRpPsjCblKukAckWsV+aQ3UKT/RMPcA==}
engines: {node: '>=18'}
cpu: [arm64]
os: [openharmony]
'@esbuild/sunos-x64@0.25.6':
resolution: {integrity: sha512-dyCGxv1/Br7MiSC42qinGL8KkG4kX0pEsdb0+TKhmJZgCUDBGmyo1/ArCjNGiOLiIAgdbWgmWgib4HoCi5t7kA==}
engines: {node: '>=18'} engines: {node: '>=18'}
cpu: [x64] cpu: [x64]
os: [sunos] os: [sunos]
'@esbuild/win32-arm64@0.23.1': '@esbuild/win32-arm64@0.25.6':
resolution: {integrity: sha512-4O+gPR5rEBe2FpKOVyiJ7wNDPA8nGzDuJ6gN4okSA1gEOYZ67N8JPk58tkWtdtPeLz7lBnY6I5L3jdsr3S+A6A==} resolution: {integrity: sha512-42QOgcZeZOvXfsCBJF5Afw73t4veOId//XD3i+/9gSkhSV6Gk3VPlWncctI+JcOyERv85FUo7RxuxGy+z8A43Q==}
engines: {node: '>=18'} engines: {node: '>=18'}
cpu: [arm64] cpu: [arm64]
os: [win32] os: [win32]
'@esbuild/win32-ia32@0.23.1': '@esbuild/win32-ia32@0.25.6':
resolution: {integrity: sha512-BcaL0Vn6QwCwre3Y717nVHZbAa4UBEigzFm6VdsVdT/MbZ38xoj1X9HPkZhbmaBGUD1W8vxAfffbDe8bA6AKnQ==} resolution: {integrity: sha512-4AWhgXmDuYN7rJI6ORB+uU9DHLq/erBbuMoAuB4VWJTu5KtCgcKYPynF0YI1VkBNuEfjNlLrFr9KZPJzrtLkrQ==}
engines: {node: '>=18'} engines: {node: '>=18'}
cpu: [ia32] cpu: [ia32]
os: [win32] os: [win32]
'@esbuild/win32-x64@0.23.1': '@esbuild/win32-x64@0.25.6':
resolution: {integrity: sha512-BHpFFeslkWrXWyUPnbKm+xYYVYruCinGcftSBaa8zoF9hZO4BcSCFUvHVTtzpIY6YzUnYtuEhZ+C9iEXjxnasg==} resolution: {integrity: sha512-NgJPHHbEpLQgDH2MjQu90pzW/5vvXIZ7KOnPyNBm92A6WgZ/7b6fJyUBjoumLqeOQQGqY2QjQxRo97ah4Sj0cA==}
engines: {node: '>=18'} engines: {node: '>=18'}
cpu: [x64] cpu: [x64]
os: [win32] os: [win32]
@ -311,14 +323,14 @@ packages:
resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
engines: {node: '>=6.0.0'} engines: {node: '>=6.0.0'}
'@jridgewell/sourcemap-codec@1.5.0': '@jridgewell/sourcemap-codec@1.5.4':
resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} resolution: {integrity: sha512-VT2+G1VQs/9oz078bLrYbecdZKs912zQlkelYpuf+SXF+QvZDYJlbx/LSx+meSAwdDFnF8FVXW92AVjjkVmgFw==}
'@jridgewell/trace-mapping@0.3.9': '@jridgewell/trace-mapping@0.3.9':
resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==}
'@noble/hashes@1.5.0': '@noble/hashes@1.8.0':
resolution: {integrity: sha512-1j6kQFb7QRru7eKN3ZDvRcP13rugwdxZqCjbiAVZfIJwgj2A65UmT4TgARXGlXgnRkORLTDTrO19ZErt7+QXgA==} resolution: {integrity: sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==}
engines: {node: ^14.21.3 || >=16} engines: {node: ^14.21.3 || >=16}
'@paralleldrive/cuid2@2.2.2': '@paralleldrive/cuid2@2.2.2':
@ -336,29 +348,29 @@ packages:
'@tsconfig/node16@1.0.4': '@tsconfig/node16@1.0.4':
resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==}
'@types/chai@4.3.19': '@types/chai@4.3.20':
resolution: {integrity: sha512-2hHHvQBVE2FiSK4eN0Br6snX9MtolHaTo/batnLjlGRhoQzlCL61iVpxoqO7SfFyOw+P/pwv+0zNHzKoGWz9Cw==} resolution: {integrity: sha512-/pC9HAB5I/xMlc5FP77qjCnI16ChlJfW0tGa0IUcFn38VJrTV6DeZ60NU5KZBtaOZqjdpwTWohz5HU1RrhiYxQ==}
'@types/debug@4.1.12': '@types/debug@4.1.12':
resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==}
'@types/fluent-ffmpeg@2.1.26': '@types/fluent-ffmpeg@2.1.27':
resolution: {integrity: sha512-0JVF3wdQG+pN0ImwWD0bNgJiKF2OHg/7CDBHw5UIbRTvlnkgGHK6V5doE54ltvhud4o31/dEiHm23CAlxFiUQg==} resolution: {integrity: sha512-QiDWjihpUhriISNoBi2hJBRUUmoj/BMTYcfz+F+ZM9hHWBYABFAE6hjP/TbCZC0GWwlpa3FzvHH9RzFeRusZ7A==}
'@types/luxon@3.4.2': '@types/luxon@3.6.2':
resolution: {integrity: sha512-TifLZlFudklWlMBfhubvgqTXRzLDI5pCbGa4P8a3wPyUQSW+1xQ5eDsreP9DWHX3tjq1ke96uYG/nwundroWcA==} resolution: {integrity: sha512-R/BdP7OxEMc44l2Ex5lSXHoIXTB2JLNa3y2QISIbr58U/YcsffyQrYW//hZSdrfxrjRZj3GcUoxMPGdO8gSYuw==}
'@types/mocha@10.0.7': '@types/mocha@10.0.10':
resolution: {integrity: sha512-GN8yJ1mNTcFcah/wKEFIJckJx9iJLoMSzWcfRRuxz/Jk+U6KQNnml+etbtxFK8lPjzOw3zp4Ha/kjSst9fsHYw==} resolution: {integrity: sha512-xPyYSz1cMPnJQhl0CLMH68j3gprKZaTjG3s5Vi+fDgx+uhG9NOXwbVt52eFS8ECyXhyKcjDLCBEqBExKuiZb7Q==}
'@types/ms@0.7.34': '@types/ms@2.1.0':
resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==}
'@types/node@20.16.3': '@types/node@20.19.7':
resolution: {integrity: sha512-/wdGiWRkMOm53gAsSyFMXFZHbVg7C6CbkrzHNpaHoYfsUWPg7m6ZRKtvQjgvQ9i8WT540a3ydRlRQbxjY30XxQ==} resolution: {integrity: sha512-1GM9z6BJOv86qkPvzh2i6VW5+VVrXxCLknfmTkWEqz+6DqosiY28XUWCTmBcJ0ACzKqx/iwdIREfo1fwExIlkA==}
'@types/node@22.5.2': '@types/node@22.16.3':
resolution: {integrity: sha512-acJsPTEqYqulZS/Yp/S3GgeE6GZ0qYODUR8aVr/DkhHQ8l9nd4j5x1/ZJy9/gHrRlFMqkO6i0I3E27Alu4jjPg==} resolution: {integrity: sha512-sr4Xz74KOUeYadexo1r8imhRtlVXcs+j3XK3TcoiYk7B1t3YRVJgtaD3cwX73NYb71pmVuMLNRhJ9XKdoDB74g==}
'@types/retry@0.12.2': '@types/retry@0.12.2':
resolution: {integrity: sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==} resolution: {integrity: sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==}
@ -366,12 +378,12 @@ packages:
'@types/slug@5.0.9': '@types/slug@5.0.9':
resolution: {integrity: sha512-6Yp8BSplP35Esa/wOG1wLNKiqXevpQTEF/RcL/NV6BBQaMmZh4YlDwCgrrFSoUE4xAGvnKd5c+lkQJmPrBAzfQ==} resolution: {integrity: sha512-6Yp8BSplP35Esa/wOG1wLNKiqXevpQTEF/RcL/NV6BBQaMmZh4YlDwCgrrFSoUE4xAGvnKd5c+lkQJmPrBAzfQ==}
acorn-walk@8.3.3: acorn-walk@8.3.4:
resolution: {integrity: sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==} resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==}
engines: {node: '>=0.4.0'} engines: {node: '>=0.4.0'}
acorn@8.12.1: acorn@8.15.0:
resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==} resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==}
engines: {node: '>=0.4.0'} engines: {node: '>=0.4.0'}
hasBin: true hasBin: true
@ -411,8 +423,8 @@ packages:
resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==}
engines: {node: '>=8'} engines: {node: '>=8'}
brace-expansion@2.0.1: brace-expansion@2.0.2:
resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==}
braces@3.0.3: braces@3.0.3:
resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
@ -425,9 +437,9 @@ packages:
resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==}
engines: {node: '>=10'} engines: {node: '>=10'}
chai@5.1.1: chai@5.2.1:
resolution: {integrity: sha512-pT1ZgP8rPNqUgieVaEY+ryQr6Q4HXNg8Ei9UnLUrjN4IA7dvQC5JB+/kxVcPNDHyBcc/26CXPkbNzq3qwrOEKA==} resolution: {integrity: sha512-5nFxhUrX0PqtyogoYOA8IPswy5sZFTOsBFl/9bNsmDLgsxYTzSZQJDPppDnZPTQbzSEm0hqGjWPzRemQCYbD6A==}
engines: {node: '>=12'} engines: {node: '>=18'}
chalk@4.1.2: chalk@4.1.2:
resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
@ -461,12 +473,12 @@ packages:
create-require@1.1.1: create-require@1.1.1:
resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==}
cross-spawn@7.0.3: cross-spawn@7.0.6:
resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==}
engines: {node: '>= 8'} engines: {node: '>= 8'}
debug@4.3.6: debug@4.4.1:
resolution: {integrity: sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==} resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==}
engines: {node: '>=6.0'} engines: {node: '>=6.0'}
peerDependencies: peerDependencies:
supports-color: '*' supports-color: '*'
@ -482,8 +494,8 @@ packages:
resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==}
engines: {node: '>=6'} engines: {node: '>=6'}
detect-libc@2.0.3: detect-libc@2.0.4:
resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} resolution: {integrity: sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==}
engines: {node: '>=8'} engines: {node: '>=8'}
diff@4.0.2: diff@4.0.2:
@ -497,8 +509,8 @@ packages:
emoji-regex@8.0.0: emoji-regex@8.0.0:
resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
esbuild@0.23.1: esbuild@0.25.6:
resolution: {integrity: sha512-VVNz/9Sa0bs5SELtn3f7qhJCDPCF5oMEl5cO9/SSinpE9hbPVvxbd572HH5AKiP7WD8INO53GgfDDhRjkylHEg==} resolution: {integrity: sha512-GVuzuUwtdsghE3ocJ9Bs8PNoF13HNQ5TXbEi2AhvVb8xU1Iwt9Fos9FEamfoee+u/TOsn7GUWc04lz46n2bbTg==}
engines: {node: '>=18'} engines: {node: '>=18'}
hasBin: true hasBin: true
@ -529,6 +541,7 @@ packages:
fluent-ffmpeg@2.1.3: fluent-ffmpeg@2.1.3:
resolution: {integrity: sha512-Be3narBNt2s6bsaqP6Jzq91heDgOEaDCJAXcE3qcma/EJBSy5FB4cvO31XBInuAuKBx8Kptf8dkhjK0IOru39Q==} resolution: {integrity: sha512-Be3narBNt2s6bsaqP6Jzq91heDgOEaDCJAXcE3qcma/EJBSy5FB4cvO31XBInuAuKBx8Kptf8dkhjK0IOru39Q==}
engines: {node: '>=18'} engines: {node: '>=18'}
deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.
fs.realpath@1.0.0: fs.realpath@1.0.0:
resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
@ -542,15 +555,12 @@ packages:
resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
engines: {node: 6.* || 8.* || >= 10.*} engines: {node: 6.* || 8.* || >= 10.*}
get-func-name@2.0.2:
resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==}
get-stream@8.0.1: get-stream@8.0.1:
resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==}
engines: {node: '>=16'} engines: {node: '>=16'}
get-tsconfig@4.8.0: get-tsconfig@4.10.1:
resolution: {integrity: sha512-Pgba6TExTZ0FJAn1qkJAjIeKoDJ3CsI2ChuLohJnZl/tTU8MVrq3b+2t5UOPfRa4RMsorClBjJALkJUMjG1PAw==} resolution: {integrity: sha512-auHyJ4AgMz7vgS8Hp3N6HXSmlMdUyhSUrfBF16w153rxtLIEOE+HGqaBppczZvnHLqQJfiHotCYpNhl0lUROFQ==}
glob-parent@5.1.2: glob-parent@5.1.2:
resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
@ -634,8 +644,8 @@ packages:
resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==}
engines: {node: '>=10'} engines: {node: '>=10'}
loupe@3.1.1: loupe@3.1.4:
resolution: {integrity: sha512-edNu/8D5MKVfGVFRhFf8aAxiTM6Wumfz5XsaatSxlD3w4R1d/WEKUTydCdPGbl9K7QG/Ca3GnDV2sIKIpXRQcw==} resolution: {integrity: sha512-wJzkKwJrheKtknCOKNEtDK4iqg/MxmZheEMtSTYvnzRdEYaZzmgH976nenp8WdJRdx5Vc1X/9MO0Oszl6ezeXg==}
luxon@1.28.1: luxon@1.28.1:
resolution: {integrity: sha512-gYHAa180mKrNIUJCbwpmD0aTu9kV0dREDrwNnuyFAsO1Wt0EVYSZelPnJlbj9HplzXX/YWXHFTL45kvZ53M0pw==} resolution: {integrity: sha512-gYHAa180mKrNIUJCbwpmD0aTu9kV0dREDrwNnuyFAsO1Wt0EVYSZelPnJlbj9HplzXX/YWXHFTL45kvZ53M0pw==}
@ -654,14 +664,11 @@ packages:
resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==}
engines: {node: '>=10'} engines: {node: '>=10'}
mocha@10.7.3: mocha@10.8.2:
resolution: {integrity: sha512-uQWxAu44wwiACGqjbPYmjo7Lg8sFrS3dQe7PP2FQI+woptP4vZXSMcfMyFL/e1yFEeEpV4RtyTpZROOKmxis+A==} resolution: {integrity: sha512-VZlYo/WE8t1tstuRmqgeyBgCbJc/lEdopaa+axcKzTBJ+UIdlAB9XnmvTCAH4pwR4ElNInaedhEBmZD8iCSVEg==}
engines: {node: '>= 14.0.0'} engines: {node: '>= 14.0.0'}
hasBin: true hasBin: true
ms@2.1.2:
resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
ms@2.1.3: ms@2.1.3:
resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
@ -688,8 +695,8 @@ packages:
resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
engines: {node: '>=10'} engines: {node: '>=10'}
p-retry@6.2.0: p-retry@6.2.1:
resolution: {integrity: sha512-JA6nkq6hKyWLLasXQXUrO4z8BUZGUt/LjlJxx8Gb2+2ntodU/SS63YZ8b0LUTbQ8ZB9iwOfhEPhg4ykKnn2KsA==} resolution: {integrity: sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ==}
engines: {node: '>=16.17'} engines: {node: '>=16.17'}
path-exists@4.0.0: path-exists@4.0.0:
@ -704,8 +711,8 @@ packages:
resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==}
engines: {node: '>=12'} engines: {node: '>=12'}
pathval@2.0.0: pathval@2.0.1:
resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==} resolution: {integrity: sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==}
engines: {node: '>= 14.16'} engines: {node: '>= 14.16'}
picomatch@2.3.1: picomatch@2.3.1:
@ -736,8 +743,8 @@ packages:
safe-buffer@5.2.1: safe-buffer@5.2.1:
resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
semver@7.6.3: semver@7.7.2:
resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==}
engines: {node: '>=10'} engines: {node: '>=10'}
hasBin: true hasBin: true
@ -809,21 +816,21 @@ packages:
'@swc/wasm': '@swc/wasm':
optional: true optional: true
tslib@2.7.0: tslib@2.8.1:
resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
tsx@4.19.0: tsx@4.20.3:
resolution: {integrity: sha512-bV30kM7bsLZKZIOCHeMNVMJ32/LuJzLVajkQI/qf92J2Qr08ueLQvW00PUZGiuLPP760UINwupgUj8qrSCPUKg==} resolution: {integrity: sha512-qjbnuR9Tr+FJOMBqJCW5ehvIo/buZq7vH7qD7JziU98h6l3qGy0a/yPFjwO+y0/T7GFpNgNAvEcPPVfyT8rrPQ==}
engines: {node: '>=18.0.0'} engines: {node: '>=18.0.0'}
hasBin: true hasBin: true
typescript@5.5.4: typescript@5.8.3:
resolution: {integrity: sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==} resolution: {integrity: sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==}
engines: {node: '>=14.17'} engines: {node: '>=14.17'}
hasBin: true hasBin: true
undici-types@6.19.8: undici-types@6.21.0:
resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==}
v8-compile-cache-lib@3.0.1: v8-compile-cache-lib@3.0.1:
resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==}
@ -877,81 +884,87 @@ snapshots:
dependencies: dependencies:
'@jridgewell/trace-mapping': 0.3.9 '@jridgewell/trace-mapping': 0.3.9
'@emnapi/runtime@1.2.0': '@emnapi/runtime@1.4.4':
dependencies: dependencies:
tslib: 2.7.0 tslib: 2.8.1
optional: true optional: true
'@esbuild/aix-ppc64@0.23.1': '@esbuild/aix-ppc64@0.25.6':
optional: true optional: true
'@esbuild/android-arm64@0.23.1': '@esbuild/android-arm64@0.25.6':
optional: true optional: true
'@esbuild/android-arm@0.23.1': '@esbuild/android-arm@0.25.6':
optional: true optional: true
'@esbuild/android-x64@0.23.1': '@esbuild/android-x64@0.25.6':
optional: true optional: true
'@esbuild/darwin-arm64@0.23.1': '@esbuild/darwin-arm64@0.25.6':
optional: true optional: true
'@esbuild/darwin-x64@0.23.1': '@esbuild/darwin-x64@0.25.6':
optional: true optional: true
'@esbuild/freebsd-arm64@0.23.1': '@esbuild/freebsd-arm64@0.25.6':
optional: true optional: true
'@esbuild/freebsd-x64@0.23.1': '@esbuild/freebsd-x64@0.25.6':
optional: true optional: true
'@esbuild/linux-arm64@0.23.1': '@esbuild/linux-arm64@0.25.6':
optional: true optional: true
'@esbuild/linux-arm@0.23.1': '@esbuild/linux-arm@0.25.6':
optional: true optional: true
'@esbuild/linux-ia32@0.23.1': '@esbuild/linux-ia32@0.25.6':
optional: true optional: true
'@esbuild/linux-loong64@0.23.1': '@esbuild/linux-loong64@0.25.6':
optional: true optional: true
'@esbuild/linux-mips64el@0.23.1': '@esbuild/linux-mips64el@0.25.6':
optional: true optional: true
'@esbuild/linux-ppc64@0.23.1': '@esbuild/linux-ppc64@0.25.6':
optional: true optional: true
'@esbuild/linux-riscv64@0.23.1': '@esbuild/linux-riscv64@0.25.6':
optional: true optional: true
'@esbuild/linux-s390x@0.23.1': '@esbuild/linux-s390x@0.25.6':
optional: true optional: true
'@esbuild/linux-x64@0.23.1': '@esbuild/linux-x64@0.25.6':
optional: true optional: true
'@esbuild/netbsd-x64@0.23.1': '@esbuild/netbsd-arm64@0.25.6':
optional: true optional: true
'@esbuild/openbsd-arm64@0.23.1': '@esbuild/netbsd-x64@0.25.6':
optional: true optional: true
'@esbuild/openbsd-x64@0.23.1': '@esbuild/openbsd-arm64@0.25.6':
optional: true optional: true
'@esbuild/sunos-x64@0.23.1': '@esbuild/openbsd-x64@0.25.6':
optional: true optional: true
'@esbuild/win32-arm64@0.23.1': '@esbuild/openharmony-arm64@0.25.6':
optional: true optional: true
'@esbuild/win32-ia32@0.23.1': '@esbuild/sunos-x64@0.25.6':
optional: true optional: true
'@esbuild/win32-x64@0.23.1': '@esbuild/win32-arm64@0.25.6':
optional: true
'@esbuild/win32-ia32@0.25.6':
optional: true
'@esbuild/win32-x64@0.25.6':
optional: true optional: true
'@img/sharp-darwin-arm64@0.33.5': '@img/sharp-darwin-arm64@0.33.5':
@ -1020,7 +1033,7 @@ snapshots:
'@img/sharp-wasm32@0.33.5': '@img/sharp-wasm32@0.33.5':
dependencies: dependencies:
'@emnapi/runtime': 1.2.0 '@emnapi/runtime': 1.4.4
optional: true optional: true
'@img/sharp-win32-ia32@0.33.5': '@img/sharp-win32-ia32@0.33.5':
@ -1031,18 +1044,18 @@ snapshots:
'@jridgewell/resolve-uri@3.1.2': {} '@jridgewell/resolve-uri@3.1.2': {}
'@jridgewell/sourcemap-codec@1.5.0': {} '@jridgewell/sourcemap-codec@1.5.4': {}
'@jridgewell/trace-mapping@0.3.9': '@jridgewell/trace-mapping@0.3.9':
dependencies: dependencies:
'@jridgewell/resolve-uri': 3.1.2 '@jridgewell/resolve-uri': 3.1.2
'@jridgewell/sourcemap-codec': 1.5.0 '@jridgewell/sourcemap-codec': 1.5.4
'@noble/hashes@1.5.0': {} '@noble/hashes@1.8.0': {}
'@paralleldrive/cuid2@2.2.2': '@paralleldrive/cuid2@2.2.2':
dependencies: dependencies:
'@noble/hashes': 1.5.0 '@noble/hashes': 1.8.0
'@tsconfig/node10@1.0.11': {} '@tsconfig/node10@1.0.11': {}
@ -1052,39 +1065,39 @@ snapshots:
'@tsconfig/node16@1.0.4': {} '@tsconfig/node16@1.0.4': {}
'@types/chai@4.3.19': {} '@types/chai@4.3.20': {}
'@types/debug@4.1.12': '@types/debug@4.1.12':
dependencies: dependencies:
'@types/ms': 0.7.34 '@types/ms': 2.1.0
'@types/fluent-ffmpeg@2.1.26': '@types/fluent-ffmpeg@2.1.27':
dependencies: dependencies:
'@types/node': 22.5.2 '@types/node': 22.16.3
'@types/luxon@3.4.2': {} '@types/luxon@3.6.2': {}
'@types/mocha@10.0.7': {} '@types/mocha@10.0.10': {}
'@types/ms@0.7.34': {} '@types/ms@2.1.0': {}
'@types/node@20.16.3': '@types/node@20.19.7':
dependencies: dependencies:
undici-types: 6.19.8 undici-types: 6.21.0
'@types/node@22.5.2': '@types/node@22.16.3':
dependencies: dependencies:
undici-types: 6.19.8 undici-types: 6.21.0
'@types/retry@0.12.2': {} '@types/retry@0.12.2': {}
'@types/slug@5.0.9': {} '@types/slug@5.0.9': {}
acorn-walk@8.3.3: acorn-walk@8.3.4:
dependencies: dependencies:
acorn: 8.12.1 acorn: 8.15.0
acorn@8.12.1: {} acorn@8.15.0: {}
ansi-colors@4.1.3: {} ansi-colors@4.1.3: {}
@ -1111,7 +1124,7 @@ snapshots:
binary-extensions@2.3.0: {} binary-extensions@2.3.0: {}
brace-expansion@2.0.1: brace-expansion@2.0.2:
dependencies: dependencies:
balanced-match: 1.0.2 balanced-match: 1.0.2
@ -1123,13 +1136,13 @@ snapshots:
camelcase@6.3.0: {} camelcase@6.3.0: {}
chai@5.1.1: chai@5.2.1:
dependencies: dependencies:
assertion-error: 2.0.1 assertion-error: 2.0.1
check-error: 2.1.1 check-error: 2.1.1
deep-eql: 5.0.2 deep-eql: 5.0.2
loupe: 3.1.1 loupe: 3.1.4
pathval: 2.0.0 pathval: 2.0.1
chalk@4.1.2: chalk@4.1.2:
dependencies: dependencies:
@ -1174,15 +1187,15 @@ snapshots:
create-require@1.1.1: {} create-require@1.1.1: {}
cross-spawn@7.0.3: cross-spawn@7.0.6:
dependencies: dependencies:
path-key: 3.1.1 path-key: 3.1.1
shebang-command: 2.0.0 shebang-command: 2.0.0
which: 2.0.2 which: 2.0.2
debug@4.3.6(supports-color@8.1.1): debug@4.4.1(supports-color@8.1.1):
dependencies: dependencies:
ms: 2.1.2 ms: 2.1.3
optionalDependencies: optionalDependencies:
supports-color: 8.1.1 supports-color: 8.1.1
@ -1190,7 +1203,7 @@ snapshots:
deep-eql@5.0.2: {} deep-eql@5.0.2: {}
detect-libc@2.0.3: {} detect-libc@2.0.4: {}
diff@4.0.2: {} diff@4.0.2: {}
@ -1198,32 +1211,34 @@ snapshots:
emoji-regex@8.0.0: {} emoji-regex@8.0.0: {}
esbuild@0.23.1: esbuild@0.25.6:
optionalDependencies: optionalDependencies:
'@esbuild/aix-ppc64': 0.23.1 '@esbuild/aix-ppc64': 0.25.6
'@esbuild/android-arm': 0.23.1 '@esbuild/android-arm': 0.25.6
'@esbuild/android-arm64': 0.23.1 '@esbuild/android-arm64': 0.25.6
'@esbuild/android-x64': 0.23.1 '@esbuild/android-x64': 0.25.6
'@esbuild/darwin-arm64': 0.23.1 '@esbuild/darwin-arm64': 0.25.6
'@esbuild/darwin-x64': 0.23.1 '@esbuild/darwin-x64': 0.25.6
'@esbuild/freebsd-arm64': 0.23.1 '@esbuild/freebsd-arm64': 0.25.6
'@esbuild/freebsd-x64': 0.23.1 '@esbuild/freebsd-x64': 0.25.6
'@esbuild/linux-arm': 0.23.1 '@esbuild/linux-arm': 0.25.6
'@esbuild/linux-arm64': 0.23.1 '@esbuild/linux-arm64': 0.25.6
'@esbuild/linux-ia32': 0.23.1 '@esbuild/linux-ia32': 0.25.6
'@esbuild/linux-loong64': 0.23.1 '@esbuild/linux-loong64': 0.25.6
'@esbuild/linux-mips64el': 0.23.1 '@esbuild/linux-mips64el': 0.25.6
'@esbuild/linux-ppc64': 0.23.1 '@esbuild/linux-ppc64': 0.25.6
'@esbuild/linux-riscv64': 0.23.1 '@esbuild/linux-riscv64': 0.25.6
'@esbuild/linux-s390x': 0.23.1 '@esbuild/linux-s390x': 0.25.6
'@esbuild/linux-x64': 0.23.1 '@esbuild/linux-x64': 0.25.6
'@esbuild/netbsd-x64': 0.23.1 '@esbuild/netbsd-arm64': 0.25.6
'@esbuild/openbsd-arm64': 0.23.1 '@esbuild/netbsd-x64': 0.25.6
'@esbuild/openbsd-x64': 0.23.1 '@esbuild/openbsd-arm64': 0.25.6
'@esbuild/sunos-x64': 0.23.1 '@esbuild/openbsd-x64': 0.25.6
'@esbuild/win32-arm64': 0.23.1 '@esbuild/openharmony-arm64': 0.25.6
'@esbuild/win32-ia32': 0.23.1 '@esbuild/sunos-x64': 0.25.6
'@esbuild/win32-x64': 0.23.1 '@esbuild/win32-arm64': 0.25.6
'@esbuild/win32-ia32': 0.25.6
'@esbuild/win32-x64': 0.25.6
escalade@3.2.0: {} escalade@3.2.0: {}
@ -1231,7 +1246,7 @@ snapshots:
execa@8.0.1: execa@8.0.1:
dependencies: dependencies:
cross-spawn: 7.0.3 cross-spawn: 7.0.6
get-stream: 8.0.1 get-stream: 8.0.1
human-signals: 5.0.0 human-signals: 5.0.0
is-stream: 3.0.0 is-stream: 3.0.0
@ -1264,11 +1279,9 @@ snapshots:
get-caller-file@2.0.5: {} get-caller-file@2.0.5: {}
get-func-name@2.0.2: {}
get-stream@8.0.1: {} get-stream@8.0.1: {}
get-tsconfig@4.8.0: get-tsconfig@4.10.1:
dependencies: dependencies:
resolve-pkg-maps: 1.0.0 resolve-pkg-maps: 1.0.0
@ -1336,9 +1349,7 @@ snapshots:
chalk: 4.1.2 chalk: 4.1.2
is-unicode-supported: 0.1.0 is-unicode-supported: 0.1.0
loupe@3.1.1: loupe@3.1.4: {}
dependencies:
get-func-name: 2.0.2
luxon@1.28.1: {} luxon@1.28.1: {}
@ -1350,14 +1361,14 @@ snapshots:
minimatch@5.1.6: minimatch@5.1.6:
dependencies: dependencies:
brace-expansion: 2.0.1 brace-expansion: 2.0.2
mocha@10.7.3: mocha@10.8.2:
dependencies: dependencies:
ansi-colors: 4.1.3 ansi-colors: 4.1.3
browser-stdout: 1.3.1 browser-stdout: 1.3.1
chokidar: 3.6.0 chokidar: 3.6.0
debug: 4.3.6(supports-color@8.1.1) debug: 4.4.1(supports-color@8.1.1)
diff: 5.2.0 diff: 5.2.0
escape-string-regexp: 4.0.0 escape-string-regexp: 4.0.0
find-up: 5.0.0 find-up: 5.0.0
@ -1375,8 +1386,6 @@ snapshots:
yargs-parser: 20.2.9 yargs-parser: 20.2.9
yargs-unparser: 2.0.0 yargs-unparser: 2.0.0
ms@2.1.2: {}
ms@2.1.3: {} ms@2.1.3: {}
normalize-path@3.0.0: {} normalize-path@3.0.0: {}
@ -1401,7 +1410,7 @@ snapshots:
dependencies: dependencies:
p-limit: 3.1.0 p-limit: 3.1.0
p-retry@6.2.0: p-retry@6.2.1:
dependencies: dependencies:
'@types/retry': 0.12.2 '@types/retry': 0.12.2
is-network-error: 1.1.0 is-network-error: 1.1.0
@ -1413,21 +1422,21 @@ snapshots:
path-key@4.0.0: {} path-key@4.0.0: {}
pathval@2.0.0: {} pathval@2.0.1: {}
picomatch@2.3.1: {} picomatch@2.3.1: {}
prevvy@8.0.1: prevvy@8.0.1:
dependencies: dependencies:
'@types/debug': 4.1.12 '@types/debug': 4.1.12
'@types/fluent-ffmpeg': 2.1.26 '@types/fluent-ffmpeg': 2.1.27
'@types/luxon': 3.4.2 '@types/luxon': 3.6.2
'@types/node': 20.16.3 '@types/node': 20.19.7
debug: 4.3.6(supports-color@8.1.1) debug: 4.4.1(supports-color@8.1.1)
execa: 8.0.1 execa: 8.0.1
fluent-ffmpeg: 2.1.3 fluent-ffmpeg: 2.1.3
luxon: 1.28.1 luxon: 1.28.1
typescript: 5.5.4 typescript: 5.8.3
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@ -1447,7 +1456,7 @@ snapshots:
safe-buffer@5.2.1: {} safe-buffer@5.2.1: {}
semver@7.6.3: {} semver@7.7.2: {}
serialize-javascript@6.0.2: serialize-javascript@6.0.2:
dependencies: dependencies:
@ -1456,8 +1465,8 @@ snapshots:
sharp@0.33.5: sharp@0.33.5:
dependencies: dependencies:
color: 4.2.3 color: 4.2.3
detect-libc: 2.0.3 detect-libc: 2.0.4
semver: 7.6.3 semver: 7.7.2
optionalDependencies: optionalDependencies:
'@img/sharp-darwin-arm64': 0.33.5 '@img/sharp-darwin-arm64': 0.33.5
'@img/sharp-darwin-x64': 0.33.5 '@img/sharp-darwin-x64': 0.33.5
@ -1519,37 +1528,37 @@ snapshots:
dependencies: dependencies:
is-number: 7.0.0 is-number: 7.0.0
ts-node@10.9.2(@types/node@22.5.2)(typescript@5.5.4): ts-node@10.9.2(@types/node@22.16.3)(typescript@5.8.3):
dependencies: dependencies:
'@cspotcode/source-map-support': 0.8.1 '@cspotcode/source-map-support': 0.8.1
'@tsconfig/node10': 1.0.11 '@tsconfig/node10': 1.0.11
'@tsconfig/node12': 1.0.11 '@tsconfig/node12': 1.0.11
'@tsconfig/node14': 1.0.3 '@tsconfig/node14': 1.0.3
'@tsconfig/node16': 1.0.4 '@tsconfig/node16': 1.0.4
'@types/node': 22.5.2 '@types/node': 22.16.3
acorn: 8.12.1 acorn: 8.15.0
acorn-walk: 8.3.3 acorn-walk: 8.3.4
arg: 4.1.3 arg: 4.1.3
create-require: 1.1.1 create-require: 1.1.1
diff: 4.0.2 diff: 4.0.2
make-error: 1.3.6 make-error: 1.3.6
typescript: 5.5.4 typescript: 5.8.3
v8-compile-cache-lib: 3.0.1 v8-compile-cache-lib: 3.0.1
yn: 3.1.1 yn: 3.1.1
tslib@2.7.0: tslib@2.8.1:
optional: true optional: true
tsx@4.19.0: tsx@4.20.3:
dependencies: dependencies:
esbuild: 0.23.1 esbuild: 0.25.6
get-tsconfig: 4.8.0 get-tsconfig: 4.10.1
optionalDependencies: optionalDependencies:
fsevents: 2.3.3 fsevents: 2.3.3
typescript@5.5.4: {} typescript@5.8.3: {}
undici-types@6.19.8: {} undici-types@6.21.0: {}
v8-compile-cache-lib@3.0.1: {} v8-compile-cache-lib@3.0.1: {}

40
pnpm-lock.yaml generated
View File

@ -21,8 +21,8 @@ importers:
packages: packages:
'@babel/runtime@7.25.6': '@babel/runtime@7.27.6':
resolution: {integrity: sha512-VBj9MYyDb9tuLq7yzqjgzt6Q+IBQLrGZfdjOekyEirZPHxXWoTSGUTMrpsfi58Up73d13NfYLv8HT9vmznjzhQ==} resolution: {integrity: sha512-vbavdySgbTTrmFE+EsiqUTzlOr5bzlnJtUv9PynGCAKvfQqjIXbvFdumPM/GxMDfyuGMJaJAU6TO4zc1Jf1i8Q==}
engines: {node: '>=6.9.0'} engines: {node: '>=6.9.0'}
ansi-regex@4.1.1: ansi-regex@4.1.1:
@ -203,9 +203,6 @@ packages:
resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
engines: {node: '>=8.10.0'} engines: {node: '>=8.10.0'}
regenerator-runtime@0.14.1:
resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==}
require-directory@2.1.1: require-directory@2.1.1:
resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==}
engines: {node: '>=0.10.0'} engines: {node: '>=0.10.0'}
@ -213,14 +210,15 @@ packages:
require-main-filename@2.0.0: require-main-filename@2.0.0:
resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==}
rxjs@7.8.1: rxjs@7.8.2:
resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} resolution: {integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==}
set-blocking@2.0.0: set-blocking@2.0.0:
resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==}
shell-quote@1.8.1: shell-quote@1.8.3:
resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} resolution: {integrity: sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==}
engines: {node: '>= 0.4'}
spawn-command@0.0.2: spawn-command@0.0.2:
resolution: {integrity: sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ==} resolution: {integrity: sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ==}
@ -257,8 +255,8 @@ packages:
resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==}
hasBin: true hasBin: true
tslib@2.7.0: tslib@2.8.1:
resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
types@0.1.1: types@0.1.1:
resolution: {integrity: sha512-JuntZtJj4MKLE9x/XBs7IjsznYhzETwr34pw3XJTKvgYtAMdeMG+o8x8U85E5Lm6eCPa1DdOdGVsHMwq4ZnZAg==} resolution: {integrity: sha512-JuntZtJj4MKLE9x/XBs7IjsznYhzETwr34pw3XJTKvgYtAMdeMG+o8x8U85E5Lm6eCPa1DdOdGVsHMwq4ZnZAg==}
@ -298,9 +296,7 @@ packages:
snapshots: snapshots:
'@babel/runtime@7.25.6': '@babel/runtime@7.27.6': {}
dependencies:
regenerator-runtime: 0.14.1
ansi-regex@4.1.1: {} ansi-regex@4.1.1: {}
@ -380,8 +376,8 @@ snapshots:
chalk: 4.1.2 chalk: 4.1.2
date-fns: 2.30.0 date-fns: 2.30.0
lodash: 4.17.21 lodash: 4.17.21
rxjs: 7.8.1 rxjs: 7.8.2
shell-quote: 1.8.1 shell-quote: 1.8.3
spawn-command: 0.0.2 spawn-command: 0.0.2
supports-color: 8.1.1 supports-color: 8.1.1
tree-kill: 1.2.2 tree-kill: 1.2.2
@ -389,7 +385,7 @@ snapshots:
date-fns@2.30.0: date-fns@2.30.0:
dependencies: dependencies:
'@babel/runtime': 7.25.6 '@babel/runtime': 7.27.6
decamelize@1.2.0: {} decamelize@1.2.0: {}
@ -465,19 +461,17 @@ snapshots:
dependencies: dependencies:
picomatch: 2.3.1 picomatch: 2.3.1
regenerator-runtime@0.14.1: {}
require-directory@2.1.1: {} require-directory@2.1.1: {}
require-main-filename@2.0.0: {} require-main-filename@2.0.0: {}
rxjs@7.8.1: rxjs@7.8.2:
dependencies: dependencies:
tslib: 2.7.0 tslib: 2.8.1
set-blocking@2.0.0: {} set-blocking@2.0.0: {}
shell-quote@1.8.1: {} shell-quote@1.8.3: {}
spawn-command@0.0.2: {} spawn-command@0.0.2: {}
@ -515,7 +509,7 @@ snapshots:
tree-kill@1.2.2: {} tree-kill@1.2.2: {}
tslib@2.7.0: {} tslib@2.8.1: {}
types@0.1.1: {} types@0.1.1: {}

View File

@ -1 +1,2 @@
ultralytics ultralytics
vcsi

View File

@ -10,7 +10,7 @@ importers:
dependencies: dependencies:
'@dotenvx/dotenvx': '@dotenvx/dotenvx':
specifier: ^1.44.1 specifier: ^1.44.1
version: 1.45.1 version: 1.47.5
pino: pino:
specifier: ^9.7.0 specifier: ^9.7.0
version: 9.7.0 version: 9.7.0
@ -19,16 +19,16 @@ importers:
version: 13.0.0 version: 13.0.0
puppeteer: puppeteer:
specifier: ^24.11.0 specifier: ^24.11.0
version: 24.11.0 version: 24.12.1
puppeteer-extra: puppeteer-extra:
specifier: ^3.3.6 specifier: ^3.3.6
version: 3.3.6(puppeteer-core@24.11.0)(puppeteer@24.11.0) version: 3.3.6(puppeteer-core@24.12.1)(puppeteer@24.12.1)
puppeteer-extra-plugin-stealth: puppeteer-extra-plugin-stealth:
specifier: ^2.11.2 specifier: ^2.11.2
version: 2.11.2(puppeteer-extra@3.3.6(puppeteer-core@24.11.0)(puppeteer@24.11.0)) version: 2.11.2(puppeteer-extra@3.3.6(puppeteer-core@24.12.1)(puppeteer@24.12.1))
zod: zod:
specifier: ^3.25.49 specifier: ^3.25.49
version: 3.25.67 version: 3.25.76
packages: packages:
@ -40,12 +40,12 @@ packages:
resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==} resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==}
engines: {node: '>=6.9.0'} engines: {node: '>=6.9.0'}
'@dotenvx/dotenvx@1.45.1': '@dotenvx/dotenvx@1.47.5':
resolution: {integrity: sha512-wKHPD+/NMMJVBPg3i98uD9jsURDy+Ck6RQRiWf39TlOAzC+Ge1FkmDk3sgeljYZxA3qF6E7SJmvRqC70XQuuVA==} resolution: {integrity: sha512-FtDgJyqOXmkj+BTU0qcE4Iq2HKjrEH6ZhRMc7m8fmOwstf1Ms9/9lbLNzyiNqyQrEnVr38W8PTTWMbDB3IX5og==}
hasBin: true hasBin: true
'@ecies/ciphers@0.2.3': '@ecies/ciphers@0.2.4':
resolution: {integrity: sha512-tapn6XhOueMwht3E2UzY0ZZjYokdaw9XtL9kEyjhQ/Fb9vL9xTFbOaI+fV0AWvTpYu4BNloC6getKW6NtSg4mA==} resolution: {integrity: sha512-t+iX+Wf5nRKyNzk8dviW3Ikb/280+aEJAnw9YXvCp2tYGPSkMki+NRY+8aNLmVFv3eNtMdvViPNOPxS8SZNP+w==}
engines: {bun: '>=1', deno: '>=2', node: '>=16'} engines: {bun: '>=1', deno: '>=2', node: '>=16'}
peerDependencies: peerDependencies:
'@noble/ciphers': ^1.0.0 '@noble/ciphers': ^1.0.0
@ -76,14 +76,14 @@ packages:
'@types/ms@2.1.0': '@types/ms@2.1.0':
resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==}
'@types/node@24.0.6': '@types/node@24.0.13':
resolution: {integrity: sha512-ZOyn+gOs749xU7ovp+Ibj0g1o3dFRqsfPnT22C2t5JzcRvgsEDpGawPbCISGKLudJk9Y0wiu9sYd6kUh0pc9TA==} resolution: {integrity: sha512-Qm9OYVOFHFYg3wJoTSrz80hoec5Lia/dPp84do3X7dZvLikQvM1YpmvTBEdIr/e+U8HTkFjLHLnl78K/qjf+jQ==}
'@types/yauzl@2.10.3': '@types/yauzl@2.10.3':
resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==}
agent-base@7.1.3: agent-base@7.1.4:
resolution: {integrity: sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==} resolution: {integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==}
engines: {node: '>= 14'} engines: {node: '>= 14'}
ansi-regex@5.0.1: ansi-regex@5.0.1:
@ -115,11 +115,11 @@ packages:
balanced-match@1.0.2: balanced-match@1.0.2:
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
bare-events@2.5.4: bare-events@2.6.0:
resolution: {integrity: sha512-+gFfDkR8pj4/TrWCGUGWmJIkBwuxPS5F+a5yWjOHQt2hHvNZd5YLzadjmDUtFmMM4y429bnKLa8bYBMHcYdnQA==} resolution: {integrity: sha512-EKZ5BTXYExaNqi3I3f9RtEsaI/xBSGjE0XZCZilPzFAV/goswFHuPd9jEZlPIZ/iNZJwDSao9qRiScySz7MbQg==}
bare-fs@4.1.5: bare-fs@4.1.6:
resolution: {integrity: sha512-1zccWBMypln0jEE05LzZt+V/8y8AQsQQqxtklqaIyg5nu6OAYFhZxPXinJTSG+kU5qyNmeLgcn9AW7eHiCHVLA==} resolution: {integrity: sha512-25RsLF33BqooOEFNdMcEhMpJy8EoR88zSMrnOQOaM3USnOK2VmaJ1uaQEwPA6AQjrv1lXChScosN6CzbwbO9OQ==}
engines: {bare: '>=1.16.0'} engines: {bare: '>=1.16.0'}
peerDependencies: peerDependencies:
bare-buffer: '*' bare-buffer: '*'
@ -336,8 +336,8 @@ packages:
resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
engines: {node: '>=10'} engines: {node: '>=10'}
get-uri@6.0.4: get-uri@6.0.5:
resolution: {integrity: sha512-E1b1lFFLvLgak2whF2xDBcOy6NLVGZBqqjJjsIhvopKfWWEi64pLVTWWehV8KlLerZkfNTA95sTe2OdJKm1OzQ==} resolution: {integrity: sha512-b1O07XYq8eRuVzBNgJLstU6FYc1tS6wnMtF1I1D9lE8LxZSOGZ7LhxN54yPP6mGw5f2CkXY2BQUL9Fx41qvcIg==}
engines: {node: '>= 14'} engines: {node: '>= 14'}
glob@7.2.3: glob@7.2.3:
@ -572,8 +572,8 @@ packages:
pump@3.0.3: pump@3.0.3:
resolution: {integrity: sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==} resolution: {integrity: sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==}
puppeteer-core@24.11.0: puppeteer-core@24.12.1:
resolution: {integrity: sha512-ncLty0wRjCX67UxzXemmD1mOxb6y1Xzrx1nym8SAQ6cYrcypOVf77CfcZru6P+EiMA9gNDeQNscowKSE9xvhMw==} resolution: {integrity: sha512-8odp6d3ERKBa3BAVaYWXn95UxQv3sxvP1reD+xZamaX6ed8nCykhwlOiHSaHR9t/MtmIB+rJmNencI6Zy4Gxvg==}
engines: {node: '>=18'} engines: {node: '>=18'}
puppeteer-extra-plugin-stealth@2.11.2: puppeteer-extra-plugin-stealth@2.11.2:
@ -639,8 +639,8 @@ packages:
puppeteer-core: puppeteer-core:
optional: true optional: true
puppeteer@24.11.0: puppeteer@24.12.1:
resolution: {integrity: sha512-7XFpexeYIMen/pfGiDjUpIV7BB9EuVQBtXeQ0cUOmVJTkAuQD3oPHVU7iYeA/mrIJyk79sfOmT20a6SEDwGTLQ==} resolution: {integrity: sha512-+vvwl+Xo4z5uXLLHG+XW8uXnUXQ62oY6KU6bEFZJvHWLutbmv5dw9A/jcMQ0fqpQdLydHmK0Uy7/9Ilj8ufwSQ==}
engines: {node: '>=18'} engines: {node: '>=18'}
hasBin: true hasBin: true
@ -699,8 +699,8 @@ packages:
resolution: {integrity: sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==} resolution: {integrity: sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==}
engines: {node: '>= 14'} engines: {node: '>= 14'}
socks@2.8.5: socks@2.8.6:
resolution: {integrity: sha512-iF+tNDQla22geJdTyJB1wM/qrX9DMRwWrciEPwWLPRWAUEM8sQiyxgckLxWT1f7+9VabJS0jTGGr4QgBuvi6Ww==} resolution: {integrity: sha512-pe4Y2yzru68lXCb38aAqRf5gvN8YdjP1lok5o0J7BOHljkyCGKVz7H3vpVIXKD27rj2giOJ7DwVyk/GWrPHDWA==}
engines: {node: '>= 10.0.0', npm: '>= 3.0.0'} engines: {node: '>= 10.0.0', npm: '>= 3.0.0'}
sonic-boom@4.2.0: sonic-boom@4.2.0:
@ -736,8 +736,8 @@ packages:
resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
engines: {node: '>=8'} engines: {node: '>=8'}
tar-fs@3.0.10: tar-fs@3.1.0:
resolution: {integrity: sha512-C1SwlQGNLe/jPNqapK8epDsXME7CAJR5RL3GcE6KWx1d9OUByzoHVcbu1VPI8tevg9H8Alae0AApHHFGzrD5zA==} resolution: {integrity: sha512-5Mty5y/sOF1YWj1J6GiBodjlDc05CUR8PKXrsnFAiSG0xA+GHeWLovaZPYUDXkH/1iKRf2+M5+OrRgzC7O9b7w==}
tar-stream@3.1.7: tar-stream@3.1.7:
resolution: {integrity: sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==} resolution: {integrity: sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==}
@ -778,8 +778,8 @@ packages:
wrappy@1.0.2: wrappy@1.0.2:
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
ws@8.18.2: ws@8.18.3:
resolution: {integrity: sha512-DMricUmwGZUVr++AEAe2uiVM7UoO9MAVZMDu05UQOaUII0lp+zOzLLU4Xqh/JvTqklB1T4uELaaPBKyjE1r4fQ==} resolution: {integrity: sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==}
engines: {node: '>=10.0.0'} engines: {node: '>=10.0.0'}
peerDependencies: peerDependencies:
bufferutil: ^4.0.1 bufferutil: ^4.0.1
@ -805,8 +805,8 @@ packages:
yauzl@2.10.0: yauzl@2.10.0:
resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==}
zod@3.25.67: zod@3.25.76:
resolution: {integrity: sha512-idA2YXwpCdqUSKRCACDE6ItZD9TZzy3OZMtpfLoh6oPR47lipysRrJfjzMqFxQ3uJuUPyUeWe1r9vLH33xO/Qw==} resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==}
snapshots: snapshots:
@ -818,7 +818,7 @@ snapshots:
'@babel/helper-validator-identifier@7.27.1': {} '@babel/helper-validator-identifier@7.27.1': {}
'@dotenvx/dotenvx@1.45.1': '@dotenvx/dotenvx@1.47.5':
dependencies: dependencies:
commander: 11.1.0 commander: 11.1.0
dotenv: 16.6.1 dotenv: 16.6.1
@ -830,7 +830,7 @@ snapshots:
picomatch: 4.0.2 picomatch: 4.0.2
which: 4.0.0 which: 4.0.0
'@ecies/ciphers@0.2.3(@noble/ciphers@1.3.0)': '@ecies/ciphers@0.2.4(@noble/ciphers@1.3.0)':
dependencies: dependencies:
'@noble/ciphers': 1.3.0 '@noble/ciphers': 1.3.0
@ -849,7 +849,7 @@ snapshots:
progress: 2.0.3 progress: 2.0.3
proxy-agent: 6.5.0 proxy-agent: 6.5.0
semver: 7.7.2 semver: 7.7.2
tar-fs: 3.0.10 tar-fs: 3.1.0
yargs: 17.7.2 yargs: 17.7.2
transitivePeerDependencies: transitivePeerDependencies:
- bare-buffer - bare-buffer
@ -863,17 +863,17 @@ snapshots:
'@types/ms@2.1.0': {} '@types/ms@2.1.0': {}
'@types/node@24.0.6': '@types/node@24.0.13':
dependencies: dependencies:
undici-types: 7.8.0 undici-types: 7.8.0
optional: true optional: true
'@types/yauzl@2.10.3': '@types/yauzl@2.10.3':
dependencies: dependencies:
'@types/node': 24.0.6 '@types/node': 24.0.13
optional: true optional: true
agent-base@7.1.3: {} agent-base@7.1.4: {}
ansi-regex@5.0.1: {} ansi-regex@5.0.1: {}
@ -895,14 +895,14 @@ snapshots:
balanced-match@1.0.2: {} balanced-match@1.0.2: {}
bare-events@2.5.4: bare-events@2.6.0:
optional: true optional: true
bare-fs@4.1.5: bare-fs@4.1.6:
dependencies: dependencies:
bare-events: 2.5.4 bare-events: 2.6.0
bare-path: 3.0.0 bare-path: 3.0.0
bare-stream: 2.6.5(bare-events@2.5.4) bare-stream: 2.6.5(bare-events@2.6.0)
optional: true optional: true
bare-os@3.6.1: bare-os@3.6.1:
@ -913,11 +913,11 @@ snapshots:
bare-os: 3.6.1 bare-os: 3.6.1
optional: true optional: true
bare-stream@2.6.5(bare-events@2.5.4): bare-stream@2.6.5(bare-events@2.6.0):
dependencies: dependencies:
streamx: 2.22.1 streamx: 2.22.1
optionalDependencies: optionalDependencies:
bare-events: 2.5.4 bare-events: 2.6.0
optional: true optional: true
basic-ftp@5.0.5: {} basic-ftp@5.0.5: {}
@ -935,7 +935,7 @@ snapshots:
dependencies: dependencies:
devtools-protocol: 0.0.1464554 devtools-protocol: 0.0.1464554
mitt: 3.0.1 mitt: 3.0.1
zod: 3.25.67 zod: 3.25.76
cliui@8.0.1: cliui@8.0.1:
dependencies: dependencies:
@ -998,7 +998,7 @@ snapshots:
eciesjs@0.4.15: eciesjs@0.4.15:
dependencies: dependencies:
'@ecies/ciphers': 0.2.3(@noble/ciphers@1.3.0) '@ecies/ciphers': 0.2.4(@noble/ciphers@1.3.0)
'@noble/ciphers': 1.3.0 '@noble/ciphers': 1.3.0
'@noble/curves': 1.9.2 '@noble/curves': 1.9.2
'@noble/hashes': 1.8.0 '@noble/hashes': 1.8.0
@ -1093,7 +1093,7 @@ snapshots:
get-stream@6.0.1: {} get-stream@6.0.1: {}
get-uri@6.0.4: get-uri@6.0.5:
dependencies: dependencies:
basic-ftp: 5.0.5 basic-ftp: 5.0.5
data-uri-to-buffer: 6.0.2 data-uri-to-buffer: 6.0.2
@ -1116,14 +1116,14 @@ snapshots:
http-proxy-agent@7.0.2: http-proxy-agent@7.0.2:
dependencies: dependencies:
agent-base: 7.1.3 agent-base: 7.1.4
debug: 4.4.1 debug: 4.4.1
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
https-proxy-agent@7.0.6: https-proxy-agent@7.0.6:
dependencies: dependencies:
agent-base: 7.1.3 agent-base: 7.1.4
debug: 4.4.1 debug: 4.4.1
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@ -1249,9 +1249,9 @@ snapshots:
pac-proxy-agent@7.2.0: pac-proxy-agent@7.2.0:
dependencies: dependencies:
'@tootallnate/quickjs-emscripten': 0.23.0 '@tootallnate/quickjs-emscripten': 0.23.0
agent-base: 7.1.3 agent-base: 7.1.4
debug: 4.4.1 debug: 4.4.1
get-uri: 6.0.4 get-uri: 6.0.5
http-proxy-agent: 7.0.2 http-proxy-agent: 7.0.2
https-proxy-agent: 7.0.6 https-proxy-agent: 7.0.6
pac-resolver: 7.0.1 pac-resolver: 7.0.1
@ -1327,7 +1327,7 @@ snapshots:
proxy-agent@6.5.0: proxy-agent@6.5.0:
dependencies: dependencies:
agent-base: 7.1.3 agent-base: 7.1.4
debug: 4.4.1 debug: 4.4.1
http-proxy-agent: 7.0.2 http-proxy-agent: 7.0.2
https-proxy-agent: 7.0.6 https-proxy-agent: 7.0.6
@ -1345,80 +1345,80 @@ snapshots:
end-of-stream: 1.4.5 end-of-stream: 1.4.5
once: 1.4.0 once: 1.4.0
puppeteer-core@24.11.0: puppeteer-core@24.12.1:
dependencies: dependencies:
'@puppeteer/browsers': 2.10.5 '@puppeteer/browsers': 2.10.5
chromium-bidi: 5.1.0(devtools-protocol@0.0.1464554) chromium-bidi: 5.1.0(devtools-protocol@0.0.1464554)
debug: 4.4.1 debug: 4.4.1
devtools-protocol: 0.0.1464554 devtools-protocol: 0.0.1464554
typed-query-selector: 2.12.0 typed-query-selector: 2.12.0
ws: 8.18.2 ws: 8.18.3
transitivePeerDependencies: transitivePeerDependencies:
- bare-buffer - bare-buffer
- bufferutil - bufferutil
- supports-color - supports-color
- utf-8-validate - utf-8-validate
puppeteer-extra-plugin-stealth@2.11.2(puppeteer-extra@3.3.6(puppeteer-core@24.11.0)(puppeteer@24.11.0)): puppeteer-extra-plugin-stealth@2.11.2(puppeteer-extra@3.3.6(puppeteer-core@24.12.1)(puppeteer@24.12.1)):
dependencies: dependencies:
debug: 4.4.1 debug: 4.4.1
puppeteer-extra-plugin: 3.2.3(puppeteer-extra@3.3.6(puppeteer-core@24.11.0)(puppeteer@24.11.0)) puppeteer-extra-plugin: 3.2.3(puppeteer-extra@3.3.6(puppeteer-core@24.12.1)(puppeteer@24.12.1))
puppeteer-extra-plugin-user-preferences: 2.4.1(puppeteer-extra@3.3.6(puppeteer-core@24.11.0)(puppeteer@24.11.0)) puppeteer-extra-plugin-user-preferences: 2.4.1(puppeteer-extra@3.3.6(puppeteer-core@24.12.1)(puppeteer@24.12.1))
optionalDependencies: optionalDependencies:
puppeteer-extra: 3.3.6(puppeteer-core@24.11.0)(puppeteer@24.11.0) puppeteer-extra: 3.3.6(puppeteer-core@24.12.1)(puppeteer@24.12.1)
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
puppeteer-extra-plugin-user-data-dir@2.4.1(puppeteer-extra@3.3.6(puppeteer-core@24.11.0)(puppeteer@24.11.0)): puppeteer-extra-plugin-user-data-dir@2.4.1(puppeteer-extra@3.3.6(puppeteer-core@24.12.1)(puppeteer@24.12.1)):
dependencies: dependencies:
debug: 4.4.1 debug: 4.4.1
fs-extra: 10.1.0 fs-extra: 10.1.0
puppeteer-extra-plugin: 3.2.3(puppeteer-extra@3.3.6(puppeteer-core@24.11.0)(puppeteer@24.11.0)) puppeteer-extra-plugin: 3.2.3(puppeteer-extra@3.3.6(puppeteer-core@24.12.1)(puppeteer@24.12.1))
rimraf: 3.0.2 rimraf: 3.0.2
optionalDependencies: optionalDependencies:
puppeteer-extra: 3.3.6(puppeteer-core@24.11.0)(puppeteer@24.11.0) puppeteer-extra: 3.3.6(puppeteer-core@24.12.1)(puppeteer@24.12.1)
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
puppeteer-extra-plugin-user-preferences@2.4.1(puppeteer-extra@3.3.6(puppeteer-core@24.11.0)(puppeteer@24.11.0)): puppeteer-extra-plugin-user-preferences@2.4.1(puppeteer-extra@3.3.6(puppeteer-core@24.12.1)(puppeteer@24.12.1)):
dependencies: dependencies:
debug: 4.4.1 debug: 4.4.1
deepmerge: 4.3.1 deepmerge: 4.3.1
puppeteer-extra-plugin: 3.2.3(puppeteer-extra@3.3.6(puppeteer-core@24.11.0)(puppeteer@24.11.0)) puppeteer-extra-plugin: 3.2.3(puppeteer-extra@3.3.6(puppeteer-core@24.12.1)(puppeteer@24.12.1))
puppeteer-extra-plugin-user-data-dir: 2.4.1(puppeteer-extra@3.3.6(puppeteer-core@24.11.0)(puppeteer@24.11.0)) puppeteer-extra-plugin-user-data-dir: 2.4.1(puppeteer-extra@3.3.6(puppeteer-core@24.12.1)(puppeteer@24.12.1))
optionalDependencies: optionalDependencies:
puppeteer-extra: 3.3.6(puppeteer-core@24.11.0)(puppeteer@24.11.0) puppeteer-extra: 3.3.6(puppeteer-core@24.12.1)(puppeteer@24.12.1)
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
puppeteer-extra-plugin@3.2.3(puppeteer-extra@3.3.6(puppeteer-core@24.11.0)(puppeteer@24.11.0)): puppeteer-extra-plugin@3.2.3(puppeteer-extra@3.3.6(puppeteer-core@24.12.1)(puppeteer@24.12.1)):
dependencies: dependencies:
'@types/debug': 4.1.12 '@types/debug': 4.1.12
debug: 4.4.1 debug: 4.4.1
merge-deep: 3.0.3 merge-deep: 3.0.3
optionalDependencies: optionalDependencies:
puppeteer-extra: 3.3.6(puppeteer-core@24.11.0)(puppeteer@24.11.0) puppeteer-extra: 3.3.6(puppeteer-core@24.12.1)(puppeteer@24.12.1)
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
puppeteer-extra@3.3.6(puppeteer-core@24.11.0)(puppeteer@24.11.0): puppeteer-extra@3.3.6(puppeteer-core@24.12.1)(puppeteer@24.12.1):
dependencies: dependencies:
'@types/debug': 4.1.12 '@types/debug': 4.1.12
debug: 4.4.1 debug: 4.4.1
deepmerge: 4.3.1 deepmerge: 4.3.1
optionalDependencies: optionalDependencies:
puppeteer: 24.11.0 puppeteer: 24.12.1
puppeteer-core: 24.11.0 puppeteer-core: 24.12.1
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
puppeteer@24.11.0: puppeteer@24.12.1:
dependencies: dependencies:
'@puppeteer/browsers': 2.10.5 '@puppeteer/browsers': 2.10.5
chromium-bidi: 5.1.0(devtools-protocol@0.0.1464554) chromium-bidi: 5.1.0(devtools-protocol@0.0.1464554)
cosmiconfig: 9.0.0 cosmiconfig: 9.0.0
devtools-protocol: 0.0.1464554 devtools-protocol: 0.0.1464554
puppeteer-core: 24.11.0 puppeteer-core: 24.12.1
typed-query-selector: 2.12.0 typed-query-selector: 2.12.0
transitivePeerDependencies: transitivePeerDependencies:
- bare-buffer - bare-buffer
@ -1464,13 +1464,13 @@ snapshots:
socks-proxy-agent@8.0.5: socks-proxy-agent@8.0.5:
dependencies: dependencies:
agent-base: 7.1.3 agent-base: 7.1.4
debug: 4.4.1 debug: 4.4.1
socks: 2.8.5 socks: 2.8.6
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
socks@2.8.5: socks@2.8.6:
dependencies: dependencies:
ip-address: 9.0.5 ip-address: 9.0.5
smart-buffer: 4.2.0 smart-buffer: 4.2.0
@ -1491,7 +1491,7 @@ snapshots:
fast-fifo: 1.3.2 fast-fifo: 1.3.2
text-decoder: 1.2.3 text-decoder: 1.2.3
optionalDependencies: optionalDependencies:
bare-events: 2.5.4 bare-events: 2.6.0
string-width@4.2.3: string-width@4.2.3:
dependencies: dependencies:
@ -1507,12 +1507,12 @@ snapshots:
strip-json-comments@3.1.1: {} strip-json-comments@3.1.1: {}
tar-fs@3.0.10: tar-fs@3.1.0:
dependencies: dependencies:
pump: 3.0.3 pump: 3.0.3
tar-stream: 3.1.7 tar-stream: 3.1.7
optionalDependencies: optionalDependencies:
bare-fs: 4.1.5 bare-fs: 4.1.6
bare-path: 3.0.0 bare-path: 3.0.0
transitivePeerDependencies: transitivePeerDependencies:
- bare-buffer - bare-buffer
@ -1556,7 +1556,7 @@ snapshots:
wrappy@1.0.2: {} wrappy@1.0.2: {}
ws@8.18.2: {} ws@8.18.3: {}
y18n@5.0.8: {} y18n@5.0.8: {}
@ -1577,4 +1577,4 @@ snapshots:
buffer-crc32: 0.2.13 buffer-crc32: 0.2.13
fd-slicer: 1.1.0 fd-slicer: 1.1.0
zod@3.25.67: {} zod@3.25.76: {}

View File

@ -10,118 +10,717 @@ importers:
dependencies: dependencies:
'@eelkevdbos/elysia-basic-auth': '@eelkevdbos/elysia-basic-auth':
specifier: ^2.0.1 specifier: ^2.0.1
version: 2.0.1(elysia@1.2.12(@sinclair/typebox@0.34.22)(typescript@5.7.3))(typescript@5.7.3) version: 2.0.1(elysia@1.3.5(exact-mirror@0.1.2(@sinclair/typebox@0.34.37))(file-type@21.0.0)(typescript@5.8.3))(typescript@5.8.3)
'@elysiajs/eden': '@elysiajs/eden':
specifier: ^1.2.0 specifier: ^1.2.0
version: 1.2.0(elysia@1.2.12(@sinclair/typebox@0.34.22)(typescript@5.7.3)) version: 1.3.2(elysia@1.3.5(exact-mirror@0.1.2(@sinclair/typebox@0.34.37))(file-type@21.0.0)(typescript@5.8.3))
'@types/dockerode':
specifier: ^3.3.34
version: 3.3.42
dockerode:
specifier: ^4.0.4
version: 4.0.7
elysia: elysia:
specifier: ^1.2.12 specifier: ^1.2.12
version: 1.2.12(@sinclair/typebox@0.34.22)(typescript@5.7.3) version: 1.3.5(exact-mirror@0.1.2(@sinclair/typebox@0.34.37))(file-type@21.0.0)(typescript@5.8.3)
typescript: typescript:
specifier: ^5.0.0 specifier: ^5.0.0
version: 5.7.3 version: 5.8.3
devDependencies: devDependencies:
'@types/bun': '@types/bun':
specifier: latest specifier: latest
version: 1.2.2 version: 1.2.18(@types/react@19.1.8)
packages: packages:
'@balena/dockerignore@1.0.2':
resolution: {integrity: sha512-wMue2Sy4GAVTk6Ic4tJVcnfdau+gx2EnG7S+uAEe+TWJFqE4YoWN4/H8MSLj4eYJKxGg26lZwboEniNiNwZQ6Q==}
'@eelkevdbos/elysia-basic-auth@2.0.1': '@eelkevdbos/elysia-basic-auth@2.0.1':
resolution: {integrity: sha512-k2XOnq+0wg3RhLRhweADtiM9xLGNERV1iToMDJAT6naJfCviufRwlCDgOUiHaQDRR82u4F6c7XAtTFAMBVIATw==} resolution: {integrity: sha512-k2XOnq+0wg3RhLRhweADtiM9xLGNERV1iToMDJAT6naJfCviufRwlCDgOUiHaQDRR82u4F6c7XAtTFAMBVIATw==}
peerDependencies: peerDependencies:
elysia: ^1.0.15 elysia: ^1.0.15
typescript: ^5.0.0 typescript: ^5.0.0
'@elysiajs/eden@1.2.0': '@elysiajs/eden@1.3.2':
resolution: {integrity: sha512-MpV45ahuF+iFZUg4tyJbLr9qxzY99m8clJVgQrDrz7Qh6eOKQ8MY6vjYMj3Wh21pTIRHPHzOLhVorRGby1/Owg==} resolution: {integrity: sha512-0bCU5DO7J7hQfS2y3O3399GtoxMWRDMgQNMTHOnf70/F2nF8SwGHvzwh3+wO62Ko5FMF7EYqTN9Csw/g/Q7qwg==}
peerDependencies: peerDependencies:
elysia: '>= 1.2.0' elysia: '>= 1.3.0'
'@sinclair/typebox@0.34.22': '@grpc/grpc-js@1.13.4':
resolution: {integrity: sha512-0avTcz3XUm6mMcq5tQRoEnxyvmr3uanplFepD+a/TiDzOBZ0Us5bsShW41xOO2kST7AYv4xiCsmE5Ag02yOPfQ==} resolution: {integrity: sha512-GsFaMXCkMqkKIvwCQjCrwH+GHbPKBjhwo/8ZuUkWHqbI73Kky9I+pQltrlT0+MWpedCoosda53lgjYfyEPgxBg==}
engines: {node: '>=12.10.0'}
'@types/bun@1.2.2': '@grpc/proto-loader@0.7.15':
resolution: {integrity: sha512-tr74gdku+AEDN5ergNiBnplr7hpDp3V1h7fqI2GcR/rsUaM39jpSeKH0TFibRvU0KwniRx5POgaYnaXbk0hU+w==} resolution: {integrity: sha512-tMXdRCfYVixjuFK+Hk0Q1s38gV9zDiDJfWL3h1rv4Qc39oILCu1TRTDt7+fGUI8K4G1Fj125Hx/ru3azECWTyQ==}
engines: {node: '>=6'}
hasBin: true
'@types/node@22.13.4': '@js-sdsl/ordered-map@4.4.2':
resolution: {integrity: sha512-ywP2X0DYtX3y08eFVx5fNIw7/uIv8hYUKgXoK8oayJlLnKcRfEYCxWMVE1XagUdVtCJlZT1AU4LXEABW+L1Peg==} resolution: {integrity: sha512-iUKgm52T8HOE/makSxjqoWhe95ZJA1/G1sYsGev2JDKUSS14KAgg1LHb+Ba+IPow0xflbnSkOsZcO08C7w1gYw==}
'@types/ws@8.5.14': '@protobufjs/aspromise@1.1.2':
resolution: {integrity: sha512-bd/YFLW+URhBzMXurx7lWByOu+xzU9+kb3RboOteXYDfW+tr+JZa99OyNmPINEGB/ahzKrEuc8rcv4gnpJmxTw==} resolution: {integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==}
bun-types@1.2.2: '@protobufjs/base64@1.1.2':
resolution: {integrity: sha512-RCbMH5elr9gjgDGDhkTTugA21XtJAy/9jkKe/G3WR2q17VPGhcquf9Sir6uay9iW+7P/BV0CAHA1XlHXMAVKHg==} resolution: {integrity: sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==}
'@protobufjs/codegen@2.0.4':
resolution: {integrity: sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==}
'@protobufjs/eventemitter@1.1.0':
resolution: {integrity: sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==}
'@protobufjs/fetch@1.1.0':
resolution: {integrity: sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==}
'@protobufjs/float@1.0.2':
resolution: {integrity: sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==}
'@protobufjs/inquire@1.1.0':
resolution: {integrity: sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==}
'@protobufjs/path@1.1.2':
resolution: {integrity: sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==}
'@protobufjs/pool@1.1.0':
resolution: {integrity: sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==}
'@protobufjs/utf8@1.1.0':
resolution: {integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==}
'@sinclair/typebox@0.34.37':
resolution: {integrity: sha512-2TRuQVgQYfy+EzHRTIvkhv2ADEouJ2xNS/Vq+W5EuuewBdOrvATvljZTxHWZSTYr2sTjTHpGvucaGAt67S2akw==}
'@tokenizer/inflate@0.2.7':
resolution: {integrity: sha512-MADQgmZT1eKjp06jpI2yozxaU9uVs4GzzgSL+uEq7bVcJ9V1ZXQkeGNql1fsSI0gMy1vhvNTNbUqrx+pZfJVmg==}
engines: {node: '>=18'}
'@tokenizer/token@0.3.0':
resolution: {integrity: sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==}
'@types/bun@1.2.18':
resolution: {integrity: sha512-Xf6RaWVheyemaThV0kUfaAUvCNokFr+bH8Jxp+tTZfx7dAPA8z9ePnP9S9+Vspzuxxx9JRAXhnyccRj3GyCMdQ==}
'@types/docker-modem@3.0.6':
resolution: {integrity: sha512-yKpAGEuKRSS8wwx0joknWxsmLha78wNMe9R2S3UNsVOkZded8UqOrV8KoeDXoXsjndxwyF3eIhyClGbO1SEhEg==}
'@types/dockerode@3.3.42':
resolution: {integrity: sha512-U1jqHMShibMEWHdxYhj3rCMNCiLx5f35i4e3CEUuW+JSSszc/tVqc6WCAPdhwBymG5R/vgbcceagK0St7Cq6Eg==}
'@types/node@18.19.118':
resolution: {integrity: sha512-hIPK0hSrrcaoAu/gJMzN3QClXE4QdCdFvaenJ0JsjIbExP1JFFVH+RHcBt25c9n8bx5dkIfqKE+uw6BmBns7ug==}
'@types/node@24.0.13':
resolution: {integrity: sha512-Qm9OYVOFHFYg3wJoTSrz80hoec5Lia/dPp84do3X7dZvLikQvM1YpmvTBEdIr/e+U8HTkFjLHLnl78K/qjf+jQ==}
'@types/react@19.1.8':
resolution: {integrity: sha512-AwAfQ2Wa5bCx9WP8nZL2uMZWod7J7/JSplxbTmBQ5ms6QpqNYm672H0Vu9ZVKVngQ+ii4R/byguVEUZQyeg44g==}
'@types/ssh2@1.15.5':
resolution: {integrity: sha512-N1ASjp/nXH3ovBHddRJpli4ozpk6UdDYIX4RJWFa9L1YKnzdhTlVmiGHm4DZnj/jLbqZpes4aeR30EFGQtvhQQ==}
ansi-regex@5.0.1:
resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
engines: {node: '>=8'}
ansi-styles@4.3.0:
resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
engines: {node: '>=8'}
asn1@0.2.6:
resolution: {integrity: sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==}
base64-js@1.5.1:
resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
bcrypt-pbkdf@1.0.2:
resolution: {integrity: sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==}
bl@4.1.0:
resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==}
buffer@5.7.1:
resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==}
buildcheck@0.0.6:
resolution: {integrity: sha512-8f9ZJCUXyT1M35Jx7MkBgmBMo3oHTTBIPLiY9xyL0pl3T5RwcPEY8cUHr5LBNfu/fk6c2T4DJZuVM/8ZZT2D2A==}
engines: {node: '>=10.0.0'}
bun-types@1.2.18:
resolution: {integrity: sha512-04+Eha5NP7Z0A9YgDAzMk5PHR16ZuLVa83b26kH5+cp1qZW4F6FmAURngE7INf4tKOvCE69vYvDEwoNl1tGiWw==}
peerDependencies:
'@types/react': ^19
chownr@1.1.4:
resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==}
cliui@8.0.1:
resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==}
engines: {node: '>=12'}
color-convert@2.0.1:
resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
engines: {node: '>=7.0.0'}
color-name@1.1.4:
resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
cookie@1.0.2: cookie@1.0.2:
resolution: {integrity: sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==} resolution: {integrity: sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==}
engines: {node: '>=18'} engines: {node: '>=18'}
elysia@1.2.12: cpu-features@0.0.10:
resolution: {integrity: sha512-X1bZo09qe8/Poa/5tz08Y+sE/77B/wLwnA5xDDENU3FCrsUtYJuBVcy6BPXGRCgnJ1fPQpc0Ov2ZU5MYJXluTg==} resolution: {integrity: sha512-9IkYqtX3YHPCzoVg1Py+o9057a3i0fp7S530UWokCSaFVTc7CwXPRiOjRjBQQ18ZCNafx78YfnG+HALxtVmOGA==}
engines: {node: '>=10.0.0'}
csstype@3.1.3:
resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
debug@4.4.1:
resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==}
engines: {node: '>=6.0'}
peerDependencies: peerDependencies:
'@sinclair/typebox': '>= 0.34.0' supports-color: '*'
openapi-types: '>= 12.0.0'
typescript: '>= 5.0.0'
peerDependenciesMeta: peerDependenciesMeta:
openapi-types: supports-color:
optional: true
typescript:
optional: true optional: true
memoirist@0.3.0: docker-modem@5.0.6:
resolution: {integrity: sha512-wR+4chMgVPq+T6OOsk40u9Wlpw1Pjx66NMNiYxCQQ4EUJ7jDs3D9kTCeKdBOkvAiqXlHLVJlvYL01PvIJ1MPNg==} resolution: {integrity: sha512-ens7BiayssQz/uAxGzH8zGXCtiV24rRWXdjNha5V4zSOcxmAZsfGVm/PPFbwQdqEkDnhG+SyR9E3zSHUbOKXBQ==}
engines: {node: '>= 8.0'}
typescript@5.7.3: dockerode@4.0.7:
resolution: {integrity: sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==} resolution: {integrity: sha512-R+rgrSRTRdU5mH14PZTCPZtW/zw3HDWNTS/1ZAQpL/5Upe/ye5K9WQkIysu4wBoiMwKynsz0a8qWuGsHgEvSAA==}
engines: {node: '>= 8.0'}
elysia@1.3.5:
resolution: {integrity: sha512-XVIKXlKFwUT7Sta8GY+wO5reD9I0rqAEtaz1Z71UgJb61csYt8Q3W9al8rtL5RgumuRR8e3DNdzlUN9GkC4KDw==}
peerDependencies:
exact-mirror: '>= 0.0.9'
file-type: '>= 20.0.0'
typescript: '>= 5.0.0'
emoji-regex@8.0.0:
resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
end-of-stream@1.4.5:
resolution: {integrity: sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==}
escalade@3.2.0:
resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
engines: {node: '>=6'}
exact-mirror@0.1.2:
resolution: {integrity: sha512-wFCPCDLmHbKGUb8TOi/IS7jLsgR8WVDGtDK3CzcB4Guf/weq7G+I+DkXiRSZfbemBFOxOINKpraM6ml78vo8Zw==}
peerDependencies:
'@sinclair/typebox': ^0.34.15
peerDependenciesMeta:
'@sinclair/typebox':
optional: true
fast-decode-uri-component@1.0.1:
resolution: {integrity: sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==}
fflate@0.8.2:
resolution: {integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==}
file-type@21.0.0:
resolution: {integrity: sha512-ek5xNX2YBYlXhiUXui3D/BXa3LdqPmoLJ7rqEx2bKJ7EAUEfmXgW0Das7Dc6Nr9MvqaOnIqiPV0mZk/r/UpNAg==}
engines: {node: '>=20'}
fs-constants@1.0.0:
resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==}
get-caller-file@2.0.5:
resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
engines: {node: 6.* || 8.* || >= 10.*}
ieee754@1.2.1:
resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
inherits@2.0.4:
resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
is-fullwidth-code-point@3.0.0:
resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
engines: {node: '>=8'}
lodash.camelcase@4.3.0:
resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==}
long@5.3.2:
resolution: {integrity: sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==}
mkdirp-classic@0.5.3:
resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==}
ms@2.1.3:
resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
nan@2.23.0:
resolution: {integrity: sha512-1UxuyYGdoQHcGg87Lkqm3FzefucTa0NAiOcuRsDmysep3c1LVCRK2krrUDafMWtjSG04htvAmvg96+SDknOmgQ==}
once@1.4.0:
resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
openapi-types@12.1.3:
resolution: {integrity: sha512-N4YtSYJqghVu4iek2ZUvcN/0aqH1kRDuNqzcycDxhOUpg7GdvLa2F3DgS6yBNhInhv2r/6I0Flkn7CqL8+nIcw==}
protobufjs@7.5.3:
resolution: {integrity: sha512-sildjKwVqOI2kmFDiXQ6aEB0fjYTafpEvIBs8tOR8qI4spuL9OPROLVu2qZqi/xgCfsHIwVqlaF8JBjWFHnKbw==}
engines: {node: '>=12.0.0'}
pump@3.0.3:
resolution: {integrity: sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==}
readable-stream@3.6.2:
resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==}
engines: {node: '>= 6'}
require-directory@2.1.1:
resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==}
engines: {node: '>=0.10.0'}
safe-buffer@5.2.1:
resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
safer-buffer@2.1.2:
resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
split-ca@1.0.1:
resolution: {integrity: sha512-Q5thBSxp5t8WPTTJQS59LrGqOZqOsrhDGDVm8azCqIBjSBd7nd9o2PM+mDulQQkh8h//4U6hFZnc/mul8t5pWQ==}
ssh2@1.16.0:
resolution: {integrity: sha512-r1X4KsBGedJqo7h8F5c4Ybpcr5RjyP+aWIG007uBPRjmdQWfEiVLzSK71Zji1B9sKxwaCvD8y8cwSkYrlLiRRg==}
engines: {node: '>=10.16.0'}
string-width@4.2.3:
resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
engines: {node: '>=8'}
string_decoder@1.3.0:
resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==}
strip-ansi@6.0.1:
resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
engines: {node: '>=8'}
strtok3@10.3.1:
resolution: {integrity: sha512-3JWEZM6mfix/GCJBBUrkA8p2Id2pBkyTkVCJKto55w080QBKZ+8R171fGrbiSp+yMO/u6F8/yUh7K4V9K+YCnw==}
engines: {node: '>=18'}
tar-fs@2.1.3:
resolution: {integrity: sha512-090nwYJDmlhwFwEW3QQl+vaNnxsO2yVsd45eTKRBzSzu+hlb1w2K9inVq5b0ngXuLVqQ4ApvsUHHnu/zQNkWAg==}
tar-stream@2.2.0:
resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==}
engines: {node: '>=6'}
token-types@6.0.3:
resolution: {integrity: sha512-IKJ6EzuPPWtKtEIEPpIdXv9j5j2LGJEYk0CKY2efgKoYKLBiZdh6iQkLVBow/CB3phyWAWCyk+bZeaimJn6uRQ==}
engines: {node: '>=14.16'}
tweetnacl@0.14.5:
resolution: {integrity: sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==}
typescript@5.8.3:
resolution: {integrity: sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==}
engines: {node: '>=14.17'} engines: {node: '>=14.17'}
hasBin: true hasBin: true
undici-types@6.20.0: uint8array-extras@1.4.0:
resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==} resolution: {integrity: sha512-ZPtzy0hu4cZjv3z5NW9gfKnNLjoz4y6uv4HlelAjDK7sY/xOkKZv9xK/WQpcsBB3jEybChz9DPC2U/+cusjJVQ==}
engines: {node: '>=18'}
undici-types@5.26.5:
resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==}
undici-types@7.8.0:
resolution: {integrity: sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw==}
util-deprecate@1.0.2:
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
uuid@10.0.0:
resolution: {integrity: sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==}
hasBin: true
wrap-ansi@7.0.0:
resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
engines: {node: '>=10'}
wrappy@1.0.2:
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
y18n@5.0.8:
resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
engines: {node: '>=10'}
yargs-parser@21.1.1:
resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==}
engines: {node: '>=12'}
yargs@17.7.2:
resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==}
engines: {node: '>=12'}
snapshots: snapshots:
'@eelkevdbos/elysia-basic-auth@2.0.1(elysia@1.2.12(@sinclair/typebox@0.34.22)(typescript@5.7.3))(typescript@5.7.3)': '@balena/dockerignore@1.0.2': {}
dependencies:
elysia: 1.2.12(@sinclair/typebox@0.34.22)(typescript@5.7.3)
typescript: 5.7.3
'@elysiajs/eden@1.2.0(elysia@1.2.12(@sinclair/typebox@0.34.22)(typescript@5.7.3))': '@eelkevdbos/elysia-basic-auth@2.0.1(elysia@1.3.5(exact-mirror@0.1.2(@sinclair/typebox@0.34.37))(file-type@21.0.0)(typescript@5.8.3))(typescript@5.8.3)':
dependencies: dependencies:
elysia: 1.2.12(@sinclair/typebox@0.34.22)(typescript@5.7.3) elysia: 1.3.5(exact-mirror@0.1.2(@sinclair/typebox@0.34.37))(file-type@21.0.0)(typescript@5.8.3)
typescript: 5.8.3
'@sinclair/typebox@0.34.22': {} '@elysiajs/eden@1.3.2(elysia@1.3.5(exact-mirror@0.1.2(@sinclair/typebox@0.34.37))(file-type@21.0.0)(typescript@5.8.3))':
'@types/bun@1.2.2':
dependencies: dependencies:
bun-types: 1.2.2 elysia: 1.3.5(exact-mirror@0.1.2(@sinclair/typebox@0.34.37))(file-type@21.0.0)(typescript@5.8.3)
'@types/node@22.13.4': '@grpc/grpc-js@1.13.4':
dependencies: dependencies:
undici-types: 6.20.0 '@grpc/proto-loader': 0.7.15
'@js-sdsl/ordered-map': 4.4.2
'@types/ws@8.5.14': '@grpc/proto-loader@0.7.15':
dependencies: dependencies:
'@types/node': 22.13.4 lodash.camelcase: 4.3.0
long: 5.3.2
protobufjs: 7.5.3
yargs: 17.7.2
bun-types@1.2.2: '@js-sdsl/ordered-map@4.4.2': {}
'@protobufjs/aspromise@1.1.2': {}
'@protobufjs/base64@1.1.2': {}
'@protobufjs/codegen@2.0.4': {}
'@protobufjs/eventemitter@1.1.0': {}
'@protobufjs/fetch@1.1.0':
dependencies: dependencies:
'@types/node': 22.13.4 '@protobufjs/aspromise': 1.1.2
'@types/ws': 8.5.14 '@protobufjs/inquire': 1.1.0
'@protobufjs/float@1.0.2': {}
'@protobufjs/inquire@1.1.0': {}
'@protobufjs/path@1.1.2': {}
'@protobufjs/pool@1.1.0': {}
'@protobufjs/utf8@1.1.0': {}
'@sinclair/typebox@0.34.37':
optional: true
'@tokenizer/inflate@0.2.7':
dependencies:
debug: 4.4.1
fflate: 0.8.2
token-types: 6.0.3
transitivePeerDependencies:
- supports-color
'@tokenizer/token@0.3.0': {}
'@types/bun@1.2.18(@types/react@19.1.8)':
dependencies:
bun-types: 1.2.18(@types/react@19.1.8)
transitivePeerDependencies:
- '@types/react'
'@types/docker-modem@3.0.6':
dependencies:
'@types/node': 24.0.13
'@types/ssh2': 1.15.5
'@types/dockerode@3.3.42':
dependencies:
'@types/docker-modem': 3.0.6
'@types/node': 24.0.13
'@types/ssh2': 1.15.5
'@types/node@18.19.118':
dependencies:
undici-types: 5.26.5
'@types/node@24.0.13':
dependencies:
undici-types: 7.8.0
'@types/react@19.1.8':
dependencies:
csstype: 3.1.3
'@types/ssh2@1.15.5':
dependencies:
'@types/node': 18.19.118
ansi-regex@5.0.1: {}
ansi-styles@4.3.0:
dependencies:
color-convert: 2.0.1
asn1@0.2.6:
dependencies:
safer-buffer: 2.1.2
base64-js@1.5.1: {}
bcrypt-pbkdf@1.0.2:
dependencies:
tweetnacl: 0.14.5
bl@4.1.0:
dependencies:
buffer: 5.7.1
inherits: 2.0.4
readable-stream: 3.6.2
buffer@5.7.1:
dependencies:
base64-js: 1.5.1
ieee754: 1.2.1
buildcheck@0.0.6:
optional: true
bun-types@1.2.18(@types/react@19.1.8):
dependencies:
'@types/node': 24.0.13
'@types/react': 19.1.8
chownr@1.1.4: {}
cliui@8.0.1:
dependencies:
string-width: 4.2.3
strip-ansi: 6.0.1
wrap-ansi: 7.0.0
color-convert@2.0.1:
dependencies:
color-name: 1.1.4
color-name@1.1.4: {}
cookie@1.0.2: {} cookie@1.0.2: {}
elysia@1.2.12(@sinclair/typebox@0.34.22)(typescript@5.7.3): cpu-features@0.0.10:
dependencies:
buildcheck: 0.0.6
nan: 2.23.0
optional: true
csstype@3.1.3: {}
debug@4.4.1:
dependencies:
ms: 2.1.3
docker-modem@5.0.6:
dependencies:
debug: 4.4.1
readable-stream: 3.6.2
split-ca: 1.0.1
ssh2: 1.16.0
transitivePeerDependencies:
- supports-color
dockerode@4.0.7:
dependencies:
'@balena/dockerignore': 1.0.2
'@grpc/grpc-js': 1.13.4
'@grpc/proto-loader': 0.7.15
docker-modem: 5.0.6
protobufjs: 7.5.3
tar-fs: 2.1.3
uuid: 10.0.0
transitivePeerDependencies:
- supports-color
elysia@1.3.5(exact-mirror@0.1.2(@sinclair/typebox@0.34.37))(file-type@21.0.0)(typescript@5.8.3):
dependencies: dependencies:
'@sinclair/typebox': 0.34.22
cookie: 1.0.2 cookie: 1.0.2
memoirist: 0.3.0 exact-mirror: 0.1.2(@sinclair/typebox@0.34.37)
fast-decode-uri-component: 1.0.1
file-type: 21.0.0
typescript: 5.8.3
optionalDependencies: optionalDependencies:
typescript: 5.7.3 '@sinclair/typebox': 0.34.37
openapi-types: 12.1.3
memoirist@0.3.0: {} emoji-regex@8.0.0: {}
typescript@5.7.3: {} end-of-stream@1.4.5:
dependencies:
once: 1.4.0
undici-types@6.20.0: {} escalade@3.2.0: {}
exact-mirror@0.1.2(@sinclair/typebox@0.34.37):
optionalDependencies:
'@sinclair/typebox': 0.34.37
fast-decode-uri-component@1.0.1: {}
fflate@0.8.2: {}
file-type@21.0.0:
dependencies:
'@tokenizer/inflate': 0.2.7
strtok3: 10.3.1
token-types: 6.0.3
uint8array-extras: 1.4.0
transitivePeerDependencies:
- supports-color
fs-constants@1.0.0: {}
get-caller-file@2.0.5: {}
ieee754@1.2.1: {}
inherits@2.0.4: {}
is-fullwidth-code-point@3.0.0: {}
lodash.camelcase@4.3.0: {}
long@5.3.2: {}
mkdirp-classic@0.5.3: {}
ms@2.1.3: {}
nan@2.23.0:
optional: true
once@1.4.0:
dependencies:
wrappy: 1.0.2
openapi-types@12.1.3:
optional: true
protobufjs@7.5.3:
dependencies:
'@protobufjs/aspromise': 1.1.2
'@protobufjs/base64': 1.1.2
'@protobufjs/codegen': 2.0.4
'@protobufjs/eventemitter': 1.1.0
'@protobufjs/fetch': 1.1.0
'@protobufjs/float': 1.0.2
'@protobufjs/inquire': 1.1.0
'@protobufjs/path': 1.1.2
'@protobufjs/pool': 1.1.0
'@protobufjs/utf8': 1.1.0
'@types/node': 24.0.13
long: 5.3.2
pump@3.0.3:
dependencies:
end-of-stream: 1.4.5
once: 1.4.0
readable-stream@3.6.2:
dependencies:
inherits: 2.0.4
string_decoder: 1.3.0
util-deprecate: 1.0.2
require-directory@2.1.1: {}
safe-buffer@5.2.1: {}
safer-buffer@2.1.2: {}
split-ca@1.0.1: {}
ssh2@1.16.0:
dependencies:
asn1: 0.2.6
bcrypt-pbkdf: 1.0.2
optionalDependencies:
cpu-features: 0.0.10
nan: 2.23.0
string-width@4.2.3:
dependencies:
emoji-regex: 8.0.0
is-fullwidth-code-point: 3.0.0
strip-ansi: 6.0.1
string_decoder@1.3.0:
dependencies:
safe-buffer: 5.2.1
strip-ansi@6.0.1:
dependencies:
ansi-regex: 5.0.1
strtok3@10.3.1:
dependencies:
'@tokenizer/token': 0.3.0
tar-fs@2.1.3:
dependencies:
chownr: 1.1.4
mkdirp-classic: 0.5.3
pump: 3.0.3
tar-stream: 2.2.0
tar-stream@2.2.0:
dependencies:
bl: 4.1.0
end-of-stream: 1.4.5
fs-constants: 1.0.0
inherits: 2.0.4
readable-stream: 3.6.2
token-types@6.0.3:
dependencies:
'@tokenizer/token': 0.3.0
ieee754: 1.2.1
tweetnacl@0.14.5: {}
typescript@5.8.3: {}
uint8array-extras@1.4.0: {}
undici-types@5.26.5: {}
undici-types@7.8.0: {}
util-deprecate@1.0.2: {}
uuid@10.0.0: {}
wrap-ansi@7.0.0:
dependencies:
ansi-styles: 4.3.0
string-width: 4.2.3
strip-ansi: 6.0.1
wrappy@1.0.2: {}
y18n@5.0.8: {}
yargs-parser@21.1.1: {}
yargs@17.7.2:
dependencies:
cliui: 8.0.1
escalade: 3.2.0
get-caller-file: 2.0.5
require-directory: 2.1.1
string-width: 4.2.3
y18n: 5.0.8
yargs-parser: 21.1.1

View File

@ -24,43 +24,52 @@ provider "registry.opentofu.org/ansible/ansible" {
] ]
} }
provider "registry.opentofu.org/hashicorp/local" { provider "registry.opentofu.org/bunnyway/bunnynet" {
version = "2.5.2" version = "0.7.5"
hashes = [ hashes = [
"h1:6lS+5A/4WFAqY3/RHWFRBSiFVLPRjvLaUgxPQvjXLHU=", "h1:RV1mRPnZqgwzQXXA+MeU7wwyRxpq8UkdyH9asQQhByU=",
"zh:25b95b76ceaa62b5c95f6de2fa6e6242edbf51e7fc6c057b7f7101aa4081f64f", "zh:06306f778155271c5789d4e334a2db37d4f53b2e3edd3ac55c6de7b21a59bc0f",
"zh:3c974fdf6b42ca6f93309cf50951f345bfc5726ec6013b8832bcd3be0eb3429e", "zh:0eb4ef1871cc48fddfe66c6c0816b24c358b5616cb106acd89837985e9abc83f",
"zh:5de843bf6d903f5cca97ce1061e2e06b6441985c68d013eabd738a9e4b828278", "zh:10aa641396252f8ee6f76c6f248d8f30c3415f9230b3a486ad4ff06badfcd292",
"zh:86beead37c7b4f149a54d2ae633c99ff92159c748acea93ff0f3603d6b4c9f4f", "zh:21098155a58c9461e2edfcf6cd7e24982bd0503a15ecc525382e78f09e19447c",
"zh:8e52e81d3dc50c3f79305d257da7fde7af634fed65e6ab5b8e214166784a720e", "zh:3fb5007a95d303a9e1ece1a4605824a454488ff55ecd1138ac7c268a83f19e47",
"zh:9882f444c087c69559873b2d72eec406a40ede21acb5ac334d6563bf3a2387df", "zh:4dc4fb634039f78c054b63965a468c3bd55066b9531af7900297732f2a3639a2",
"zh:a4484193d110da4a06c7bffc44cc6b61d3b5e881cd51df2a83fdda1a36ea25d2", "zh:52f59d797020284971a1f4b7f5079c99db7aa42dac2ec01c3dced69896295342",
"zh:a53342426d173e29d8ee3106cb68abecdf4be301a3f6589e4e8d42015befa7da", "zh:61c83423bcbe3af6eaa6cdef56525a47ddc5109f90a2a5b58d73cf2b390195ca",
"zh:d25ef2aef6a9004363fc6db80305d30673fc1f7dd0b980d41d863b12dacd382a", "zh:70d82268c8f7478013fa6c3eb90da777a590dab0e24dbd07807492199722e85e",
"zh:fa2d522fb323e2121f65b79709fd596514b293d816a1d969af8f72d108888e4c", "zh:7509c60199aa5c7b2cef91a8b46c38336d7ab3f86e3fadbaf4e9ffc1095551a3",
"zh:81264d9480f8344e963556acc8b6f9bf90731759c5f565abe7200b69de591f0f",
"zh:85c4ba0cdf98b551235ae062f2d85eda5291d1ebad227f8ba5da48515d751a35",
"zh:890df766e9b839623b1f0437355032a3c006226a6c200cd911e15ee1a9014e9f",
"zh:8ef1587c0337a0c5f65438f81801189a5bc17f51d3b94799c1cac5e8ff178509",
"zh:971598dbee00d3e6e81d89c02aa097002bcc02ba074cb007917f148dda9f9b72",
"zh:a74055059bb15d58f6c092ce4ed1a7b114d6e8f7234a5299e4b32da2b87f334b",
"zh:abce1a748c7864669bc28c1e805bcebc60ccb258954644166e516b2adeac417a",
"zh:d039eaf0f39ab7cc0e63d28e5326f028e614979c2b6edbeb6d4d1ef349413a29",
"zh:d16ce72e16bc5a764b1caff5265880f87ec77fd8ac9b3edd1801b9d12ba65335",
] ]
} }
provider "registry.opentofu.org/vultr/vultr" { provider "registry.opentofu.org/vultr/vultr" {
version = "2.23.1" version = "2.26.0"
constraints = "2.23.1" constraints = "2.26.0"
hashes = [ hashes = [
"h1:VNpHOLXDPr/hNlsMoHFtUPjBhJnEuUxo5ywd5UeenX8=", "h1:WQKRKiA128F01AIIMli4iEU5MgOqEhzJ0lQKd+EKwao=",
"zh:02e794393bb26377444e81523f803e40f6ee45134914047071fe6291e7fb3813", "zh:0f5ce145fee375b30781b4c8ed852cfa397163806796bfce0a713edd7e2fc2a5",
"zh:06a2cb287bb5c79b05331aed90519bd08b3b8bc6b75191382ef1e8713bffc1e0", "zh:12400bc28dde6630b0457783bb7cfe13c547976a248e4e9442a6116cc5dd098f",
"zh:088c1a73057cb37fb8fc3ef009b26ca437e03929df5d7802ae1eca206bc91b56", "zh:1c31f329ff5b69567ede0f8f38b477815c9dc414958abc932bf16b7c75f862d2",
"zh:1f7dc7e64e5ed8c0fa29658c5730c0fca5eeb3547215175319262f7ee92eac3c", "zh:47119fba94bfef047f52a68e731f7e7e486e45bbd245e0f41801acc7ee35fc50",
"zh:278b5738632ebe9ee04a966c02071ce3e0e6435af0e8da55c96c71d50e0076dd", "zh:4bd1440707d752d3d569366a39b79fca50182fb186040f585e0dfa508c7b495a",
"zh:2c6fc71abf11fcb0c7dae89f99bd301dfa078a63a68529ea251e6b4cb0491f86", "zh:5cc0282d4cb7373b7a9487b3c2da29fdc7ccb98650a8eafc62f443a8544f9b33",
"zh:487fe4cbd9b4d49c4049dc2de647e41b6e5cb0857215fe2d38a7529fd1e184ab", "zh:65885e9eb865aa9fb132e6dd5dcb8fba52c24f62953e30c277519339830a4154",
"zh:4a8758b6c579bea6049f66d5238a20ac0878a2b89dee200f7655b74b61bebbbf", "zh:888df1bd05765310df6f196725f702f13dc65ed7658f487082bb20dfb7215360",
"zh:72a86c02b5ba2d141708a55c1eb4d100644ba377263747aca11b53f82487f645", "zh:951f9b2f65dea5b89a03e8363de30d1dbb6e810fc9306879c7839d92cb35351c",
"zh:8cabf4b700a63fd0daf7f9fc0c5bedff699d86b641fc66144b6ceb645765a345", "zh:95342aaf93e1fe421d9fca5fb15289a77ded4f61e93cc0ab370a6b4eb619edff",
"zh:9c1602b47ba7fa2f23a1810a2ec37291c83a342888ed430fc1bed5dd2edefcda", "zh:c00b154d90b91cc1b60115ae7550c508a4c293dded7b3e9cea3a145618be7df8",
"zh:a27efb29592136f7c819aa22e1349dc3169be249d2e30873b72d7aabf80359eb", "zh:c9b155928e7a8fc9d257b9551b21ab72c1f8165c4f8063e40bb757c34bfb480c",
"zh:c5c92c87e28456de6387d23bda949734d4b5deef32e79d71ec9ddf945a53fc7f", "zh:cf818353466eac9660c4c0fd184da41698f4802415fe51b53d6366c3bf6bf47e",
"zh:cce93b449fd85e013ead67ed4ccc9861673a57a3d5e06d493419ebc97dcd21c5", "zh:ed05017f7cdefbc3a492b7ff1d17b0564777449c2987d61ddad9155602746731",
"zh:e5e24b7349c679e2118a74ef559dbe43c13f8d3369a6ce8c7c4bdb72a3c03540", "zh:f06d476e3c216a30f0e5c24968eeb9ec140f1205011c7383d005127addb7bd9a",
"zh:f226a9e61789c412493ff3abad4e6403aaae46d5d3532437b1c873ec772b828f", "zh:f3cec51aaa4647a1ffdb4c0d0d80e2693b8b3cbda730b5973ae3dd316a3e7e40",
] ]
} }

View File

@ -62,7 +62,7 @@ terraform {
required_providers { required_providers {
vultr = { vultr = {
source = "vultr/vultr" source = "vultr/vultr"
version = "2.23.1" version = "2.26.0"
} }
ansible = { ansible = {
source = "ansible/ansible" source = "ansible/ansible"
@ -106,8 +106,8 @@ resource "vultr_vpc" "futureporn_vpc" {
resource "bunnynet_dns_record" "future_porn_a" { resource "bunnynet_dns_record" "future_porn_a" {
for_each = zipmap( for_each = zipmap(
range(length(vultr_instance.load_balancer)), range(length(vultr_instance.our_vps)),
vultr_instance.load_balancer vultr_instance.our_vps
) )
zone = bunnynet_dns_zone.future_porn.id zone = bunnynet_dns_zone.future_porn.id
@ -124,33 +124,35 @@ resource "bunnynet_dns_zone" "future_porn" {
# load balancing instance # load balancing instance
resource "vultr_instance" "load_balancer" { # resource "vultr_instance" "load_balancer" {
count = 1 # count = 1
hostname = "fp-lb-${count.index}" # hostname = "fp-lb-${count.index}"
plan = "vc2-1c-2gb" # plan = "vc2-1c-2gb"
region = "ord" # region = "ord"
backups = "disabled" # backups = "disabled"
ddos_protection = "false" # ddos_protection = "false"
os_id = 1743 # os_id = 1743
enable_ipv6 = true # enable_ipv6 = true
label = "fp lb ${count.index}" # label = "fp lb ${count.index}"
tags = ["futureporn", "load_balancer", "our"] # tags = ["futureporn", "load_balancer", "our"]
ssh_key_ids = [local.envs.VULTR_SSH_KEY_ID] # ssh_key_ids = [local.envs.VULTR_SSH_KEY_ID]
user_data = base64encode(var.vps_user_data) # user_data = base64encode(var.vps_user_data)
vpc_ids = [ # vpc_ids = [
vultr_vpc.futureporn_vpc.id # vultr_vpc.futureporn_vpc.id
] # ]
reserved_ip_id = vultr_reserved_ip.futureporn_v2_ip.id # reserved_ip_id = vultr_reserved_ip.futureporn_v2_ip.id
} # }
resource "bunnynet_dns_record" "future_porn_apex" { resource "bunnynet_dns_record" "future_porn_apex" {
zone = bunnynet_dns_zone.future_porn.id zone = bunnynet_dns_zone.future_porn.id
name = "" name = ""
type = "A" type = "A"
value = vultr_reserved_ip.futureporn_v2_ip.subnet value = vultr_instance.our_vps[0].main_ip
ttl = 3600 ttl = 3600
} }
resource "bunnynet_dns_record" "www_future_porn" { resource "bunnynet_dns_record" "www_future_porn" {
zone = bunnynet_dns_zone.future_porn.id zone = bunnynet_dns_zone.future_porn.id
name = "www" name = "www"
@ -164,42 +166,42 @@ resource "bunnynet_dns_record" "www_future_porn" {
# vultr instance for running our app # vultr instance for running our app
resource "vultr_instance" "our_server" { # resource "vultr_instance" "our_server" {
count = 1 # count = 1
hostname = "fp-our-server-${count.index}" # hostname = "fp-our-server-${count.index}"
plan = "vc2-2c-4gb" # plan = "vc2-2c-4gb"
region = "ord" # region = "ord"
backups = "disabled" # backups = "disabled"
ddos_protection = "false" # ddos_protection = "false"
os_id = 1743 # os_id = 1743
enable_ipv6 = true # enable_ipv6 = true
label = "fp our server ${count.index}" # label = "fp our server ${count.index}"
tags = ["futureporn", "our", "server"] # tags = ["futureporn", "our", "server"]
ssh_key_ids = [local.envs.VULTR_SSH_KEY_ID] # ssh_key_ids = [local.envs.VULTR_SSH_KEY_ID]
vpc_ids = [ # vpc_ids = [
vultr_vpc.futureporn_vpc.id # vultr_vpc.futureporn_vpc.id
] # ]
user_data = base64encode(var.vps_user_data) # user_data = base64encode(var.vps_user_data)
} # }
# vultr instance for running our app's background task runners # vultr instance for running our app's background task runners
resource "vultr_instance" "our_worker" { # resource "vultr_instance" "our_worker" {
count = 1 # count = 1
hostname = "fp-our-worker-${count.index}" # hostname = "fp-our-worker-${count.index}"
plan = "vc2-2c-4gb" # plan = "vc2-2c-4gb"
region = "ord" # region = "ord"
backups = "disabled" # backups = "disabled"
ddos_protection = "false" # ddos_protection = "false"
os_id = 1743 # os_id = 1743
enable_ipv6 = true # enable_ipv6 = true
label = "fp our worker ${count.index}" # label = "fp our worker ${count.index}"
tags = ["futureporn", "our", "worker"] # tags = ["futureporn", "our", "worker"]
ssh_key_ids = [local.envs.VULTR_SSH_KEY_ID] # ssh_key_ids = [local.envs.VULTR_SSH_KEY_ID]
vpc_ids = [ # vpc_ids = [
vultr_vpc.futureporn_vpc.id # vultr_vpc.futureporn_vpc.id
] # ]
user_data = base64encode(var.vps_user_data) # user_data = base64encode(var.vps_user_data)
} # }
# vultr instance meant for capturing VODs # vultr instance meant for capturing VODs
@ -219,6 +221,23 @@ resource "vultr_instance" "capture_vps" {
user_data = base64encode(var.vps_user_data) user_data = base64encode(var.vps_user_data)
} }
# vultr instance meant for running our future.porn app
resource "vultr_instance" "our_vps" {
count = 1
hostname = "fp-our-${count.index}"
plan = "vc2-2c-2gb"
region = "ord"
backups = "disabled"
ddos_protection = "false"
os_id = 1743
enable_ipv6 = true
vpc_ids = [vultr_vpc.futureporn_vpc.id]
label = "fp our ${count.index}"
tags = ["futureporn", "capture"]
ssh_key_ids = [local.envs.VULTR_SSH_KEY_ID]
user_data = base64encode(var.vps_user_data)
}
# vultr instance with a GPU. experimental. # vultr instance with a GPU. experimental.
# resource "vultr_instance" "capture_vps" { # resource "vultr_instance" "capture_vps" {
@ -242,25 +261,25 @@ resource "vultr_instance" "capture_vps" {
# } # }
resource "vultr_instance" "database" { # resource "vultr_instance" "database" {
count = 1 # count = 1
hostname = "fp-db-${count.index}" # hostname = "fp-db-${count.index}"
plan = "vc2-1c-2gb" # plan = "vc2-1c-2gb"
region = "ord" # region = "ord"
backups = "enabled" # backups = "enabled"
backups_schedule { # backups_schedule {
hour = "2" # hour = "2"
type = "daily" # type = "daily"
} # }
ddos_protection = "false" # ddos_protection = "false"
os_id = 1743 # os_id = 1743
enable_ipv6 = true # enable_ipv6 = true
vpc_ids = [vultr_vpc.futureporn_vpc.id] # vpc_ids = [vultr_vpc.futureporn_vpc.id]
label = "fp database ${count.index}" # label = "fp database ${count.index}"
tags = ["futureporn", "database"] # tags = ["futureporn", "database"]
ssh_key_ids = [local.envs.VULTR_SSH_KEY_ID] # ssh_key_ids = [local.envs.VULTR_SSH_KEY_ID]
user_data = base64encode(var.vps_user_data) # user_data = base64encode(var.vps_user_data)
} # }
resource "vultr_instance" "tracker" { resource "vultr_instance" "tracker" {
count = 0 count = 0
@ -279,118 +298,166 @@ resource "vultr_instance" "tracker" {
reserved_ip_id = vultr_reserved_ip.futureporn_tracker_ip.id reserved_ip_id = vultr_reserved_ip.futureporn_tracker_ip.id
} }
resource "ansible_host" "ipfs_vps" { # resource "ansible_host" "ipfs_vps" {
for_each = { for idx, host in var.ipfs_hosts : idx => host } # for_each = { for idx, host in var.ipfs_hosts : idx => host }
name = each.value # name = each.value
groups = ["ipfs"] # groups = ["ipfs"]
variables = { # variables = {
ansible_user = "root" # ansible_user = "root"
ansible_host = each.value # ansible_host = each.value
} # }
} # }
resource "ansible_host" "capture_vps" { # resource "ansible_host" "capture_vps" {
for_each = { for idx, host in vultr_instance.capture_vps : idx => host } # for_each = { for idx, host in vultr_instance.capture_vps : idx => host }
name = each.value.hostname # name = each.value.hostname
groups = ["capture"] # Groups this host is part of. # groups = ["capture"] # Groups this host is part of.
variables = { # variables = {
# Connection vars. # # Connection vars.
ansible_user = "root" # ansible_user = "root"
ansible_host = each.value.main_ip # ansible_host = each.value.main_ip
# Custom vars that we might use in roles/tasks. # # Custom vars that we might use in roles/tasks.
# hostname = "web1" # # hostname = "web1"
# fqdn = "web1.example.com" # # fqdn = "web1.example.com"
} # }
} # }
resource "ansible_host" "load_balancer" { # resource "ansible_host" "load_balancer" {
for_each = { for idx, host in vultr_instance.load_balancer : idx => host } # for_each = { for idx, host in vultr_instance.load_balancer : idx => host }
name = each.value.hostname # name = each.value.hostname
groups = ["load_balancer"] # groups = ["load_balancer"]
variables = { # variables = {
ansible_host = each.value.main_ip # ansible_host = each.value.main_ip
internal_ip = each.value.internal_ip # internal_ip = each.value.internal_ip
} # }
} # }
resource "ansible_host" "database" { # resource "ansible_host" "database" {
for_each = { for idx, host in vultr_instance.database : idx => host } # for_each = { for idx, host in vultr_instance.database : idx => host }
name = each.value.hostname # name = each.value.hostname
groups = ["database"] # groups = ["database"]
variables = { # variables = {
ansible_host = each.value.main_ip # ansible_host = each.value.main_ip
internal_ip = each.value.internal_ip # internal_ip = each.value.internal_ip
} # }
} # }
resource "ansible_host" "our_server" { # resource "ansible_host" "our_server" {
for_each = { for idx, host in vultr_instance.our_server : idx => host } # for_each = { for idx, host in vultr_instance.our_server : idx => host }
# name = each.value.hostname
# groups = ["our-server"]
# variables = {
# ansible_host = each.value.main_ip
# internal_ip = each.value.internal_ip
# vultr_instance_id = each.value.id
# }
# }
# resource "ansible_host" "our_worker" {
# for_each = { for idx, host in vultr_instance.our_worker : idx => host }
# name = each.value.hostname
# groups = ["our-worker"]
# variables = {
# ansible_host = each.value.main_ip
# internal_ip = each.value.internal_ip
# vultr_instance_id = each.value.id
# }
# }
# resource "ansible_host" "tracker" {
# for_each = { for idx, host in vultr_instance.tracker : idx => host }
# name = each.value.hostname
# groups = ["tracker"]
# variables = {
# ansible_host = each.value.main_ip
# internal_ip = each.value.internal_ip
# vultr_instance_id = each.value.id
# }
# }
resource "ansible_host" "our" {
for_each = { for idx, host in vultr_instance.our_vps : idx => host }
name = each.value.hostname name = each.value.hostname
groups = ["our"] groups = ["our"]
variables = { variables = {
ansible_host = each.value.main_ip ansible_host = each.value.main_ip
internal_ip = each.value.internal_ip internal_ip = each.value.internal_ip
vultr_instance_id = each.value.id vultr_instance_id = each.value.id
vultr_vfs_storage_id = vultr_virtual_file_system_storage.vfs.id
} }
} }
resource "ansible_host" "our_worker" { resource "vultr_virtual_file_system_storage" "vfs" {
for_each = { for idx, host in vultr_instance.our_worker : idx => host } label = "fp-vfs-cache"
name = each.value.hostname size_gb = 200
groups = ["our"] region = "ord"
variables = { tags = ["our", "vfs"]
ansible_host = each.value.main_ip
internal_ip = each.value.internal_ip
vultr_instance_id = each.value.id
}
} }
resource "ansible_host" "tracker" { # resource "ansible_host" "periphery" {
for_each = { for idx, host in vultr_instance.tracker : idx => host } # for_each = { for idx, host in vultr_instance.our_vps : idx => host }
name = each.value.hostname # name = each.value.hostname
groups = ["tracker"] # groups = ["periphery"]
variables = {
ansible_host = each.value.main_ip
internal_ip = each.value.internal_ip
vultr_instance_id = each.value.id
}
}
resource "ansible_group" "capture" { # variables = {
name = "capture" # ansible_host = each.value.main_ip
} # internal_ip = each.value.internal_ip
# vultr_instance_id = each.value.id
# }
# }
# resource "ansible_group" "capture" {
# name = "capture"
# }
# resource "ansible_group" "our-server" {
# name = "our-server"
# }
# resource "ansible_group" "our-worker" {
# name = "our-worker"
# }
# resource "ansible_group" "tracker" {
# name = "tracker"
# }
resource "ansible_group" "our" { resource "ansible_group" "our" {
name = "our" name = "our"
} }
resource "ansible_group" "tracker" { # resource "ansible_group" "periphery" {
name = "tracker" # name = "periphery"
} # }
resource "ansible_group" "load_balancer" { # resource "ansible_group" "load_balancer" {
name = "load_balancer" # name = "load_balancer"
} # }
resource "ansible_group" "database" { # resource "ansible_group" "database" {
name = "database" # name = "database"
} # }
resource "ansible_group" "futureporn" { resource "ansible_group" "futureporn" {
name = "futureporn" name = "futureporn"
children = [ children = [
"load_balancer", # "load_balancer",
"database", # "database",
"capture", # "capture",
"our", # "our-server",
"tracker" # "our-worker",
# "periphery",
# "tracker",
"our"
] ]
} }