From 544d6944d1657d52cee44824b4795c436abe43ee Mon Sep 17 00:00:00 2001 From: Roland Tannous Date: Mon, 2 Feb 2026 09:13:49 +0000 Subject: [PATCH 1/2] root studio folder --- backend/models/__init__.py | 37 ------- backend/models/models.py | 56 ----------- backend/models/training.py | 96 ------------------- backend/utils/.gitkeep | 0 .../assets/datasets/alpaca_unsloth.json | 0 {backend => studio/backend}/auth/.gitkeep | 0 {backend => studio/backend}/auth/__init__.py | 0 .../backend}/backend/__init__.py | 0 {backend => studio/backend}/backend/export.py | 0 .../backend}/backend/inference.py | 0 .../backend}/backend/model_config.py | 0 .../backend}/backend/path_utils.py | 0 .../backend}/backend/trainer.py | 0 .../backend}/backend/training.py | 0 {backend => studio/backend}/core/__init__.py | 0 .../backend}/core/export/__init__.py | 0 .../backend}/core/export/export.py | 0 .../backend}/core/inference/__init__.py | 0 .../backend}/core/inference/inference.py | 0 .../backend}/core/training/__init__.py | 0 .../backend}/core/training/trainer.py | 0 .../backend}/core/training/training.py | 0 {backend => studio/backend}/loggers/.gitkeep | 0 .../backend}/loggers/__init__.py | 0 {backend => studio/backend}/main.py | 0 {backend => studio/backend}/requirements.txt | 0 .../models => studio/backend/routes}/.gitkeep | 0 .../backend}/routes/__init__.py | 0 .../backend}/routes/inference.py | 0 {backend => studio/backend}/routes/models.py | 0 .../backend}/routes/training.py | 0 {backend => studio/backend}/run.py | 0 .../routes => studio/backend/state}/.gitkeep | 0 {backend => studio/backend}/state/__init__.py | 0 .../state => studio/backend/utils}/.gitkeep | 0 .../backend}/utils/datasets/dataset_utils.py | 0 .../backend}/utils/paths/__init__.py | 0 .../backend}/utils/paths/path_utils.py | 0 {backend => studio/backend}/utils/utils.py | 0 39 files changed, 189 deletions(-) delete mode 100644 backend/models/__init__.py delete mode 100644 backend/models/models.py delete mode 100644 backend/models/training.py delete mode 100644 backend/utils/.gitkeep rename {backend => studio/backend}/assets/datasets/alpaca_unsloth.json (100%) rename {backend => studio/backend}/auth/.gitkeep (100%) rename {backend => studio/backend}/auth/__init__.py (100%) rename {backend => studio/backend}/backend/__init__.py (100%) rename {backend => studio/backend}/backend/export.py (100%) rename {backend => studio/backend}/backend/inference.py (100%) rename {backend => studio/backend}/backend/model_config.py (100%) rename {backend => studio/backend}/backend/path_utils.py (100%) rename {backend => studio/backend}/backend/trainer.py (100%) rename {backend => studio/backend}/backend/training.py (100%) rename {backend => studio/backend}/core/__init__.py (100%) rename {backend => studio/backend}/core/export/__init__.py (100%) rename {backend => studio/backend}/core/export/export.py (100%) rename {backend => studio/backend}/core/inference/__init__.py (100%) rename {backend => studio/backend}/core/inference/inference.py (100%) rename {backend => studio/backend}/core/training/__init__.py (100%) rename {backend => studio/backend}/core/training/trainer.py (100%) rename {backend => studio/backend}/core/training/training.py (100%) rename {backend => studio/backend}/loggers/.gitkeep (100%) rename {backend => studio/backend}/loggers/__init__.py (100%) rename {backend => studio/backend}/main.py (100%) rename {backend => studio/backend}/requirements.txt (100%) rename {backend/models => studio/backend/routes}/.gitkeep (100%) rename {backend => studio/backend}/routes/__init__.py (100%) rename {backend => studio/backend}/routes/inference.py (100%) rename {backend => studio/backend}/routes/models.py (100%) rename {backend => studio/backend}/routes/training.py (100%) rename {backend => studio/backend}/run.py (100%) rename {backend/routes => studio/backend/state}/.gitkeep (100%) rename {backend => studio/backend}/state/__init__.py (100%) rename {backend/state => studio/backend/utils}/.gitkeep (100%) rename {backend => studio/backend}/utils/datasets/dataset_utils.py (100%) rename {backend => studio/backend}/utils/paths/__init__.py (100%) rename {backend => studio/backend}/utils/paths/path_utils.py (100%) rename {backend => studio/backend}/utils/utils.py (100%) diff --git a/backend/models/__init__.py b/backend/models/__init__.py deleted file mode 100644 index 07836f2168..0000000000 --- a/backend/models/__init__.py +++ /dev/null @@ -1,37 +0,0 @@ -""" -Pydantic models for API request/response schemas -""" -from .training import ( - TrainingStartRequest, - TrainingStartResponse, - TrainingStatusResponse, - TrainingMetricsResponse, - TrainingProgressResponse, -) -from .models import ( - ModelSearchRequest, - ModelSearchResponse, - ModelListResponse, - ModelConfigResponse, - LoRAScanResponse, - LoRAInfo, - ModelInfo, -) - -__all__ = [ - # Training schemas - "TrainingStartRequest", - "TrainingStartResponse", - "TrainingStatusResponse", - "TrainingMetricsResponse", - "TrainingProgressResponse", - # Model management schemas - "ModelSearchRequest", - "ModelSearchResponse", - "ModelListResponse", - "ModelConfigResponse", - "LoRAScanResponse", - "LoRAInfo", - "ModelInfo", -] - diff --git a/backend/models/models.py b/backend/models/models.py deleted file mode 100644 index 9561bf3288..0000000000 --- a/backend/models/models.py +++ /dev/null @@ -1,56 +0,0 @@ -""" -Pydantic schemas for Model Management API -""" -from pydantic import BaseModel, Field -from typing import Optional, List, Dict, Any - - -class ModelSearchRequest(BaseModel): - """Request schema for searching HuggingFace models""" - query: str = Field(..., description="Search query") - hf_token: Optional[str] = Field(None, description="HuggingFace token for authenticated searches") - - -class ModelInfo(BaseModel): - """Model information""" - id: str = Field(..., description="Model identifier") - name: Optional[str] = Field(None, description="Display name") - description: Optional[str] = Field(None, description="Model description") - size: Optional[str] = Field(None, description="Model size") - is_vision: bool = Field(False, description="Whether model is a vision model") - is_lora: bool = Field(False, description="Whether model is a LoRA adapter") - - -class ModelSearchResponse(BaseModel): - """Response schema for model search""" - models: List[ModelInfo] = Field(default_factory=list, description="List of matching models") - total: int = Field(0, description="Total number of results") - - -class ModelListResponse(BaseModel): - """Response schema for listing available models""" - models: List[ModelInfo] = Field(default_factory=list, description="List of available models") - default_models: List[str] = Field(default_factory=list, description="List of default model IDs") - - -class ModelConfigResponse(BaseModel): - """Response schema for model configuration""" - model_name: str = Field(..., description="Model identifier") - config: Dict[str, Any] = Field(..., description="Model configuration dictionary") - is_vision: bool = Field(False, description="Whether model is a vision model") - is_lora: bool = Field(False, description="Whether model is a LoRA adapter") - base_model: Optional[str] = Field(None, description="Base model if this is a LoRA adapter") - - -class LoRAInfo(BaseModel): - """LoRA adapter information""" - display_name: str = Field(..., description="Display name for the LoRA") - adapter_path: str = Field(..., description="Path to the LoRA adapter") - base_model: Optional[str] = Field(None, description="Base model identifier") - - -class LoRAScanResponse(BaseModel): - """Response schema for scanning trained LoRA adapters""" - loras: List[LoRAInfo] = Field(default_factory=list, description="List of found LoRA adapters") - outputs_dir: str = Field(..., description="Directory that was scanned") - diff --git a/backend/models/training.py b/backend/models/training.py deleted file mode 100644 index 9105eaa7d3..0000000000 --- a/backend/models/training.py +++ /dev/null @@ -1,96 +0,0 @@ -""" -Pydantic schemas for Training API -""" -from pydantic import BaseModel, Field -from typing import Optional, List - - -class TrainingStartRequest(BaseModel): - """Request schema for starting training""" - # Model parameters - model_name: str = Field(..., description="Model identifier (e.g., 'unsloth/llama-3-8b-bnb-4bit')") - training_type: str = Field(..., description="Training type: 'LoRA/QLoRA' or 'Full Finetuning'") - hf_token: Optional[str] = Field(None, description="HuggingFace token") - load_in_4bit: bool = Field(True, description="Load model in 4-bit quantization") - max_seq_length: int = Field(2048, description="Maximum sequence length") - - # Dataset parameters - hf_dataset: Optional[str] = Field(None, description="HuggingFace dataset identifier") - local_datasets: List[str] = Field(default_factory=list, description="List of local dataset paths") - format_type: str = Field(..., description="Dataset format type") - - # Training parameters - num_epochs: int = Field(1, description="Number of training epochs") - learning_rate: str = Field("2e-4", description="Learning rate") - batch_size: int = Field(1, description="Batch size") - gradient_accumulation_steps: int = Field(1, description="Gradient accumulation steps") - warmup_steps: Optional[int] = Field(None, description="Warmup steps") - warmup_ratio: Optional[float] = Field(None, description="Warmup ratio") - max_steps: Optional[int] = Field(None, description="Maximum training steps") - save_steps: int = Field(100, description="Steps between checkpoints") - weight_decay: float = Field(0.01, description="Weight decay") - random_seed: int = Field(42, description="Random seed") - packing: bool = Field(False, description="Enable sequence packing") - optim: str = Field("adamw_8bit", description="Optimizer") - lr_scheduler_type: str = Field("linear", description="Learning rate scheduler type") - - # LoRA parameters - use_lora: bool = Field(True, description="Use LoRA (derived from training_type)") - lora_r: int = Field(16, description="LoRA rank") - lora_alpha: int = Field(16, description="LoRA alpha") - lora_dropout: float = Field(0.0, description="LoRA dropout") - target_modules: List[str] = Field(default_factory=list, description="Target modules for LoRA") - gradient_checkpointing: str = Field("", description="Gradient checkpointing setting") - use_rslora: bool = Field(False, description="Use RSLoRA") - use_loftq: bool = Field(False, description="Use LoftQ") - train_on_completions: bool = Field(False, description="Train on completions only") - - # Vision-specific LoRA parameters - finetune_vision_layers: bool = Field(False, description="Finetune vision layers") - finetune_language_layers: bool = Field(False, description="Finetune language layers") - finetune_attention_modules: bool = Field(False, description="Finetune attention modules") - finetune_mlp_modules: bool = Field(False, description="Finetune MLP modules") - - # Logging parameters - enable_wandb: bool = Field(False, description="Enable Weights & Biases logging") - wandb_token: Optional[str] = Field(None, description="W&B token") - wandb_project: Optional[str] = Field(None, description="W&B project name") - enable_tensorboard: bool = Field(False, description="Enable TensorBoard logging") - tensorboard_dir: Optional[str] = Field(None, description="TensorBoard directory") - - -class TrainingStartResponse(BaseModel): - """Response schema for training start""" - status: str = Field(..., description="Status: 'started' or 'error'") - job_id: Optional[str] = Field(None, description="Training job ID") - message: str = Field(..., description="Status message") - error: Optional[str] = Field(None, description="Error message if status is 'error'") - - -class TrainingStatusResponse(BaseModel): - """Response schema for training status""" - status: str = Field(..., description="Status: 'idle', 'preparing', 'training', 'stopping', 'error'") - is_active: bool = Field(..., description="Whether training is currently active (actual training running)") - message: str = Field(..., description="Status message") - current_step: Optional[int] = Field(None, description="Current training step") - total_steps: Optional[int] = Field(None, description="Total training steps") - - -class TrainingMetricsResponse(BaseModel): - """Response schema for training metrics""" - loss_history: List[float] = Field(default_factory=list, description="Loss values") - lr_history: List[float] = Field(default_factory=list, description="Learning rate values") - step_history: List[int] = Field(default_factory=list, description="Step numbers") - current_loss: Optional[float] = Field(None, description="Current loss value") - current_lr: Optional[float] = Field(None, description="Current learning rate") - current_step: Optional[int] = Field(None, description="Current step") - - -class TrainingProgressResponse(BaseModel): - """Response schema for training progress updates""" - step: int = Field(..., description="Current step") - loss: float = Field(..., description="Current loss") - learning_rate: float = Field(..., description="Current learning rate") - status_message: str = Field(..., description="Status message") - progress_percent: Optional[float] = Field(None, description="Progress percentage") - diff --git a/backend/utils/.gitkeep b/backend/utils/.gitkeep deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/backend/assets/datasets/alpaca_unsloth.json b/studio/backend/assets/datasets/alpaca_unsloth.json similarity index 100% rename from backend/assets/datasets/alpaca_unsloth.json rename to studio/backend/assets/datasets/alpaca_unsloth.json diff --git a/backend/auth/.gitkeep b/studio/backend/auth/.gitkeep similarity index 100% rename from backend/auth/.gitkeep rename to studio/backend/auth/.gitkeep diff --git a/backend/auth/__init__.py b/studio/backend/auth/__init__.py similarity index 100% rename from backend/auth/__init__.py rename to studio/backend/auth/__init__.py diff --git a/backend/backend/__init__.py b/studio/backend/backend/__init__.py similarity index 100% rename from backend/backend/__init__.py rename to studio/backend/backend/__init__.py diff --git a/backend/backend/export.py b/studio/backend/backend/export.py similarity index 100% rename from backend/backend/export.py rename to studio/backend/backend/export.py diff --git a/backend/backend/inference.py b/studio/backend/backend/inference.py similarity index 100% rename from backend/backend/inference.py rename to studio/backend/backend/inference.py diff --git a/backend/backend/model_config.py b/studio/backend/backend/model_config.py similarity index 100% rename from backend/backend/model_config.py rename to studio/backend/backend/model_config.py diff --git a/backend/backend/path_utils.py b/studio/backend/backend/path_utils.py similarity index 100% rename from backend/backend/path_utils.py rename to studio/backend/backend/path_utils.py diff --git a/backend/backend/trainer.py b/studio/backend/backend/trainer.py similarity index 100% rename from backend/backend/trainer.py rename to studio/backend/backend/trainer.py diff --git a/backend/backend/training.py b/studio/backend/backend/training.py similarity index 100% rename from backend/backend/training.py rename to studio/backend/backend/training.py diff --git a/backend/core/__init__.py b/studio/backend/core/__init__.py similarity index 100% rename from backend/core/__init__.py rename to studio/backend/core/__init__.py diff --git a/backend/core/export/__init__.py b/studio/backend/core/export/__init__.py similarity index 100% rename from backend/core/export/__init__.py rename to studio/backend/core/export/__init__.py diff --git a/backend/core/export/export.py b/studio/backend/core/export/export.py similarity index 100% rename from backend/core/export/export.py rename to studio/backend/core/export/export.py diff --git a/backend/core/inference/__init__.py b/studio/backend/core/inference/__init__.py similarity index 100% rename from backend/core/inference/__init__.py rename to studio/backend/core/inference/__init__.py diff --git a/backend/core/inference/inference.py b/studio/backend/core/inference/inference.py similarity index 100% rename from backend/core/inference/inference.py rename to studio/backend/core/inference/inference.py diff --git a/backend/core/training/__init__.py b/studio/backend/core/training/__init__.py similarity index 100% rename from backend/core/training/__init__.py rename to studio/backend/core/training/__init__.py diff --git a/backend/core/training/trainer.py b/studio/backend/core/training/trainer.py similarity index 100% rename from backend/core/training/trainer.py rename to studio/backend/core/training/trainer.py diff --git a/backend/core/training/training.py b/studio/backend/core/training/training.py similarity index 100% rename from backend/core/training/training.py rename to studio/backend/core/training/training.py diff --git a/backend/loggers/.gitkeep b/studio/backend/loggers/.gitkeep similarity index 100% rename from backend/loggers/.gitkeep rename to studio/backend/loggers/.gitkeep diff --git a/backend/loggers/__init__.py b/studio/backend/loggers/__init__.py similarity index 100% rename from backend/loggers/__init__.py rename to studio/backend/loggers/__init__.py diff --git a/backend/main.py b/studio/backend/main.py similarity index 100% rename from backend/main.py rename to studio/backend/main.py diff --git a/backend/requirements.txt b/studio/backend/requirements.txt similarity index 100% rename from backend/requirements.txt rename to studio/backend/requirements.txt diff --git a/backend/models/.gitkeep b/studio/backend/routes/.gitkeep similarity index 100% rename from backend/models/.gitkeep rename to studio/backend/routes/.gitkeep diff --git a/backend/routes/__init__.py b/studio/backend/routes/__init__.py similarity index 100% rename from backend/routes/__init__.py rename to studio/backend/routes/__init__.py diff --git a/backend/routes/inference.py b/studio/backend/routes/inference.py similarity index 100% rename from backend/routes/inference.py rename to studio/backend/routes/inference.py diff --git a/backend/routes/models.py b/studio/backend/routes/models.py similarity index 100% rename from backend/routes/models.py rename to studio/backend/routes/models.py diff --git a/backend/routes/training.py b/studio/backend/routes/training.py similarity index 100% rename from backend/routes/training.py rename to studio/backend/routes/training.py diff --git a/backend/run.py b/studio/backend/run.py similarity index 100% rename from backend/run.py rename to studio/backend/run.py diff --git a/backend/routes/.gitkeep b/studio/backend/state/.gitkeep similarity index 100% rename from backend/routes/.gitkeep rename to studio/backend/state/.gitkeep diff --git a/backend/state/__init__.py b/studio/backend/state/__init__.py similarity index 100% rename from backend/state/__init__.py rename to studio/backend/state/__init__.py diff --git a/backend/state/.gitkeep b/studio/backend/utils/.gitkeep similarity index 100% rename from backend/state/.gitkeep rename to studio/backend/utils/.gitkeep diff --git a/backend/utils/datasets/dataset_utils.py b/studio/backend/utils/datasets/dataset_utils.py similarity index 100% rename from backend/utils/datasets/dataset_utils.py rename to studio/backend/utils/datasets/dataset_utils.py diff --git a/backend/utils/paths/__init__.py b/studio/backend/utils/paths/__init__.py similarity index 100% rename from backend/utils/paths/__init__.py rename to studio/backend/utils/paths/__init__.py diff --git a/backend/utils/paths/path_utils.py b/studio/backend/utils/paths/path_utils.py similarity index 100% rename from backend/utils/paths/path_utils.py rename to studio/backend/utils/paths/path_utils.py diff --git a/backend/utils/utils.py b/studio/backend/utils/utils.py similarity index 100% rename from backend/utils/utils.py rename to studio/backend/utils/utils.py From 8b80c71fe15f297e4cbe142221579051935627ed Mon Sep 17 00:00:00 2001 From: Roland Tannous Date: Mon, 2 Feb 2026 09:14:35 +0000 Subject: [PATCH 2/2] add studio root folder --- {frontend => studio/frontend}/.gitignore | 0 {frontend => studio/frontend}/.gitkeep | 0 {frontend => studio/frontend}/README.md | 0 {frontend => studio/frontend}/biome.json | 0 {frontend => studio/frontend}/bun.lock | 0 {frontend => studio/frontend}/components.json | 0 {frontend => studio/frontend}/eslint.config.js | 0 {frontend => studio/frontend}/index.html | 0 {frontend => studio/frontend}/package.json | 0 .../Hellix font official/OTF/Hellix-SemiBold.otf | Bin .../Hellix font official/TTF/Hellix-SemiBold.ttf | Bin .../Hellix font official/WEB/Hellix-SemiBold.woff | Bin .../Hellix font official/WEB/Hellix-SemiBold.woff2 | Bin .../public/Sloth emojis/241024 Sloth Drink Jus.png | Bin .../public/Sloth emojis/251008 Sloth Pin.png | Bin .../public/Sloth emojis/FO2C6766BA42 Sloth Gift.png | Bin .../Sloth emojis/FO71A40FA5581 Sloth and Llama.png | Bin .../Sloth emojis/Large sloth Question mark.png | Bin .../frontend}/public/Sloth emojis/Sloth loca pc.png | Bin .../Sloth w Gameboy Confetti no Logo.png | Bin .../Sloth emojis/Sloth w PC Confetti no Logo.png | Bin .../public/Sloth emojis/Sloth w PC no Logo.png | Bin .../public/Sloth emojis/UnSloth Eat GPU Mouth.png | Bin .../public/Sloth emojis/UnSloth Eat GPU.png | Bin .../Sloth emojis/UnSloth GPU Front square.png | Bin .../public/Sloth emojis/UnSloth Laptop.png | Bin .../public/Sloth emojis/UnSloth Sparkling large.png | Bin .../public/Sloth emojis/large sloth cheeky.png | Bin .../public/Sloth emojis/large sloth drink.png | Bin .../public/Sloth emojis/large sloth fire.png | Bin .../public/Sloth emojis/large sloth glasses.png | Bin .../public/Sloth emojis/large sloth heart.png | Bin .../public/Sloth emojis/large sloth laugh.png | Bin .../public/Sloth emojis/large sloth sad.png | Bin .../public/Sloth emojis/large sloth thumbs.png | Bin .../public/Sloth emojis/large sloth wave.png | Bin .../public/Sloth emojis/large sloth yay.png | Bin .../public/Sloth emojis/sloth headphones.png | Bin .../public/Sloth emojis/sloth huglove large.png | Bin .../public/Sloth emojis/sloth huglove large33.png | Bin .../public/Sloth emojis/sloth magnify final(1).png | Bin .../public/Sloth emojis/sloth magnify final.png | Bin .../public/Sloth emojis/sloth on phone.png | Bin .../public/Sloth emojis/sloth pc emoji.png | Bin .../public/Sloth emojis/sloth pc square.png | Bin .../frontend}/public/Sloth emojis/sloth rounded.png | Bin .../public/Sloth emojis/sloth shock large.png | Bin .../public/Sloth emojis/sloth shy large.png | Bin .../public/Sloth emojis/sloth sir large.png | Bin .../public/Sloth emojis/sloth w pc transparent.png | Bin .../public/Sloth emojis/sloth with gameboy.png | Bin .../frontend}/public/fonts/Hellix-SemiBold.woff | Bin .../frontend}/public/fonts/Hellix-SemiBold.woff2 | Bin .../frontend}/public/huggingface.svg | 0 {frontend => studio/frontend}/public/vite.svg | 0 {frontend => studio/frontend}/src/app/app.tsx | 0 {frontend => studio/frontend}/src/app/provider.tsx | 0 {frontend => studio/frontend}/src/app/router.tsx | 0 .../frontend}/src/app/routes/__root.tsx | 0 .../frontend}/src/app/routes/chat.tsx | 0 .../frontend}/src/app/routes/grid-test.tsx | 0 .../frontend}/src/app/routes/home.tsx | 0 .../frontend}/src/app/routes/onboarding.tsx | 0 .../frontend}/src/app/routes/studio.tsx | 0 {frontend => studio/frontend}/src/assets/react.svg | 0 .../src/components/assistant-ui/attachment.tsx | 0 .../src/components/assistant-ui/markdown-text.tsx | 0 .../src/components/assistant-ui/model-selector.tsx | 0 .../src/components/assistant-ui/reasoning.tsx | 0 .../src/components/assistant-ui/thread.tsx | 0 .../src/components/assistant-ui/tool-fallback.tsx | 0 .../components/assistant-ui/tooltip-icon-button.tsx | 0 .../frontend}/src/components/component-example.tsx | 0 .../frontend}/src/components/example.tsx | 0 .../src/components/layout/dashboard-grid.tsx | 0 .../src/components/layout/dashboard-layout.tsx | 0 .../frontend}/src/components/layout/index.ts | 0 .../frontend}/src/components/navbar.tsx | 0 .../frontend}/src/components/section-card.tsx | 0 .../frontend}/src/components/ui/accordion.tsx | 0 .../frontend}/src/components/ui/alert-dialog.tsx | 0 .../frontend}/src/components/ui/alert.tsx | 0 .../src/components/ui/animated-shiny-text.tsx | 0 .../frontend}/src/components/ui/aspect-ratio.tsx | 0 .../frontend}/src/components/ui/avatar.tsx | 0 .../frontend}/src/components/ui/badge.tsx | 0 .../frontend}/src/components/ui/breadcrumb.tsx | 0 .../frontend}/src/components/ui/button.tsx | 0 .../frontend}/src/components/ui/calendar.tsx | 0 .../frontend}/src/components/ui/card.tsx | 0 .../frontend}/src/components/ui/chart.tsx | 0 .../frontend}/src/components/ui/checkbox.tsx | 0 .../frontend}/src/components/ui/collapsible.tsx | 0 .../frontend}/src/components/ui/combobox.tsx | 0 .../frontend}/src/components/ui/command.tsx | 0 .../frontend}/src/components/ui/confetti.tsx | 0 .../frontend}/src/components/ui/context-menu.tsx | 0 .../frontend}/src/components/ui/dialog.tsx | 0 .../frontend}/src/components/ui/dropdown-menu.tsx | 0 .../frontend}/src/components/ui/field.tsx | 0 .../frontend}/src/components/ui/hover-card.tsx | 0 .../frontend}/src/components/ui/input-group.tsx | 0 .../frontend}/src/components/ui/input.tsx | 0 .../frontend}/src/components/ui/label.tsx | 0 .../frontend}/src/components/ui/light-rays.tsx | 0 .../frontend}/src/components/ui/menubar.tsx | 0 .../frontend}/src/components/ui/navigation-menu.tsx | 0 .../frontend}/src/components/ui/pagination.tsx | 0 .../frontend}/src/components/ui/popover.tsx | 0 .../frontend}/src/components/ui/progress.tsx | 0 .../frontend}/src/components/ui/radio-group.tsx | 0 .../frontend}/src/components/ui/resizable.tsx | 0 .../frontend}/src/components/ui/scroll-area.tsx | 0 .../frontend}/src/components/ui/select.tsx | 0 .../frontend}/src/components/ui/separator.tsx | 0 .../frontend}/src/components/ui/sheet.tsx | 0 .../frontend}/src/components/ui/sidebar.tsx | 0 .../frontend}/src/components/ui/skeleton.tsx | 0 .../frontend}/src/components/ui/slider.tsx | 0 .../frontend}/src/components/ui/sonner.tsx | 0 .../frontend}/src/components/ui/sparkles-text.tsx | 0 .../frontend}/src/components/ui/switch.tsx | 0 .../frontend}/src/components/ui/table.tsx | 0 .../frontend}/src/components/ui/tabs.tsx | 0 .../frontend}/src/components/ui/textarea.tsx | 0 .../frontend}/src/components/ui/toggle-group.tsx | 0 .../frontend}/src/components/ui/toggle.tsx | 0 .../frontend}/src/components/ui/tooltip.tsx | 0 {frontend => studio/frontend}/src/config/env.ts | 0 .../frontend}/src/config/training.ts | 0 .../frontend}/src/features/chat/adapter.ts | 0 .../frontend}/src/features/chat/chat-page.tsx | 0 .../src/features/chat/chat-settings-sheet.tsx | 0 .../frontend}/src/features/chat/chat-top-bar.tsx | 0 .../frontend}/src/features/chat/db.ts | 0 .../frontend}/src/features/chat/index.ts | 0 .../src/features/chat/runtime-provider.tsx | 0 .../frontend}/src/features/chat/shared-composer.tsx | 0 .../frontend}/src/features/chat/thread-sidebar.tsx | 0 .../frontend}/src/features/chat/types.ts | 0 .../onboarding/components/splash-screen.tsx | 0 .../onboarding/components/steps/dataset-step.tsx | 0 .../components/steps/hyperparameters-step.tsx | 0 .../components/steps/model-selection-step.tsx | 0 .../onboarding/components/steps/model-type-step.tsx | 0 .../onboarding/components/steps/summary-step.tsx | 0 .../onboarding/components/wizard-content.tsx | 0 .../onboarding/components/wizard-footer.tsx | 0 .../onboarding/components/wizard-layout.tsx | 0 .../onboarding/components/wizard-sidebar.tsx | 0 .../onboarding/components/wizard-step-item.tsx | 0 .../frontend}/src/features/onboarding/index.ts | 0 .../frontend}/src/features/studio/index.ts | 0 .../src/features/studio/sections/charts-content.tsx | 0 .../src/features/studio/sections/charts-section.tsx | 0 .../studio/sections/config-summary-section.tsx | 0 .../features/studio/sections/dataset-section.tsx | 0 .../src/features/studio/sections/model-section.tsx | 0 .../src/features/studio/sections/params-section.tsx | 0 .../features/studio/sections/progress-section.tsx | 0 .../features/studio/sections/training-section.tsx | 0 .../frontend}/src/features/studio/studio-page.tsx | 0 .../frontend}/src/features/studio/training-view.tsx | 0 {frontend => studio/frontend}/src/hooks/index.ts | 0 .../frontend}/src/hooks/use-mobile.ts | 0 {frontend => studio/frontend}/src/index.css | 0 {frontend => studio/frontend}/src/lib/utils.ts | 0 {frontend => studio/frontend}/src/main.tsx | 0 {frontend => studio/frontend}/src/stores/index.ts | 0 .../frontend}/src/stores/training.ts | 0 {frontend => studio/frontend}/src/types/index.ts | 0 {frontend => studio/frontend}/src/types/training.ts | 0 {frontend => studio/frontend}/src/utils/index.ts | 0 {frontend => studio/frontend}/tsconfig.app.json | 0 {frontend => studio/frontend}/tsconfig.json | 0 {frontend => studio/frontend}/tsconfig.node.json | 0 {frontend => studio/frontend}/vite.config.ts | 0 177 files changed, 0 insertions(+), 0 deletions(-) rename {frontend => studio/frontend}/.gitignore (100%) rename {frontend => studio/frontend}/.gitkeep (100%) rename {frontend => studio/frontend}/README.md (100%) rename {frontend => studio/frontend}/biome.json (100%) rename {frontend => studio/frontend}/bun.lock (100%) rename {frontend => studio/frontend}/components.json (100%) rename {frontend => studio/frontend}/eslint.config.js (100%) rename {frontend => studio/frontend}/index.html (100%) rename {frontend => studio/frontend}/package.json (100%) rename {frontend => studio/frontend}/public/Hellix font official/OTF/Hellix-SemiBold.otf (100%) rename {frontend => studio/frontend}/public/Hellix font official/TTF/Hellix-SemiBold.ttf (100%) rename {frontend => studio/frontend}/public/Hellix font official/WEB/Hellix-SemiBold.woff (100%) rename {frontend => studio/frontend}/public/Hellix font official/WEB/Hellix-SemiBold.woff2 (100%) rename {frontend => studio/frontend}/public/Sloth emojis/241024 Sloth Drink Jus.png (100%) rename {frontend => studio/frontend}/public/Sloth emojis/251008 Sloth Pin.png (100%) rename {frontend => studio/frontend}/public/Sloth emojis/FO2C6766BA42 Sloth Gift.png (100%) rename {frontend => studio/frontend}/public/Sloth emojis/FO71A40FA5581 Sloth and Llama.png (100%) rename {frontend => studio/frontend}/public/Sloth emojis/Large sloth Question mark.png (100%) rename {frontend => studio/frontend}/public/Sloth emojis/Sloth loca pc.png (100%) rename {frontend => studio/frontend}/public/Sloth emojis/Sloth w Gameboy Confetti no Logo.png (100%) rename {frontend => studio/frontend}/public/Sloth emojis/Sloth w PC Confetti no Logo.png (100%) rename {frontend => studio/frontend}/public/Sloth emojis/Sloth w PC no Logo.png (100%) rename {frontend => studio/frontend}/public/Sloth emojis/UnSloth Eat GPU Mouth.png (100%) rename {frontend => studio/frontend}/public/Sloth emojis/UnSloth Eat GPU.png (100%) rename {frontend => studio/frontend}/public/Sloth emojis/UnSloth GPU Front square.png (100%) rename {frontend => studio/frontend}/public/Sloth emojis/UnSloth Laptop.png (100%) rename {frontend => studio/frontend}/public/Sloth emojis/UnSloth Sparkling large.png (100%) rename {frontend => studio/frontend}/public/Sloth emojis/large sloth cheeky.png (100%) rename {frontend => studio/frontend}/public/Sloth emojis/large sloth drink.png (100%) rename {frontend => studio/frontend}/public/Sloth emojis/large sloth fire.png (100%) rename {frontend => studio/frontend}/public/Sloth emojis/large sloth glasses.png (100%) rename {frontend => studio/frontend}/public/Sloth emojis/large sloth heart.png (100%) rename {frontend => studio/frontend}/public/Sloth emojis/large sloth laugh.png (100%) rename {frontend => studio/frontend}/public/Sloth emojis/large sloth sad.png (100%) rename {frontend => studio/frontend}/public/Sloth emojis/large sloth thumbs.png (100%) rename {frontend => studio/frontend}/public/Sloth emojis/large sloth wave.png (100%) rename {frontend => studio/frontend}/public/Sloth emojis/large sloth yay.png (100%) rename {frontend => studio/frontend}/public/Sloth emojis/sloth headphones.png (100%) rename {frontend => studio/frontend}/public/Sloth emojis/sloth huglove large.png (100%) rename {frontend => studio/frontend}/public/Sloth emojis/sloth huglove large33.png (100%) rename {frontend => studio/frontend}/public/Sloth emojis/sloth magnify final(1).png (100%) rename {frontend => studio/frontend}/public/Sloth emojis/sloth magnify final.png (100%) rename {frontend => studio/frontend}/public/Sloth emojis/sloth on phone.png (100%) rename {frontend => studio/frontend}/public/Sloth emojis/sloth pc emoji.png (100%) rename {frontend => studio/frontend}/public/Sloth emojis/sloth pc square.png (100%) rename {frontend => studio/frontend}/public/Sloth emojis/sloth rounded.png (100%) rename {frontend => studio/frontend}/public/Sloth emojis/sloth shock large.png (100%) rename {frontend => studio/frontend}/public/Sloth emojis/sloth shy large.png (100%) rename {frontend => studio/frontend}/public/Sloth emojis/sloth sir large.png (100%) rename {frontend => studio/frontend}/public/Sloth emojis/sloth w pc transparent.png (100%) rename {frontend => studio/frontend}/public/Sloth emojis/sloth with gameboy.png (100%) rename {frontend => studio/frontend}/public/fonts/Hellix-SemiBold.woff (100%) rename {frontend => studio/frontend}/public/fonts/Hellix-SemiBold.woff2 (100%) rename {frontend => studio/frontend}/public/huggingface.svg (100%) rename {frontend => studio/frontend}/public/vite.svg (100%) rename {frontend => studio/frontend}/src/app/app.tsx (100%) rename {frontend => studio/frontend}/src/app/provider.tsx (100%) rename {frontend => studio/frontend}/src/app/router.tsx (100%) rename {frontend => studio/frontend}/src/app/routes/__root.tsx (100%) rename {frontend => studio/frontend}/src/app/routes/chat.tsx (100%) rename {frontend => studio/frontend}/src/app/routes/grid-test.tsx (100%) rename {frontend => studio/frontend}/src/app/routes/home.tsx (100%) rename {frontend => studio/frontend}/src/app/routes/onboarding.tsx (100%) rename {frontend => studio/frontend}/src/app/routes/studio.tsx (100%) rename {frontend => studio/frontend}/src/assets/react.svg (100%) rename {frontend => studio/frontend}/src/components/assistant-ui/attachment.tsx (100%) rename {frontend => studio/frontend}/src/components/assistant-ui/markdown-text.tsx (100%) rename {frontend => studio/frontend}/src/components/assistant-ui/model-selector.tsx (100%) rename {frontend => studio/frontend}/src/components/assistant-ui/reasoning.tsx (100%) rename {frontend => studio/frontend}/src/components/assistant-ui/thread.tsx (100%) rename {frontend => studio/frontend}/src/components/assistant-ui/tool-fallback.tsx (100%) rename {frontend => studio/frontend}/src/components/assistant-ui/tooltip-icon-button.tsx (100%) rename {frontend => studio/frontend}/src/components/component-example.tsx (100%) rename {frontend => studio/frontend}/src/components/example.tsx (100%) rename {frontend => studio/frontend}/src/components/layout/dashboard-grid.tsx (100%) rename {frontend => studio/frontend}/src/components/layout/dashboard-layout.tsx (100%) rename {frontend => studio/frontend}/src/components/layout/index.ts (100%) rename {frontend => studio/frontend}/src/components/navbar.tsx (100%) rename {frontend => studio/frontend}/src/components/section-card.tsx (100%) rename {frontend => studio/frontend}/src/components/ui/accordion.tsx (100%) rename {frontend => studio/frontend}/src/components/ui/alert-dialog.tsx (100%) rename {frontend => studio/frontend}/src/components/ui/alert.tsx (100%) rename {frontend => studio/frontend}/src/components/ui/animated-shiny-text.tsx (100%) rename {frontend => studio/frontend}/src/components/ui/aspect-ratio.tsx (100%) rename {frontend => studio/frontend}/src/components/ui/avatar.tsx (100%) rename {frontend => studio/frontend}/src/components/ui/badge.tsx (100%) rename {frontend => studio/frontend}/src/components/ui/breadcrumb.tsx (100%) rename {frontend => studio/frontend}/src/components/ui/button.tsx (100%) rename {frontend => studio/frontend}/src/components/ui/calendar.tsx (100%) rename {frontend => studio/frontend}/src/components/ui/card.tsx (100%) rename {frontend => studio/frontend}/src/components/ui/chart.tsx (100%) rename {frontend => studio/frontend}/src/components/ui/checkbox.tsx (100%) rename {frontend => studio/frontend}/src/components/ui/collapsible.tsx (100%) rename {frontend => studio/frontend}/src/components/ui/combobox.tsx (100%) rename {frontend => studio/frontend}/src/components/ui/command.tsx (100%) rename {frontend => studio/frontend}/src/components/ui/confetti.tsx (100%) rename {frontend => studio/frontend}/src/components/ui/context-menu.tsx (100%) rename {frontend => studio/frontend}/src/components/ui/dialog.tsx (100%) rename {frontend => studio/frontend}/src/components/ui/dropdown-menu.tsx (100%) rename {frontend => studio/frontend}/src/components/ui/field.tsx (100%) rename {frontend => studio/frontend}/src/components/ui/hover-card.tsx (100%) rename {frontend => studio/frontend}/src/components/ui/input-group.tsx (100%) rename {frontend => studio/frontend}/src/components/ui/input.tsx (100%) rename {frontend => studio/frontend}/src/components/ui/label.tsx (100%) rename {frontend => studio/frontend}/src/components/ui/light-rays.tsx (100%) rename {frontend => studio/frontend}/src/components/ui/menubar.tsx (100%) rename {frontend => studio/frontend}/src/components/ui/navigation-menu.tsx (100%) rename {frontend => studio/frontend}/src/components/ui/pagination.tsx (100%) rename {frontend => studio/frontend}/src/components/ui/popover.tsx (100%) rename {frontend => studio/frontend}/src/components/ui/progress.tsx (100%) rename {frontend => studio/frontend}/src/components/ui/radio-group.tsx (100%) rename {frontend => studio/frontend}/src/components/ui/resizable.tsx (100%) rename {frontend => studio/frontend}/src/components/ui/scroll-area.tsx (100%) rename {frontend => studio/frontend}/src/components/ui/select.tsx (100%) rename {frontend => studio/frontend}/src/components/ui/separator.tsx (100%) rename {frontend => studio/frontend}/src/components/ui/sheet.tsx (100%) rename {frontend => studio/frontend}/src/components/ui/sidebar.tsx (100%) rename {frontend => studio/frontend}/src/components/ui/skeleton.tsx (100%) rename {frontend => studio/frontend}/src/components/ui/slider.tsx (100%) rename {frontend => studio/frontend}/src/components/ui/sonner.tsx (100%) rename {frontend => studio/frontend}/src/components/ui/sparkles-text.tsx (100%) rename {frontend => studio/frontend}/src/components/ui/switch.tsx (100%) rename {frontend => studio/frontend}/src/components/ui/table.tsx (100%) rename {frontend => studio/frontend}/src/components/ui/tabs.tsx (100%) rename {frontend => studio/frontend}/src/components/ui/textarea.tsx (100%) rename {frontend => studio/frontend}/src/components/ui/toggle-group.tsx (100%) rename {frontend => studio/frontend}/src/components/ui/toggle.tsx (100%) rename {frontend => studio/frontend}/src/components/ui/tooltip.tsx (100%) rename {frontend => studio/frontend}/src/config/env.ts (100%) rename {frontend => studio/frontend}/src/config/training.ts (100%) rename {frontend => studio/frontend}/src/features/chat/adapter.ts (100%) rename {frontend => studio/frontend}/src/features/chat/chat-page.tsx (100%) rename {frontend => studio/frontend}/src/features/chat/chat-settings-sheet.tsx (100%) rename {frontend => studio/frontend}/src/features/chat/chat-top-bar.tsx (100%) rename {frontend => studio/frontend}/src/features/chat/db.ts (100%) rename {frontend => studio/frontend}/src/features/chat/index.ts (100%) rename {frontend => studio/frontend}/src/features/chat/runtime-provider.tsx (100%) rename {frontend => studio/frontend}/src/features/chat/shared-composer.tsx (100%) rename {frontend => studio/frontend}/src/features/chat/thread-sidebar.tsx (100%) rename {frontend => studio/frontend}/src/features/chat/types.ts (100%) rename {frontend => studio/frontend}/src/features/onboarding/components/splash-screen.tsx (100%) rename {frontend => studio/frontend}/src/features/onboarding/components/steps/dataset-step.tsx (100%) rename {frontend => studio/frontend}/src/features/onboarding/components/steps/hyperparameters-step.tsx (100%) rename {frontend => studio/frontend}/src/features/onboarding/components/steps/model-selection-step.tsx (100%) rename {frontend => studio/frontend}/src/features/onboarding/components/steps/model-type-step.tsx (100%) rename {frontend => studio/frontend}/src/features/onboarding/components/steps/summary-step.tsx (100%) rename {frontend => studio/frontend}/src/features/onboarding/components/wizard-content.tsx (100%) rename {frontend => studio/frontend}/src/features/onboarding/components/wizard-footer.tsx (100%) rename {frontend => studio/frontend}/src/features/onboarding/components/wizard-layout.tsx (100%) rename {frontend => studio/frontend}/src/features/onboarding/components/wizard-sidebar.tsx (100%) rename {frontend => studio/frontend}/src/features/onboarding/components/wizard-step-item.tsx (100%) rename {frontend => studio/frontend}/src/features/onboarding/index.ts (100%) rename {frontend => studio/frontend}/src/features/studio/index.ts (100%) rename {frontend => studio/frontend}/src/features/studio/sections/charts-content.tsx (100%) rename {frontend => studio/frontend}/src/features/studio/sections/charts-section.tsx (100%) rename {frontend => studio/frontend}/src/features/studio/sections/config-summary-section.tsx (100%) rename {frontend => studio/frontend}/src/features/studio/sections/dataset-section.tsx (100%) rename {frontend => studio/frontend}/src/features/studio/sections/model-section.tsx (100%) rename {frontend => studio/frontend}/src/features/studio/sections/params-section.tsx (100%) rename {frontend => studio/frontend}/src/features/studio/sections/progress-section.tsx (100%) rename {frontend => studio/frontend}/src/features/studio/sections/training-section.tsx (100%) rename {frontend => studio/frontend}/src/features/studio/studio-page.tsx (100%) rename {frontend => studio/frontend}/src/features/studio/training-view.tsx (100%) rename {frontend => studio/frontend}/src/hooks/index.ts (100%) rename {frontend => studio/frontend}/src/hooks/use-mobile.ts (100%) rename {frontend => studio/frontend}/src/index.css (100%) rename {frontend => studio/frontend}/src/lib/utils.ts (100%) rename {frontend => studio/frontend}/src/main.tsx (100%) rename {frontend => studio/frontend}/src/stores/index.ts (100%) rename {frontend => studio/frontend}/src/stores/training.ts (100%) rename {frontend => studio/frontend}/src/types/index.ts (100%) rename {frontend => studio/frontend}/src/types/training.ts (100%) rename {frontend => studio/frontend}/src/utils/index.ts (100%) rename {frontend => studio/frontend}/tsconfig.app.json (100%) rename {frontend => studio/frontend}/tsconfig.json (100%) rename {frontend => studio/frontend}/tsconfig.node.json (100%) rename {frontend => studio/frontend}/vite.config.ts (100%) diff --git a/frontend/.gitignore b/studio/frontend/.gitignore similarity index 100% rename from frontend/.gitignore rename to studio/frontend/.gitignore diff --git a/frontend/.gitkeep b/studio/frontend/.gitkeep similarity index 100% rename from frontend/.gitkeep rename to studio/frontend/.gitkeep diff --git a/frontend/README.md b/studio/frontend/README.md similarity index 100% rename from frontend/README.md rename to studio/frontend/README.md diff --git a/frontend/biome.json b/studio/frontend/biome.json similarity index 100% rename from frontend/biome.json rename to studio/frontend/biome.json diff --git a/frontend/bun.lock b/studio/frontend/bun.lock similarity index 100% rename from frontend/bun.lock rename to studio/frontend/bun.lock diff --git a/frontend/components.json b/studio/frontend/components.json similarity index 100% rename from frontend/components.json rename to studio/frontend/components.json diff --git a/frontend/eslint.config.js b/studio/frontend/eslint.config.js similarity index 100% rename from frontend/eslint.config.js rename to studio/frontend/eslint.config.js diff --git a/frontend/index.html b/studio/frontend/index.html similarity index 100% rename from frontend/index.html rename to studio/frontend/index.html diff --git a/frontend/package.json b/studio/frontend/package.json similarity index 100% rename from frontend/package.json rename to studio/frontend/package.json diff --git a/frontend/public/Hellix font official/OTF/Hellix-SemiBold.otf b/studio/frontend/public/Hellix font official/OTF/Hellix-SemiBold.otf similarity index 100% rename from frontend/public/Hellix font official/OTF/Hellix-SemiBold.otf rename to studio/frontend/public/Hellix font official/OTF/Hellix-SemiBold.otf diff --git a/frontend/public/Hellix font official/TTF/Hellix-SemiBold.ttf b/studio/frontend/public/Hellix font official/TTF/Hellix-SemiBold.ttf similarity index 100% rename from frontend/public/Hellix font official/TTF/Hellix-SemiBold.ttf rename to studio/frontend/public/Hellix font official/TTF/Hellix-SemiBold.ttf diff --git a/frontend/public/Hellix font official/WEB/Hellix-SemiBold.woff b/studio/frontend/public/Hellix font official/WEB/Hellix-SemiBold.woff similarity index 100% rename from frontend/public/Hellix font official/WEB/Hellix-SemiBold.woff rename to studio/frontend/public/Hellix font official/WEB/Hellix-SemiBold.woff diff --git a/frontend/public/Hellix font official/WEB/Hellix-SemiBold.woff2 b/studio/frontend/public/Hellix font official/WEB/Hellix-SemiBold.woff2 similarity index 100% rename from frontend/public/Hellix font official/WEB/Hellix-SemiBold.woff2 rename to studio/frontend/public/Hellix font official/WEB/Hellix-SemiBold.woff2 diff --git a/frontend/public/Sloth emojis/241024 Sloth Drink Jus.png b/studio/frontend/public/Sloth emojis/241024 Sloth Drink Jus.png similarity index 100% rename from frontend/public/Sloth emojis/241024 Sloth Drink Jus.png rename to studio/frontend/public/Sloth emojis/241024 Sloth Drink Jus.png diff --git a/frontend/public/Sloth emojis/251008 Sloth Pin.png b/studio/frontend/public/Sloth emojis/251008 Sloth Pin.png similarity index 100% rename from frontend/public/Sloth emojis/251008 Sloth Pin.png rename to studio/frontend/public/Sloth emojis/251008 Sloth Pin.png diff --git a/frontend/public/Sloth emojis/FO2C6766BA42 Sloth Gift.png b/studio/frontend/public/Sloth emojis/FO2C6766BA42 Sloth Gift.png similarity index 100% rename from frontend/public/Sloth emojis/FO2C6766BA42 Sloth Gift.png rename to studio/frontend/public/Sloth emojis/FO2C6766BA42 Sloth Gift.png diff --git a/frontend/public/Sloth emojis/FO71A40FA5581 Sloth and Llama.png b/studio/frontend/public/Sloth emojis/FO71A40FA5581 Sloth and Llama.png similarity index 100% rename from frontend/public/Sloth emojis/FO71A40FA5581 Sloth and Llama.png rename to studio/frontend/public/Sloth emojis/FO71A40FA5581 Sloth and Llama.png diff --git a/frontend/public/Sloth emojis/Large sloth Question mark.png b/studio/frontend/public/Sloth emojis/Large sloth Question mark.png similarity index 100% rename from frontend/public/Sloth emojis/Large sloth Question mark.png rename to studio/frontend/public/Sloth emojis/Large sloth Question mark.png diff --git a/frontend/public/Sloth emojis/Sloth loca pc.png b/studio/frontend/public/Sloth emojis/Sloth loca pc.png similarity index 100% rename from frontend/public/Sloth emojis/Sloth loca pc.png rename to studio/frontend/public/Sloth emojis/Sloth loca pc.png diff --git a/frontend/public/Sloth emojis/Sloth w Gameboy Confetti no Logo.png b/studio/frontend/public/Sloth emojis/Sloth w Gameboy Confetti no Logo.png similarity index 100% rename from frontend/public/Sloth emojis/Sloth w Gameboy Confetti no Logo.png rename to studio/frontend/public/Sloth emojis/Sloth w Gameboy Confetti no Logo.png diff --git a/frontend/public/Sloth emojis/Sloth w PC Confetti no Logo.png b/studio/frontend/public/Sloth emojis/Sloth w PC Confetti no Logo.png similarity index 100% rename from frontend/public/Sloth emojis/Sloth w PC Confetti no Logo.png rename to studio/frontend/public/Sloth emojis/Sloth w PC Confetti no Logo.png diff --git a/frontend/public/Sloth emojis/Sloth w PC no Logo.png b/studio/frontend/public/Sloth emojis/Sloth w PC no Logo.png similarity index 100% rename from frontend/public/Sloth emojis/Sloth w PC no Logo.png rename to studio/frontend/public/Sloth emojis/Sloth w PC no Logo.png diff --git a/frontend/public/Sloth emojis/UnSloth Eat GPU Mouth.png b/studio/frontend/public/Sloth emojis/UnSloth Eat GPU Mouth.png similarity index 100% rename from frontend/public/Sloth emojis/UnSloth Eat GPU Mouth.png rename to studio/frontend/public/Sloth emojis/UnSloth Eat GPU Mouth.png diff --git a/frontend/public/Sloth emojis/UnSloth Eat GPU.png b/studio/frontend/public/Sloth emojis/UnSloth Eat GPU.png similarity index 100% rename from frontend/public/Sloth emojis/UnSloth Eat GPU.png rename to studio/frontend/public/Sloth emojis/UnSloth Eat GPU.png diff --git a/frontend/public/Sloth emojis/UnSloth GPU Front square.png b/studio/frontend/public/Sloth emojis/UnSloth GPU Front square.png similarity index 100% rename from frontend/public/Sloth emojis/UnSloth GPU Front square.png rename to studio/frontend/public/Sloth emojis/UnSloth GPU Front square.png diff --git a/frontend/public/Sloth emojis/UnSloth Laptop.png b/studio/frontend/public/Sloth emojis/UnSloth Laptop.png similarity index 100% rename from frontend/public/Sloth emojis/UnSloth Laptop.png rename to studio/frontend/public/Sloth emojis/UnSloth Laptop.png diff --git a/frontend/public/Sloth emojis/UnSloth Sparkling large.png b/studio/frontend/public/Sloth emojis/UnSloth Sparkling large.png similarity index 100% rename from frontend/public/Sloth emojis/UnSloth Sparkling large.png rename to studio/frontend/public/Sloth emojis/UnSloth Sparkling large.png diff --git a/frontend/public/Sloth emojis/large sloth cheeky.png b/studio/frontend/public/Sloth emojis/large sloth cheeky.png similarity index 100% rename from frontend/public/Sloth emojis/large sloth cheeky.png rename to studio/frontend/public/Sloth emojis/large sloth cheeky.png diff --git a/frontend/public/Sloth emojis/large sloth drink.png b/studio/frontend/public/Sloth emojis/large sloth drink.png similarity index 100% rename from frontend/public/Sloth emojis/large sloth drink.png rename to studio/frontend/public/Sloth emojis/large sloth drink.png diff --git a/frontend/public/Sloth emojis/large sloth fire.png b/studio/frontend/public/Sloth emojis/large sloth fire.png similarity index 100% rename from frontend/public/Sloth emojis/large sloth fire.png rename to studio/frontend/public/Sloth emojis/large sloth fire.png diff --git a/frontend/public/Sloth emojis/large sloth glasses.png b/studio/frontend/public/Sloth emojis/large sloth glasses.png similarity index 100% rename from frontend/public/Sloth emojis/large sloth glasses.png rename to studio/frontend/public/Sloth emojis/large sloth glasses.png diff --git a/frontend/public/Sloth emojis/large sloth heart.png b/studio/frontend/public/Sloth emojis/large sloth heart.png similarity index 100% rename from frontend/public/Sloth emojis/large sloth heart.png rename to studio/frontend/public/Sloth emojis/large sloth heart.png diff --git a/frontend/public/Sloth emojis/large sloth laugh.png b/studio/frontend/public/Sloth emojis/large sloth laugh.png similarity index 100% rename from frontend/public/Sloth emojis/large sloth laugh.png rename to studio/frontend/public/Sloth emojis/large sloth laugh.png diff --git a/frontend/public/Sloth emojis/large sloth sad.png b/studio/frontend/public/Sloth emojis/large sloth sad.png similarity index 100% rename from frontend/public/Sloth emojis/large sloth sad.png rename to studio/frontend/public/Sloth emojis/large sloth sad.png diff --git a/frontend/public/Sloth emojis/large sloth thumbs.png b/studio/frontend/public/Sloth emojis/large sloth thumbs.png similarity index 100% rename from frontend/public/Sloth emojis/large sloth thumbs.png rename to studio/frontend/public/Sloth emojis/large sloth thumbs.png diff --git a/frontend/public/Sloth emojis/large sloth wave.png b/studio/frontend/public/Sloth emojis/large sloth wave.png similarity index 100% rename from frontend/public/Sloth emojis/large sloth wave.png rename to studio/frontend/public/Sloth emojis/large sloth wave.png diff --git a/frontend/public/Sloth emojis/large sloth yay.png b/studio/frontend/public/Sloth emojis/large sloth yay.png similarity index 100% rename from frontend/public/Sloth emojis/large sloth yay.png rename to studio/frontend/public/Sloth emojis/large sloth yay.png diff --git a/frontend/public/Sloth emojis/sloth headphones.png b/studio/frontend/public/Sloth emojis/sloth headphones.png similarity index 100% rename from frontend/public/Sloth emojis/sloth headphones.png rename to studio/frontend/public/Sloth emojis/sloth headphones.png diff --git a/frontend/public/Sloth emojis/sloth huglove large.png b/studio/frontend/public/Sloth emojis/sloth huglove large.png similarity index 100% rename from frontend/public/Sloth emojis/sloth huglove large.png rename to studio/frontend/public/Sloth emojis/sloth huglove large.png diff --git a/frontend/public/Sloth emojis/sloth huglove large33.png b/studio/frontend/public/Sloth emojis/sloth huglove large33.png similarity index 100% rename from frontend/public/Sloth emojis/sloth huglove large33.png rename to studio/frontend/public/Sloth emojis/sloth huglove large33.png diff --git a/frontend/public/Sloth emojis/sloth magnify final(1).png b/studio/frontend/public/Sloth emojis/sloth magnify final(1).png similarity index 100% rename from frontend/public/Sloth emojis/sloth magnify final(1).png rename to studio/frontend/public/Sloth emojis/sloth magnify final(1).png diff --git a/frontend/public/Sloth emojis/sloth magnify final.png b/studio/frontend/public/Sloth emojis/sloth magnify final.png similarity index 100% rename from frontend/public/Sloth emojis/sloth magnify final.png rename to studio/frontend/public/Sloth emojis/sloth magnify final.png diff --git a/frontend/public/Sloth emojis/sloth on phone.png b/studio/frontend/public/Sloth emojis/sloth on phone.png similarity index 100% rename from frontend/public/Sloth emojis/sloth on phone.png rename to studio/frontend/public/Sloth emojis/sloth on phone.png diff --git a/frontend/public/Sloth emojis/sloth pc emoji.png b/studio/frontend/public/Sloth emojis/sloth pc emoji.png similarity index 100% rename from frontend/public/Sloth emojis/sloth pc emoji.png rename to studio/frontend/public/Sloth emojis/sloth pc emoji.png diff --git a/frontend/public/Sloth emojis/sloth pc square.png b/studio/frontend/public/Sloth emojis/sloth pc square.png similarity index 100% rename from frontend/public/Sloth emojis/sloth pc square.png rename to studio/frontend/public/Sloth emojis/sloth pc square.png diff --git a/frontend/public/Sloth emojis/sloth rounded.png b/studio/frontend/public/Sloth emojis/sloth rounded.png similarity index 100% rename from frontend/public/Sloth emojis/sloth rounded.png rename to studio/frontend/public/Sloth emojis/sloth rounded.png diff --git a/frontend/public/Sloth emojis/sloth shock large.png b/studio/frontend/public/Sloth emojis/sloth shock large.png similarity index 100% rename from frontend/public/Sloth emojis/sloth shock large.png rename to studio/frontend/public/Sloth emojis/sloth shock large.png diff --git a/frontend/public/Sloth emojis/sloth shy large.png b/studio/frontend/public/Sloth emojis/sloth shy large.png similarity index 100% rename from frontend/public/Sloth emojis/sloth shy large.png rename to studio/frontend/public/Sloth emojis/sloth shy large.png diff --git a/frontend/public/Sloth emojis/sloth sir large.png b/studio/frontend/public/Sloth emojis/sloth sir large.png similarity index 100% rename from frontend/public/Sloth emojis/sloth sir large.png rename to studio/frontend/public/Sloth emojis/sloth sir large.png diff --git a/frontend/public/Sloth emojis/sloth w pc transparent.png b/studio/frontend/public/Sloth emojis/sloth w pc transparent.png similarity index 100% rename from frontend/public/Sloth emojis/sloth w pc transparent.png rename to studio/frontend/public/Sloth emojis/sloth w pc transparent.png diff --git a/frontend/public/Sloth emojis/sloth with gameboy.png b/studio/frontend/public/Sloth emojis/sloth with gameboy.png similarity index 100% rename from frontend/public/Sloth emojis/sloth with gameboy.png rename to studio/frontend/public/Sloth emojis/sloth with gameboy.png diff --git a/frontend/public/fonts/Hellix-SemiBold.woff b/studio/frontend/public/fonts/Hellix-SemiBold.woff similarity index 100% rename from frontend/public/fonts/Hellix-SemiBold.woff rename to studio/frontend/public/fonts/Hellix-SemiBold.woff diff --git a/frontend/public/fonts/Hellix-SemiBold.woff2 b/studio/frontend/public/fonts/Hellix-SemiBold.woff2 similarity index 100% rename from frontend/public/fonts/Hellix-SemiBold.woff2 rename to studio/frontend/public/fonts/Hellix-SemiBold.woff2 diff --git a/frontend/public/huggingface.svg b/studio/frontend/public/huggingface.svg similarity index 100% rename from frontend/public/huggingface.svg rename to studio/frontend/public/huggingface.svg diff --git a/frontend/public/vite.svg b/studio/frontend/public/vite.svg similarity index 100% rename from frontend/public/vite.svg rename to studio/frontend/public/vite.svg diff --git a/frontend/src/app/app.tsx b/studio/frontend/src/app/app.tsx similarity index 100% rename from frontend/src/app/app.tsx rename to studio/frontend/src/app/app.tsx diff --git a/frontend/src/app/provider.tsx b/studio/frontend/src/app/provider.tsx similarity index 100% rename from frontend/src/app/provider.tsx rename to studio/frontend/src/app/provider.tsx diff --git a/frontend/src/app/router.tsx b/studio/frontend/src/app/router.tsx similarity index 100% rename from frontend/src/app/router.tsx rename to studio/frontend/src/app/router.tsx diff --git a/frontend/src/app/routes/__root.tsx b/studio/frontend/src/app/routes/__root.tsx similarity index 100% rename from frontend/src/app/routes/__root.tsx rename to studio/frontend/src/app/routes/__root.tsx diff --git a/frontend/src/app/routes/chat.tsx b/studio/frontend/src/app/routes/chat.tsx similarity index 100% rename from frontend/src/app/routes/chat.tsx rename to studio/frontend/src/app/routes/chat.tsx diff --git a/frontend/src/app/routes/grid-test.tsx b/studio/frontend/src/app/routes/grid-test.tsx similarity index 100% rename from frontend/src/app/routes/grid-test.tsx rename to studio/frontend/src/app/routes/grid-test.tsx diff --git a/frontend/src/app/routes/home.tsx b/studio/frontend/src/app/routes/home.tsx similarity index 100% rename from frontend/src/app/routes/home.tsx rename to studio/frontend/src/app/routes/home.tsx diff --git a/frontend/src/app/routes/onboarding.tsx b/studio/frontend/src/app/routes/onboarding.tsx similarity index 100% rename from frontend/src/app/routes/onboarding.tsx rename to studio/frontend/src/app/routes/onboarding.tsx diff --git a/frontend/src/app/routes/studio.tsx b/studio/frontend/src/app/routes/studio.tsx similarity index 100% rename from frontend/src/app/routes/studio.tsx rename to studio/frontend/src/app/routes/studio.tsx diff --git a/frontend/src/assets/react.svg b/studio/frontend/src/assets/react.svg similarity index 100% rename from frontend/src/assets/react.svg rename to studio/frontend/src/assets/react.svg diff --git a/frontend/src/components/assistant-ui/attachment.tsx b/studio/frontend/src/components/assistant-ui/attachment.tsx similarity index 100% rename from frontend/src/components/assistant-ui/attachment.tsx rename to studio/frontend/src/components/assistant-ui/attachment.tsx diff --git a/frontend/src/components/assistant-ui/markdown-text.tsx b/studio/frontend/src/components/assistant-ui/markdown-text.tsx similarity index 100% rename from frontend/src/components/assistant-ui/markdown-text.tsx rename to studio/frontend/src/components/assistant-ui/markdown-text.tsx diff --git a/frontend/src/components/assistant-ui/model-selector.tsx b/studio/frontend/src/components/assistant-ui/model-selector.tsx similarity index 100% rename from frontend/src/components/assistant-ui/model-selector.tsx rename to studio/frontend/src/components/assistant-ui/model-selector.tsx diff --git a/frontend/src/components/assistant-ui/reasoning.tsx b/studio/frontend/src/components/assistant-ui/reasoning.tsx similarity index 100% rename from frontend/src/components/assistant-ui/reasoning.tsx rename to studio/frontend/src/components/assistant-ui/reasoning.tsx diff --git a/frontend/src/components/assistant-ui/thread.tsx b/studio/frontend/src/components/assistant-ui/thread.tsx similarity index 100% rename from frontend/src/components/assistant-ui/thread.tsx rename to studio/frontend/src/components/assistant-ui/thread.tsx diff --git a/frontend/src/components/assistant-ui/tool-fallback.tsx b/studio/frontend/src/components/assistant-ui/tool-fallback.tsx similarity index 100% rename from frontend/src/components/assistant-ui/tool-fallback.tsx rename to studio/frontend/src/components/assistant-ui/tool-fallback.tsx diff --git a/frontend/src/components/assistant-ui/tooltip-icon-button.tsx b/studio/frontend/src/components/assistant-ui/tooltip-icon-button.tsx similarity index 100% rename from frontend/src/components/assistant-ui/tooltip-icon-button.tsx rename to studio/frontend/src/components/assistant-ui/tooltip-icon-button.tsx diff --git a/frontend/src/components/component-example.tsx b/studio/frontend/src/components/component-example.tsx similarity index 100% rename from frontend/src/components/component-example.tsx rename to studio/frontend/src/components/component-example.tsx diff --git a/frontend/src/components/example.tsx b/studio/frontend/src/components/example.tsx similarity index 100% rename from frontend/src/components/example.tsx rename to studio/frontend/src/components/example.tsx diff --git a/frontend/src/components/layout/dashboard-grid.tsx b/studio/frontend/src/components/layout/dashboard-grid.tsx similarity index 100% rename from frontend/src/components/layout/dashboard-grid.tsx rename to studio/frontend/src/components/layout/dashboard-grid.tsx diff --git a/frontend/src/components/layout/dashboard-layout.tsx b/studio/frontend/src/components/layout/dashboard-layout.tsx similarity index 100% rename from frontend/src/components/layout/dashboard-layout.tsx rename to studio/frontend/src/components/layout/dashboard-layout.tsx diff --git a/frontend/src/components/layout/index.ts b/studio/frontend/src/components/layout/index.ts similarity index 100% rename from frontend/src/components/layout/index.ts rename to studio/frontend/src/components/layout/index.ts diff --git a/frontend/src/components/navbar.tsx b/studio/frontend/src/components/navbar.tsx similarity index 100% rename from frontend/src/components/navbar.tsx rename to studio/frontend/src/components/navbar.tsx diff --git a/frontend/src/components/section-card.tsx b/studio/frontend/src/components/section-card.tsx similarity index 100% rename from frontend/src/components/section-card.tsx rename to studio/frontend/src/components/section-card.tsx diff --git a/frontend/src/components/ui/accordion.tsx b/studio/frontend/src/components/ui/accordion.tsx similarity index 100% rename from frontend/src/components/ui/accordion.tsx rename to studio/frontend/src/components/ui/accordion.tsx diff --git a/frontend/src/components/ui/alert-dialog.tsx b/studio/frontend/src/components/ui/alert-dialog.tsx similarity index 100% rename from frontend/src/components/ui/alert-dialog.tsx rename to studio/frontend/src/components/ui/alert-dialog.tsx diff --git a/frontend/src/components/ui/alert.tsx b/studio/frontend/src/components/ui/alert.tsx similarity index 100% rename from frontend/src/components/ui/alert.tsx rename to studio/frontend/src/components/ui/alert.tsx diff --git a/frontend/src/components/ui/animated-shiny-text.tsx b/studio/frontend/src/components/ui/animated-shiny-text.tsx similarity index 100% rename from frontend/src/components/ui/animated-shiny-text.tsx rename to studio/frontend/src/components/ui/animated-shiny-text.tsx diff --git a/frontend/src/components/ui/aspect-ratio.tsx b/studio/frontend/src/components/ui/aspect-ratio.tsx similarity index 100% rename from frontend/src/components/ui/aspect-ratio.tsx rename to studio/frontend/src/components/ui/aspect-ratio.tsx diff --git a/frontend/src/components/ui/avatar.tsx b/studio/frontend/src/components/ui/avatar.tsx similarity index 100% rename from frontend/src/components/ui/avatar.tsx rename to studio/frontend/src/components/ui/avatar.tsx diff --git a/frontend/src/components/ui/badge.tsx b/studio/frontend/src/components/ui/badge.tsx similarity index 100% rename from frontend/src/components/ui/badge.tsx rename to studio/frontend/src/components/ui/badge.tsx diff --git a/frontend/src/components/ui/breadcrumb.tsx b/studio/frontend/src/components/ui/breadcrumb.tsx similarity index 100% rename from frontend/src/components/ui/breadcrumb.tsx rename to studio/frontend/src/components/ui/breadcrumb.tsx diff --git a/frontend/src/components/ui/button.tsx b/studio/frontend/src/components/ui/button.tsx similarity index 100% rename from frontend/src/components/ui/button.tsx rename to studio/frontend/src/components/ui/button.tsx diff --git a/frontend/src/components/ui/calendar.tsx b/studio/frontend/src/components/ui/calendar.tsx similarity index 100% rename from frontend/src/components/ui/calendar.tsx rename to studio/frontend/src/components/ui/calendar.tsx diff --git a/frontend/src/components/ui/card.tsx b/studio/frontend/src/components/ui/card.tsx similarity index 100% rename from frontend/src/components/ui/card.tsx rename to studio/frontend/src/components/ui/card.tsx diff --git a/frontend/src/components/ui/chart.tsx b/studio/frontend/src/components/ui/chart.tsx similarity index 100% rename from frontend/src/components/ui/chart.tsx rename to studio/frontend/src/components/ui/chart.tsx diff --git a/frontend/src/components/ui/checkbox.tsx b/studio/frontend/src/components/ui/checkbox.tsx similarity index 100% rename from frontend/src/components/ui/checkbox.tsx rename to studio/frontend/src/components/ui/checkbox.tsx diff --git a/frontend/src/components/ui/collapsible.tsx b/studio/frontend/src/components/ui/collapsible.tsx similarity index 100% rename from frontend/src/components/ui/collapsible.tsx rename to studio/frontend/src/components/ui/collapsible.tsx diff --git a/frontend/src/components/ui/combobox.tsx b/studio/frontend/src/components/ui/combobox.tsx similarity index 100% rename from frontend/src/components/ui/combobox.tsx rename to studio/frontend/src/components/ui/combobox.tsx diff --git a/frontend/src/components/ui/command.tsx b/studio/frontend/src/components/ui/command.tsx similarity index 100% rename from frontend/src/components/ui/command.tsx rename to studio/frontend/src/components/ui/command.tsx diff --git a/frontend/src/components/ui/confetti.tsx b/studio/frontend/src/components/ui/confetti.tsx similarity index 100% rename from frontend/src/components/ui/confetti.tsx rename to studio/frontend/src/components/ui/confetti.tsx diff --git a/frontend/src/components/ui/context-menu.tsx b/studio/frontend/src/components/ui/context-menu.tsx similarity index 100% rename from frontend/src/components/ui/context-menu.tsx rename to studio/frontend/src/components/ui/context-menu.tsx diff --git a/frontend/src/components/ui/dialog.tsx b/studio/frontend/src/components/ui/dialog.tsx similarity index 100% rename from frontend/src/components/ui/dialog.tsx rename to studio/frontend/src/components/ui/dialog.tsx diff --git a/frontend/src/components/ui/dropdown-menu.tsx b/studio/frontend/src/components/ui/dropdown-menu.tsx similarity index 100% rename from frontend/src/components/ui/dropdown-menu.tsx rename to studio/frontend/src/components/ui/dropdown-menu.tsx diff --git a/frontend/src/components/ui/field.tsx b/studio/frontend/src/components/ui/field.tsx similarity index 100% rename from frontend/src/components/ui/field.tsx rename to studio/frontend/src/components/ui/field.tsx diff --git a/frontend/src/components/ui/hover-card.tsx b/studio/frontend/src/components/ui/hover-card.tsx similarity index 100% rename from frontend/src/components/ui/hover-card.tsx rename to studio/frontend/src/components/ui/hover-card.tsx diff --git a/frontend/src/components/ui/input-group.tsx b/studio/frontend/src/components/ui/input-group.tsx similarity index 100% rename from frontend/src/components/ui/input-group.tsx rename to studio/frontend/src/components/ui/input-group.tsx diff --git a/frontend/src/components/ui/input.tsx b/studio/frontend/src/components/ui/input.tsx similarity index 100% rename from frontend/src/components/ui/input.tsx rename to studio/frontend/src/components/ui/input.tsx diff --git a/frontend/src/components/ui/label.tsx b/studio/frontend/src/components/ui/label.tsx similarity index 100% rename from frontend/src/components/ui/label.tsx rename to studio/frontend/src/components/ui/label.tsx diff --git a/frontend/src/components/ui/light-rays.tsx b/studio/frontend/src/components/ui/light-rays.tsx similarity index 100% rename from frontend/src/components/ui/light-rays.tsx rename to studio/frontend/src/components/ui/light-rays.tsx diff --git a/frontend/src/components/ui/menubar.tsx b/studio/frontend/src/components/ui/menubar.tsx similarity index 100% rename from frontend/src/components/ui/menubar.tsx rename to studio/frontend/src/components/ui/menubar.tsx diff --git a/frontend/src/components/ui/navigation-menu.tsx b/studio/frontend/src/components/ui/navigation-menu.tsx similarity index 100% rename from frontend/src/components/ui/navigation-menu.tsx rename to studio/frontend/src/components/ui/navigation-menu.tsx diff --git a/frontend/src/components/ui/pagination.tsx b/studio/frontend/src/components/ui/pagination.tsx similarity index 100% rename from frontend/src/components/ui/pagination.tsx rename to studio/frontend/src/components/ui/pagination.tsx diff --git a/frontend/src/components/ui/popover.tsx b/studio/frontend/src/components/ui/popover.tsx similarity index 100% rename from frontend/src/components/ui/popover.tsx rename to studio/frontend/src/components/ui/popover.tsx diff --git a/frontend/src/components/ui/progress.tsx b/studio/frontend/src/components/ui/progress.tsx similarity index 100% rename from frontend/src/components/ui/progress.tsx rename to studio/frontend/src/components/ui/progress.tsx diff --git a/frontend/src/components/ui/radio-group.tsx b/studio/frontend/src/components/ui/radio-group.tsx similarity index 100% rename from frontend/src/components/ui/radio-group.tsx rename to studio/frontend/src/components/ui/radio-group.tsx diff --git a/frontend/src/components/ui/resizable.tsx b/studio/frontend/src/components/ui/resizable.tsx similarity index 100% rename from frontend/src/components/ui/resizable.tsx rename to studio/frontend/src/components/ui/resizable.tsx diff --git a/frontend/src/components/ui/scroll-area.tsx b/studio/frontend/src/components/ui/scroll-area.tsx similarity index 100% rename from frontend/src/components/ui/scroll-area.tsx rename to studio/frontend/src/components/ui/scroll-area.tsx diff --git a/frontend/src/components/ui/select.tsx b/studio/frontend/src/components/ui/select.tsx similarity index 100% rename from frontend/src/components/ui/select.tsx rename to studio/frontend/src/components/ui/select.tsx diff --git a/frontend/src/components/ui/separator.tsx b/studio/frontend/src/components/ui/separator.tsx similarity index 100% rename from frontend/src/components/ui/separator.tsx rename to studio/frontend/src/components/ui/separator.tsx diff --git a/frontend/src/components/ui/sheet.tsx b/studio/frontend/src/components/ui/sheet.tsx similarity index 100% rename from frontend/src/components/ui/sheet.tsx rename to studio/frontend/src/components/ui/sheet.tsx diff --git a/frontend/src/components/ui/sidebar.tsx b/studio/frontend/src/components/ui/sidebar.tsx similarity index 100% rename from frontend/src/components/ui/sidebar.tsx rename to studio/frontend/src/components/ui/sidebar.tsx diff --git a/frontend/src/components/ui/skeleton.tsx b/studio/frontend/src/components/ui/skeleton.tsx similarity index 100% rename from frontend/src/components/ui/skeleton.tsx rename to studio/frontend/src/components/ui/skeleton.tsx diff --git a/frontend/src/components/ui/slider.tsx b/studio/frontend/src/components/ui/slider.tsx similarity index 100% rename from frontend/src/components/ui/slider.tsx rename to studio/frontend/src/components/ui/slider.tsx diff --git a/frontend/src/components/ui/sonner.tsx b/studio/frontend/src/components/ui/sonner.tsx similarity index 100% rename from frontend/src/components/ui/sonner.tsx rename to studio/frontend/src/components/ui/sonner.tsx diff --git a/frontend/src/components/ui/sparkles-text.tsx b/studio/frontend/src/components/ui/sparkles-text.tsx similarity index 100% rename from frontend/src/components/ui/sparkles-text.tsx rename to studio/frontend/src/components/ui/sparkles-text.tsx diff --git a/frontend/src/components/ui/switch.tsx b/studio/frontend/src/components/ui/switch.tsx similarity index 100% rename from frontend/src/components/ui/switch.tsx rename to studio/frontend/src/components/ui/switch.tsx diff --git a/frontend/src/components/ui/table.tsx b/studio/frontend/src/components/ui/table.tsx similarity index 100% rename from frontend/src/components/ui/table.tsx rename to studio/frontend/src/components/ui/table.tsx diff --git a/frontend/src/components/ui/tabs.tsx b/studio/frontend/src/components/ui/tabs.tsx similarity index 100% rename from frontend/src/components/ui/tabs.tsx rename to studio/frontend/src/components/ui/tabs.tsx diff --git a/frontend/src/components/ui/textarea.tsx b/studio/frontend/src/components/ui/textarea.tsx similarity index 100% rename from frontend/src/components/ui/textarea.tsx rename to studio/frontend/src/components/ui/textarea.tsx diff --git a/frontend/src/components/ui/toggle-group.tsx b/studio/frontend/src/components/ui/toggle-group.tsx similarity index 100% rename from frontend/src/components/ui/toggle-group.tsx rename to studio/frontend/src/components/ui/toggle-group.tsx diff --git a/frontend/src/components/ui/toggle.tsx b/studio/frontend/src/components/ui/toggle.tsx similarity index 100% rename from frontend/src/components/ui/toggle.tsx rename to studio/frontend/src/components/ui/toggle.tsx diff --git a/frontend/src/components/ui/tooltip.tsx b/studio/frontend/src/components/ui/tooltip.tsx similarity index 100% rename from frontend/src/components/ui/tooltip.tsx rename to studio/frontend/src/components/ui/tooltip.tsx diff --git a/frontend/src/config/env.ts b/studio/frontend/src/config/env.ts similarity index 100% rename from frontend/src/config/env.ts rename to studio/frontend/src/config/env.ts diff --git a/frontend/src/config/training.ts b/studio/frontend/src/config/training.ts similarity index 100% rename from frontend/src/config/training.ts rename to studio/frontend/src/config/training.ts diff --git a/frontend/src/features/chat/adapter.ts b/studio/frontend/src/features/chat/adapter.ts similarity index 100% rename from frontend/src/features/chat/adapter.ts rename to studio/frontend/src/features/chat/adapter.ts diff --git a/frontend/src/features/chat/chat-page.tsx b/studio/frontend/src/features/chat/chat-page.tsx similarity index 100% rename from frontend/src/features/chat/chat-page.tsx rename to studio/frontend/src/features/chat/chat-page.tsx diff --git a/frontend/src/features/chat/chat-settings-sheet.tsx b/studio/frontend/src/features/chat/chat-settings-sheet.tsx similarity index 100% rename from frontend/src/features/chat/chat-settings-sheet.tsx rename to studio/frontend/src/features/chat/chat-settings-sheet.tsx diff --git a/frontend/src/features/chat/chat-top-bar.tsx b/studio/frontend/src/features/chat/chat-top-bar.tsx similarity index 100% rename from frontend/src/features/chat/chat-top-bar.tsx rename to studio/frontend/src/features/chat/chat-top-bar.tsx diff --git a/frontend/src/features/chat/db.ts b/studio/frontend/src/features/chat/db.ts similarity index 100% rename from frontend/src/features/chat/db.ts rename to studio/frontend/src/features/chat/db.ts diff --git a/frontend/src/features/chat/index.ts b/studio/frontend/src/features/chat/index.ts similarity index 100% rename from frontend/src/features/chat/index.ts rename to studio/frontend/src/features/chat/index.ts diff --git a/frontend/src/features/chat/runtime-provider.tsx b/studio/frontend/src/features/chat/runtime-provider.tsx similarity index 100% rename from frontend/src/features/chat/runtime-provider.tsx rename to studio/frontend/src/features/chat/runtime-provider.tsx diff --git a/frontend/src/features/chat/shared-composer.tsx b/studio/frontend/src/features/chat/shared-composer.tsx similarity index 100% rename from frontend/src/features/chat/shared-composer.tsx rename to studio/frontend/src/features/chat/shared-composer.tsx diff --git a/frontend/src/features/chat/thread-sidebar.tsx b/studio/frontend/src/features/chat/thread-sidebar.tsx similarity index 100% rename from frontend/src/features/chat/thread-sidebar.tsx rename to studio/frontend/src/features/chat/thread-sidebar.tsx diff --git a/frontend/src/features/chat/types.ts b/studio/frontend/src/features/chat/types.ts similarity index 100% rename from frontend/src/features/chat/types.ts rename to studio/frontend/src/features/chat/types.ts diff --git a/frontend/src/features/onboarding/components/splash-screen.tsx b/studio/frontend/src/features/onboarding/components/splash-screen.tsx similarity index 100% rename from frontend/src/features/onboarding/components/splash-screen.tsx rename to studio/frontend/src/features/onboarding/components/splash-screen.tsx diff --git a/frontend/src/features/onboarding/components/steps/dataset-step.tsx b/studio/frontend/src/features/onboarding/components/steps/dataset-step.tsx similarity index 100% rename from frontend/src/features/onboarding/components/steps/dataset-step.tsx rename to studio/frontend/src/features/onboarding/components/steps/dataset-step.tsx diff --git a/frontend/src/features/onboarding/components/steps/hyperparameters-step.tsx b/studio/frontend/src/features/onboarding/components/steps/hyperparameters-step.tsx similarity index 100% rename from frontend/src/features/onboarding/components/steps/hyperparameters-step.tsx rename to studio/frontend/src/features/onboarding/components/steps/hyperparameters-step.tsx diff --git a/frontend/src/features/onboarding/components/steps/model-selection-step.tsx b/studio/frontend/src/features/onboarding/components/steps/model-selection-step.tsx similarity index 100% rename from frontend/src/features/onboarding/components/steps/model-selection-step.tsx rename to studio/frontend/src/features/onboarding/components/steps/model-selection-step.tsx diff --git a/frontend/src/features/onboarding/components/steps/model-type-step.tsx b/studio/frontend/src/features/onboarding/components/steps/model-type-step.tsx similarity index 100% rename from frontend/src/features/onboarding/components/steps/model-type-step.tsx rename to studio/frontend/src/features/onboarding/components/steps/model-type-step.tsx diff --git a/frontend/src/features/onboarding/components/steps/summary-step.tsx b/studio/frontend/src/features/onboarding/components/steps/summary-step.tsx similarity index 100% rename from frontend/src/features/onboarding/components/steps/summary-step.tsx rename to studio/frontend/src/features/onboarding/components/steps/summary-step.tsx diff --git a/frontend/src/features/onboarding/components/wizard-content.tsx b/studio/frontend/src/features/onboarding/components/wizard-content.tsx similarity index 100% rename from frontend/src/features/onboarding/components/wizard-content.tsx rename to studio/frontend/src/features/onboarding/components/wizard-content.tsx diff --git a/frontend/src/features/onboarding/components/wizard-footer.tsx b/studio/frontend/src/features/onboarding/components/wizard-footer.tsx similarity index 100% rename from frontend/src/features/onboarding/components/wizard-footer.tsx rename to studio/frontend/src/features/onboarding/components/wizard-footer.tsx diff --git a/frontend/src/features/onboarding/components/wizard-layout.tsx b/studio/frontend/src/features/onboarding/components/wizard-layout.tsx similarity index 100% rename from frontend/src/features/onboarding/components/wizard-layout.tsx rename to studio/frontend/src/features/onboarding/components/wizard-layout.tsx diff --git a/frontend/src/features/onboarding/components/wizard-sidebar.tsx b/studio/frontend/src/features/onboarding/components/wizard-sidebar.tsx similarity index 100% rename from frontend/src/features/onboarding/components/wizard-sidebar.tsx rename to studio/frontend/src/features/onboarding/components/wizard-sidebar.tsx diff --git a/frontend/src/features/onboarding/components/wizard-step-item.tsx b/studio/frontend/src/features/onboarding/components/wizard-step-item.tsx similarity index 100% rename from frontend/src/features/onboarding/components/wizard-step-item.tsx rename to studio/frontend/src/features/onboarding/components/wizard-step-item.tsx diff --git a/frontend/src/features/onboarding/index.ts b/studio/frontend/src/features/onboarding/index.ts similarity index 100% rename from frontend/src/features/onboarding/index.ts rename to studio/frontend/src/features/onboarding/index.ts diff --git a/frontend/src/features/studio/index.ts b/studio/frontend/src/features/studio/index.ts similarity index 100% rename from frontend/src/features/studio/index.ts rename to studio/frontend/src/features/studio/index.ts diff --git a/frontend/src/features/studio/sections/charts-content.tsx b/studio/frontend/src/features/studio/sections/charts-content.tsx similarity index 100% rename from frontend/src/features/studio/sections/charts-content.tsx rename to studio/frontend/src/features/studio/sections/charts-content.tsx diff --git a/frontend/src/features/studio/sections/charts-section.tsx b/studio/frontend/src/features/studio/sections/charts-section.tsx similarity index 100% rename from frontend/src/features/studio/sections/charts-section.tsx rename to studio/frontend/src/features/studio/sections/charts-section.tsx diff --git a/frontend/src/features/studio/sections/config-summary-section.tsx b/studio/frontend/src/features/studio/sections/config-summary-section.tsx similarity index 100% rename from frontend/src/features/studio/sections/config-summary-section.tsx rename to studio/frontend/src/features/studio/sections/config-summary-section.tsx diff --git a/frontend/src/features/studio/sections/dataset-section.tsx b/studio/frontend/src/features/studio/sections/dataset-section.tsx similarity index 100% rename from frontend/src/features/studio/sections/dataset-section.tsx rename to studio/frontend/src/features/studio/sections/dataset-section.tsx diff --git a/frontend/src/features/studio/sections/model-section.tsx b/studio/frontend/src/features/studio/sections/model-section.tsx similarity index 100% rename from frontend/src/features/studio/sections/model-section.tsx rename to studio/frontend/src/features/studio/sections/model-section.tsx diff --git a/frontend/src/features/studio/sections/params-section.tsx b/studio/frontend/src/features/studio/sections/params-section.tsx similarity index 100% rename from frontend/src/features/studio/sections/params-section.tsx rename to studio/frontend/src/features/studio/sections/params-section.tsx diff --git a/frontend/src/features/studio/sections/progress-section.tsx b/studio/frontend/src/features/studio/sections/progress-section.tsx similarity index 100% rename from frontend/src/features/studio/sections/progress-section.tsx rename to studio/frontend/src/features/studio/sections/progress-section.tsx diff --git a/frontend/src/features/studio/sections/training-section.tsx b/studio/frontend/src/features/studio/sections/training-section.tsx similarity index 100% rename from frontend/src/features/studio/sections/training-section.tsx rename to studio/frontend/src/features/studio/sections/training-section.tsx diff --git a/frontend/src/features/studio/studio-page.tsx b/studio/frontend/src/features/studio/studio-page.tsx similarity index 100% rename from frontend/src/features/studio/studio-page.tsx rename to studio/frontend/src/features/studio/studio-page.tsx diff --git a/frontend/src/features/studio/training-view.tsx b/studio/frontend/src/features/studio/training-view.tsx similarity index 100% rename from frontend/src/features/studio/training-view.tsx rename to studio/frontend/src/features/studio/training-view.tsx diff --git a/frontend/src/hooks/index.ts b/studio/frontend/src/hooks/index.ts similarity index 100% rename from frontend/src/hooks/index.ts rename to studio/frontend/src/hooks/index.ts diff --git a/frontend/src/hooks/use-mobile.ts b/studio/frontend/src/hooks/use-mobile.ts similarity index 100% rename from frontend/src/hooks/use-mobile.ts rename to studio/frontend/src/hooks/use-mobile.ts diff --git a/frontend/src/index.css b/studio/frontend/src/index.css similarity index 100% rename from frontend/src/index.css rename to studio/frontend/src/index.css diff --git a/frontend/src/lib/utils.ts b/studio/frontend/src/lib/utils.ts similarity index 100% rename from frontend/src/lib/utils.ts rename to studio/frontend/src/lib/utils.ts diff --git a/frontend/src/main.tsx b/studio/frontend/src/main.tsx similarity index 100% rename from frontend/src/main.tsx rename to studio/frontend/src/main.tsx diff --git a/frontend/src/stores/index.ts b/studio/frontend/src/stores/index.ts similarity index 100% rename from frontend/src/stores/index.ts rename to studio/frontend/src/stores/index.ts diff --git a/frontend/src/stores/training.ts b/studio/frontend/src/stores/training.ts similarity index 100% rename from frontend/src/stores/training.ts rename to studio/frontend/src/stores/training.ts diff --git a/frontend/src/types/index.ts b/studio/frontend/src/types/index.ts similarity index 100% rename from frontend/src/types/index.ts rename to studio/frontend/src/types/index.ts diff --git a/frontend/src/types/training.ts b/studio/frontend/src/types/training.ts similarity index 100% rename from frontend/src/types/training.ts rename to studio/frontend/src/types/training.ts diff --git a/frontend/src/utils/index.ts b/studio/frontend/src/utils/index.ts similarity index 100% rename from frontend/src/utils/index.ts rename to studio/frontend/src/utils/index.ts diff --git a/frontend/tsconfig.app.json b/studio/frontend/tsconfig.app.json similarity index 100% rename from frontend/tsconfig.app.json rename to studio/frontend/tsconfig.app.json diff --git a/frontend/tsconfig.json b/studio/frontend/tsconfig.json similarity index 100% rename from frontend/tsconfig.json rename to studio/frontend/tsconfig.json diff --git a/frontend/tsconfig.node.json b/studio/frontend/tsconfig.node.json similarity index 100% rename from frontend/tsconfig.node.json rename to studio/frontend/tsconfig.node.json diff --git a/frontend/vite.config.ts b/studio/frontend/vite.config.ts similarity index 100% rename from frontend/vite.config.ts rename to studio/frontend/vite.config.ts