From 70799ffb7d14edadd8577598318934ad74375eee Mon Sep 17 00:00:00 2001 From: Ryan Chen Date: Mon, 10 Nov 2025 15:51:13 -0500 Subject: [PATCH] refactor --- .gitignore | 7 +- docker-compose.yml | 3 + .dockerignore => services/raggr/.dockerignore | 0 .../raggr/.python-version | 0 Dockerfile => services/raggr/Dockerfile | 0 MIGRATIONS.md => services/raggr/MIGRATIONS.md | 0 add_user.py => services/raggr/add_user.py | 0 .../raggr/aerich_config.py | 0 app.py => services/raggr/app.py | 10 +- .../raggr/blueprints}/__init__.py | 0 .../blueprints}/conversation/__init__.py | 0 .../raggr/blueprints}/conversation/logic.py | 0 .../raggr/blueprints}/conversation/models.py | 0 .../raggr/blueprints}/users/__init__.py | 0 .../raggr/blueprints}/users/models.py | 0 chunker.py => services/raggr/chunker.py | 0 cleaner.py => services/raggr/cleaner.py | 0 .../raggr/image_process.py | 0 .../raggr/index_immich.py | 0 llm.py => services/raggr/llm.py | 0 main.py => services/raggr/main.py | 0 .../models/0_20251025081744_init.py | 0 .../models/1_20251025091926_update.py | 0 .../raggr/petmd_scrape_index.py | 0 .../raggr/pyproject.toml | 0 query.py => services/raggr/query.py | 0 .../raggr/raggr-frontend}/.gitignore | 0 .../raggr/raggr-frontend}/README.md | 0 .../TOKEN_REFRESH_IMPLEMENTATION.md | 0 .../raggr/raggr-frontend}/package-lock.json | 0 .../raggr/raggr-frontend}/package.json | 0 .../raggr/raggr-frontend}/postcss.config.mjs | 0 .../raggr/raggr-frontend}/rsbuild.config.ts | 0 .../raggr/raggr-frontend}/src/App.css | 0 .../raggr/raggr-frontend}/src/App.tsx | 0 .../src/api/conversationService.ts | 0 .../raggr-frontend}/src/api/userService.ts | 0 .../raggr-frontend}/src/assets/favicon.svg | 0 .../src/components/AnswerBubble.tsx | 0 .../src/components/ChatScreen.tsx | 0 .../src/components/ConversationList.tsx | 0 .../src/components/ConversationMenu.tsx | 0 .../src/components/LoginScreen.tsx | 0 .../src/components/QuestionBubble.tsx | 0 .../src/contexts/AuthContext.tsx | 0 .../raggr/raggr-frontend}/src/env.d.ts | 0 .../raggr/raggr-frontend}/src/index.tsx | 0 .../raggr/raggr-frontend}/src/simba_cute.jpeg | Bin .../raggr-frontend}/src/simba_troll.jpeg | Bin .../raggr/raggr-frontend}/tsconfig.json | 0 .../raggr/raggr-frontend}/yarn.lock | 206 +++++++++++++++++- request.py => services/raggr/request.py | 0 startup.sh => services/raggr/startup.sh | 0 uv.lock => services/raggr/uv.lock | 0 54 files changed, 212 insertions(+), 14 deletions(-) rename .dockerignore => services/raggr/.dockerignore (100%) rename .python-version => services/raggr/.python-version (100%) rename Dockerfile => services/raggr/Dockerfile (100%) rename MIGRATIONS.md => services/raggr/MIGRATIONS.md (100%) rename add_user.py => services/raggr/add_user.py (100%) rename aerich_config.py => services/raggr/aerich_config.py (100%) rename app.py => services/raggr/app.py (96%) rename {blueprints => services/raggr/blueprints}/__init__.py (100%) rename {blueprints => services/raggr/blueprints}/conversation/__init__.py (100%) rename {blueprints => services/raggr/blueprints}/conversation/logic.py (100%) rename {blueprints => services/raggr/blueprints}/conversation/models.py (100%) rename {blueprints => services/raggr/blueprints}/users/__init__.py (100%) rename {blueprints => services/raggr/blueprints}/users/models.py (100%) rename chunker.py => services/raggr/chunker.py (100%) rename cleaner.py => services/raggr/cleaner.py (100%) rename image_process.py => services/raggr/image_process.py (100%) rename index_immich.py => services/raggr/index_immich.py (100%) rename llm.py => services/raggr/llm.py (100%) rename main.py => services/raggr/main.py (100%) rename {migrations => services/raggr/migrations}/models/0_20251025081744_init.py (100%) rename {migrations => services/raggr/migrations}/models/1_20251025091926_update.py (100%) rename petmd_scrape_index.py => services/raggr/petmd_scrape_index.py (100%) rename pyproject.toml => services/raggr/pyproject.toml (100%) rename query.py => services/raggr/query.py (100%) rename {raggr-frontend => services/raggr/raggr-frontend}/.gitignore (100%) rename {raggr-frontend => services/raggr/raggr-frontend}/README.md (100%) rename {raggr-frontend => services/raggr/raggr-frontend}/TOKEN_REFRESH_IMPLEMENTATION.md (100%) rename {raggr-frontend => services/raggr/raggr-frontend}/package-lock.json (100%) rename {raggr-frontend => services/raggr/raggr-frontend}/package.json (100%) rename {raggr-frontend => services/raggr/raggr-frontend}/postcss.config.mjs (100%) rename {raggr-frontend => services/raggr/raggr-frontend}/rsbuild.config.ts (100%) rename {raggr-frontend => services/raggr/raggr-frontend}/src/App.css (100%) rename {raggr-frontend => services/raggr/raggr-frontend}/src/App.tsx (100%) rename {raggr-frontend => services/raggr/raggr-frontend}/src/api/conversationService.ts (100%) rename {raggr-frontend => services/raggr/raggr-frontend}/src/api/userService.ts (100%) rename {raggr-frontend => services/raggr/raggr-frontend}/src/assets/favicon.svg (100%) rename {raggr-frontend => services/raggr/raggr-frontend}/src/components/AnswerBubble.tsx (100%) rename {raggr-frontend => services/raggr/raggr-frontend}/src/components/ChatScreen.tsx (100%) rename {raggr-frontend => services/raggr/raggr-frontend}/src/components/ConversationList.tsx (100%) rename {raggr-frontend => services/raggr/raggr-frontend}/src/components/ConversationMenu.tsx (100%) rename {raggr-frontend => services/raggr/raggr-frontend}/src/components/LoginScreen.tsx (100%) rename {raggr-frontend => services/raggr/raggr-frontend}/src/components/QuestionBubble.tsx (100%) rename {raggr-frontend => services/raggr/raggr-frontend}/src/contexts/AuthContext.tsx (100%) rename {raggr-frontend => services/raggr/raggr-frontend}/src/env.d.ts (100%) rename {raggr-frontend => services/raggr/raggr-frontend}/src/index.tsx (100%) rename {raggr-frontend => services/raggr/raggr-frontend}/src/simba_cute.jpeg (100%) rename {raggr-frontend => services/raggr/raggr-frontend}/src/simba_troll.jpeg (100%) rename {raggr-frontend => services/raggr/raggr-frontend}/tsconfig.json (100%) rename {raggr-frontend => services/raggr/raggr-frontend}/yarn.lock (84%) rename request.py => services/raggr/request.py (100%) rename startup.sh => services/raggr/startup.sh (100%) rename uv.lock => services/raggr/uv.lock (100%) diff --git a/.gitignore b/.gitignore index edf0ab1..049f9ef 100644 --- a/.gitignore +++ b/.gitignore @@ -9,5 +9,10 @@ wheels/ # Virtual environments .venv - +# Environment files .env + +# Database files +chromadb/ +database/ +*.db diff --git a/docker-compose.yml b/docker-compose.yml index 36a449a..3090b9f 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -2,6 +2,9 @@ version: "3.8" services: raggr: + build: + context: ./services/raggr + dockerfile: Dockerfile image: torrtle/simbarag:latest network_mode: host environment: diff --git a/.dockerignore b/services/raggr/.dockerignore similarity index 100% rename from .dockerignore rename to services/raggr/.dockerignore diff --git a/.python-version b/services/raggr/.python-version similarity index 100% rename from .python-version rename to services/raggr/.python-version diff --git a/Dockerfile b/services/raggr/Dockerfile similarity index 100% rename from Dockerfile rename to services/raggr/Dockerfile diff --git a/MIGRATIONS.md b/services/raggr/MIGRATIONS.md similarity index 100% rename from MIGRATIONS.md rename to services/raggr/MIGRATIONS.md diff --git a/add_user.py b/services/raggr/add_user.py similarity index 100% rename from add_user.py rename to services/raggr/add_user.py diff --git a/aerich_config.py b/services/raggr/aerich_config.py similarity index 100% rename from aerich_config.py rename to services/raggr/aerich_config.py diff --git a/app.py b/services/raggr/app.py similarity index 96% rename from app.py rename to services/raggr/app.py index 2a8fac9..2425aad 100644 --- a/app.py +++ b/services/raggr/app.py @@ -1,16 +1,14 @@ import os -from quart import Quart, request, jsonify, render_template, send_from_directory +from quart import Quart, jsonify, render_template, request, send_from_directory +from quart_jwt_extended import JWTManager, get_jwt_identity, jwt_refresh_token_required from tortoise.contrib.quart import register_tortoise -from quart_jwt_extended import JWTManager, jwt_refresh_token_required, get_jwt_identity - -from main import consult_simba_oracle - -import blueprints.users import blueprints.conversation import blueprints.conversation.logic +import blueprints.users import blueprints.users.models +from main import consult_simba_oracle app = Quart( __name__, diff --git a/blueprints/__init__.py b/services/raggr/blueprints/__init__.py similarity index 100% rename from blueprints/__init__.py rename to services/raggr/blueprints/__init__.py diff --git a/blueprints/conversation/__init__.py b/services/raggr/blueprints/conversation/__init__.py similarity index 100% rename from blueprints/conversation/__init__.py rename to services/raggr/blueprints/conversation/__init__.py diff --git a/blueprints/conversation/logic.py b/services/raggr/blueprints/conversation/logic.py similarity index 100% rename from blueprints/conversation/logic.py rename to services/raggr/blueprints/conversation/logic.py diff --git a/blueprints/conversation/models.py b/services/raggr/blueprints/conversation/models.py similarity index 100% rename from blueprints/conversation/models.py rename to services/raggr/blueprints/conversation/models.py diff --git a/blueprints/users/__init__.py b/services/raggr/blueprints/users/__init__.py similarity index 100% rename from blueprints/users/__init__.py rename to services/raggr/blueprints/users/__init__.py diff --git a/blueprints/users/models.py b/services/raggr/blueprints/users/models.py similarity index 100% rename from blueprints/users/models.py rename to services/raggr/blueprints/users/models.py diff --git a/chunker.py b/services/raggr/chunker.py similarity index 100% rename from chunker.py rename to services/raggr/chunker.py diff --git a/cleaner.py b/services/raggr/cleaner.py similarity index 100% rename from cleaner.py rename to services/raggr/cleaner.py diff --git a/image_process.py b/services/raggr/image_process.py similarity index 100% rename from image_process.py rename to services/raggr/image_process.py diff --git a/index_immich.py b/services/raggr/index_immich.py similarity index 100% rename from index_immich.py rename to services/raggr/index_immich.py diff --git a/llm.py b/services/raggr/llm.py similarity index 100% rename from llm.py rename to services/raggr/llm.py diff --git a/main.py b/services/raggr/main.py similarity index 100% rename from main.py rename to services/raggr/main.py diff --git a/migrations/models/0_20251025081744_init.py b/services/raggr/migrations/models/0_20251025081744_init.py similarity index 100% rename from migrations/models/0_20251025081744_init.py rename to services/raggr/migrations/models/0_20251025081744_init.py diff --git a/migrations/models/1_20251025091926_update.py b/services/raggr/migrations/models/1_20251025091926_update.py similarity index 100% rename from migrations/models/1_20251025091926_update.py rename to services/raggr/migrations/models/1_20251025091926_update.py diff --git a/petmd_scrape_index.py b/services/raggr/petmd_scrape_index.py similarity index 100% rename from petmd_scrape_index.py rename to services/raggr/petmd_scrape_index.py diff --git a/pyproject.toml b/services/raggr/pyproject.toml similarity index 100% rename from pyproject.toml rename to services/raggr/pyproject.toml diff --git a/query.py b/services/raggr/query.py similarity index 100% rename from query.py rename to services/raggr/query.py diff --git a/raggr-frontend/.gitignore b/services/raggr/raggr-frontend/.gitignore similarity index 100% rename from raggr-frontend/.gitignore rename to services/raggr/raggr-frontend/.gitignore diff --git a/raggr-frontend/README.md b/services/raggr/raggr-frontend/README.md similarity index 100% rename from raggr-frontend/README.md rename to services/raggr/raggr-frontend/README.md diff --git a/raggr-frontend/TOKEN_REFRESH_IMPLEMENTATION.md b/services/raggr/raggr-frontend/TOKEN_REFRESH_IMPLEMENTATION.md similarity index 100% rename from raggr-frontend/TOKEN_REFRESH_IMPLEMENTATION.md rename to services/raggr/raggr-frontend/TOKEN_REFRESH_IMPLEMENTATION.md diff --git a/raggr-frontend/package-lock.json b/services/raggr/raggr-frontend/package-lock.json similarity index 100% rename from raggr-frontend/package-lock.json rename to services/raggr/raggr-frontend/package-lock.json diff --git a/raggr-frontend/package.json b/services/raggr/raggr-frontend/package.json similarity index 100% rename from raggr-frontend/package.json rename to services/raggr/raggr-frontend/package.json diff --git a/raggr-frontend/postcss.config.mjs b/services/raggr/raggr-frontend/postcss.config.mjs similarity index 100% rename from raggr-frontend/postcss.config.mjs rename to services/raggr/raggr-frontend/postcss.config.mjs diff --git a/raggr-frontend/rsbuild.config.ts b/services/raggr/raggr-frontend/rsbuild.config.ts similarity index 100% rename from raggr-frontend/rsbuild.config.ts rename to services/raggr/raggr-frontend/rsbuild.config.ts diff --git a/raggr-frontend/src/App.css b/services/raggr/raggr-frontend/src/App.css similarity index 100% rename from raggr-frontend/src/App.css rename to services/raggr/raggr-frontend/src/App.css diff --git a/raggr-frontend/src/App.tsx b/services/raggr/raggr-frontend/src/App.tsx similarity index 100% rename from raggr-frontend/src/App.tsx rename to services/raggr/raggr-frontend/src/App.tsx diff --git a/raggr-frontend/src/api/conversationService.ts b/services/raggr/raggr-frontend/src/api/conversationService.ts similarity index 100% rename from raggr-frontend/src/api/conversationService.ts rename to services/raggr/raggr-frontend/src/api/conversationService.ts diff --git a/raggr-frontend/src/api/userService.ts b/services/raggr/raggr-frontend/src/api/userService.ts similarity index 100% rename from raggr-frontend/src/api/userService.ts rename to services/raggr/raggr-frontend/src/api/userService.ts diff --git a/raggr-frontend/src/assets/favicon.svg b/services/raggr/raggr-frontend/src/assets/favicon.svg similarity index 100% rename from raggr-frontend/src/assets/favicon.svg rename to services/raggr/raggr-frontend/src/assets/favicon.svg diff --git a/raggr-frontend/src/components/AnswerBubble.tsx b/services/raggr/raggr-frontend/src/components/AnswerBubble.tsx similarity index 100% rename from raggr-frontend/src/components/AnswerBubble.tsx rename to services/raggr/raggr-frontend/src/components/AnswerBubble.tsx diff --git a/raggr-frontend/src/components/ChatScreen.tsx b/services/raggr/raggr-frontend/src/components/ChatScreen.tsx similarity index 100% rename from raggr-frontend/src/components/ChatScreen.tsx rename to services/raggr/raggr-frontend/src/components/ChatScreen.tsx diff --git a/raggr-frontend/src/components/ConversationList.tsx b/services/raggr/raggr-frontend/src/components/ConversationList.tsx similarity index 100% rename from raggr-frontend/src/components/ConversationList.tsx rename to services/raggr/raggr-frontend/src/components/ConversationList.tsx diff --git a/raggr-frontend/src/components/ConversationMenu.tsx b/services/raggr/raggr-frontend/src/components/ConversationMenu.tsx similarity index 100% rename from raggr-frontend/src/components/ConversationMenu.tsx rename to services/raggr/raggr-frontend/src/components/ConversationMenu.tsx diff --git a/raggr-frontend/src/components/LoginScreen.tsx b/services/raggr/raggr-frontend/src/components/LoginScreen.tsx similarity index 100% rename from raggr-frontend/src/components/LoginScreen.tsx rename to services/raggr/raggr-frontend/src/components/LoginScreen.tsx diff --git a/raggr-frontend/src/components/QuestionBubble.tsx b/services/raggr/raggr-frontend/src/components/QuestionBubble.tsx similarity index 100% rename from raggr-frontend/src/components/QuestionBubble.tsx rename to services/raggr/raggr-frontend/src/components/QuestionBubble.tsx diff --git a/raggr-frontend/src/contexts/AuthContext.tsx b/services/raggr/raggr-frontend/src/contexts/AuthContext.tsx similarity index 100% rename from raggr-frontend/src/contexts/AuthContext.tsx rename to services/raggr/raggr-frontend/src/contexts/AuthContext.tsx diff --git a/raggr-frontend/src/env.d.ts b/services/raggr/raggr-frontend/src/env.d.ts similarity index 100% rename from raggr-frontend/src/env.d.ts rename to services/raggr/raggr-frontend/src/env.d.ts diff --git a/raggr-frontend/src/index.tsx b/services/raggr/raggr-frontend/src/index.tsx similarity index 100% rename from raggr-frontend/src/index.tsx rename to services/raggr/raggr-frontend/src/index.tsx diff --git a/raggr-frontend/src/simba_cute.jpeg b/services/raggr/raggr-frontend/src/simba_cute.jpeg similarity index 100% rename from raggr-frontend/src/simba_cute.jpeg rename to services/raggr/raggr-frontend/src/simba_cute.jpeg diff --git a/raggr-frontend/src/simba_troll.jpeg b/services/raggr/raggr-frontend/src/simba_troll.jpeg similarity index 100% rename from raggr-frontend/src/simba_troll.jpeg rename to services/raggr/raggr-frontend/src/simba_troll.jpeg diff --git a/raggr-frontend/tsconfig.json b/services/raggr/raggr-frontend/tsconfig.json similarity index 100% rename from raggr-frontend/tsconfig.json rename to services/raggr/raggr-frontend/tsconfig.json diff --git a/raggr-frontend/yarn.lock b/services/raggr/raggr-frontend/yarn.lock similarity index 84% rename from raggr-frontend/yarn.lock rename to services/raggr/raggr-frontend/yarn.lock index dd8aa07..4d8de4f 100644 --- a/raggr-frontend/yarn.lock +++ b/services/raggr/raggr-frontend/yarn.lock @@ -7,6 +7,28 @@ resolved "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz" integrity sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw== +"@emnapi/core@^1.5.0": + version "1.6.0" + resolved "https://registry.yarnpkg.com/@emnapi/core/-/core-1.6.0.tgz#517f65d1c8270d5d5aa1aad660d5acb897430dca" + integrity sha512-zq/ay+9fNIJJtJiZxdTnXS20PllcYMX3OE23ESc4HK/bdYu3cOWYVhsOhVnXALfU/uqJIxn5NBPd9z4v+SfoSg== + dependencies: + "@emnapi/wasi-threads" "1.1.0" + tslib "^2.4.0" + +"@emnapi/runtime@^1.5.0": + version "1.6.0" + resolved "https://registry.yarnpkg.com/@emnapi/runtime/-/runtime-1.6.0.tgz#8fe297e0090f6e89a57a1f31f1c440bdbc3c01d8" + integrity sha512-obtUmAHTMjll499P+D9A3axeJFlhdjOWdKUNs/U6QIGT7V5RjcUW1xToAzjvmgTSQhDbYn/NwfTRoJcQ2rNBxA== + dependencies: + tslib "^2.4.0" + +"@emnapi/wasi-threads@1.1.0", "@emnapi/wasi-threads@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@emnapi/wasi-threads/-/wasi-threads-1.1.0.tgz#60b2102fddc9ccb78607e4a3cf8403ea69be41bf" + integrity sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ== + dependencies: + tslib "^2.4.0" + "@isaacs/fs-minipass@^4.0.0": version "4.0.1" resolved "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz" @@ -91,7 +113,16 @@ "@module-federation/runtime" "0.18.0" "@module-federation/sdk" "0.18.0" -"@rsbuild/core@^1.5.6", "@rsbuild/core@1.x": +"@napi-rs/wasm-runtime@^1.0.5": + version "1.0.7" + resolved "https://registry.yarnpkg.com/@napi-rs/wasm-runtime/-/wasm-runtime-1.0.7.tgz#dcfea99a75f06209a235f3d941e3460a51e9b14c" + integrity sha512-SeDnOO0Tk7Okiq6DbXmmBODgOAb9dp9gjlphokTUxmt8U3liIP1ZsozBahH69j/RJv+Rfs6IwUKHTgQYJ/HBAw== + dependencies: + "@emnapi/core" "^1.5.0" + "@emnapi/runtime" "^1.5.0" + "@tybys/wasm-util" "^0.10.1" + +"@rsbuild/core@^1.5.6": version "1.5.12" resolved "https://registry.npmjs.org/@rsbuild/core/-/core-1.5.12.tgz" integrity sha512-DpinE1If6WRTwQYqH+PRtJo3zshkDYHfIcWq4lTtfsPfPLrXshmRXBam3BS1RRu4v2gGT+LCNiUefftsmcmL0A== @@ -115,6 +146,53 @@ resolved "https://registry.npmjs.org/@rspack/binding-darwin-arm64/-/binding-darwin-arm64-1.5.7.tgz" integrity sha512-prQ/vgJxOPdlYiR4gVeOEKofTCEOu70JQIQApqFnw8lKM7rd9ag8ogDNqmc2L/GGXGHLAqds28oeKXRlzYf7+Q== +"@rspack/binding-darwin-x64@1.5.7": + version "1.5.7" + resolved "https://registry.yarnpkg.com/@rspack/binding-darwin-x64/-/binding-darwin-x64-1.5.7.tgz#92210902db273773bc2bcb1e587d66e025b9d1b0" + integrity sha512-FPqiWSbEEerqfJrGnYe68svvl6NyuQFAb3qqFe/Q0MqFhBYmAZwa0R2/ylugCdgFLZxmkFuWqpDgItpvJb/E3Q== + +"@rspack/binding-linux-arm64-gnu@1.5.7": + version "1.5.7" + resolved "https://registry.yarnpkg.com/@rspack/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.5.7.tgz#a8042c41264c5e8603d67e56277d45c2b012f0cd" + integrity sha512-fwy+NY+0CHrZqqzDrjPBlTuK53W4dG5EEg/QQFAE7KVM+okRqPk8tg45bJ5628rCNLe13GDmPIE107LmgspNqA== + +"@rspack/binding-linux-arm64-musl@1.5.7": + version "1.5.7" + resolved "https://registry.yarnpkg.com/@rspack/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.5.7.tgz#15421d912a758f63d19c104b6d40b96b4ae09e03" + integrity sha512-576u/0F4ZUzpHckFme4vQ0sSxjE+B/gVP4tNJ+P6bJaclXLFXV4icbjTUQwOIgmA1EQz/JFeKGGJZ4p6mowpBQ== + +"@rspack/binding-linux-x64-gnu@1.5.7": + version "1.5.7" + resolved "https://registry.yarnpkg.com/@rspack/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.5.7.tgz#0b3c973c8c900ba774e0f5ea275e6dbdace9c16f" + integrity sha512-brSHywXjjeuWkv0ywgxS4VgDgquarEb4XGr+eXhOaPcc8x2rNefyc4hErplrI7+oxPXVuGK5VE4ZH5bj3Yknvg== + +"@rspack/binding-linux-x64-musl@1.5.7": + version "1.5.7" + resolved "https://registry.yarnpkg.com/@rspack/binding-linux-x64-musl/-/binding-linux-x64-musl-1.5.7.tgz#b7a9f984686a07fa66762acb18af1a4ad1800a87" + integrity sha512-HcS0DzbLlWCwVfYcWMbTgILh4GELD6m4CZoFEhIr4fJCJi0p8NgLYycy1QtDhaUjs8TKalmyMwHrJwGnD141JA== + +"@rspack/binding-wasm32-wasi@1.5.7": + version "1.5.7" + resolved "https://registry.yarnpkg.com/@rspack/binding-wasm32-wasi/-/binding-wasm32-wasi-1.5.7.tgz#c0a30d4700725723c6198961dbc7d2ecfa713e21" + integrity sha512-uTRUEuK+TVlvUBSWXVoxD+6JTN+rvtRqVlO+A7I7VnOY7p9Rpvk1sXcHtEwg/XuDCq4DALnvlzbFLh7G3zILvw== + dependencies: + "@napi-rs/wasm-runtime" "^1.0.5" + +"@rspack/binding-win32-arm64-msvc@1.5.7": + version "1.5.7" + resolved "https://registry.yarnpkg.com/@rspack/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.5.7.tgz#53184c858b08e47429a1b281a18d9f30e5a06806" + integrity sha512-dFHrXRUmMTkxEn/Uw2RLbIckKfi0Zmn2NnEXwedWdyRgZW4Vhk7+VBxM22O/CHZmAGt12Ol25yTuVv58ANLEKA== + +"@rspack/binding-win32-ia32-msvc@1.5.7": + version "1.5.7" + resolved "https://registry.yarnpkg.com/@rspack/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-1.5.7.tgz#dc12761a5903e6f1aefd368158d450bdfe30d563" + integrity sha512-PNtnOIUzE9p/Fbl6l/1Zs7bhn8ccTlaHTgZgQq0sO/QxjLlbU0WPjRl+YLo27cAningSOAbANuYlN8vAcuimrw== + +"@rspack/binding-win32-x64-msvc@1.5.7": + version "1.5.7" + resolved "https://registry.yarnpkg.com/@rspack/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.5.7.tgz#b7f5e023edcb299782e9e396bfa4767476bd1bde" + integrity sha512-22gTaYkwaIUvyXRxf1RVnFTJPqF2hD1pgAQNBIz7kYybe6vvSZ6KInW4WyG4vjYKrJg/cbS4QvtlLn0lYXrdIw== + "@rspack/binding@1.5.7": version "1.5.7" resolved "https://registry.npmjs.org/@rspack/binding/-/binding-1.5.7.tgz" @@ -140,7 +218,7 @@ "@rspack/binding" "1.5.7" "@rspack/lite-tapable" "1.0.1" -"@rspack/lite-tapable@~1.0.1", "@rspack/lite-tapable@1.0.1": +"@rspack/lite-tapable@1.0.1", "@rspack/lite-tapable@~1.0.1": version "1.0.1" resolved "https://registry.npmjs.org/@rspack/lite-tapable/-/lite-tapable-1.0.1.tgz" integrity sha512-VynGOEsVw2s8TAlLf/uESfrgfrq2+rcXB1muPJYBWbsm1Oa6r5qVQhjA5ggM6z/coYPrsVMgovl3Ff7Q7OCp1w== @@ -153,7 +231,7 @@ error-stack-parser "^2.1.4" html-entities "^2.6.0" -"@swc/helpers@^0.5.17", "@swc/helpers@>=0.5.1": +"@swc/helpers@^0.5.17": version "0.5.17" resolved "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.17.tgz" integrity sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A== @@ -173,11 +251,73 @@ source-map-js "^1.2.1" tailwindcss "4.1.14" +"@tailwindcss/oxide-android-arm64@4.1.14": + version "4.1.14" + resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.1.14.tgz#8903678d75715d913b8f7c5f6fa0517af83b5111" + integrity sha512-a94ifZrGwMvbdeAxWoSuGcIl6/DOP5cdxagid7xJv6bwFp3oebp7y2ImYsnZBMTwjn5Ev5xESvS3FFYUGgPODQ== + "@tailwindcss/oxide-darwin-arm64@4.1.14": version "4.1.14" resolved "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.1.14.tgz" integrity sha512-HkFP/CqfSh09xCnrPJA7jud7hij5ahKyWomrC3oiO2U9i0UjP17o9pJbxUN0IJ471GTQQmzwhp0DEcpbp4MZTA== +"@tailwindcss/oxide-darwin-x64@4.1.14": + version "4.1.14" + resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.1.14.tgz#ac1af82da01299143129fdf615f6fcc046b4094e" + integrity sha512-eVNaWmCgdLf5iv6Qd3s7JI5SEFBFRtfm6W0mphJYXgvnDEAZ5sZzqmI06bK6xo0IErDHdTA5/t7d4eTfWbWOFw== + +"@tailwindcss/oxide-freebsd-x64@4.1.14": + version "4.1.14" + resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.1.14.tgz#a955cedf9b020147d222f92490e9d331db9b5c36" + integrity sha512-QWLoRXNikEuqtNb0dhQN6wsSVVjX6dmUFzuuiL09ZeXju25dsei2uIPl71y2Ic6QbNBsB4scwBoFnlBfabHkEw== + +"@tailwindcss/oxide-linux-arm-gnueabihf@4.1.14": + version "4.1.14" + resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.1.14.tgz#5474bee4d377144107f3f0198a3c0225a46c02e6" + integrity sha512-VB4gjQni9+F0VCASU+L8zSIyjrLLsy03sjcR3bM0V2g4SNamo0FakZFKyUQ96ZVwGK4CaJsc9zd/obQy74o0Fw== + +"@tailwindcss/oxide-linux-arm64-gnu@4.1.14": + version "4.1.14" + resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.1.14.tgz#b06ca140083b353735414e32f7a8786f55ce2dd6" + integrity sha512-qaEy0dIZ6d9vyLnmeg24yzA8XuEAD9WjpM5nIM1sUgQ/Zv7cVkharPDQcmm/t/TvXoKo/0knI3me3AGfdx6w1w== + +"@tailwindcss/oxide-linux-arm64-musl@4.1.14": + version "4.1.14" + resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.1.14.tgz#85f4cabea2a07609274d1f747bd098c5da2a7cd2" + integrity sha512-ISZjT44s59O8xKsPEIesiIydMG/sCXoMBCqsphDm/WcbnuWLxxb+GcvSIIA5NjUw6F8Tex7s5/LM2yDy8RqYBQ== + +"@tailwindcss/oxide-linux-x64-gnu@4.1.14": + version "4.1.14" + resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.1.14.tgz#0d7fbf91763a2f6886044a050298489107d120bd" + integrity sha512-02c6JhLPJj10L2caH4U0zF8Hji4dOeahmuMl23stk0MU1wfd1OraE7rOloidSF8W5JTHkFdVo/O7uRUJJnUAJg== + +"@tailwindcss/oxide-linux-x64-musl@4.1.14": + version "4.1.14" + resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.1.14.tgz#93578713064ba4c16df517df01b3c546ecc9878d" + integrity sha512-TNGeLiN1XS66kQhxHG/7wMeQDOoL0S33x9BgmydbrWAb9Qw0KYdd8o1ifx4HOGDWhVmJ+Ul+JQ7lyknQFilO3Q== + +"@tailwindcss/oxide-wasm32-wasi@4.1.14": + version "4.1.14" + resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.1.14.tgz#9e55999129a952a3dcc2196cc9cc55248cc1b1fe" + integrity sha512-uZYAsaW/jS/IYkd6EWPJKW/NlPNSkWkBlaeVBi/WsFQNP05/bzkebUL8FH1pdsqx4f2fH/bWFcUABOM9nfiJkQ== + dependencies: + "@emnapi/core" "^1.5.0" + "@emnapi/runtime" "^1.5.0" + "@emnapi/wasi-threads" "^1.1.0" + "@napi-rs/wasm-runtime" "^1.0.5" + "@tybys/wasm-util" "^0.10.1" + tslib "^2.4.0" + +"@tailwindcss/oxide-win32-arm64-msvc@4.1.14": + version "4.1.14" + resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.1.14.tgz#097c00bfc60cd84943a9cb5e853b25fa25525c77" + integrity sha512-Az0RnnkcvRqsuoLH2Z4n3JfAef0wElgzHD5Aky/e+0tBUxUhIeIqFBTMNQvmMRSP15fWwmvjBxZ3Q8RhsDnxAA== + +"@tailwindcss/oxide-win32-x64-msvc@4.1.14": + version "4.1.14" + resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.1.14.tgz#eaa49fa930ce16b23478d3b58c079a40ac0b6622" + integrity sha512-ttblVGHgf68kEE4om1n/n44I0yGPkCPbLsqzjvybhpwa6mKKtgFfAzy6btc3HRmuW7nHe0OOrSeNP9sQmmH9XA== + "@tailwindcss/oxide@4.1.14": version "4.1.14" resolved "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.1.14.tgz" @@ -210,6 +350,13 @@ postcss "^8.4.41" tailwindcss "4.1.14" +"@tybys/wasm-util@^0.10.1": + version "0.10.1" + resolved "https://registry.yarnpkg.com/@tybys/wasm-util/-/wasm-util-0.10.1.tgz#ecddd3205cf1e2d5274649ff0eedd2991ed7f414" + integrity sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg== + dependencies: + tslib "^2.4.0" + "@types/debug@^4.0.0": version "4.1.12" resolved "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz" @@ -253,7 +400,7 @@ resolved "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.1.9.tgz" integrity sha512-qXRuZaOsAdXKFyOhRBg6Lqqc0yay13vN7KrIg4L7N4aaHN68ma9OK3NE1BoDFgFOTfM7zg+3/8+2n8rLUH3OKQ== -"@types/react@^19.0.0", "@types/react@^19.1.13", "@types/react@>=18": +"@types/react@^19.1.13": version "19.1.14" resolved "https://registry.npmjs.org/@types/react/-/react-19.1.14.tgz" integrity sha512-ukd93VGzaNPMAUPy0gRDSC57UuQbnH9Kussp7HBjM06YFi9uZTFhOvMSO2OKqXm1rSgzOE+pVx1k1PYHGwlc8Q== @@ -724,6 +871,51 @@ lightningcss-darwin-arm64@1.30.1: resolved "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.30.1.tgz" integrity sha512-c8JK7hyE65X1MHMN+Viq9n11RRC7hgin3HhYKhrMyaXflk5GVplZ60IxyoVtzILeKr+xAJwg6zK6sjTBJ0FKYQ== +lightningcss-darwin-x64@1.30.1: + version "1.30.1" + resolved "https://registry.yarnpkg.com/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.30.1.tgz#e81105d3fd6330860c15fe860f64d39cff5fbd22" + integrity sha512-k1EvjakfumAQoTfcXUcHQZhSpLlkAuEkdMBsI/ivWw9hL+7FtilQc0Cy3hrx0AAQrVtQAbMI7YjCgYgvn37PzA== + +lightningcss-freebsd-x64@1.30.1: + version "1.30.1" + resolved "https://registry.yarnpkg.com/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.30.1.tgz#a0e732031083ff9d625c5db021d09eb085af8be4" + integrity sha512-kmW6UGCGg2PcyUE59K5r0kWfKPAVy4SltVeut+umLCFoJ53RdCUWxcRDzO1eTaxf/7Q2H7LTquFHPL5R+Gjyig== + +lightningcss-linux-arm-gnueabihf@1.30.1: + version "1.30.1" + resolved "https://registry.yarnpkg.com/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.30.1.tgz#1f5ecca6095528ddb649f9304ba2560c72474908" + integrity sha512-MjxUShl1v8pit+6D/zSPq9S9dQ2NPFSQwGvxBCYaBYLPlCWuPh9/t1MRS8iUaR8i+a6w7aps+B4N0S1TYP/R+Q== + +lightningcss-linux-arm64-gnu@1.30.1: + version "1.30.1" + resolved "https://registry.yarnpkg.com/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.30.1.tgz#eee7799726103bffff1e88993df726f6911ec009" + integrity sha512-gB72maP8rmrKsnKYy8XUuXi/4OctJiuQjcuqWNlJQ6jZiWqtPvqFziskH3hnajfvKB27ynbVCucKSm2rkQp4Bw== + +lightningcss-linux-arm64-musl@1.30.1: + version "1.30.1" + resolved "https://registry.yarnpkg.com/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.30.1.tgz#f2e4b53f42892feeef8f620cbb889f7c064a7dfe" + integrity sha512-jmUQVx4331m6LIX+0wUhBbmMX7TCfjF5FoOH6SD1CttzuYlGNVpA7QnrmLxrsub43ClTINfGSYyHe2HWeLl5CQ== + +lightningcss-linux-x64-gnu@1.30.1: + version "1.30.1" + resolved "https://registry.yarnpkg.com/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.30.1.tgz#2fc7096224bc000ebb97eea94aea248c5b0eb157" + integrity sha512-piWx3z4wN8J8z3+O5kO74+yr6ze/dKmPnI7vLqfSqI8bccaTGY5xiSGVIJBDd5K5BHlvVLpUB3S2YCfelyJ1bw== + +lightningcss-linux-x64-musl@1.30.1: + version "1.30.1" + resolved "https://registry.yarnpkg.com/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.30.1.tgz#66dca2b159fd819ea832c44895d07e5b31d75f26" + integrity sha512-rRomAK7eIkL+tHY0YPxbc5Dra2gXlI63HL+v1Pdi1a3sC+tJTcFrHX+E86sulgAXeI7rSzDYhPSeHHjqFhqfeQ== + +lightningcss-win32-arm64-msvc@1.30.1: + version "1.30.1" + resolved "https://registry.yarnpkg.com/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.30.1.tgz#7d8110a19d7c2d22bfdf2f2bb8be68e7d1b69039" + integrity sha512-mSL4rqPi4iXq5YVqzSsJgMVFENoa4nGTT/GjO2c0Yl9OuQfPsIfncvLrEW6RbbB24WtZ3xP/2CCmI3tNkNV4oA== + +lightningcss-win32-x64-msvc@1.30.1: + version "1.30.1" + resolved "https://registry.yarnpkg.com/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.30.1.tgz#fd7dd008ea98494b85d24b4bea016793f2e0e352" + integrity sha512-PVqXh48wh4T53F/1CCu8PIPCxLzWyCnn/9T5W1Jpmdy5h9Cwd+0YQS6/LwhHXSafuc61/xg9Lv5OrCby6a++jg== + lightningcss@1.30.1: version "1.30.1" resolved "https://registry.npmjs.org/lightningcss/-/lightningcss-1.30.1.tgz" @@ -1214,12 +1406,12 @@ react-markdown@^10.1.0: unist-util-visit "^5.0.0" vfile "^6.0.0" -react-refresh@^0.17.0, "react-refresh@>=0.10.0 <1.0.0": +react-refresh@^0.17.0: version "0.17.0" resolved "https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz" integrity sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ== -react@^19.1.1, react@>=18: +react@^19.1.1: version "19.1.1" resolved "https://registry.npmjs.org/react/-/react-19.1.1.tgz" integrity sha512-w8nqGImo45dmMIfljjMwOGtbmC/mk4CMYhWIicdSflH91J9TyCyczcPFXJzrZ/ZXcgGRFeP6BU0BEJTw6tZdfQ== @@ -1384,7 +1576,7 @@ trough@^2.0.0: resolved "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz" integrity sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw== -tslib@^2.8.0: +tslib@^2.4.0, tslib@^2.8.0: version "2.8.1" resolved "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz" integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== diff --git a/request.py b/services/raggr/request.py similarity index 100% rename from request.py rename to services/raggr/request.py diff --git a/startup.sh b/services/raggr/startup.sh similarity index 100% rename from startup.sh rename to services/raggr/startup.sh diff --git a/uv.lock b/services/raggr/uv.lock similarity index 100% rename from uv.lock rename to services/raggr/uv.lock