SYMBOL INDEX (3574 symbols across 513 files) FILE: scripts/enforce_kwargs_spacing.py function enforce_spacing (line 15) | def enforce_spacing(text: str) -> tuple[str, bool]: function remove_redundant_passes (line 66) | def remove_redundant_passes(text: str) -> tuple[str, bool]: function process_file (line 137) | def process_file(path: Path) -> bool: function main (line 154) | def main(argv: list[str]) -> int: FILE: scripts/run_ruff_format.py function main (line 13) | def main(argv: list[str]) -> int: FILE: studio/backend/auth/authentication.py function _get_secret_for_subject (line 27) | def _get_secret_for_subject(subject: str) -> str: function _decode_subject_without_verification (line 37) | def _decode_subject_without_verification(token: str) -> Optional[str]: function create_access_token (line 50) | def create_access_token( function create_refresh_token (line 71) | def create_refresh_token(subject: str) -> str: function refresh_access_token (line 83) | def refresh_access_token(refresh_token: str) -> Tuple[Optional[str], Opt... function reload_secret (line 96) | def reload_secret() -> None: function get_current_subject (line 105) | async def get_current_subject( function get_current_subject_allow_password_change (line 115) | async def get_current_subject_allow_password_change( function _get_current_subject (line 125) | async def _get_current_subject( FILE: studio/backend/auth/hashing.py function hash_password (line 14) | def hash_password(password: str, salt: str | None = None) -> Tuple[str, ... function verify_password (line 31) | def verify_password(password: str, salt: str, hashed: str) -> bool: FILE: studio/backend/auth/storage.py function generate_bootstrap_password (line 27) | def generate_bootstrap_password() -> str: function get_bootstrap_password (line 61) | def get_bootstrap_password() -> Optional[str]: function clear_bootstrap_password (line 66) | def clear_bootstrap_password() -> None: function _hash_token (line 74) | def _hash_token(token: str) -> str: function get_connection (line 79) | def get_connection() -> sqlite3.Connection: function is_initialized (line 115) | def is_initialized() -> bool: function create_initial_user (line 124) | def create_initial_user( function delete_user (line 159) | def delete_user(username: str) -> None: function get_user_and_secret (line 173) | def get_user_and_secret(username: str) -> Optional[Tuple[str, str, str, ... function get_jwt_secret (line 203) | def get_jwt_secret(username: str) -> Optional[str]: function requires_password_change (line 217) | def requires_password_change(username: str) -> bool: function load_jwt_secret (line 231) | def load_jwt_secret() -> str: function ensure_default_admin (line 250) | def ensure_default_admin() -> bool: function update_password (line 269) | def update_password(username: str, new_password: str) -> bool: function save_refresh_token (line 293) | def save_refresh_token(token: str, username: str, expires_at: str) -> None: function verify_refresh_token (line 312) | def verify_refresh_token(token: str) -> Optional[str]: function revoke_user_refresh_tokens (line 352) | def revoke_user_refresh_tokens(username: str) -> None: FILE: studio/backend/colab.py function _bootstrap_studio_venv (line 13) | def _bootstrap_studio_venv() -> None: function get_colab_url (line 48) | def get_colab_url(port: int = 8888) -> str: function show_link (line 63) | def show_link(port: int = 8888): function start (line 99) | def start(port: int = 8888): FILE: studio/backend/core/__init__.py function __getattr__ (line 53) | def __getattr__(name): FILE: studio/backend/core/data_recipe/huggingface.py class RecipeDatasetPublishError (line 20) | class RecipeDatasetPublishError(ValueError): function _resolve_recipe_artifact_path (line 24) | def _resolve_recipe_artifact_path(artifact_path: str) -> Path: function publish_recipe_dataset (line 46) | def publish_recipe_dataset( FILE: studio/backend/core/data_recipe/jobs/manager.py class Subscription (line 37) | class Subscription: method next_event (line 42) | async def next_event(self, *, timeout_sec: float) -> dict | None: method format_sse (line 49) | def format_sse(self, event: dict) -> bytes: class JobManager (line 62) | class JobManager: method __init__ (line 63) | def __init__(self) -> None: method start (line 74) | def start(self, *, recipe: dict, run: dict) -> str: method cancel (line 118) | def cancel(self, job_id: str) -> bool: method get_status (line 135) | def get_status(self, job_id: str) -> dict | None: method get_current_status (line 195) | def get_current_status(self) -> dict | None: method get_current_job_id (line 202) | def get_current_job_id(self) -> str | None: method get_analysis (line 207) | def get_analysis(self, job_id: str) -> dict | None: method get_dataset (line 214) | def get_dataset( method _load_dataset_page (line 251) | def _load_dataset_page( method _load_dataset_page_with_duckdb (line 271) | def _load_dataset_page_with_duckdb( method _load_dataset_page_with_data_designer (line 313) | def _load_dataset_page_with_data_designer( method subscribe (line 326) | def subscribe( method unsubscribe (line 341) | def unsubscribe(self, sub: Subscription) -> None: method _emit (line 346) | def _emit(self, event: dict) -> None: method _snapshot (line 360) | def _snapshot(self) -> tuple[Job, mp.Process, Any] | None: method _read_queue_with_timeout (line 368) | def _read_queue_with_timeout(q: Any, *, timeout_sec: float) -> dict | ... method _drain_queue (line 378) | def _drain_queue(q: Any) -> list[dict]: method _pump_loop (line 389) | def _pump_loop(self) -> None: method _handle_event (line 434) | def _handle_event(self, job: Job, event: dict) -> None: function get_job_manager (line 471) | def get_job_manager() -> JobManager: FILE: studio/backend/core/data_recipe/jobs/parse.py class ParsedUpdate (line 26) | class ParsedUpdate: function parse_log_message (line 66) | def parse_log_message(msg: str) -> ParsedUpdate | None: function apply_update (line 145) | def apply_update(job: Job, update: ParsedUpdate) -> None: function _compute_overall_progress (line 219) | def _compute_overall_progress(job: Job, column_progress: Progress) -> Pr... function coerce_event (line 260) | def coerce_event(obj: Any) -> dict: FILE: studio/backend/core/data_recipe/jobs/types.py class Progress (line 22) | class Progress: class BatchProgress (line 33) | class BatchProgress: class ModelUsage (line 39) | class ModelUsage: class Job (line 52) | class Job: FILE: studio/backend/core/data_recipe/jobs/worker.py class _QueueLogHandler (line 26) | class _QueueLogHandler(logging.Handler): method __init__ (line 27) | def __init__(self, event_queue): method emit (line 31) | def emit(self, record: logging.LogRecord) -> None: function _slugify_run_name (line 45) | def _slugify_run_name(value: str) -> str: function _build_dataset_name (line 54) | def _build_dataset_name( function run_job_process (line 68) | def run_job_process( function _merge_batches_to_single_parquet (line 189) | def _merge_batches_to_single_parquet(base_dataset_path: Path) -> None: function _rewrite_merged_metadata (line 211) | def _rewrite_merged_metadata(*, base_dataset_path: Path, parquet_file: P... FILE: studio/backend/core/data_recipe/jsonable.py function _pil_to_preview_payload (line 12) | def _pil_to_preview_payload(image: Any) -> dict[str, Any]: function _open_pil_image_from_bytes (line 24) | def _open_pil_image_from_bytes(raw_bytes: bytes): function _to_pil_from_hf_image_dict (line 31) | def _to_pil_from_hf_image_dict(value: Any) -> Any | None: function to_jsonable (line 64) | def to_jsonable(value: Any) -> Any: function _to_preview_image_payload (line 91) | def _to_preview_image_payload(value: Any) -> dict[str, Any] | None: function to_preview_jsonable (line 106) | def to_preview_jsonable(value: Any) -> Any: FILE: studio/backend/core/data_recipe/local_callable_validators.py class OxcLocalCallableValidatorSpec (line 37) | class OxcLocalCallableValidatorSpec: function split_oxc_local_callable_validators (line 47) | def split_oxc_local_callable_validators( function register_oxc_local_callable_validators (line 77) | def register_oxc_local_callable_validators( function _parse_oxc_spec (line 111) | def _parse_oxc_spec( function _parse_batch_size (line 161) | def _parse_batch_size(value: Any) -> int: function _parse_oxc_validation_marker (line 169) | def _parse_oxc_validation_marker(fn_name: str) -> tuple[str, str, str]: function _build_oxc_validation_function (line 186) | def _build_oxc_validation_function(lang: str, validation_mode: str, code... function _run_oxc_batch (line 225) | def _run_oxc_batch( function _fallback_results (line 327) | def _fallback_results(row_count: int, message: str) -> list[dict[str, An... FILE: studio/backend/core/data_recipe/oxc-validator/validate.mjs constant LANG_TO_EXT (line 11) | const LANG_TO_EXT = { constant VALIDATION_MODES (line 18) | const VALIDATION_MODES = new Set(["syntax", "lint", "syntax+lint"]); constant CODE_SHAPES (line 19) | const CODE_SHAPES = new Set(["auto", "module", "snippet"]); constant SNIPPET_PREFIX (line 20) | const SNIPPET_PREFIX = "(() => {\n"; constant SNIPPET_SUFFIX (line 21) | const SNIPPET_SUFFIX = "\n})();\nexport {};\n"; constant OXLINT_SUPPRESSED_RULES (line 22) | const OXLINT_SUPPRESSED_RULES = ["no-unused-vars", "no-new-array"]; constant TOOL_DIR (line 23) | const TOOL_DIR = dirname(fileURLToPath(import.meta.url)); function mapLang (line 25) | function mapLang(value) { function mapMode (line 42) | function mapMode(value) { function mapCodeShape (line 50) | function mapCodeShape(value) { function parseFileIndex (line 58) | function parseFileIndex(filePath) { function toCodeString (line 70) | function toCodeString(code) { function makeValidationEntry (line 74) | function makeValidationEntry({ code, index, lang, codeShape }) { function shiftOffset (line 92) | function shiftOffset(value, offset) { function remapDiagnosticOffsets (line 100) | function remapDiagnosticOffsets(diagnostic, offset) { function normalizeParserError (line 116) | function normalizeParserError(error) { function normalizeLintDiagnostic (line 164) | function normalizeLintDiagnostic(diagnostic) { function makeResult (line 209) | function makeResult({ function syntaxResultFromErrors (line 231) | function syntaxResultFromErrors(errors) { function runSyntaxParse (line 245) | function runSyntaxParse(entry) { function pickPreferredErrorList (line 271) | function pickPreferredErrorList(firstErrors, secondErrors) { function validateSyntaxOne (line 278) | function validateSyntaxOne({ code, lang, index, codeShape }) { function resolveLintEntry (line 329) | function resolveLintEntry({ code, lang, index, codeShape }) { function fallbackLintResults (line 362) | function fallbackLintResults(entries, message) { function runLintBatch (line 377) | function runLintBatch(entries) { function readStdin (line 487) | function readStdin() { function runValidation (line 499) | function runValidation({ codes, lang, mode, codeShape }) { function main (line 545) | async function main() { FILE: studio/backend/core/data_recipe/service.py function _encode_bytes_to_base64 (line 21) | def _encode_bytes_to_base64(value: bytes | bytearray) -> str: function _load_image_file_to_base64 (line 25) | def _load_image_file_to_base64( function _pil_image_to_base64 (line 48) | def _pil_image_to_base64(value: Any) -> str | None: function _normalize_image_context_value (line 63) | def _normalize_image_context_value(value: Any, *, base_path: str | None ... function _apply_data_designer_image_context_patch (line 106) | def _apply_data_designer_image_context_patch() -> None: function build_model_providers (line 133) | def build_model_providers(recipe: dict[str, Any]): function _recipe_has_llm_columns (line 156) | def _recipe_has_llm_columns(recipe: dict[str, Any]) -> bool: function _validate_recipe_runtime_support (line 166) | def _validate_recipe_runtime_support( function build_mcp_providers (line 179) | def build_mcp_providers( function build_config_builder (line 222) | def build_config_builder(recipe: dict[str, Any]): function create_data_designer (line 258) | def create_data_designer( function validate_recipe (line 276) | def validate_recipe(recipe: dict[str, Any]) -> None: function preview_recipe (line 282) | def preview_recipe( FILE: studio/backend/core/export/export.py function _is_wsl (line 32) | def _is_wsl(): function _apply_wsl_sudo_patch (line 40) | def _apply_wsl_sudo_patch(): class ExportBackend (line 95) | class ExportBackend: method __init__ (line 98) | def __init__(self): method cleanup_memory (line 107) | def cleanup_memory(self): method scan_checkpoints (line 133) | def scan_checkpoints( method load_checkpoint (line 146) | def load_checkpoint( method _write_export_metadata (line 289) | def _write_export_metadata(self, save_directory: str): method export_merged_model (line 305) | def export_merged_model( method export_base_model (line 390) | def export_base_model( method export_gguf (line 486) | def export_gguf( method export_lora_adapter (line 611) | def export_lora_adapter( function get_export_backend (line 672) | def get_export_backend() -> ExportBackend: FILE: studio/backend/core/export/orchestrator.py class ExportOrchestrator (line 33) | class ExportOrchestrator: method __init__ (line 42) | def __init__(self): method _spawn_subprocess (line 61) | def _spawn_subprocess(self, config: dict) -> None: method _shutdown_subprocess (line 80) | def _shutdown_subprocess(self, timeout: float = 10.0) -> None: method _cleanup (line 122) | def _cleanup(self): method _ensure_subprocess_alive (line 126) | def _ensure_subprocess_alive(self) -> bool: method _send_cmd (line 134) | def _send_cmd(self, cmd: dict) -> None: method _read_resp (line 143) | def _read_resp(self, timeout: float = 1.0) -> Optional[dict]: method _wait_response (line 154) | def _wait_response(self, expected_type: str, timeout: float = 3600.0) ... method _drain_queue (line 197) | def _drain_queue(self) -> list: method load_checkpoint (line 214) | def load_checkpoint( method export_merged_model (line 264) | def export_merged_model( method export_base_model (line 286) | def export_base_model( method export_gguf (line 308) | def export_gguf( method export_lora_adapter (line 328) | def export_lora_adapter( method _run_export (line 348) | def _run_export(self, export_type: str, params: dict) -> Tuple[bool, s... method cleanup_memory (line 365) | def cleanup_memory(self) -> bool: method scan_checkpoints (line 389) | def scan_checkpoints( function get_export_backend (line 402) | def get_export_backend() -> ExportOrchestrator: FILE: studio/backend/core/export/worker.py function _activate_transformers_version (line 32) | def _activate_transformers_version(model_name: str) -> None: function _send_response (line 66) | def _send_response(resp_queue: Any, response: dict) -> None: function _handle_load (line 74) | def _handle_load(backend, cmd: dict, resp_queue: Any) -> None: function _handle_export (line 124) | def _handle_export(backend, cmd: dict, resp_queue: Any) -> None: function _handle_cleanup (line 190) | def _handle_cleanup(backend, resp_queue: Any) -> None: function run_export_process (line 214) | def run_export_process( FILE: studio/backend/core/inference/audio_codecs.py function _numpy_to_wav_bytes (line 22) | def _numpy_to_wav_bytes(waveform: np.ndarray, sample_rate: int) -> bytes: class AudioCodecManager (line 40) | class AudioCodecManager: method __init__ (line 43) | def __init__(self): method load_codec (line 49) | def load_codec( method _load_snac (line 69) | def _load_snac(self, device: str) -> None: method _load_bicodec (line 79) | def _load_bicodec(self, device: str, model_repo_path: Optional[str] = ... method _load_dac (line 117) | def _load_dac(self, device: str) -> None: method decode_snac (line 172) | def decode_snac( method decode_csm (line 228) | def decode_csm(self, audio_values: torch.Tensor) -> Tuple[bytes, int]: method decode_bicodec (line 236) | def decode_bicodec(self, generated_text: str, device: str) -> Tuple[by... method decode_dac (line 282) | def decode_dac(self, generated_text: str, device: str) -> Tuple[bytes,... method decode (line 305) | def decode( method unload (line 329) | def unload(self) -> None: FILE: studio/backend/core/inference/defaults.py function get_default_models (line 27) | def get_default_models() -> list[str]: FILE: studio/backend/core/inference/inference.py class HarmonyTextStreamer (line 31) | class HarmonyTextStreamer: method __init__ (line 64) | def __init__(self, tokenizer, *, skip_prompt: bool = True, timeout: fl... method put (line 87) | def put(self, value): method end (line 113) | def end(self): method __iter__ (line 133) | def __iter__(self): method __next__ (line 136) | def __next__(self): method _process_incremental (line 154) | def _process_incremental(self, raw: str) -> None: class InferenceBackend (line 205) | class InferenceBackend: method __init__ (line 208) | def __init__(self): method _normalize_top_k (line 232) | def _normalize_top_k(top_k: int) -> int: method load_model (line 236) | def load_model( method unload_model (line 531) | def unload_model(self, model_name: str) -> bool: method revert_to_base_model (line 568) | def revert_to_base_model(self, base_model_name: str) -> bool: method load_for_eval (line 603) | def load_for_eval( method load_adapter (line 663) | def load_adapter( method set_active_adapter (line 698) | def set_active_adapter(self, base_model_name: str, adapter_name: str) ... method _apply_adapter_state (line 713) | def _apply_adapter_state(self, use_adapter: Optional[Union[bool, str]]... method generate_with_adapter_control (line 773) | def generate_with_adapter_control( method generate_chat_response (line 795) | def generate_chat_response( method _generate_chat_response_inner (line 825) | def _generate_chat_response_inner( method _generate_vision_response (line 953) | def _generate_vision_response( method generate_audio_input_response (line 1093) | def generate_audio_input_response( method generate_whisper_response (line 1222) | def generate_whisper_response( method _is_gpt_oss_model (line 1246) | def _is_gpt_oss_model(self, model_name: str = None) -> bool: method generate_stream (line 1263) | def generate_stream( method generate_audio_response (line 1421) | def generate_audio_response( method _generate_snac (line 1486) | def _generate_snac( method _generate_csm (line 1519) | def _generate_csm(self, model, processor, text, max_new_tokens): method _generate_bicodec (line 1530) | def _generate_bicodec( method _generate_dac (line 1553) | def _generate_dac( method _patch_repetition_penalty_processor (line 1593) | def _patch_repetition_penalty_processor(cls): method format_chat_prompt (line 1644) | def format_chat_prompt(self, messages: list, system_prompt: str = None... method _format_chat_manual (line 1737) | def _format_chat_manual( method _format_llama3_template (line 1762) | def _format_llama3_template(self, messages: list, special_tokens: dict... method _format_mistral_template (line 1777) | def _format_mistral_template(self, messages: list, special_tokens: dic... method _format_chatml_template (line 1815) | def _format_chatml_template(self, messages: list, special_tokens: dict... method _format_alpaca_template (line 1827) | def _format_alpaca_template(self, messages: list, special_tokens: dict... method _format_generic_template (line 1846) | def _format_generic_template(self, messages: list, special_tokens: dic... method check_vision_model_compatibility (line 1858) | def check_vision_model_compatibility(self) -> bool: method _reset_model_generation_state (line 1870) | def _reset_model_generation_state(self, model_name: str): method reset_generation_state (line 1891) | def reset_generation_state(self): method resize_image (line 1909) | def resize_image(self, img, max_size: int = 800): method _clean_generated_text (line 1921) | def _clean_generated_text(self, text: str) -> str: method _load_chat_template_info (line 1939) | def _load_chat_template_info(self, model_name: str): method get_current_model (line 2037) | def get_current_model(self) -> Optional[str]: method is_model_loading (line 2041) | def is_model_loading(self) -> bool: method get_loading_model (line 2045) | def get_loading_model(self) -> Optional[str]: method load_model_simple (line 2049) | def load_model_simple( function get_inference_backend (line 2095) | def get_inference_backend() -> InferenceBackend: FILE: studio/backend/core/inference/llama_cpp.py class LlamaCppBackend (line 31) | class LlamaCppBackend: method __init__ (line 41) | def __init__(self): method is_loaded (line 67) | def is_loaded(self) -> bool: method is_active (line 71) | def is_active(self) -> bool: method base_url (line 76) | def base_url(self) -> str: method model_identifier (line 80) | def model_identifier(self) -> Optional[str]: method is_vision (line 84) | def is_vision(self) -> bool: method hf_variant (line 88) | def hf_variant(self) -> Optional[str]: method context_length (line 92) | def context_length(self) -> Optional[int]: method chat_template (line 96) | def chat_template(self) -> Optional[str]: method supports_reasoning (line 100) | def supports_reasoning(self) -> bool: method reasoning_default (line 104) | def reasoning_default(self) -> bool: method supports_tools (line 108) | def supports_tools(self) -> bool: method cache_type_kv (line 112) | def cache_type_kv(self) -> Optional[str]: method _find_llama_server_binary (line 118) | def _find_llama_server_binary() -> Optional[str]: method _get_gguf_size_bytes (line 210) | def _get_gguf_size_bytes(model_path: str) -> int: method _get_gpu_free_memory (line 236) | def _get_gpu_free_memory() -> list[tuple[int, int]]: method _select_gpus (line 282) | def _select_gpus( method _find_smallest_fitting_variant (line 324) | def _find_smallest_fitting_variant( method _find_free_port (line 380) | def _find_free_port() -> int: method _drain_stdout (line 388) | def _drain_stdout(self): method _gguf_skip_value (line 422) | def _gguf_skip_value(f, vtype: int) -> None: method _read_gguf_metadata (line 444) | def _read_gguf_metadata(self, gguf_path: str) -> None: method _download_gguf (line 535) | def _download_gguf( method _download_mmproj (line 702) | def _download_mmproj( method load_model (line 745) | def load_model( method unload_model (line 1029) | def unload_model(self) -> bool: method _kill_process (line 1068) | def _kill_process(self): method _kill_orphaned_servers (line 1088) | def _kill_orphaned_servers(): method _cleanup (line 1128) | def _cleanup(self): method _wait_for_health (line 1132) | def _wait_for_health(self, timeout: float = 120.0, interval: float = 0... method _parse_tool_calls_from_text (line 1169) | def _parse_tool_calls_from_text(content: str) -> list[dict]: method _build_openai_messages (line 1296) | def _build_openai_messages( method _iter_text_cancellable (line 1333) | def _iter_text_cancellable( method _stream_with_retry (line 1362) | def _stream_with_retry( method generate_chat_completion (line 1448) | def generate_chat_completion( method generate_chat_completion_with_tools (line 1583) | def generate_chat_completion_with_tools( method detect_audio_type (line 1947) | def detect_audio_type(self) -> Optional[str]: method init_audio_codec (line 2009) | def init_audio_codec(self, audio_type: str) -> None: method generate_audio_response (line 2035) | def generate_audio_response( FILE: studio/backend/core/inference/orchestrator.py class InferenceOrchestrator (line 43) | class InferenceOrchestrator: method __init__ (line 52) | def __init__(self): method default_models (line 100) | def default_models(self) -> list[str]: method _fetch_top_models (line 116) | def _fetch_top_models(self) -> None: method _spawn_subprocess (line 159) | def _spawn_subprocess(self, config: dict) -> None: method _cancel_generation (line 180) | def _cancel_generation(self) -> None: method _shutdown_subprocess (line 185) | def _shutdown_subprocess(self, timeout: float = 10.0) -> None: method _cleanup (line 233) | def _cleanup(self): method _ensure_subprocess_alive (line 237) | def _ensure_subprocess_alive(self) -> bool: method _send_cmd (line 245) | def _send_cmd(self, cmd: dict) -> None: method _read_resp (line 254) | def _read_resp(self, timeout: float = 1.0) -> Optional[dict]: method _wait_response (line 265) | def _wait_response(self, expected_type: str, timeout: float = 120.0) -... method _drain_queue (line 308) | def _drain_queue(self) -> list: method _drain_until_gen_done (line 321) | def _drain_until_gen_done(self, timeout: float = 5.0) -> None: method _start_dispatcher (line 343) | def _start_dispatcher(self) -> None: method _stop_dispatcher (line 363) | def _stop_dispatcher(self) -> None: method _dispatcher_loop (line 372) | def _dispatcher_loop(self) -> None: method _generate_dispatched (line 411) | def _generate_dispatched( method _drain_mailbox (line 516) | def _drain_mailbox(self, mailbox: queue.Queue, timeout: float = 5.0) -... method _wait_dispatcher_idle (line 531) | def _wait_dispatcher_idle(self) -> None: method load_model (line 566) | def load_model( method unload_model (line 648) | def unload_model(self, model_name: str) -> bool: method generate_chat_response (line 682) | def generate_chat_response( method generate_with_adapter_control (line 710) | def generate_with_adapter_control( method _generate_inner (line 728) | def _generate_inner( method _generate_locked (line 779) | def _generate_locked( method reset_generation_state (line 866) | def reset_generation_state(self): method generate_audio_response (line 880) | def generate_audio_response( method generate_whisper_response (line 951) | def generate_whisper_response( method generate_audio_input_response (line 965) | def generate_audio_input_response( method _generate_audio_input_inner (line 993) | def _generate_audio_input_inner( method resize_image (line 1085) | def resize_image(self, img, max_size: int = 800): method _pil_to_base64 (line 1100) | def _pil_to_base64(img) -> str: method get_current_model (line 1106) | def get_current_model(self) -> Optional[str]: method is_model_loading (line 1110) | def is_model_loading(self) -> bool: method get_loading_model (line 1114) | def get_loading_model(self) -> Optional[str]: method check_vision_model_compatibility (line 1118) | def check_vision_model_compatibility(self) -> bool: function get_inference_backend (line 1129) | def get_inference_backend() -> InferenceOrchestrator: FILE: studio/backend/core/inference/tools.py function _get_workdir (line 33) | def _get_workdir(session_id: str | None = None) -> str: function execute_tool (line 116) | def execute_tool( function _web_search (line 146) | def _web_search(query: str, max_results: int = 5, timeout: int = _EXEC_T... function _check_signal_escape_patterns (line 168) | def _check_signal_escape_patterns(code: str): function _check_code_safety (line 349) | def _check_code_safety(code: str) -> str | None: function _cancel_watcher (line 367) | def _cancel_watcher(proc, cancel_event, poll_interval = 0.2): function _truncate (line 376) | def _truncate(text: str, limit: int = _MAX_OUTPUT_CHARS) -> str: function _python_exec (line 382) | def _python_exec( function _bash_exec (line 446) | def _bash_exec( FILE: studio/backend/core/inference/worker.py function _activate_transformers_version (line 34) | def _activate_transformers_version(model_name: str) -> None: function _decode_image (line 68) | def _decode_image(image_base64: str): function _resize_image (line 76) | def _resize_image(img, max_size: int = 800): function _send_response (line 89) | def _send_response(resp_queue: Any, response: dict) -> None: function _build_model_config (line 97) | def _build_model_config(config: dict): function _handle_load (line 116) | def _handle_load(backend, config: dict, resp_queue: Any) -> None: function _handle_generate (line 212) | def _handle_generate( function _handle_generate_audio (line 301) | def _handle_generate_audio( function _handle_generate_audio_input (line 348) | def _handle_generate_audio_input( function _handle_unload (line 427) | def _handle_unload(backend, cmd: dict, resp_queue: Any) -> None: function run_inference_process (line 457) | def run_inference_process( FILE: studio/backend/core/training/trainer.py function _build_report_targets (line 48) | def _build_report_targets(training_args) -> list[str] | str: class TrainingProgress (line 58) | class TrainingProgress: class UnslothTrainer (line 77) | class UnslothTrainer: method __init__ (line 82) | def __init__(self): method pre_detect_and_load_tokenizer (line 125) | def pre_detect_and_load_tokenizer( method add_progress_callback (line 199) | def add_progress_callback(self, callback: Callable[[TrainingProgress],... method _update_progress (line 203) | def _update_progress(self, **kwargs): method _create_progress_callback (line 217) | def _create_progress_callback(self): method _calculate_total_steps (line 271) | def _calculate_total_steps( method _build_audio_training_args (line 283) | def _build_audio_training_args(self, training_args, output_dir, *, ext... method _finalize_training (line 340) | def _finalize_training(self, output_dir, label = ""): method _cleanup_audio_artifacts (line 370) | def _cleanup_audio_artifacts(self): method _resolve_audio_columns (line 410) | def _resolve_audio_columns(self, dataset, custom_format_mapping: dict ... method load_model (line 460) | def load_model( method prepare_model_for_training (line 850) | def prepare_model_for_training( method _apply_csm_forward_fix (line 1109) | def _apply_csm_forward_fix(self): method _preprocess_csm_dataset (line 1293) | def _preprocess_csm_dataset(self, dataset, custom_format_mapping = None): method _format_audio_vlm_dataset (line 1417) | def _format_audio_vlm_dataset(self, dataset, custom_format_mapping = N... method _preprocess_snac_dataset (line 1473) | def _preprocess_snac_dataset(self, dataset, custom_format_mapping = No... method _preprocess_bicodec_dataset (line 1676) | def _preprocess_bicodec_dataset(self, dataset, custom_format_mapping =... method _preprocess_dac_dataset (line 1908) | def _preprocess_dac_dataset(self, dataset, custom_format_mapping = None): method _preprocess_whisper_dataset (line 2119) | def _preprocess_whisper_dataset( method _resolve_local_files (line 2219) | def _resolve_local_files(file_paths: list) -> list[str]: method _loader_for_files (line 2254) | def _loader_for_files(files: list[str]) -> str: method load_and_format_dataset (line 2265) | def load_and_format_dataset( method _auto_detect_eval_split_from_hf (line 2543) | def _auto_detect_eval_split_from_hf( method _resolve_eval_split_from_dataset (line 2579) | def _resolve_eval_split_from_dataset(self, dataset) -> Optional[tuple]: method start_training (line 2604) | def start_training( method _train_worker (line 2695) | def _train_worker(self, dataset: Dataset, **training_args): method _patch_adapter_config (line 3351) | def _patch_adapter_config(self, output_dir: str) -> None: method stop_training (line 3383) | def stop_training(self, save: bool = True): method get_training_progress (line 3403) | def get_training_progress(self) -> TrainingProgress: method cleanup (line 3408) | def cleanup(self): function _ensure_deepseek_ocr_installed (line 3421) | def _ensure_deepseek_ocr_installed(): function get_trainer (line 3480) | def get_trainer() -> UnslothTrainer: FILE: studio/backend/core/training/training.py class TrainingProgress (line 40) | class TrainingProgress: class TrainingBackend (line 60) | class TrainingBackend: method __init__ (line 66) | def __init__(self): method start_training (line 100) | def start_training(self, **kwargs) -> bool: method stop_training (line 220) | def stop_training(self, save: bool = True) -> bool: method force_terminate (line 239) | def force_terminate(self) -> None: method is_training_active (line 255) | def is_training_active(self) -> bool: method get_training_status (line 302) | def get_training_status(self, theme: str = "light") -> Tuple: method refresh_plot_for_theme (line 313) | def refresh_plot_for_theme(self, theme: str) -> Optional[plt.Figure]: class _TrainerShim (line 327) | class _TrainerShim: method __init__ (line 330) | def __init__(self, backend: "TrainingBackend"): method training_progress (line 335) | def training_progress(self): method training_progress (line 339) | def training_progress(self, value): method get_training_progress (line 342) | def get_training_progress(self): method _update_progress (line 345) | def _update_progress(self, **kwargs): method trainer (line 352) | def trainer(self): method _pump_loop (line 360) | def _pump_loop(self) -> None: method _handle_event (line 394) | def _handle_event(self, event: dict) -> None: method _read_queue (line 467) | def _read_queue(q: Any, timeout_sec: float) -> Optional[dict]: method _drain_queue (line 476) | def _drain_queue(q: Any) -> list: method _create_loss_plot (line 490) | def _create_loss_plot( method _transfer_to_inference_backend (line 605) | def _transfer_to_inference_backend(self) -> bool: function get_training_backend (line 624) | def get_training_backend() -> TrainingBackend: FILE: studio/backend/core/training/worker.py function _activate_transformers_version (line 28) | def _activate_transformers_version(model_name: str) -> None: function run_training_process (line 62) | def run_training_process( function _send_status (line 586) | def _send_status(event_queue: Any, message: str) -> None: function _run_embedding_training (line 597) | def _run_embedding_training(event_queue: Any, stop_queue: Any, config: d... FILE: studio/backend/loggers/config.py class LogConfig (line 26) | class LogConfig: method setup_logging (line 34) | def setup_logging( FILE: studio/backend/loggers/handlers.py class LoggingMiddleware (line 28) | class LoggingMiddleware(BaseHTTPMiddleware): method dispatch (line 29) | async def dispatch(self, request: Request, call_next: Callable) -> Res... function filter_sensitive_data (line 74) | def filter_sensitive_data(logger, method_name, event_dict): function get_logger (line 94) | def get_logger(name: str) -> structlog.BoundLogger: FILE: studio/backend/main.py function lifespan (line 50) | async def lifespan(app: FastAPI): function health_check (line 146) | async def health_check(): function get_system_info (line 161) | async def get_system_info(): function get_hardware_info (line 246) | async def get_hardware_info(): function _strip_crossorigin (line 259) | def _strip_crossorigin(html_bytes: bytes) -> bytes: function _inject_bootstrap (line 275) | def _inject_bootstrap(html_bytes: bytes, app: FastAPI) -> bytes: function setup_frontend (line 303) | def setup_frontend(app: FastAPI, build_path: Path): FILE: studio/backend/models/auth.py class AuthLoginRequest (line 11) | class AuthLoginRequest(BaseModel): class RefreshTokenRequest (line 18) | class RefreshTokenRequest(BaseModel): class AuthStatusResponse (line 26) | class AuthStatusResponse(BaseModel): class ChangePasswordRequest (line 39) | class ChangePasswordRequest(BaseModel): FILE: studio/backend/models/data_recipe.py class RecipePayload (line 15) | class RecipePayload(BaseModel): class PreviewResponse (line 21) | class PreviewResponse(BaseModel): class ValidateError (line 27) | class ValidateError(BaseModel): class ValidateResponse (line 33) | class ValidateResponse(BaseModel): class JobCreateResponse (line 39) | class JobCreateResponse(BaseModel): class PublishDatasetRequest (line 43) | class PublishDatasetRequest(BaseModel): class PublishDatasetResponse (line 64) | class PublishDatasetResponse(BaseModel): class SeedInspectRequest (line 70) | class SeedInspectRequest(BaseModel): class SeedInspectUploadRequest (line 78) | class SeedInspectUploadRequest(BaseModel): class SeedInspectResponse (line 87) | class SeedInspectResponse(BaseModel): class McpToolsListRequest (line 96) | class McpToolsListRequest(BaseModel): class McpToolsProviderResult (line 101) | class McpToolsProviderResult(BaseModel): class McpToolsListResponse (line 107) | class McpToolsListResponse(BaseModel): FILE: studio/backend/models/datasets.py class CheckFormatRequest (line 13) | class CheckFormatRequest(BaseModel): method _compat_split (line 24) | def _compat_split(cls, values: Any) -> Any: class CheckFormatResponse (line 31) | class CheckFormatResponse(BaseModel): class AiAssistMappingRequest (line 50) | class AiAssistMappingRequest(BaseModel): class AiAssistMappingResponse (line 61) | class AiAssistMappingResponse(BaseModel): class UploadDatasetResponse (line 75) | class UploadDatasetResponse(BaseModel): class LocalDatasetItem (line 82) | class LocalDatasetItem(BaseModel): class Metadata (line 83) | class Metadata(BaseModel): class LocalDatasetsResponse (line 98) | class LocalDatasetsResponse(BaseModel): FILE: studio/backend/models/export.py class LoadCheckpointRequest (line 12) | class LoadCheckpointRequest(BaseModel): class ExportStatusResponse (line 32) | class ExportStatusResponse(BaseModel): class ExportOperationResponse (line 49) | class ExportOperationResponse(BaseModel): class ExportCommonOptions (line 60) | class ExportCommonOptions(BaseModel): class ExportMergedModelRequest (line 89) | class ExportMergedModelRequest(ExportCommonOptions): class ExportBaseModelRequest (line 98) | class ExportBaseModelRequest(ExportCommonOptions): class ExportGGUFRequest (line 104) | class ExportGGUFRequest(BaseModel): class ExportLoRAAdapterRequest (line 129) | class ExportLoRAAdapterRequest(ExportCommonOptions): FILE: studio/backend/models/inference.py class LoadRequest (line 17) | class LoadRequest(BaseModel): class UnloadRequest (line 46) | class UnloadRequest(BaseModel): class ValidateModelRequest (line 52) | class ValidateModelRequest(BaseModel): class ValidateModelResponse (line 69) | class ValidateModelResponse(BaseModel): class GenerateRequest (line 88) | class GenerateRequest(BaseModel): class LoadResponse (line 108) | class LoadResponse(BaseModel): class UnloadResponse (line 150) | class UnloadResponse(BaseModel): class InferenceStatusResponse (line 157) | class InferenceStatusResponse(BaseModel): class TextContentPart (line 209) | class TextContentPart(BaseModel): class ImageUrl (line 216) | class ImageUrl(BaseModel): class ImageContentPart (line 223) | class ImageContentPart(BaseModel): function _content_part_discriminator (line 230) | def _content_part_discriminator(v): class ChatMessage (line 249) | class ChatMessage(BaseModel): class ChatCompletionRequest (line 265) | class ChatCompletionRequest(BaseModel): class ChoiceDelta (line 344) | class ChoiceDelta(BaseModel): class ChunkChoice (line 351) | class ChunkChoice(BaseModel): class ChatCompletionChunk (line 359) | class ChatCompletionChunk(BaseModel): class CompletionMessage (line 372) | class CompletionMessage(BaseModel): class CompletionChoice (line 379) | class CompletionChoice(BaseModel): class CompletionUsage (line 387) | class CompletionUsage(BaseModel): class ChatCompletion (line 395) | class ChatCompletion(BaseModel): FILE: studio/backend/models/models.py class CheckpointInfo (line 14) | class CheckpointInfo(BaseModel): class ModelCheckpoints (line 24) | class ModelCheckpoints(BaseModel): class CheckpointListResponse (line 46) | class CheckpointListResponse(BaseModel): class ModelDetails (line 56) | class ModelDetails(BaseModel): class LoRAInfo (line 96) | class LoRAInfo(BaseModel): class LoRAScanResponse (line 110) | class LoRAScanResponse(BaseModel): class ModelListResponse (line 119) | class ModelListResponse(BaseModel): class GgufVariantDetail (line 130) | class GgufVariantDetail(BaseModel): class GgufVariantsResponse (line 143) | class GgufVariantsResponse(BaseModel): class LocalModelInfo (line 158) | class LocalModelInfo(BaseModel): class LocalModelListResponse (line 178) | class LocalModelListResponse(BaseModel): FILE: studio/backend/models/responses.py class TrainingStopResponse (line 16) | class TrainingStopResponse(BaseModel): class TrainingMetricsResponse (line 23) | class TrainingMetricsResponse(BaseModel): class LoRABaseModelResponse (line 47) | class LoRABaseModelResponse(BaseModel): class VisionCheckResponse (line 54) | class VisionCheckResponse(BaseModel): class EmbeddingCheckResponse (line 61) | class EmbeddingCheckResponse(BaseModel): FILE: studio/backend/models/training.py class TrainingStartRequest (line 12) | class TrainingStartRequest(BaseModel): method _compat_split (line 58) | def _compat_split(cls, values: Any) -> Any: class TrainingJobResponse (line 132) | class TrainingJobResponse(BaseModel): class TrainingStatus (line 141) | class TrainingStatus(BaseModel): class TrainingProgress (line 174) | class TrainingProgress(BaseModel): FILE: studio/backend/models/users.py class Token (line 12) | class Token(BaseModel): FILE: studio/backend/plugins/data-designer-unstructured-seed/src/data_designer_unstructured_seed/chunking.py function resolve_chunking (line 20) | def resolve_chunking( function build_unstructured_preview_rows (line 31) | def build_unstructured_preview_rows( function materialize_unstructured_seed_dataset (line 62) | def materialize_unstructured_seed_dataset( function load_unstructured_text_file (line 106) | def load_unstructured_text_file(path: Path) -> str: function normalize_unstructured_text (line 115) | def normalize_unstructured_text(text: str) -> str: function split_text_into_chunks (line 120) | def split_text_into_chunks( function _find_break_index (line 160) | def _find_break_index(window: str, min_index: int) -> int | None: function _to_int (line 169) | def _to_int(value: Any, fallback: int) -> int: function _compute_cache_key (line 179) | def _compute_cache_key( FILE: studio/backend/plugins/data-designer-unstructured-seed/src/data_designer_unstructured_seed/config.py class UnstructuredSeedSource (line 16) | class UnstructuredSeedSource(SeedSource): method _validate_path (line 24) | def _validate_path(cls, value: str) -> str: method _validate_chunk_size (line 32) | def _validate_chunk_size(cls, value: int) -> int: method _validate_chunk_overlap (line 38) | def _validate_chunk_overlap(cls, value: int, info) -> int: FILE: studio/backend/plugins/data-designer-unstructured-seed/src/data_designer_unstructured_seed/impl.py class UnstructuredSeedReader (line 15) | class UnstructuredSeedReader(SeedReader[UnstructuredSeedSource]): method create_duckdb_connection (line 16) | def create_duckdb_connection(self): method get_dataset_uri (line 19) | def get_dataset_uri(self) -> str: FILE: studio/backend/requirements/single-env/patch_metadata.py function metadata_path (line 39) | def metadata_path(dist_name: str) -> Path | None: function patch_file (line 51) | def patch_file(path: Path) -> bool: function main (line 62) | def main() -> int: FILE: studio/backend/routes/auth.py function auth_status (line 30) | async def auth_status() -> AuthStatusResponse: function login (line 49) | async def login(payload: AuthLoginRequest) -> Token: function refresh (line 78) | async def refresh(payload: RefreshTokenRequest) -> Token: function change_password (line 100) | async def change_password( FILE: studio/backend/routes/data_recipe/jobs.py function _normalize_run_name (line 29) | def _normalize_run_name(value: Any) -> str | None: function create_job (line 43) | def create_job(payload: RecipePayload): function job_status (line 82) | def job_status(job_id: str): function current_job (line 91) | def current_job(): function cancel_job (line 100) | def cancel_job(job_id: str): function job_analysis (line 109) | def job_analysis(job_id: str): function job_dataset (line 118) | def job_dataset( function publish_job_dataset (line 142) | def publish_job_dataset(job_id: str, payload: PublishDatasetRequest): function job_events (line 199) | async def job_events(request: Request, job_id: str): FILE: studio/backend/routes/data_recipe/mcp.py function list_mcp_tools (line 23) | def list_mcp_tools(payload: McpToolsListRequest) -> McpToolsListResponse: FILE: studio/backend/routes/data_recipe/seed.py function _serialize_preview_value (line 38) | def _serialize_preview_value(value: Any) -> Any: function _serialize_preview_rows (line 42) | def _serialize_preview_rows(rows: list[dict[str, Any]]) -> list[dict[str... function _normalize_optional_text (line 49) | def _normalize_optional_text(value: str | None) -> str | None: function _list_hf_data_files (line 56) | def _list_hf_data_files(*, dataset_name: str, token: str | None) -> list... function _select_best_file (line 70) | def _select_best_file(data_files: list[str], split: str = DEFAULT_SPLIT)... function _resolve_seed_hf_path (line 92) | def _resolve_seed_hf_path( function _build_stream_load_kwargs (line 109) | def _build_stream_load_kwargs( function _load_preview_rows (line 132) | def _load_preview_rows( function _extract_columns (line 142) | def _extract_columns(rows: list[dict[str, Any]]) -> list[str]: function _sanitize_filename (line 150) | def _sanitize_filename(filename: str) -> str: function _decode_base64_payload (line 157) | def _decode_base64_payload(content_base64: str) -> bytes: function _read_preview_rows_from_local_file (line 167) | def _read_preview_rows_from_local_file( function _read_preview_rows_from_unstructured_file (line 201) | def _read_preview_rows_from_unstructured_file( function inspect_seed_dataset (line 224) | def inspect_seed_dataset(payload: SeedInspectRequest) -> SeedInspectResp... function inspect_seed_upload (line 310) | def inspect_seed_upload(payload: SeedInspectUploadRequest) -> SeedInspec... FILE: studio/backend/routes/data_recipe/validate.py function _collect_validation_errors (line 22) | def _collect_validation_errors(recipe: dict[str, Any]) -> list[ValidateE... function validate (line 72) | def validate(payload: RecipePayload) -> ValidateResponse: FILE: studio/backend/routes/datasets.py function _serialize_preview_value (line 48) | def _serialize_preview_value(value): function _serialize_preview_rows (line 78) | def _serialize_preview_rows(rows): function _safe_read_metadata (line 100) | def _safe_read_metadata(path: Path) -> dict | None: function _safe_read_rows_from_metadata (line 110) | def _safe_read_rows_from_metadata(payload: dict | None) -> int | None: function _safe_read_metadata_summary (line 120) | def _safe_read_metadata_summary(payload: dict | None) -> dict | None: function _build_local_dataset_items (line 176) | def _build_local_dataset_items() -> list[LocalDatasetItem]: function _load_local_preview_slice (line 216) | def _load_local_preview_slice( function _sanitize_filename (line 266) | def _sanitize_filename(filename: str) -> str: function upload_dataset (line 274) | async def upload_dataset( function list_local_datasets (line 305) | def list_local_datasets( function check_format (line 312) | def check_format( function ai_assist_mapping (line 505) | def ai_assist_mapping( FILE: studio/backend/routes/export.py function load_checkpoint (line 47) | async def load_checkpoint( function cleanup_export_memory (line 122) | async def cleanup_export_memory( function get_export_status (line 155) | async def get_export_status( function export_merged_model (line 177) | async def export_merged_model( function export_base_model (line 212) | async def export_base_model( function export_gguf (line 247) | async def export_gguf( function export_lora_adapter (line 281) | async def export_lora_adapter( FILE: studio/backend/routes/inference.py function get_llama_cpp_backend (line 76) | def get_llama_cpp_backend() -> LlamaCppBackend: function load_model (line 81) | async def load_model( function validate_model (line 413) | async def validate_model( function unload_model (line 460) | async def unload_model( function generate_stream (line 491) | async def generate_stream( function get_status (line 565) | async def get_status( function generate_audio (line 636) | async def generate_audio( function _decode_audio_base64 (line 728) | def _decode_audio_base64(b64: str) -> np.ndarray: function _extract_content_parts (line 763) | def _extract_content_parts( function openai_chat_completions (line 819) | async def openai_chat_completions( function openai_list_models (line 1483) | async def openai_list_models( FILE: studio/backend/routes/models.py function _is_valid_repo_id (line 21) | def _is_valid_repo_id(repo_id: str) -> bool: function derive_model_type (line 108) | def derive_model_type( function _resolve_hf_cache_dir (line 121) | def _resolve_hf_cache_dir() -> Path: function _scan_models_dir (line 131) | def _scan_models_dir(models_dir: Path) -> List[LocalModelInfo]: function _scan_hf_cache (line 181) | def _scan_hf_cache(cache_dir: Path) -> List[LocalModelInfo]: function list_local_models (line 214) | async def list_local_models( function list_models (line 276) | async def list_models( function _get_max_position_embeddings (line 351) | def _get_max_position_embeddings(config) -> Optional[int]: function _get_model_size_bytes (line 362) | def _get_model_size_bytes( function get_model_config (line 390) | async def get_model_config( function scan_loras (line 469) | async def scan_loras( function get_lora_base_model (line 525) | async def get_lora_base_model( function check_vision_model (line 558) | async def check_vision_model( function check_embedding_model (line 585) | async def check_embedding_model( function get_gguf_variants (line 615) | async def get_gguf_variants( function get_gguf_download_progress (line 701) | async def get_gguf_download_progress( function get_download_progress (line 761) | async def get_download_progress( function _get_repo_size_cached (line 834) | def _get_repo_size_cached(repo_id: str) -> int: function list_cached_gguf (line 850) | async def list_cached_gguf( function list_cached_models (line 897) | async def list_cached_models( function delete_cached_model (line 946) | async def delete_cached_model( function list_checkpoints (line 1069) | async def list_checkpoints( FILE: studio/backend/routes/training.py class TrainingStopRequest (line 51) | class TrainingStopRequest(PydanticBaseModel): function _validate_local_dataset_paths (line 59) | def _validate_local_dataset_paths( function get_hardware_utilization (line 83) | async def get_hardware_utilization( function start_training (line 99) | async def start_training( function stop_training (line 278) | async def stop_training( function reset_training (line 314) | async def reset_training( function get_training_status (line 369) | async def get_training_status( function get_training_metrics (line 458) | async def get_training_metrics( function stream_training_progress (line 498) | async def stream_training_progress( FILE: studio/backend/run.py function _resolve_external_ip (line 27) | def _resolve_external_ip() -> str: function _is_port_free (line 72) | def _is_port_free(host: str, port: int) -> bool: function _find_free_port (line 85) | def _find_free_port(host: str, start: int, max_attempts: int = 20) -> int: function _graceful_shutdown (line 96) | def _graceful_shutdown(server = None): function run_server (line 156) | def run_server( function _signal_handler (line 267) | def _signal_handler(signum, frame): FILE: studio/backend/tests/test_data_recipe_seed.py function test_seed_inspect_load_kwargs_disables_remote_code_execution (line 7) | def test_seed_inspect_load_kwargs_disables_remote_code_execution(): FILE: studio/backend/tests/test_utils.py function _actual_device (line 59) | def _actual_device() -> str: function _reset_and_detect (line 68) | def _reset_and_detect(): class TestGetDevice (line 77) | class TestGetDevice: method setup_method (line 80) | def setup_method(self): method teardown_method (line 83) | def teardown_method(self): method test_returns_valid_device_type (line 86) | def test_returns_valid_device_type(self): method test_matches_actual_hardware (line 90) | def test_matches_actual_hardware(self): method test_returns_cuda_when_cuda_available (line 96) | def test_returns_cuda_when_cuda_available(self): method test_returns_mlx_when_on_apple_silicon_with_mlx (line 104) | def test_returns_mlx_when_on_apple_silicon_with_mlx(self): method test_returns_cpu_when_nothing_available (line 112) | def test_returns_cpu_when_nothing_available(self): class TestIsAppleSilicon (line 124) | class TestIsAppleSilicon: method test_returns_bool (line 125) | def test_returns_bool(self): method test_true_on_darwin_arm64 (line 128) | def test_true_on_darwin_arm64(self): method test_false_on_linux_x86 (line 134) | def test_false_on_linux_x86(self): method test_false_on_darwin_x86 (line 140) | def test_false_on_darwin_x86(self): class TestClearGpuCache (line 151) | class TestClearGpuCache: method test_does_not_raise (line 154) | def test_does_not_raise(self): method test_calls_cuda_cache_when_cuda (line 158) | def test_calls_cuda_cache_when_cuda(self): method test_mlx_does_not_raise (line 169) | def test_mlx_does_not_raise(self): method test_noop_on_cpu (line 174) | def test_noop_on_cpu(self): class TestGetGpuMemoryInfo (line 182) | class TestGetGpuMemoryInfo: method test_returns_dict (line 183) | def test_returns_dict(self): method test_has_available_key (line 187) | def test_has_available_key(self): method test_has_backend_key (line 190) | def test_has_backend_key(self): method test_backend_matches_device (line 193) | def test_backend_matches_device(self): method test_gpu_available_fields (line 202) | def test_gpu_available_fields(self): method test_cuda_path_returns_correct_fields (line 214) | def test_cuda_path_returns_correct_fields(self): method test_mlx_path_returns_correct_fields (line 239) | def test_mlx_path_returns_correct_fields(self): method test_cpu_path_returns_unavailable (line 259) | def test_cpu_path_returns_unavailable(self): method test_cuda_error_returns_unavailable (line 268) | def test_cuda_error_returns_unavailable(self): class TestLogGpuMemory (line 284) | class TestLogGpuMemory: method test_does_not_raise (line 285) | def test_does_not_raise(self): method test_logs_gpu_info_when_available (line 288) | def test_logs_gpu_info_when_available(self, caplog): method test_logs_cpu_fallback_when_no_gpu (line 313) | def test_logs_cpu_fallback_when_no_gpu(self, caplog): class TestFormatErrorMessage (line 332) | class TestFormatErrorMessage: method test_not_found (line 333) | def test_not_found(self): method test_unauthorized (line 339) | def test_unauthorized(self): method test_gated_model (line 344) | def test_gated_model(self): method test_invalid_token (line 349) | def test_invalid_token(self): method test_cuda_oom (line 357) | def test_cuda_oom(self): method test_mlx_oom (line 368) | def test_mlx_oom(self): method test_cpu_oom (line 376) | def test_cpu_oom(self): method test_generic_error (line 384) | def test_generic_error(self): FILE: studio/backend/utils/cache_cleanup.py function clear_unsloth_compiled_cache (line 30) | def clear_unsloth_compiled_cache() -> None: FILE: studio/backend/utils/datasets/chat_templates.py function get_tokenizer_chat_template (line 33) | def get_tokenizer_chat_template(tokenizer, model_name): function get_dataset_info_summary (line 92) | def get_dataset_info_summary(dataset_info): function apply_chat_template_to_dataset (line 119) | def apply_chat_template_to_dataset( FILE: studio/backend/utils/datasets/data_collators.py class DataCollatorSpeechSeq2SeqWithPadding (line 20) | class DataCollatorSpeechSeq2SeqWithPadding: method __call__ (line 31) | def __call__(self, features: List[dict]) -> dict: class DeepSeekOCRDataCollator (line 54) | class DeepSeekOCRDataCollator: method __call__ (line 68) | def __call__(self, batch: List[dict]) -> dict: class VLMDataCollator (line 135) | class VLMDataCollator: method __call__ (line 150) | def __call__(self, batch: List[dict]) -> dict: FILE: studio/backend/utils/datasets/dataset_utils.py function check_dataset_format (line 52) | def check_dataset_format(dataset, is_vlm: bool = False) -> dict: function _apply_user_mapping (line 204) | def _apply_user_mapping(dataset, mapping: dict, batch_size: int = 1000): function _extract_column_value (line 258) | def _extract_column_value(val, col: str, label_mapping: dict) -> str: function _apply_template_mapping (line 280) | def _apply_template_mapping( function _apply_user_mapping_alpaca (line 353) | def _apply_user_mapping_alpaca(dataset, mapping: dict, batch_size: int =... function format_dataset (line 400) | def format_dataset( function format_and_template_dataset (line 811) | def format_and_template_dataset( FILE: studio/backend/utils/datasets/format_conversion.py function standardize_chat_format (line 19) | def standardize_chat_format( function convert_chatml_to_alpaca (line 143) | def convert_chatml_to_alpaca(dataset, batch_size = 1000, num_proc = None): function convert_alpaca_to_chatml (line 213) | def convert_alpaca_to_chatml(dataset, batch_size = 1000, num_proc = None): function _format_eta (line 263) | def _format_eta(seconds): function convert_to_vlm_format (line 276) | def convert_to_vlm_format( function convert_sharegpt_with_images_to_vlm_format (line 651) | def convert_sharegpt_with_images_to_vlm_format( function convert_llava_to_vlm_format (line 827) | def convert_llava_to_vlm_format(dataset): FILE: studio/backend/utils/datasets/format_detection.py function _keyword_in_column (line 14) | def _keyword_in_column(keyword: str, col_name: str) -> bool: function detect_dataset_format (line 22) | def detect_dataset_format(dataset): function detect_custom_format_heuristic (line 109) | def detect_custom_format_heuristic(dataset): function detect_multimodal_dataset (line 386) | def detect_multimodal_dataset(dataset): function _is_image_value (line 513) | def _is_image_value(value) -> bool: function _is_audio_value (line 575) | def _is_audio_value(value) -> bool: function _has_image_header (line 595) | def _has_image_header(data: bytes) -> bool: function detect_vlm_dataset_structure (line 617) | def detect_vlm_dataset_structure(dataset): FILE: studio/backend/utils/datasets/llm_assist.py function _strip_think_tags (line 35) | def _strip_think_tags(text: str) -> str: function precache_helper_gguf (line 59) | def precache_helper_gguf(): function _run_with_helper (line 112) | def _run_with_helper(prompt: str, max_tokens: int = 256) -> Optional[str]: function llm_generate_vlm_instruction (line 182) | def llm_generate_vlm_instruction( function llm_classify_columns (line 241) | def llm_classify_columns( function llm_generate_dataset_warning (line 334) | def llm_generate_dataset_warning( function _parse_json_response (line 387) | def _parse_json_response(text: str) -> Optional[dict]: function _generate_with_backend (line 421) | def _generate_with_backend(backend, messages: list[dict], max_tokens: in... function fetch_hf_dataset_card (line 440) | def fetch_hf_dataset_card( function _run_multi_pass_advisor (line 489) | def _run_multi_pass_advisor( function llm_conversion_advisor (line 850) | def llm_conversion_advisor( FILE: studio/backend/utils/datasets/vlm_processing.py function generate_smart_vlm_instruction (line 15) | def generate_smart_vlm_instruction( FILE: studio/backend/utils/hardware/hardware.py class DeviceType (line 31) | class DeviceType(str, Enum): function is_apple_silicon (line 48) | def is_apple_silicon() -> bool: function _has_torch (line 53) | def _has_torch() -> bool: function _has_mlx (line 63) | def _has_mlx() -> bool: function detect_hardware (line 73) | def detect_hardware() -> DeviceType: function get_device (line 115) | def get_device() -> DeviceType: function clear_gpu_cache (line 126) | def clear_gpu_cache(): function get_gpu_memory_info (line 149) | def get_gpu_memory_info() -> Dict[str, Any]: function log_gpu_memory (line 213) | def log_gpu_memory(context: str): function get_gpu_summary (line 233) | def get_gpu_summary() -> Dict[str, Any]: function get_package_versions (line 251) | def get_package_versions() -> Dict[str, Optional[str]]: function get_gpu_utilization (line 286) | def get_gpu_utilization() -> Dict[str, Any]: function get_physical_gpu_count (line 420) | def get_physical_gpu_count() -> int: function get_visible_gpu_count (line 451) | def get_visible_gpu_count() -> int: function safe_num_proc (line 486) | def safe_num_proc(desired: Optional[int] = None) -> int: FILE: studio/backend/utils/inference/inference_config.py function _load_family_defaults (line 29) | def _load_family_defaults(): function get_family_inference_params (line 52) | def get_family_inference_params(model_id: str) -> Dict[str, Any]: function _has_specific_yaml (line 85) | def _has_specific_yaml(model_identifier: str) -> bool: function load_inference_config (line 105) | def load_inference_config(model_identifier: str) -> Dict[str, Any]: FILE: studio/backend/utils/models/checkpoints.py function _read_checkpoint_loss (line 18) | def _read_checkpoint_loss(checkpoint_path: Path) -> Optional[float]: function scan_checkpoints (line 38) | def scan_checkpoints( FILE: studio/backend/utils/models/model_config.py function load_model_config (line 385) | def load_model_config( function _is_vision_model_subprocess (line 484) | def _is_vision_model_subprocess( function is_vision_model (line 548) | def is_vision_model(model_name: str, hf_token: Optional[str] = None) -> ... function detect_audio_type (line 642) | def detect_audio_type(model_name: str, hf_token: Optional[str] = None) -... function _detect_audio_from_tokenizer (line 662) | def _detect_audio_from_tokenizer( function is_audio_input_type (line 736) | def is_audio_input_type(audio_type: Optional[str]) -> bool: function _is_mmproj (line 744) | def _is_mmproj(filename: str) -> bool: function detect_mmproj_file (line 749) | def detect_mmproj_file(path: str) -> Optional[str]: function detect_gguf_model (line 770) | def detect_gguf_model(path: str) -> Optional[str]: function _pick_best_gguf (line 853) | def _pick_best_gguf(filenames: list[str]) -> Optional[str]: class GgufVariantInfo (line 875) | class GgufVariantInfo: function _extract_quant_label (line 883) | def _extract_quant_label(filename: str) -> str: function list_gguf_variants (line 921) | def list_gguf_variants( function detect_gguf_model_remote (line 976) | def detect_gguf_model_remote( function download_gguf_file (line 996) | def download_gguf_file( function is_embedding_model (line 1020) | def is_embedding_model(model_name: str, hf_token: Optional[str] = None) ... function scan_trained_loras (line 1080) | def scan_trained_loras(outputs_dir: str = str(outputs_root())) -> List[T... function scan_exported_models (line 1126) | def scan_exported_models( function get_base_model_from_lora (line 1252) | def get_base_model_from_lora(lora_path: str) -> Optional[str]: function load_model_defaults (line 1323) | def load_model_defaults(model_name: str) -> Dict[str, Any]: class ModelConfig (line 1403) | class ModelConfig: method from_lora_path (line 1430) | def from_lora_path( method from_identifier (line 1486) | def from_identifier( method from_ui_selection (line 1699) | def from_ui_selection( FILE: studio/backend/utils/paths/path_utils.py function normalize_path (line 17) | def normalize_path(path: str) -> str: function is_local_path (line 38) | def is_local_path(path: str) -> bool: function get_cache_path (line 69) | def get_cache_path(model_name: str) -> Optional[Path]: function is_model_cached (line 78) | def is_model_cached(model_name: str) -> bool: FILE: studio/backend/utils/paths/storage_roots.py function studio_root (line 11) | def studio_root() -> Path: function cache_root (line 15) | def cache_root() -> Path: function assets_root (line 20) | def assets_root() -> Path: function datasets_root (line 24) | def datasets_root() -> Path: function dataset_uploads_root (line 28) | def dataset_uploads_root() -> Path: function recipe_datasets_root (line 32) | def recipe_datasets_root() -> Path: function outputs_root (line 36) | def outputs_root() -> Path: function exports_root (line 40) | def exports_root() -> Path: function auth_root (line 44) | def auth_root() -> Path: function auth_db_path (line 48) | def auth_db_path() -> Path: function tmp_root (line 52) | def tmp_root() -> Path: function seed_uploads_root (line 56) | def seed_uploads_root() -> Path: function unstructured_seed_cache_root (line 60) | def unstructured_seed_cache_root() -> Path: function oxc_validator_tmp_root (line 64) | def oxc_validator_tmp_root() -> Path: function tensorboard_root (line 68) | def tensorboard_root() -> Path: function ensure_dir (line 72) | def ensure_dir(path: Path) -> Path: function _setup_cache_env (line 77) | def _setup_cache_env() -> None: function ensure_studio_directories (line 99) | def ensure_studio_directories() -> None: function _clean_relative_path (line 116) | def _clean_relative_path( function resolve_under_root (line 126) | def resolve_under_root( function resolve_output_dir (line 143) | def resolve_output_dir(path_value: str | None = None) -> Path: function resolve_export_dir (line 151) | def resolve_export_dir(path_value: str | None = None) -> Path: function resolve_tensorboard_dir (line 159) | def resolve_tensorboard_dir(path_value: str | None = None) -> Path: function resolve_dataset_path (line 167) | def resolve_dataset_path(path_value: str) -> Path: FILE: studio/backend/utils/transformers_version.py function _resolve_base_model (line 68) | def _resolve_base_model(model_name: str) -> str: function _check_tokenizer_config_needs_v5 (line 119) | def _check_tokenizer_config_needs_v5(model_name: str) -> bool: function needs_transformers_5 (line 154) | def needs_transformers_5(model_name: str) -> bool: function _get_in_memory_version (line 173) | def _get_in_memory_version() -> str | None: function _purge_modules (line 204) | def _purge_modules() -> int: function _venv_t5_is_valid (line 228) | def _venv_t5_is_valid() -> bool: function _install_to_venv_t5 (line 273) | def _install_to_venv_t5(pkg: str) -> bool: function _ensure_venv_t5_exists (line 321) | def _ensure_venv_t5_exists() -> bool: function _activate_5x (line 338) | def _activate_5x() -> None: function _deactivate_5x (line 357) | def _deactivate_5x() -> None: function ensure_transformers_version (line 371) | def ensure_transformers_version(model_name: str) -> None: FILE: studio/backend/utils/utils.py function without_hf_auth (line 21) | def without_hf_auth(): function format_error_message (line 77) | def format_error_message(error: Exception, model_name: str) -> str: FILE: studio/frontend/src/app/app.tsx function App (line 7) | function App() { FILE: studio/frontend/src/app/auth-guards.ts function hasActiveSession (line 13) | async function hasActiveSession(): Promise { function checkAuthInitialized (line 19) | async function checkAuthInitialized(): Promise { function checkPasswordChangeRequired (line 30) | async function checkPasswordChangeRequired(): Promise { function requireAuth (line 41) | async function requireAuth(): Promise { function requireGuest (line 54) | async function requireGuest(): Promise { function requirePasswordChangeFlow (line 59) | async function requirePasswordChangeFlow(): Promise { FILE: studio/frontend/src/app/provider.tsx type AppProviderProps (line 8) | interface AppProviderProps { function AppProvider (line 12) | function AppProvider({ children }: AppProviderProps) { FILE: studio/frontend/src/app/router.tsx type Register (line 33) | interface Register { FILE: studio/frontend/src/app/routes/__root.tsx constant CHAT_ONLY_ALLOWED (line 16) | const CHAT_ONLY_ALLOWED = new Set(["/", "/chat", "/login", "/signup", "/... function isChatOnlyAllowed (line 18) | function isChatOnlyAllowed(pathname: string): boolean { constant HIDDEN_NAVBAR_ROUTES (line 34) | const HIDDEN_NAVBAR_ROUTES = ["/onboarding", "/login", "/change-password"]; function RootLayout (line 36) | function RootLayout() { FILE: studio/frontend/src/app/routes/data-recipes.$recipeId.tsx function DataRecipeEditorRoute (line 23) | function DataRecipeEditorRoute(): ReactElement { FILE: studio/frontend/src/app/routes/grid-test.tsx function GridTestPage (line 23) | function GridTestPage() { FILE: studio/frontend/src/components/assistant-ui/attachment.tsx type AttachmentPreviewProps (line 73) | type AttachmentPreviewProps = { FILE: studio/frontend/src/components/assistant-ui/audio-player.tsx type AudioPlayerProps (line 10) | interface AudioPlayerProps { FILE: studio/frontend/src/components/assistant-ui/badge.tsx type BadgeProps (line 42) | type BadgeProps = ComponentProps<"span"> & function Badge (line 47) | function Badge({ FILE: studio/frontend/src/components/assistant-ui/markdown-text.tsx constant COPY_RESET_MS (line 20) | const COPY_RESET_MS = 2000; constant MERMAID_SOURCE_RE (line 21) | const MERMAID_SOURCE_RE = /```mermaid\s*([\s\S]*?)```/i; constant CODE_FENCE_RE (line 22) | const CODE_FENCE_RE = /^```([^\r\n`]*)\r?\n([\s\S]*?)\r?\n?```$/; constant ACTION_PANEL_CLASS (line 23) | const ACTION_PANEL_CLASS = constant ACTION_BUTTON_CLASS (line 25) | const ACTION_BUTTON_CLASS = type CodeFence (line 28) | type CodeFence = { function getMermaidSource (line 33) | function getMermaidSource(blockContent: string): string | null { function getCodeFence (line 38) | function getCodeFence(blockContent: string): CodeFence | null { function getCodeFilename (line 50) | function getCodeFilename(language: string | null) { function isSvgFence (line 80) | function isSvgFence(codeFence: CodeFence): boolean { function isHtmlFence (line 87) | function isHtmlFence(codeFence: CodeFence): boolean { constant UNSAFE_SVG_RE (line 92) | const UNSAFE_SVG_RE = /]|on\w+\s*=|javascript:|/; FILE: studio/frontend/src/components/assistant-ui/model-selector.tsx type ModelSelectorProps (line 29) | interface ModelSelectorProps { function ModelSelectorTrigger (line 47) | function ModelSelectorTrigger({ function ModelSelectorContent (line 97) | function ModelSelectorContent({ function ModelSelector (line 166) | function ModelSelector({ FILE: studio/frontend/src/components/assistant-ui/model-selector/pickers.tsx function dedupe (line 46) | function dedupe(values: string[]): string[] { function ListLabel (line 50) | function ListLabel({ children }: { children: ReactNode }) { function formatBytes (line 59) | function formatBytes(bytes: number): string { function ModelRow (line 67) | function ModelRow({ function GgufVariantExpander (line 157) | function GgufVariantExpander({ function isGgufRepo (line 363) | function isGgufRepo(id: string): boolean { function extractParamLabel (line 368) | function extractParamLabel(id: string): string | undefined { function HubModelPicker (line 381) | function HubModelPicker({ function LoraModelPicker (line 780) | function LoraModelPicker({ FILE: studio/frontend/src/components/assistant-ui/model-selector/types.ts type ModelOption (line 6) | interface ModelOption { type LoraModelOption (line 13) | interface LoraModelOption extends ModelOption { type ModelSelectorChangeMeta (line 20) | interface ModelSelectorChangeMeta { FILE: studio/frontend/src/components/assistant-ui/reasoning.tsx constant ANIMATION_DURATION (line 36) | const ANIMATION_DURATION = 200; type ReasoningRootProps (line 51) | type ReasoningRootProps = Omit< function ReasoningRoot (line 61) | function ReasoningRoot({ function ReasoningFade (line 113) | function ReasoningFade({ className, ...props }: ComponentProps<"div">) { function ReasoningFadeTop (line 127) | function ReasoningFadeTop({ className, ...props }: ComponentProps<"div">) { function ReasoningTrigger (line 141) | function ReasoningTrigger({ function ReasoningContent (line 186) | function ReasoningContent({ function ReasoningText (line 215) | function ReasoningText({ constant COPY_RESET_MS (line 267) | const COPY_RESET_MS = 2000; function ReasoningCopyButton (line 269) | function ReasoningCopyButton({ startIndex, endIndex }: { startIndex: num... FILE: studio/frontend/src/components/assistant-ui/sources.tsx function SourceIcon (line 21) | function SourceIcon({ function SourceTitle (line 56) | function SourceTitle({ className, ...props }: ComponentProps<"span">) { type SourceProps (line 66) | type SourceProps = Omit & function Source (line 71) | function Source({ FILE: studio/frontend/src/components/assistant-ui/thread.tsx function applyQwenThinkingParams (line 292) | function applyQwenThinkingParams(thinkingOn: boolean): void { constant COPY_RESET_MS (line 531) | const COPY_RESET_MS = 2000; FILE: studio/frontend/src/components/assistant-ui/tool-fallback.tsx constant ANIMATION_DURATION (line 34) | const ANIMATION_DURATION = 200; type ToolFallbackRootProps (line 36) | type ToolFallbackRootProps = Omit< function ToolFallbackRoot (line 45) | function ToolFallbackRoot({ type ToolStatus (line 95) | type ToolStatus = ToolCallMessagePartStatus["type"]; function ToolFallbackTrigger (line 104) | function ToolFallbackTrigger({ function ToolFallbackContent (line 189) | function ToolFallbackContent({ function ToolFallbackArgs (line 215) | function ToolFallbackArgs({ function ToolFallbackResult (line 239) | function ToolFallbackResult({ function ToolFallbackError (line 267) | function ToolFallbackError({ FILE: studio/frontend/src/components/assistant-ui/tool-group.tsx constant ANIMATION_DURATION (line 21) | const ANIMATION_DURATION = 200; type ToolGroupRootProps (line 34) | type ToolGroupRootProps = Omit< function ToolGroupRoot (line 44) | function ToolGroupRoot({ function ToolGroupTrigger (line 97) | function ToolGroupTrigger({ function ToolGroupContent (line 157) | function ToolGroupContent({ type ToolGroupComponent (line 191) | type ToolGroupComponent = FC< FILE: studio/frontend/src/components/assistant-ui/tool-ui-python.tsx constant MAX_DISPLAY (line 18) | const MAX_DISPLAY = 10_000; constant COPY_RESET_MS (line 19) | const COPY_RESET_MS = 2000; constant SHIKI_THEME (line 20) | const SHIKI_THEME = ["github-light", "github-dark"] as ["github-light", ... function truncate (line 22) | function truncate(text: string): string { function CopyBtn (line 28) | function CopyBtn({ text }: { text: string }) { function HighlightedCode (line 59) | function HighlightedCode({ code: source, language }: { code: string; lan... FILE: studio/frontend/src/components/assistant-ui/tool-ui-terminal.tsx constant MAX_DISPLAY (line 16) | const MAX_DISPLAY = 10_000; constant COPY_RESET_MS (line 17) | const COPY_RESET_MS = 2000; function truncate (line 19) | function truncate(text: string): string { function CopyBtn (line 25) | function CopyBtn({ text }: { text: string }) { FILE: studio/frontend/src/components/assistant-ui/tool-ui-web-search.tsx type ParsedSource (line 16) | interface ParsedSource { constant RE_BLOCK_SEP (line 22) | const RE_BLOCK_SEP = /\n---\n/; constant RE_TITLE (line 23) | const RE_TITLE = /Title:\s*(.+)/; constant RE_URL (line 24) | const RE_URL = /URL:\s*(.+)/; constant RE_SNIPPET (line 25) | const RE_SNIPPET = /Snippet:\s*(.+)/s; function parseSearchResults (line 28) | function parseSearchResults(raw: string): ParsedSource[] { FILE: studio/frontend/src/components/assistant-ui/tooltip-icon-button.tsx type TooltipIconButtonProps (line 17) | type TooltipIconButtonProps = ComponentPropsWithRef & { FILE: studio/frontend/src/components/example.tsx function ExampleWrapper (line 7) | function ExampleWrapper({ className, ...props }: ComponentProps<"div">) { function Example (line 22) | function Example({ FILE: studio/frontend/src/components/layout/dashboard-grid.tsx function DashboardGrid (line 13) | function DashboardGrid({ FILE: studio/frontend/src/components/layout/dashboard-layout.tsx function DashboardLayout (line 8) | function DashboardLayout({ FILE: studio/frontend/src/components/markdown/markdown-preview.tsx constant MARKDOWN_PLUGINS (line 12) | const MARKDOWN_PLUGINS = { code, math, mermaid } as const; type MarkdownPreviewProps (line 14) | type MarkdownPreviewProps = { function MarkdownPreviewImpl (line 20) | function MarkdownPreviewImpl({ FILE: studio/frontend/src/components/markdown/mermaid-error.tsx function hasSlashComment (line 6) | function hasSlashComment(chart: string): boolean { function MermaidError (line 10) | function MermaidError({ FILE: studio/frontend/src/components/navbar.tsx constant NAV_ITEMS (line 35) | const NAV_ITEMS = [ function getTourId (line 42) | function getTourId(pathname: string): "studio" | "chat" | "export" | null { function Navbar (line 49) | function Navbar() { FILE: studio/frontend/src/components/section-card.tsx type SectionCardProps (line 7) | interface SectionCardProps { function SectionCard (line 42) | function SectionCard({ FILE: studio/frontend/src/components/ui/accordion.tsx function Accordion (line 13) | function Accordion({ function AccordionItem (line 29) | function AccordionItem({ function AccordionTrigger (line 42) | function AccordionTrigger({ function AccordionContent (line 75) | function AccordionContent({ FILE: studio/frontend/src/components/ui/alert-dialog.tsx function AlertDialog (line 10) | function AlertDialog({ function AlertDialogTrigger (line 16) | function AlertDialogTrigger({ function AlertDialogPortal (line 24) | function AlertDialogPortal({ function AlertDialogOverlay (line 32) | function AlertDialogOverlay({ function AlertDialogContent (line 48) | function AlertDialogContent({ function AlertDialogHeader (line 73) | function AlertDialogHeader({ function AlertDialogFooter (line 89) | function AlertDialogFooter({ function AlertDialogMedia (line 105) | function AlertDialogMedia({ function AlertDialogTitle (line 121) | function AlertDialogTitle({ function AlertDialogDescription (line 137) | function AlertDialogDescription({ function AlertDialogAction (line 153) | function AlertDialogAction({ function AlertDialogCancel (line 171) | function AlertDialogCancel({ FILE: studio/frontend/src/components/ui/alert.tsx function Alert (line 25) | function Alert({ function AlertTitle (line 40) | function AlertTitle({ className, ...props }: React.ComponentProps<"div">) { function AlertDescription (line 53) | function AlertDescription({ function AlertAction (line 69) | function AlertAction({ className, ...props }: React.ComponentProps<"div"... FILE: studio/frontend/src/components/ui/animated-shiny-text.tsx type AnimatedShinyTextProps (line 8) | interface AnimatedShinyTextProps extends ComponentPropsWithoutRef<"span"> { FILE: studio/frontend/src/components/ui/animated-theme-toggler.tsx type AnimatedThemeTogglerProps (line 10) | interface AnimatedThemeTogglerProps extends React.ComponentPropsWithoutR... FILE: studio/frontend/src/components/ui/aspect-ratio.tsx function AspectRatio (line 6) | function AspectRatio({ FILE: studio/frontend/src/components/ui/avatar.tsx function Avatar (line 9) | function Avatar({ function AvatarImage (line 29) | function AvatarImage({ function AvatarFallback (line 45) | function AvatarFallback({ function AvatarBadge (line 61) | function AvatarBadge({ className, ...props }: React.ComponentProps<"span... function AvatarGroup (line 77) | function AvatarGroup({ className, ...props }: React.ComponentProps<"div"... function AvatarGroupCount (line 90) | function AvatarGroupCount({ FILE: studio/frontend/src/components/ui/badge.tsx function Badge (line 35) | function Badge({ FILE: studio/frontend/src/components/ui/breadcrumb.tsx function Breadcrumb (line 14) | function Breadcrumb({ className, ...props }: React.ComponentProps<"nav">) { function BreadcrumbList (line 25) | function BreadcrumbList({ className, ...props }: React.ComponentProps<"o... function BreadcrumbItem (line 38) | function BreadcrumbItem({ className, ...props }: React.ComponentProps<"l... function BreadcrumbLink (line 48) | function BreadcrumbLink({ function BreadcrumbPage (line 66) | function BreadcrumbPage({ className, ...props }: React.ComponentProps<"s... function BreadcrumbSeparator (line 79) | function BreadcrumbSeparator({ function BreadcrumbEllipsis (line 97) | function BreadcrumbEllipsis({ FILE: studio/frontend/src/components/ui/button.tsx function Button (line 48) | function Button({ FILE: studio/frontend/src/components/ui/calendar.tsx function Calendar (line 20) | function Calendar({ function CalendarDayButton (line 199) | function CalendarDayButton({ FILE: studio/frontend/src/components/ui/card.tsx function Card (line 8) | function Card({ function CardHeader (line 26) | function CardHeader({ className, ...props }: React.ComponentProps<"div">) { function CardTitle (line 39) | function CardTitle({ className, ...props }: React.ComponentProps<"div">) { function CardDescription (line 49) | function CardDescription({ className, ...props }: React.ComponentProps<"... function CardAction (line 59) | function CardAction({ className, ...props }: React.ComponentProps<"div">) { function CardContent (line 72) | function CardContent({ className, ...props }: React.ComponentProps<"div"... function CardFooter (line 82) | function CardFooter({ className, ...props }: React.ComponentProps<"div">) { FILE: studio/frontend/src/components/ui/chart.tsx constant THEMES (line 10) | const THEMES = { light: "", dark: ".dark" } as const; type ChartConfig (line 12) | type ChartConfig = { type ChartContextProps (line 22) | type ChartContextProps = { function useChart (line 28) | function useChart() { function ChartContainer (line 38) | function ChartContainer({ function ChartTooltipContent (line 180) | function ChartTooltipContent({ function ChartLegendContent (line 347) | function ChartLegendContent({ function getPayloadConfigFromPayload (line 403) | function getPayloadConfigFromPayload( FILE: studio/frontend/src/components/ui/checkbox.tsx function Checkbox (line 11) | function Checkbox({ FILE: studio/frontend/src/components/ui/collapsible.tsx function Collapsible (line 7) | function Collapsible({ function CollapsibleTrigger (line 13) | function CollapsibleTrigger({ function CollapsibleContent (line 24) | function CollapsibleContent({ FILE: studio/frontend/src/components/ui/combobox.tsx type ComboboxRootProps (line 29) | type ComboboxRootProps = ComboboxPrimitive.Root.Props; function Combobox (line 31) | function Combobox({ function ComboboxValue (line 52) | function ComboboxValue({ function ComboboxTrigger (line 58) | function ComboboxTrigger({ function ComboboxClear (line 79) | function ComboboxClear({ function ComboboxInput (line 99) | function ComboboxInput({ function ComboboxContent (line 146) | function ComboboxContent({ function ComboboxList (line 187) | function ComboboxList({ function ComboboxItem (line 203) | function ComboboxItem({ function ComboboxGroup (line 233) | function ComboboxGroup({ function ComboboxLabel (line 246) | function ComboboxLabel({ function ComboboxCollection (line 259) | function ComboboxCollection({ function ComboboxEmpty (line 267) | function ComboboxEmpty({ function ComboboxSeparator (line 283) | function ComboboxSeparator({ function ComboboxChips (line 296) | function ComboboxChips({ function ComboboxChip (line 313) | function ComboboxChip({ function ComboboxChipsInput (line 348) | function ComboboxChipsInput({ function useComboboxAnchor (line 361) | function useComboboxAnchor(): React.MutableRefObject & { type ConfettiRef (line 35) | type ConfettiRef = Api | null; type ConfettiButtonProps (line 114) | interface ConfettiButtonProps extends React.ComponentProps<"button"> { FILE: studio/frontend/src/components/ui/context-menu.tsx function ContextMenu (line 13) | function ContextMenu({ function ContextMenuTrigger (line 19) | function ContextMenuTrigger({ function ContextMenuGroup (line 32) | function ContextMenuGroup({ function ContextMenuPortal (line 40) | function ContextMenuPortal({ function ContextMenuSub (line 48) | function ContextMenuSub({ function ContextMenuRadioGroup (line 54) | function ContextMenuRadioGroup({ function ContextMenuContent (line 65) | function ContextMenuContent({ function ContextMenuItem (line 85) | function ContextMenuItem({ function ContextMenuSubTrigger (line 108) | function ContextMenuSubTrigger({ function ContextMenuSubContent (line 136) | function ContextMenuSubContent({ function ContextMenuCheckboxItem (line 152) | function ContextMenuCheckboxItem({ function ContextMenuRadioItem (line 178) | function ContextMenuRadioItem({ function ContextMenuLabel (line 202) | function ContextMenuLabel({ function ContextMenuSeparator (line 222) | function ContextMenuSeparator({ function ContextMenuShortcut (line 235) | function ContextMenuShortcut({ FILE: studio/frontend/src/components/ui/data-table.tsx type DataTableProps (line 24) | interface DataTableProps { function DataTable (line 36) | function DataTable({ FILE: studio/frontend/src/components/ui/dialog.tsx function useDialogPortalContainer (line 17) | function useDialogPortalContainer(): HTMLElement | null { function Dialog (line 21) | function Dialog({ function DialogTrigger (line 27) | function DialogTrigger({ function DialogPortal (line 33) | function DialogPortal({ function DialogClose (line 39) | function DialogClose({ function DialogOverlay (line 45) | function DialogOverlay({ function DialogContent (line 65) | function DialogContent({ function DialogHeader (line 117) | function DialogHeader({ className, ...props }: React.ComponentProps<"div... function DialogFooter (line 127) | function DialogFooter({ function DialogTitle (line 154) | function DialogTitle({ function DialogDescription (line 167) | function DialogDescription({ FILE: studio/frontend/src/components/ui/dropdown-menu.tsx function DropdownMenu (line 11) | function DropdownMenu({ function DropdownMenuPortal (line 17) | function DropdownMenuPortal({ function DropdownMenuTrigger (line 25) | function DropdownMenuTrigger({ function DropdownMenuContent (line 36) | function DropdownMenuContent({ function DropdownMenuGroup (line 58) | function DropdownMenuGroup({ function DropdownMenuItem (line 66) | function DropdownMenuItem({ function DropdownMenuCheckboxItem (line 89) | function DropdownMenuCheckboxItem({ function DropdownMenuRadioGroup (line 118) | function DropdownMenuRadioGroup({ function DropdownMenuRadioItem (line 129) | function DropdownMenuRadioItem({ function DropdownMenuLabel (line 156) | function DropdownMenuLabel({ function DropdownMenuSeparator (line 176) | function DropdownMenuSeparator({ function DropdownMenuShortcut (line 189) | function DropdownMenuShortcut({ function DropdownMenuSub (line 205) | function DropdownMenuSub({ function DropdownMenuSubTrigger (line 211) | function DropdownMenuSubTrigger({ function DropdownMenuSubContent (line 239) | function DropdownMenuSubContent({ FILE: studio/frontend/src/components/ui/empty.tsx function Empty (line 8) | function Empty({ className, ...props }: React.ComponentProps<"div">) { function EmptyHeader (line 21) | function EmptyHeader({ className, ...props }: React.ComponentProps<"div"... function EmptyMedia (line 49) | function EmptyMedia({ function EmptyTitle (line 64) | function EmptyTitle({ className, ...props }: React.ComponentProps<"div">) { function EmptyDescription (line 74) | function EmptyDescription({ className, ...props }: React.ComponentProps<... function EmptyContent (line 87) | function EmptyContent({ className, ...props }: React.ComponentProps<"div... FILE: studio/frontend/src/components/ui/field.tsx function FieldSet (line 11) | function FieldSet({ className, ...props }: React.ComponentProps<"fieldse... function FieldLegend (line 24) | function FieldLegend({ function FieldGroup (line 42) | function FieldGroup({ className, ...props }: React.ComponentProps<"div">) { function Field (line 73) | function Field({ function FieldContent (line 89) | function FieldContent({ className, ...props }: React.ComponentProps<"div... function FieldLabel (line 102) | function FieldLabel({ function FieldTitle (line 119) | function FieldTitle({ className, ...props }: React.ComponentProps<"div">) { function FieldDescription (line 132) | function FieldDescription({ className, ...props }: React.ComponentProps<... function FieldSeparator (line 147) | function FieldSeparator({ function FieldError (line 177) | function FieldError({ FILE: studio/frontend/src/components/ui/hover-card.tsx function HoverCard (line 9) | function HoverCard({ function HoverCardTrigger (line 15) | function HoverCardTrigger({ function HoverCardContent (line 23) | function HoverCardContent({ FILE: studio/frontend/src/components/ui/input-group.tsx function InputGroup (line 12) | function InputGroup({ className, ...props }: React.ComponentProps<"div">) { function InputGroupAddon (line 47) | function InputGroupAddon({ function InputGroupButton (line 86) | function InputGroupButton({ function InputGroupText (line 105) | function InputGroupText({ className, ...props }: React.ComponentProps<"s... function InputGroupInput (line 117) | function InputGroupInput({ function InputGroupTextarea (line 133) | function InputGroupTextarea({ FILE: studio/frontend/src/components/ui/input.tsx function Input (line 8) | function Input({ className, type, ...props }: React.ComponentProps<"inpu... FILE: studio/frontend/src/components/ui/label.tsx function Label (line 11) | function Label({ FILE: studio/frontend/src/components/ui/light-rays.tsx type LightRaysProps (line 9) | interface LightRaysProps extends React.HTMLAttributes { type LightRay (line 18) | type LightRay = { function LightRays (line 88) | function LightRays({ FILE: studio/frontend/src/components/ui/menubar.tsx function Menubar (line 13) | function Menubar({ function MenubarMenu (line 29) | function MenubarMenu({ function MenubarGroup (line 35) | function MenubarGroup({ function MenubarPortal (line 41) | function MenubarPortal({ function MenubarRadioGroup (line 47) | function MenubarRadioGroup({ function MenubarTrigger (line 55) | function MenubarTrigger({ function MenubarContent (line 71) | function MenubarContent({ function MenubarItem (line 95) | function MenubarItem({ function MenubarCheckboxItem (line 118) | function MenubarCheckboxItem({ function MenubarRadioItem (line 144) | function MenubarRadioItem({ function MenubarLabel (line 168) | function MenubarLabel({ function MenubarSeparator (line 188) | function MenubarSeparator({ function MenubarShortcut (line 201) | function MenubarShortcut({ function MenubarSub (line 217) | function MenubarSub({ function MenubarSubTrigger (line 223) | function MenubarSubTrigger({ function MenubarSubContent (line 251) | function MenubarSubContent({ FILE: studio/frontend/src/components/ui/navigation-menu.tsx function NavigationMenu (line 14) | function NavigationMenu({ function NavigationMenuList (line 38) | function NavigationMenuList({ function NavigationMenuItem (line 56) | function NavigationMenuItem({ function NavigationMenuTrigger (line 75) | function NavigationMenuTrigger({ function NavigationMenuContent (line 99) | function NavigationMenuContent({ function NavigationMenuViewport (line 117) | function NavigationMenuViewport({ function NavigationMenuLink (line 141) | function NavigationMenuLink({ function NavigationMenuIndicator (line 159) | function NavigationMenuIndicator({ FILE: studio/frontend/src/components/ui/pagination.tsx function Pagination (line 15) | function Pagination({ className, ...props }: React.ComponentProps<"nav">) { function PaginationContent (line 26) | function PaginationContent({ function PaginationItem (line 39) | function PaginationItem({ ...props }: React.ComponentProps<"li">) { type PaginationLinkProps (line 43) | type PaginationLinkProps = { function PaginationLink (line 48) | function PaginationLink({ function PaginationPrevious (line 71) | function PaginationPrevious({ function PaginationNext (line 92) | function PaginationNext({ function PaginationEllipsis (line 113) | function PaginationEllipsis({ FILE: studio/frontend/src/components/ui/popover.tsx function Popover (line 11) | function Popover({ function PopoverTrigger (line 17) | function PopoverTrigger({ function PopoverContent (line 23) | function PopoverContent({ function PopoverAnchor (line 45) | function PopoverAnchor({ function PopoverHeader (line 51) | function PopoverHeader({ className, ...props }: React.ComponentProps<"di... function PopoverTitle (line 61) | function PopoverTitle({ className, ...props }: React.ComponentProps<"h2"... function PopoverDescription (line 71) | function PopoverDescription({ FILE: studio/frontend/src/components/ui/progress.tsx function Progress (line 11) | function Progress({ FILE: studio/frontend/src/components/ui/radio-group.tsx function RadioGroup (line 11) | function RadioGroup({ function RadioGroupItem (line 24) | function RadioGroupItem({ FILE: studio/frontend/src/components/ui/resizable.tsx function ResizablePanelGroup (line 9) | function ResizablePanelGroup({ function ResizablePanel (line 25) | function ResizablePanel({ function ResizableHandle (line 31) | function ResizableHandle({ FILE: studio/frontend/src/components/ui/scroll-area.tsx function ScrollArea (line 11) | function ScrollArea({ function ScrollBar (line 34) | function ScrollBar({ FILE: studio/frontend/src/components/ui/select.tsx function Select (line 22) | function Select({ function SelectGroup (line 41) | function SelectGroup({ function SelectValue (line 54) | function SelectValue({ function SelectTrigger (line 60) | function SelectTrigger({ function SelectContent (line 98) | function SelectContent({ function SelectLabel (line 140) | function SelectLabel({ function SelectItem (line 153) | function SelectItem({ function SelectSeparator (line 181) | function SelectSeparator({ function SelectScrollUpButton (line 197) | function SelectScrollUpButton({ function SelectScrollDownButton (line 215) | function SelectScrollDownButton({ FILE: studio/frontend/src/components/ui/separator.tsx function Separator (line 9) | function Separator({ FILE: studio/frontend/src/components/ui/sheet.tsx function Sheet (line 14) | function Sheet({ ...props }: React.ComponentProps { function ShineBorder (line 31) | function ShineBorder({ FILE: studio/frontend/src/components/ui/sidebar.tsx constant SIDEBAR_COOKIE_NAME (line 31) | const SIDEBAR_COOKIE_NAME = "sidebar_state" constant SIDEBAR_COOKIE_MAX_AGE (line 32) | const SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7 constant SIDEBAR_WIDTH (line 33) | const SIDEBAR_WIDTH = "16rem" constant SIDEBAR_WIDTH_MOBILE (line 34) | const SIDEBAR_WIDTH_MOBILE = "18rem" constant SIDEBAR_WIDTH_ICON (line 35) | const SIDEBAR_WIDTH_ICON = "3rem" constant SIDEBAR_KEYBOARD_SHORTCUT (line 36) | const SIDEBAR_KEYBOARD_SHORTCUT = "b" type SidebarContextProps (line 38) | type SidebarContextProps = { function useSidebar (line 50) | function useSidebar() { function SidebarProvider (line 59) | function SidebarProvider({ function Sidebar (line 155) | function Sidebar({ function SidebarTrigger (line 257) | function SidebarTrigger({ function SidebarRail (line 283) | function SidebarRail({ className, ...props }: React.ComponentProps<"butt... function SidebarInset (line 308) | function SidebarInset({ className, ...props }: React.ComponentProps<"mai... function SidebarInput (line 321) | function SidebarInput({ function SidebarHeader (line 335) | function SidebarHeader({ className, ...props }: React.ComponentProps<"di... function SidebarFooter (line 346) | function SidebarFooter({ className, ...props }: React.ComponentProps<"di... function SidebarSeparator (line 357) | function SidebarSeparator({ function SidebarContent (line 371) | function SidebarContent({ className, ...props }: React.ComponentProps<"d... function SidebarGroup (line 385) | function SidebarGroup({ className, ...props }: React.ComponentProps<"div... function SidebarGroupLabel (line 399) | function SidebarGroupLabel({ function SidebarGroupAction (line 419) | function SidebarGroupAction({ function SidebarGroupContent (line 439) | function SidebarGroupContent({ function SidebarMenu (line 453) | function SidebarMenu({ className, ...props }: React.ComponentProps<"ul">) { function SidebarMenuItem (line 464) | function SidebarMenuItem({ className, ...props }: React.ComponentProps<"... function SidebarMenuButton (line 496) | function SidebarMenuButton({ function SidebarMenuAction (line 546) | function SidebarMenuAction({ function SidebarMenuBadge (line 572) | function SidebarMenuBadge({ function SidebarMenuSkeleton (line 589) | function SidebarMenuSkeleton({ function SidebarMenuSub (line 627) | function SidebarMenuSub({ className, ...props }: React.ComponentProps<"u... function SidebarMenuSubItem (line 638) | function SidebarMenuSubItem({ function SidebarMenuSubButton (line 652) | function SidebarMenuSubButton({ FILE: studio/frontend/src/components/ui/skeleton.tsx function Skeleton (line 6) | function Skeleton({ className, ...props }: React.ComponentProps<"div">) { FILE: studio/frontend/src/components/ui/slider.tsx constant THUMB_SIZE_PX (line 9) | const THUMB_SIZE_PX = 16; function getThumbInBoundsOffset (line 11) | function getThumbInBoundsOffset(width: number, percent: number) { function Slider (line 21) | function Slider({ FILE: studio/frontend/src/components/ui/sparkles-text.tsx type SparkleItem (line 15) | type SparkleItem = { function Sparkle (line 25) | function Sparkle({ id, x, y, color, delay, scale }: SparkleItem): ReactE... type SparklesTextProps (line 50) | interface SparklesTextProps { function SparklesText (line 95) | function SparklesText({ FILE: studio/frontend/src/components/ui/spinner.tsx function Spinner (line 8) | function Spinner({ className }: { className?: string }) { FILE: studio/frontend/src/components/ui/switch.tsx function Switch (line 9) | function Switch({ FILE: studio/frontend/src/components/ui/table.tsx function Table (line 8) | function Table({ className, ...props }: React.ComponentProps<"table">) { function TableHeader (line 23) | function TableHeader({ className, ...props }: React.ComponentProps<"thea... function TableBody (line 33) | function TableBody({ className, ...props }: React.ComponentProps<"tbody"... function TableFooter (line 43) | function TableFooter({ className, ...props }: React.ComponentProps<"tfoo... function TableRow (line 56) | function TableRow({ className, ...props }: React.ComponentProps<"tr">) { function TableHead (line 69) | function TableHead({ className, ...props }: React.ComponentProps<"th">) { function TableCell (line 82) | function TableCell({ className, ...props }: React.ComponentProps<"td">) { function TableCaption (line 95) | function TableCaption({ FILE: studio/frontend/src/components/ui/tabs.tsx function Tabs (line 19) | function Tabs({ function TabsList (line 66) | function TabsList({ function TabsTrigger (line 82) | function TabsTrigger({ function TabsContent (line 121) | function TabsContent({ FILE: studio/frontend/src/components/ui/terminal.tsx type TerminalProps (line 15) | type TerminalProps = { type InternalLineProps (line 22) | type InternalLineProps = { function useStartOnView (line 28) | function useStartOnView(enabled: boolean): { function Terminal (line 63) | function Terminal({ type AnimatedSpanProps (line 111) | type AnimatedSpanProps = InternalLineProps & { function AnimatedSpan (line 118) | function AnimatedSpan({ type TypingAnimationProps (line 165) | type TypingAnimationProps = InternalLineProps & { function TypingAnimation (line 174) | function TypingAnimation({ FILE: studio/frontend/src/components/ui/textarea.tsx function Textarea (line 8) | function Textarea({ className, ...props }: React.ComponentProps<"textare... FILE: studio/frontend/src/components/ui/toggle-group.tsx function ToggleGroup (line 25) | function ToggleGroup({ function ToggleGroupItem (line 61) | function ToggleGroupItem({ FILE: studio/frontend/src/components/ui/toggle.tsx function Toggle (line 35) | function Toggle({ FILE: studio/frontend/src/components/ui/tooltip.tsx type ToggleFn (line 10) | type ToggleFn = () => void; function TooltipProvider (line 13) | function TooltipProvider({ function Tooltip (line 26) | function Tooltip({ function TooltipTrigger (line 60) | function TooltipTrigger({ function TooltipContent (line 84) | function TooltipContent({ FILE: studio/frontend/src/config/env.ts type DeviceType (line 15) | type DeviceType = "mac" | "windows" | "linux" | string; type PlatformState (line 17) | interface PlatformState { function fetchDeviceType (line 31) | async function fetchDeviceType(): Promise { FILE: studio/frontend/src/config/training.ts constant STEPS (line 7) | const STEPS: StepConfig[] = [ constant MODEL_TYPES (line 40) | const MODEL_TYPES: ReadonlyArray<{ constant CONTEXT_LENGTHS (line 67) | const CONTEXT_LENGTHS = [512, 1024, 2048, 4096, 8192, 16384, 32768, 6553... constant TARGET_MODULES (line 69) | const TARGET_MODULES = [ constant OPTIMIZER_OPTIONS (line 79) | const OPTIMIZER_OPTIONS: ReadonlyArray<{ value: string; label: string }>... constant LR_SCHEDULER_OPTIONS (line 88) | const LR_SCHEDULER_OPTIONS: ReadonlyArray<{ value: string; label: string... constant DEFAULT_HYPERPARAMS (line 93) | const DEFAULT_HYPERPARAMS = { constant MODEL_TYPE_TO_HF_TASK (line 128) | const MODEL_TYPE_TO_HF_TASK: Record = { constant PRIORITY_TRAINING_MODELS (line 136) | const PRIORITY_TRAINING_MODELS: readonly string[] = [ function applyPriorityOrdering (line 150) | function applyPriorityOrdering(ids: string[]): string[] { FILE: studio/frontend/src/features/auth/api.ts type RefreshResponse (line 12) | type RefreshResponse = { function isPasswordChangeRequiredResponse (line 20) | async function isPasswordChangeRequiredResponse(response: Response): Pro... function redirectToAuth (line 31) | async function redirectToAuth(): Promise { function refreshSession (line 49) | async function refreshSession(): Promise { function authFetch (line 77) | async function authFetch( function logout (line 125) | function logout(): void { FILE: studio/frontend/src/features/auth/change-password-page.tsx function ChangePasswordPage (line 8) | function ChangePasswordPage() { FILE: studio/frontend/src/features/auth/components/auth-form.tsx type Window (line 17) | interface Window { type AuthMode (line 34) | type AuthMode = "login" | "change-password"; type AuthStatusResponse (line 36) | type AuthStatusResponse = { type TokenResponse (line 41) | type TokenResponse = { function loginWithPassword (line 47) | async function loginWithPassword( type AuthFormProps (line 70) | type AuthFormProps = { constant HIDDEN_LOGIN_USERNAME (line 74) | const HIDDEN_LOGIN_USERNAME = "unsloth"; function AuthForm (line 76) | function AuthForm({ mode }: AuthFormProps): ReactElement | null { FILE: studio/frontend/src/features/auth/login-page.tsx function LoginPage (line 8) | function LoginPage() { FILE: studio/frontend/src/features/auth/session.ts constant AUTH_TOKEN_KEY (line 6) | const AUTH_TOKEN_KEY = "unsloth_auth_token"; constant AUTH_REFRESH_TOKEN_KEY (line 7) | const AUTH_REFRESH_TOKEN_KEY = "unsloth_auth_refresh_token"; constant ONBOARDING_DONE_KEY (line 8) | const ONBOARDING_DONE_KEY = "unsloth_onboarding_done"; constant AUTH_MUST_CHANGE_PASSWORD_KEY (line 9) | const AUTH_MUST_CHANGE_PASSWORD_KEY = "unsloth_auth_must_change_password"; type PostAuthRoute (line 11) | type PostAuthRoute = "/onboarding" | "/studio" | "/change-password" | "/... function canUseStorage (line 13) | function canUseStorage(): boolean { function hasAuthToken (line 17) | function hasAuthToken(): boolean { function hasRefreshToken (line 22) | function hasRefreshToken(): boolean { function getAuthToken (line 27) | function getAuthToken(): string | null { function getRefreshToken (line 32) | function getRefreshToken(): string | null { function storeAuthTokens (line 37) | function storeAuthTokens( function clearAuthTokens (line 48) | function clearAuthTokens(): void { function mustChangePassword (line 55) | function mustChangePassword(): boolean { function setMustChangePassword (line 60) | function setMustChangePassword(required: boolean): void { function isOnboardingDone (line 65) | function isOnboardingDone(): boolean { function markOnboardingDone (line 70) | function markOnboardingDone(): void { function resetOnboardingDone (line 75) | function resetOnboardingDone(): void { function getPostAuthRoute (line 80) | function getPostAuthRoute(): PostAuthRoute { FILE: studio/frontend/src/features/chat/api/chat-adapter.ts type RunMessages (line 23) | type RunMessages = Parameters[0]["messages"]; type RunMessage (line 24) | type RunMessage = RunMessages[number]; function parseSourcesFromResult (line 30) | function parseSourcesFromResult(raw: string): { type: "source"; sourceTy... function estimateTokenCount (line 51) | function estimateTokenCount(text: string): number | undefined { function buildTiming (line 59) | function buildTiming( function collectTextParts (line 83) | function collectTextParts(message: RunMessage): string[] { function toOpenAIMessage (line 101) | function toOpenAIMessage(message: RunMessage): { function extractImageBase64 (line 126) | function extractImageBase64(input: string): string | undefined { function findLatestUserImageBase64 (line 137) | function findLatestUserImageBase64(messages: RunMessages): string | unde... function findLatestUserAudioBase64 (line 171) | function findLatestUserAudioBase64(messages: RunMessages): string | unde... function resolveUseAdapter (line 191) | async function resolveUseAdapter( function waitForModelReady (line 214) | function waitForModelReady(abortSignal?: AbortSignal): Promise { function autoLoadSmallestModel (line 230) | async function autoLoadSmallestModel(): Promise { function createOpenAIStreamAdapter (line 385) | function createOpenAIStreamAdapter(): ChatModelAdapter { FILE: studio/frontend/src/features/chat/api/chat-api.ts function parseErrorText (line 19) | function parseErrorText(status: number, body: unknown): string { function parseJsonOrThrow (line 39) | async function parseJsonOrThrow(response: Response): Promise { function listModels (line 47) | async function listModels(): Promise { function listLoras (line 52) | async function listLoras(outputsDir?: string): Promise { function getInferenceStatus (line 60) | async function getInferenceStatus(): Promise { function loadModel (line 65) | async function loadModel( function validateModel (line 76) | async function validateModel( function unloadModel (line 91) | async function unloadModel(payload: UnloadModelRequest): Promise { type CachedGgufRepo (line 100) | interface CachedGgufRepo { function getGgufDownloadProgress (line 106) | async function getGgufDownloadProgress( function getDownloadProgress (line 120) | async function getDownloadProgress( function listCachedGguf (line 128) | async function listCachedGguf(): Promise { type CachedModelRepo (line 134) | interface CachedModelRepo { function listCachedModels (line 139) | async function listCachedModels(): Promise { function deleteCachedModel (line 145) | async function deleteCachedModel(repoId: string, variant?: string): Prom... function listGgufVariants (line 156) | async function listGgufVariants( function parseSseEvent (line 166) | function parseSseEvent(rawEvent: string): string[] { function generateAudio (line 249) | async function generateAudio( FILE: studio/frontend/src/features/chat/chat-page.tsx type LoraCandidate (line 60) | type LoraCandidate = { function normalizeModelRef (line 66) | function normalizeModelRef(value: string | null | undefined): string { function pickBestLoraForBase (line 70) | function pickBestLoraForBase( function messageHasImage (line 97) | function messageHasImage(message: MessageRecord): boolean { type CompareModelSelection (line 131) | type CompareModelSelection = { function useIsLoraCompare (line 142) | function useIsLoraCompare(): boolean { function InlineSidebar (line 330) | function InlineSidebar({ function TopBarActions (line 378) | function TopBarActions({ function ChatPage (line 411) | function ChatPage(): ReactElement { FILE: studio/frontend/src/features/chat/chat-settings-sheet.tsx type Preset (line 44) | interface Preset { constant BUILTIN_PRESETS (line 49) | const BUILTIN_PRESETS: Preset[] = [ function ParamSlider (line 75) | function ParamSlider({ function CollapsibleSection (line 111) | function CollapsibleSection({ type ChatSettingsPanelProps (line 160) | interface ChatSettingsPanelProps { function ChatSettingsPanel (line 170) | function ChatSettingsPanel({ function MaxToolCallsSlider (line 471) | function MaxToolCallsSlider() { function ToolCallTimeoutSlider (line 491) | function ToolCallTimeoutSlider() { function AutoHealToolCallsToggle (line 518) | function AutoHealToolCallsToggle() { function ChatTemplateSection (line 538) | function ChatTemplateSection({ FILE: studio/frontend/src/features/chat/components/model-load-status.tsx type ModelLoadDescriptionProps (line 8) | type ModelLoadDescriptionProps = { function clampProgress (line 16) | function clampProgress(value: number): number { function ModelLoadDescription (line 20) | function ModelLoadDescription({ type ModelLoadInlineStatusProps (line 64) | type ModelLoadInlineStatusProps = { function ModelLoadInlineStatus (line 72) | function ModelLoadInlineStatus({ FILE: studio/frontend/src/features/chat/db.ts function useLiveQuery (line 41) | function useLiveQuery( FILE: studio/frontend/src/features/chat/hooks/use-chat-model-runtime.ts type SelectedModelInput (line 25) | type SelectedModelInput = { constant MODEL_LOAD_TOAST_CLASSNAMES (line 35) | const MODEL_LOAD_TOAST_CLASSNAMES = { constant LORA_SUFFIX_RE (line 42) | const LORA_SUFFIX_RE = /_(\d{9,})$/; function parseTrailingEpoch (line 44) | function parseTrailingEpoch(input: string): number | undefined { function stripTrailingEpoch (line 53) | function stripTrailingEpoch(input: string): string { function describeModel (line 58) | function describeModel(model: { function toChatModelSummary (line 76) | function toChatModelSummary(model: { function toLoraSummary (line 99) | function toLoraSummary(lora: { function toFiniteNumber (line 120) | function toFiniteNumber(value: unknown): number | undefined { function mergeRecommendedInference (line 127) | function mergeRecommendedInference( function useChatModelRuntime (line 156) | function useChatModelRuntime() { FILE: studio/frontend/src/features/chat/runtime-provider.tsx constant DEFAULT_SUGGESTIONS (line 33) | const DEFAULT_SUGGESTIONS = [ type TitleResponse (line 40) | type TitleResponse = { class VisionImageAdapter (line 48) | class VisionImageAdapter implements AttachmentAdapter { method add (line 51) | async add({ file }: { file: File }): Promise { method send (line 67) | async send(attachment: PendingAttachment): Promise { method remove (line 83) | async remove(): Promise { method fileToBase64DataURL (line 87) | private async fileToBase64DataURL(file: File): Promise { class PDFAttachmentAdapter (line 97) | class PDFAttachmentAdapter implements AttachmentAdapter { method add (line 100) | add({ file }: { file: File }): Promise { method send (line 111) | async send(attachment: PendingAttachment): Promise { method remove (line 125) | remove(): Promise { class TextAttachmentAdapter (line 130) | class TextAttachmentAdapter implements AttachmentAdapter { method add (line 133) | async add({ file }: { file: File }): Promise { method send (line 144) | async send(attachment: PendingAttachment): Promise { method remove (line 158) | remove(): Promise { class HtmlAttachmentAdapter (line 163) | class HtmlAttachmentAdapter implements AttachmentAdapter { method add (line 166) | async add({ file }: { file: File }): Promise { method send (line 177) | async send(attachment: PendingAttachment): Promise { method remove (line 196) | remove(): Promise { class DocxAttachmentAdapter (line 201) | class DocxAttachmentAdapter implements AttachmentAdapter { method add (line 205) | add({ file }: { file: File }): Promise { method send (line 216) | async send(attachment: PendingAttachment): Promise { method remove (line 229) | remove(): Promise { function clip (line 234) | function clip(input: string, maxLen: number): string { function extractTextParts (line 240) | function extractTextParts(m: ThreadMessage | undefined): string { function generateTitleWithModel (line 250) | async function generateTitleWithModel(payload: { function fallbackTitleFromUserText (line 309) | function fallbackTitleFromUserText(userText: string): string { function cloneContent (line 317) | function cloneContent(content: ThreadMessage["content"]): ThreadMessage[... function cloneAttachments (line 323) | function cloneAttachments( function toThreadMessage (line 332) | function toThreadMessage(m: MessageRecord): ThreadMessage { function createDexieAdapter (line 364) | function createDexieAdapter( function ThreadHistoryProvider (line 512) | function ThreadHistoryProvider({ function useRuntimeHook (line 598) | function useRuntimeHook(): ReturnType { function ThreadAutoSwitch (line 602) | function ThreadAutoSwitch({ function ThreadNewChatSwitch (line 618) | function ThreadNewChatSwitch({ function ActiveThreadSync (line 633) | function ActiveThreadSync({ function ChatRuntimeProvider (line 649) | function ChatRuntimeProvider({ FILE: studio/frontend/src/features/chat/shared-composer.tsx type CompareMessagePart (line 26) | type CompareMessagePart = type CompareHandle (line 31) | interface CompareHandle { constant IMAGE_ACCEPT (line 43) | const IMAGE_ACCEPT = "image/jpeg,image/png,image/webp,image/gif"; constant MAX_IMAGE_SIZE (line 44) | const MAX_IMAGE_SIZE = 20 * 1024 * 1024; function fileToBase64DataURL (line 46) | function fileToBase64DataURL(file: File): Promise { function useDictation (line 55) | function useDictation( type CompareHandles (line 115) | type CompareHandles = MutableRefObject>; function CompareHandlesProvider (line 119) | function CompareHandlesProvider({ function RegisterCompareHandle (line 133) | function RegisterCompareHandle({ type PendingImage (line 180) | type PendingImage = { id: string; file: File }; function PendingImageThumb (line 182) | function PendingImageThumb({ type CompareModelSelection (line 211) | type CompareModelSelection = { function SharedComposer (line 217) | function SharedComposer({ FILE: studio/frontend/src/features/chat/stores/chat-runtime-store.ts constant AUTO_TITLE_KEY (line 12) | const AUTO_TITLE_KEY = "unsloth_chat_auto_title"; constant AUTO_HEAL_TOOL_CALLS_KEY (line 13) | const AUTO_HEAL_TOOL_CALLS_KEY = "unsloth_auto_heal_tool_calls"; constant MAX_TOOL_CALLS_KEY (line 14) | const MAX_TOOL_CALLS_KEY = "unsloth_max_tool_calls_per_message"; constant TOOL_CALL_TIMEOUT_KEY (line 15) | const TOOL_CALL_TIMEOUT_KEY = "unsloth_tool_call_timeout"; function canUseStorage (line 17) | function canUseStorage(): boolean { function loadBool (line 21) | function loadBool(key: string, fallback: boolean): boolean { function saveBool (line 32) | function saveBool(key: string, value: boolean): void { function loadInt (line 41) | function loadInt(key: string, fallback: number): number { function saveInt (line 53) | function saveInt(key: string, value: number): void { type ChatRuntimeStore (line 62) | type ChatRuntimeStore = { FILE: studio/frontend/src/features/chat/thread-sidebar.tsx type SidebarItem (line 24) | interface SidebarItem { function groupThreads (line 31) | function groupThreads(threads: ThreadRecord[]): SidebarItem[] { function ThreadSidebar (line 63) | function ThreadSidebar({ FILE: studio/frontend/src/features/chat/tour/steps.tsx function buildChatTourSteps (line 6) | function buildChatTourSteps({ FILE: studio/frontend/src/features/chat/types.ts type ModelType (line 4) | type ModelType = "base" | "lora" | "model1" | "model2"; type ChatView (line 6) | type ChatView = type ThreadRecord (line 10) | interface ThreadRecord { type MessageRecord (line 20) | interface MessageRecord { FILE: studio/frontend/src/features/chat/types/api.ts type BackendModelDetails (line 4) | interface BackendModelDetails { type ListModelsResponse (line 15) | interface ListModelsResponse { type BackendLoraInfo (line 20) | interface BackendLoraInfo { type ListLorasResponse (line 28) | interface ListLorasResponse { type LoadModelRequest (line 33) | interface LoadModelRequest { type ValidateModelResponse (line 46) | interface ValidateModelResponse { type GgufVariantDetail (line 56) | interface GgufVariantDetail { type GgufVariantsResponse (line 63) | interface GgufVariantsResponse { type LoadModelResponse (line 70) | interface LoadModelResponse { type UnloadModelRequest (line 95) | interface UnloadModelRequest { type InferenceStatusResponse (line 99) | interface InferenceStatusResponse { type AudioGenerationResponse (line 122) | interface AudioGenerationResponse { type OpenAIChatMessage (line 138) | interface OpenAIChatMessage { type OpenAIChatCompletionsRequest (line 143) | interface OpenAIChatCompletionsRequest { type OpenAIChatDelta (line 166) | interface OpenAIChatDelta { type OpenAIChatChunkChoice (line 171) | interface OpenAIChatChunkChoice { type OpenAIChatChunk (line 176) | interface OpenAIChatChunk { FILE: studio/frontend/src/features/chat/types/runtime.ts type InferenceParams (line 4) | interface InferenceParams { constant DEFAULT_INFERENCE_PARAMS (line 19) | const DEFAULT_INFERENCE_PARAMS: InferenceParams = { type ChatModelSummary (line 33) | interface ChatModelSummary { type ChatLoraSummary (line 45) | interface ChatLoraSummary { FILE: studio/frontend/src/features/chat/utils/parse-assistant-content.ts type ContentPart (line 6) | type ContentPart = NonNullable[number]; constant THINK_OPEN_TAG (line 8) | const THINK_OPEN_TAG = ""; constant THINK_CLOSE_TAG (line 9) | const THINK_CLOSE_TAG = ""; function appendTextPart (line 11) | function appendTextPart(parts: ContentPart[], text: string): void { function appendReasoningPart (line 17) | function appendReasoningPart(parts: ContentPart[], text: string): void { function parseAssistantContent (line 23) | function parseAssistantContent( function hasClosedThinkTag (line 55) | function hasClosedThinkTag(raw: string): boolean { FILE: studio/frontend/src/features/data-recipes/data/recipes-db.ts function listRecipes (line 20) | function listRecipes(): Promise { function getRecipe (line 24) | function getRecipe(id: string): Promise { function writeRecipeCache (line 28) | function writeRecipeCache(record: RecipeRecord): void { function getCachedRecipe (line 32) | function getCachedRecipe(id: string): RecipeRecord | null { function primeRecipeCache (line 36) | function primeRecipeCache(record: RecipeRecord): void { function saveRecipe (line 40) | async function saveRecipe( function deleteRecipe (line 61) | async function deleteRecipe(id: string): Promise { function createRecipeDraft (line 66) | function createRecipeDraft(): Promise { function createRecipeFromLearningRecipe (line 73) | function createRecipeFromLearningRecipe(input: { function useRecipes (line 86) | function useRecipes(): { FILE: studio/frontend/src/features/data-recipes/learning-recipes/index.ts function isRecord (line 23) | function isRecord(value: unknown): value is Record { function toRecordArray (line 27) | function toRecordArray(value: unknown): Record[] { function coerceRecipePayload (line 36) | function coerceRecipePayload(value: unknown): RecipePayload { function loadPayloadFromUrl (line 82) | async function loadPayloadFromUrl(url: string): Promise { type LearningRecipeDef (line 91) | type LearningRecipeDef = { constant LEARNING_RECIPES (line 98) | const LEARNING_RECIPES: LearningRecipeDef[] = [ FILE: studio/frontend/src/features/data-recipes/pages/data-recipes-page.tsx constant OPEN_LEARNING_RECIPES_ON_ARRIVAL_KEY (line 54) | const OPEN_LEARNING_RECIPES_ON_ARRIVAL_KEY = type TemplateCard (line 57) | type TemplateCard = { constant TEMPLATE_CARDS (line 68) | const TEMPLATE_CARDS: TemplateCard[] = [ constant LEARNING_RECIPE_BY_ID (line 167) | const LEARNING_RECIPE_BY_ID = new Map( function formatRelativeTime (line 171) | function formatRelativeTime(value: number): string { function LearningRecipeCards (line 198) | function LearningRecipeCards({ function DataRecipesPage (line 298) | function DataRecipesPage(): ReactElement { FILE: studio/frontend/src/features/data-recipes/pages/edit-recipe-page.tsx type EditRecipePageProps (line 12) | type EditRecipePageProps = { type LoadState (line 16) | type LoadState = function RecipeLoadState (line 21) | function RecipeLoadState({ function EditRecipePage (line 45) | function EditRecipePage({ recipeId }: EditRecipePageProps): ReactElement { FILE: studio/frontend/src/features/data-recipes/types.ts type RecipeRecord (line 6) | type RecipeRecord = { type SaveRecipeInput (line 16) | type SaveRecipeInput = { FILE: studio/frontend/src/features/export/api/export-api.ts function readError (line 6) | async function readError(response: Response): Promise { function parseJson (line 15) | async function parseJson(response: Response): Promise { type CheckpointInfo (line 22) | interface CheckpointInfo { type ModelCheckpoints (line 28) | interface ModelCheckpoints { type CheckpointListResponse (line 36) | interface CheckpointListResponse { type ExportOperationResponse (line 41) | interface ExportOperationResponse { function fetchCheckpoints (line 47) | async function fetchCheckpoints(): Promise { function loadCheckpoint (line 52) | async function loadCheckpoint(params: { function exportMerged (line 67) | async function exportMerged(params: { function exportBase (line 83) | async function exportBase(params: { function exportGGUF (line 99) | async function exportGGUF(params: { function exportLoRA (line 114) | async function exportLoRA(params: { function cleanupExport (line 129) | async function cleanupExport(): Promise { FILE: studio/frontend/src/features/export/components/export-dialog.tsx type Destination (line 27) | type Destination = "local" | "hub"; type ExportDialogProps (line 29) | interface ExportDialogProps { function ExportDialog (line 54) | function ExportDialog({ FILE: studio/frontend/src/features/export/components/method-picker.tsx type MethodPickerProps (line 18) | interface MethodPickerProps { function MethodPicker (line 23) | function MethodPicker({ value, onChange }: MethodPickerProps) { FILE: studio/frontend/src/features/export/components/quant-picker.tsx type QuantPickerProps (line 18) | interface QuantPickerProps { function QuantPicker (line 23) | function QuantPicker({ value, onChange }: QuantPickerProps) { FILE: studio/frontend/src/features/export/constants.ts type ExportMethod (line 6) | type ExportMethod = "merged" | "lora" | "gguf"; constant EXPORT_METHODS (line 8) | const EXPORT_METHODS: { constant QUANT_OPTIONS (line 38) | const QUANT_OPTIONS = [ function getEstimatedSize (line 49) | function getEstimatedSize( constant METHOD_LABELS (line 73) | const METHOD_LABELS: Record = { constant GUIDE_STEPS (line 79) | const GUIDE_STEPS = [ FILE: studio/frontend/src/features/export/export-page.tsx function ExportPage (line 48) | function ExportPage() { FILE: studio/frontend/src/features/onboarding/components/splash-screen.tsx type SplashScreenProps (line 8) | interface SplashScreenProps { function SplashScreen (line 13) | function SplashScreen({ FILE: studio/frontend/src/features/onboarding/components/steps/dataset-step.tsx constant FORMAT_OPTIONS (line 61) | const FORMAT_OPTIONS: { value: DatasetFormat; label: string }[] = [ function DatasetStep (line 68) | function DatasetStep() { FILE: studio/frontend/src/features/onboarding/components/steps/hyperparameters-step.tsx function formatLR (line 32) | function formatLR(value: number): string { function stepLR (line 46) | function stepLR(value: number, direction: 1 | -1): number { function HyperparametersStep (line 62) | function HyperparametersStep() { FILE: studio/frontend/src/features/onboarding/components/steps/model-selection-step.tsx function ModelSelectionStep (line 61) | function ModelSelectionStep() { FILE: studio/frontend/src/features/onboarding/components/steps/model-type-step.tsx constant TYPE_ICONS (line 28) | const TYPE_ICONS: Record = { constant TYPE_TOOLTIPS (line 35) | const TYPE_TOOLTIPS: Record = { constant COMING_SOON (line 42) | const COMING_SOON: ModelType[] = []; function ModelTypeStep (line 44) | function ModelTypeStep(): ReactElement { FILE: studio/frontend/src/features/onboarding/components/steps/summary-step.tsx function Row (line 14) | function Row({ function SummaryStep (line 47) | function SummaryStep() { FILE: studio/frontend/src/features/onboarding/components/wizard-content.tsx constant STEP_COMPONENTS (line 13) | const STEP_COMPONENTS = { constant STEP_MASCOTS (line 21) | const STEP_MASCOTS: Record = { function WizardContent (line 29) | function WizardContent() { FILE: studio/frontend/src/features/onboarding/components/wizard-footer.tsx function WizardFooter (line 13) | function WizardFooter({ onBackToSplash }: { onBackToSplash: () => void }) { FILE: studio/frontend/src/features/onboarding/components/wizard-layout.tsx function WizardLayout (line 22) | function WizardLayout() { FILE: studio/frontend/src/features/onboarding/components/wizard-sidebar.tsx function WizardSidebar (line 13) | function WizardSidebar() { FILE: studio/frontend/src/features/onboarding/components/wizard-step-item.tsx type WizardStepItemProps (line 9) | interface WizardStepItemProps { function WizardStepItem (line 13) | function WizardStepItem({ step }: WizardStepItemProps) { FILE: studio/frontend/src/features/recipe-studio/api/index.ts constant DEFAULT_BASE (line 6) | const DEFAULT_BASE = "/api/data-recipe"; constant DATA_DESIGNER_API_BASE (line 8) | const DATA_DESIGNER_API_BASE = type JobCreateResponse (line 11) | type JobCreateResponse = { type PublishRecipeJobRequest (line 16) | type PublishRecipeJobRequest = { type PublishRecipeJobResponse (line 24) | type PublishRecipeJobResponse = { type JobStatusResponse (line 30) | type JobStatusResponse = { type JobDatasetResponse (line 81) | type JobDatasetResponse = { type JobEvent (line 88) | type JobEvent = { type SeedInspectRequest (line 94) | type SeedInspectRequest = { type SeedInspectUploadRequest (line 105) | type SeedInspectUploadRequest = { type SeedInspectResponse (line 119) | type SeedInspectResponse = { type ValidateError (line 131) | type ValidateError = { type ValidateResponse (line 137) | type ValidateResponse = { type McpToolsListRequest (line 144) | type McpToolsListRequest = { type McpToolsProviderResult (line 151) | type McpToolsProviderResult = { type McpToolsListResponse (line 157) | type McpToolsListResponse = { function parseErrorResponse (line 163) | async function parseErrorResponse(response: Response): Promise { function postJson (line 186) | async function postJson(path: string, payload: unknown): Promise { function getJson (line 202) | async function getJson(path: string): Promise { function parseJobEvent (line 210) | function parseJobEvent(rawEvent: string): JobEvent | null { function validateRecipe (line 250) | async function validateRecipe( function createRecipeJob (line 256) | async function createRecipeJob(payload: unknown): Promise { function publishRecipeJob (line 288) | async function publishRecipeJob( function inspectSeedDataset (line 295) | async function inspectSeedDataset( function inspectSeedUpload (line 301) | async function inspectSeedUpload( function listMcpTools (line 307) | async function listMcpTools( function streamRecipeJobEvents (line 313) | async function streamRecipeJobEvents(options: { FILE: studio/frontend/src/features/recipe-studio/blocks/definitions.ts type BlockKind (line 42) | type BlockKind = type BlockType (line 49) | type BlockType = type SeedBlockType (line 65) | type SeedBlockType = "seed_hf" | "seed_local" | "seed_unstructured"; type IconType (line 67) | type IconType = typeof CodeIcon; type BlockGroup (line 69) | type BlockGroup = { type BlockDialogKey (line 76) | type BlockDialogKey = type BlockDefinition (line 95) | type BlockDefinition = { constant BLOCK_GROUPS (line 105) | const BLOCK_GROUPS: BlockGroup[] = [ constant BLOCK_DEFINITIONS (line 144) | const BLOCK_DEFINITIONS: BlockDefinition[] = [ function getBlocksForKind (line 366) | function getBlocksForKind(kind: BlockKind): BlockDefinition[] { function getBlockDefinition (line 370) | function getBlockDefinition( function getBlockDefinitionForConfig (line 380) | function getBlockDefinitionForConfig( FILE: studio/frontend/src/features/recipe-studio/blocks/render-dialog.tsx function renderBlockDialog (line 25) | function renderBlockDialog( FILE: studio/frontend/src/features/recipe-studio/components/block-sheet.tsx type SheetView (line 48) | type SheetView = type SheetKind (line 57) | type SheetKind = type RootSheetView (line 64) | type RootSheetView = Exclude; type RootGroup (line 65) | type RootGroup = { type BlockSheetProps (line 72) | type BlockSheetProps = { constant RECIPE_BLOCK_DND_MIME (line 95) | const RECIPE_BLOCK_DND_MIME = "application/x-recipe-studio-block"; type RecipeBlockDragPayload (line 96) | type RecipeBlockDragPayload = { function getSheetTitle (line 101) | function getSheetTitle(sheetView: SheetView): string { constant VIEW_KIND (line 126) | const VIEW_KIND: Record = { constant ROOT_GROUPS (line 137) | const ROOT_GROUPS: RootGroup[] = [...BLOCK_GROUPS]; constant ROOT_GROUPS_WITH_SEED_FIRST (line 138) | const ROOT_GROUPS_WITH_SEED_FIRST: RootGroup[] = [ constant SEARCHABLE_KINDS (line 142) | const SEARCHABLE_KINDS: SheetKind[] = [ constant PROCESSOR_TITLE (line 150) | const PROCESSOR_TITLE = "Final dataset shape"; constant PROCESSOR_DESCRIPTION (line 151) | const PROCESSOR_DESCRIPTION = "Rename, reorder, or reshape the final dat... constant SHOW_PROCESSOR_IN_BLOCK_SHEET (line 152) | const SHOW_PROCESSOR_IN_BLOCK_SHEET = false; constant LLM_SETUP_TYPES (line 153) | const LLM_SETUP_TYPES = new Set([ function BlockSheetButton (line 159) | function BlockSheetButton({ function BlockSheet (line 233) | function BlockSheet({ FILE: studio/frontend/src/features/recipe-studio/components/chip-input.tsx type ChipInputProps (line 17) | type ChipInputProps = { function ChipInput (line 25) | function ChipInput({ FILE: studio/frontend/src/features/recipe-studio/components/controls/layout-controls.tsx type LayoutControlsProps (line 13) | type LayoutControlsProps = { function LayoutControls (line 19) | function LayoutControls({ FILE: studio/frontend/src/features/recipe-studio/components/controls/run-validate-floating-controls.tsx type RunValidateFloatingControlsProps (line 10) | type RunValidateFloatingControlsProps = { function RunValidateFloatingControls (line 19) | function RunValidateFloatingControls({ FILE: studio/frontend/src/features/recipe-studio/components/controls/viewport-controls.tsx type ViewportControlsProps (line 11) | type ViewportControlsProps = { function ViewportControls (line 17) | function ViewportControls({ FILE: studio/frontend/src/features/recipe-studio/components/executions/execution-columns-tab.tsx type ExecutionColumnsTabProps (line 15) | type ExecutionColumnsTabProps = { function ExecutionColumnsTab (line 19) | function ExecutionColumnsTab({ FILE: studio/frontend/src/features/recipe-studio/components/executions/execution-data-tab.tsx type ExecutionDataTabProps (line 20) | type ExecutionDataTabProps = { function ExecutionDataTab (line 38) | function ExecutionDataTab({ FILE: studio/frontend/src/features/recipe-studio/components/executions/execution-overview-tab.tsx type ExecutionOverviewTabProps (line 26) | type ExecutionOverviewTabProps = { function ExecutionOverviewTab (line 45) | function ExecutionOverviewTab({ FILE: studio/frontend/src/features/recipe-studio/components/executions/execution-raw-tab.tsx type ExecutionRawTabProps (line 6) | type ExecutionRawTabProps = { function ExecutionRawTab (line 10) | function ExecutionRawTab({ FILE: studio/frontend/src/features/recipe-studio/components/executions/execution-sidebar.tsx type ExecutionSidebarProps (line 20) | type ExecutionSidebarProps = { function ExecutionSidebar (line 26) | function ExecutionSidebar({ FILE: studio/frontend/src/features/recipe-studio/components/executions/executions-view-helpers.ts type AnalysisColumnStat (line 11) | type AnalysisColumnStat = { type ModelUsageRow (line 21) | type ModelUsageRow = { constant PREVIEW_DATASET_PAGE_SIZE (line 27) | const PREVIEW_DATASET_PAGE_SIZE = 20; constant TERMINAL_STICKY_BOTTOM_THRESHOLD_PX (line 28) | const TERMINAL_STICKY_BOTTOM_THRESHOLD_PX = 24; function formatTimestamp (line 30) | function formatTimestamp(value: number): string { function formatCellValue (line 34) | function formatCellValue(value: unknown): string { function isExpandableCellValue (line 51) | function isExpandableCellValue(value: string): boolean { function truncateCellValue (line 55) | function truncateCellValue(value: string): string { function hasExpandableTextCell (line 62) | function hasExpandableTextCell( function parseNumber (line 74) | function parseNumber(value: unknown): number | null { function parseString (line 78) | function parseString(value: unknown): string { function parseAnalysisColumns (line 82) | function parseAnalysisColumns( function statusTone (line 107) | function statusTone(status: RecipeExecutionStatus): string { function statusRightBorder (line 120) | function statusRightBorder(status: RecipeExecutionStatus): string { function formatStatus (line 133) | function formatStatus(status: RecipeExecutionStatus): string { function formatPercent (line 140) | function formatPercent(value: number | null | undefined): string { function formatDuration (line 147) | function formatDuration(startedAt: number, finishedAt: number | null): s... function formatMetricValue (line 155) | function formatMetricValue(value: number | null | undefined): string { function parseModelUsageRows (line 162) | function parseModelUsageRows( FILE: studio/frontend/src/features/recipe-studio/components/executions/executions-view.tsx type ExecutionsViewProps (line 41) | type ExecutionsViewProps = { function ExecutionsView (line 50) | function ExecutionsView({ FILE: studio/frontend/src/features/recipe-studio/components/executions/publish-execution-dialog.tsx type PublishExecutionDialogProps (line 23) | type PublishExecutionDialogProps = { function getExecutionRecordCount (line 36) | function getExecutionRecordCount(execution: RecipeExecutionRecord | null... function buildDefaultDescription (line 52) | function buildDefaultDescription(execution: RecipeExecutionRecord | null... function PublishExecutionDialog (line 65) | function PublishExecutionDialog({ FILE: studio/frontend/src/features/recipe-studio/components/graph/internals-sync.tsx type InternalsSyncProps (line 7) | type InternalsSyncProps = { function InternalsSync (line 11) | function InternalsSync({ nodeIds }: InternalsSyncProps): null { FILE: studio/frontend/src/features/recipe-studio/components/inline/inline-category-badges.tsx type InlineCategoryBadgesProps (line 7) | type InlineCategoryBadgesProps = { function InlineCategoryBadges (line 11) | function InlineCategoryBadges({ FILE: studio/frontend/src/features/recipe-studio/components/inline/inline-expression.tsx type InlineExpressionProps (line 20) | type InlineExpressionProps = { constant DTYPE_OPTIONS (line 25) | const DTYPE_OPTIONS: ExpressionDtype[] = ["str", "int", "float", "bool"]; function InlineExpression (line 27) | function InlineExpression({ FILE: studio/frontend/src/features/recipe-studio/components/inline/inline-field.tsx type InlineFieldProps (line 7) | type InlineFieldProps = { function InlineField (line 13) | function InlineField({ FILE: studio/frontend/src/features/recipe-studio/components/inline/inline-llm.tsx type InlineLlmProps (line 24) | type InlineLlmProps = { constant CODE_LANG_OPTIONS (line 29) | const CODE_LANG_OPTIONS = [ function InlineLlm (line 48) | function InlineLlm({ config, onUpdate }: InlineLlmProps): ReactElement { FILE: studio/frontend/src/features/recipe-studio/components/inline/inline-model.tsx type InlineModelPatch (line 9) | type InlineModelPatch = Partial | Partial([ function getConfigUiMode (line 15) | function getConfigUiMode( function isInlineConfig (line 45) | function isInlineConfig( FILE: studio/frontend/src/features/recipe-studio/components/inline/inline-sampler.tsx type InlineSamplerProps (line 16) | type InlineSamplerProps = { type ConvertTo (line 21) | type ConvertTo = "int" | "float" | "str"; function ConvertToField (line 23) | function ConvertToField({ function InlineSampler (line 50) | function InlineSampler({ FILE: studio/frontend/src/features/recipe-studio/components/inline/inline-seed.tsx type InlineSeedProps (line 11) | type InlineSeedProps = { function InlineSeed (line 16) | function InlineSeed({ config, onUpdate }: InlineSeedProps): ReactElement { FILE: studio/frontend/src/features/recipe-studio/components/recipe-floating-icon-button-class.ts constant RECIPE_FLOATING_ICON_BUTTON_CLASS (line 4) | const RECIPE_FLOATING_ICON_BUTTON_CLASS = FILE: studio/frontend/src/features/recipe-studio/components/recipe-graph-aux-node.tsx type PromptField (line 24) | type PromptField = "prompt" | "system_prompt"; type PromptInputNodeData (line 26) | type PromptInputNodeData = { type JudgeScoreNodeData (line 34) | type JudgeScoreNodeData = { type RecipeGraphAuxNodeData (line 41) | type RecipeGraphAuxNodeData = PromptInputNodeData | JudgeScoreNodeData; type RecipeGraphAuxNodeType (line 42) | type RecipeGraphAuxNodeType = Node; function updateScoreAt (line 44) | function updateScoreAt( function updateOptionAt (line 55) | function updateOptionAt( function AuxVariableBadges (line 65) | function AuxVariableBadges({ function AuxNodeBase (line 73) | function AuxNodeBase({ FILE: studio/frontend/src/features/recipe-studio/components/recipe-graph-node.tsx type IconType (line 68) | type IconType = typeof CodeIcon; function hexToRgb (line 70) | function hexToRgb(hex: string): { r: number; g: number; b: number } | nu... function parseNoteOpacity (line 83) | function parseNoteOpacity(value: string | undefined): number { constant NODE_META (line 91) | const NODE_META = { constant SAMPLER_ICONS (line 120) | const SAMPLER_ICONS: Record = { constant LLM_ICONS (line 133) | const LLM_ICONS: Record = { function resolveNodeIcon (line 140) | function resolveNodeIcon( function getConfigSummary (line 174) | function getConfigSummary(config: NodeConfig | undefined): string { function renderNodeBody (line 285) | function renderNodeBody( function RecipeGraphNodeBase (line 346) | function RecipeGraphNodeBase({ FILE: studio/frontend/src/features/recipe-studio/components/recipe-studio-header.tsx type StatusTone (line 28) | type StatusTone = "success" | "error"; type RecipeStudioHeaderProps (line 30) | type RecipeStudioHeaderProps = { constant STATUS_MESSAGE_CLASS (line 42) | const STATUS_MESSAGE_CLASS: Record = { function RecipeStudioHeader (line 47) | function RecipeStudioHeader({ FILE: studio/frontend/src/features/recipe-studio/components/rf-ui/base-handle.tsx type BaseHandleProps (line 9) | type BaseHandleProps = HandleProps; function BaseHandle (line 11) | function BaseHandle({ FILE: studio/frontend/src/features/recipe-studio/components/rf-ui/base-node.tsx function BaseNode (line 8) | function BaseNode({ function BaseNodeHeader (line 28) | function BaseNodeHeader({ function BaseNodeHeaderTitle (line 43) | function BaseNodeHeaderTitle({ function BaseNodeContent (line 56) | function BaseNodeContent({ function BaseNodeFooter (line 69) | function BaseNodeFooter({ FILE: studio/frontend/src/features/recipe-studio/components/rf-ui/data-edge.tsx type DataEdge (line 15) | type DataEdge = Edge<{ function DataEdge (line 20) | function DataEdge({ function getPath (line 65) | function getPath({ function resolvePathType (line 121) | function resolvePathType({ FILE: studio/frontend/src/features/recipe-studio/components/rf-ui/labeled-handle.tsx function LabeledHandle (line 17) | function LabeledHandle({ FILE: studio/frontend/src/features/recipe-studio/components/runtime/execution-progress-island.tsx type ExecutionProgressIslandProps (line 23) | type ExecutionProgressIslandProps = { function formatEta (line 31) | function formatEta(value: number | null | undefined): string { function statusLabel (line 39) | function statusLabel(input: { function ExecutionProgressIsland (line 52) | function ExecutionProgressIsland({ FILE: studio/frontend/src/features/recipe-studio/components/shared/available-references-inline.tsx type AvailableReferencesInlineProps (line 8) | type AvailableReferencesInlineProps = { constant MAX_ROWS (line 12) | const MAX_ROWS = 2; function AvailableReferencesInline (line 14) | function AvailableReferencesInline({ FILE: studio/frontend/src/features/recipe-studio/components/shared/hf-dataset-combobox.tsx type HfDatasetComboboxProps (line 16) | type HfDatasetComboboxProps = { function HfDatasetCombobox (line 25) | function HfDatasetCombobox({ FILE: studio/frontend/src/features/recipe-studio/constants.ts constant DEFAULT_NODE_WIDTH (line 4) | const DEFAULT_NODE_WIDTH = 400; constant DEFAULT_NODE_HEIGHT (line 5) | const DEFAULT_NODE_HEIGHT = 120; constant MIN_NODE_WIDTH (line 6) | const MIN_NODE_WIDTH = 260; constant MAX_NODE_WIDTH (line 7) | const MAX_NODE_WIDTH = 900; constant MAX_NOTE_NODE_WIDTH (line 8) | const MAX_NOTE_NODE_WIDTH = 600; FILE: studio/frontend/src/features/recipe-studio/data/executions-db.ts function listRecipeExecutions (line 19) | async function listRecipeExecutions( function saveRecipeExecution (line 26) | async function saveRecipeExecution( FILE: studio/frontend/src/features/recipe-studio/dialogs/config-dialog.tsx type ConfigDialogProps (line 14) | type ConfigDialogProps = { function ConfigDialog (line 28) | function ConfigDialog({ FILE: studio/frontend/src/features/recipe-studio/dialogs/expression/expression-dialog.tsx constant DTYPE_OPTIONS (line 22) | const DTYPE_OPTIONS: ExpressionDtype[] = ["str", "int", "float", "bool"]; type ExpressionDialogProps (line 24) | type ExpressionDialogProps = { function ExpressionDialog (line 29) | function ExpressionDialog({ FILE: studio/frontend/src/features/recipe-studio/dialogs/import-dialog.tsx type ImportDialogProps (line 16) | type ImportDialogProps = { function ImportDialog (line 23) | function ImportDialog({ FILE: studio/frontend/src/features/recipe-studio/dialogs/llm/general-tab.tsx constant CODE_LANG_OPTIONS (line 39) | const CODE_LANG_OPTIONS = [ constant TRACE_MODE_OPTIONS (line 58) | const TRACE_MODE_OPTIONS = ["none", "last_message", "all_messages"] as c... function normalizeTraceMode (line 60) | function normalizeTraceMode(value: string): LlmConfig["with_trace"] { type LlmGeneralTabProps (line 67) | type LlmGeneralTabProps = { function LlmGeneralTab (line 76) | function LlmGeneralTab({ FILE: studio/frontend/src/features/recipe-studio/dialogs/llm/llm-dialog.tsx type LlmDialogProps (line 15) | type LlmDialogProps = { function LlmDialog (line 23) | function LlmDialog({ FILE: studio/frontend/src/features/recipe-studio/dialogs/llm/scores-tab.tsx type LlmScoresTabProps (line 18) | type LlmScoresTabProps = { function LlmScoresTab (line 23) | function LlmScoresTab({ FILE: studio/frontend/src/features/recipe-studio/dialogs/markdown-note/markdown-note-dialog.tsx type MarkdownNoteDialogProps (line 11) | type MarkdownNoteDialogProps = { function MarkdownNoteDialog (line 16) | function MarkdownNoteDialog({ FILE: studio/frontend/src/features/recipe-studio/dialogs/models/model-config-dialog.tsx type ModelConfigDialogProps (line 26) | type ModelConfigDialogProps = { function ModelConfigDialog (line 32) | function ModelConfigDialog({ FILE: studio/frontend/src/features/recipe-studio/dialogs/models/model-provider-dialog.tsx type ModelProviderDialogProps (line 17) | type ModelProviderDialogProps = { function ModelProviderDialog (line 22) | function ModelProviderDialog({ FILE: studio/frontend/src/features/recipe-studio/dialogs/preview-dialog.tsx type RunDialogProps (line 34) | type RunDialogProps = { type ValidationResult (line 58) | type ValidationResult = RunDialogProps["validateResult"]; constant MAX_RECORDS (line 60) | const MAX_RECORDS = 200_000; constant MAX_WORKERS (line 61) | const MAX_WORKERS = 2_048; constant MAX_SHUTDOWN_WINDOW (line 62) | const MAX_SHUTDOWN_WINDOW = 10_000; constant MAX_RETRY_STEPS (line 63) | const MAX_RETRY_STEPS = 100; function clampInt (line 65) | function clampInt(value: number, min: number, max: number): number { function clampFloat (line 79) | function clampFloat(value: number, min: number, max: number): number { function commitInt (line 92) | function commitInt( function commitFloat (line 115) | function commitFloat( type DraftInputFieldProps (line 138) | type DraftInputFieldProps = { function DraftInputField (line 149) | function DraftInputField({ function AdvancedSettingsSection (line 175) | function AdvancedSettingsSection({ function ValidationResultPanel (line 195) | function ValidationResultPanel({ type RunDialogBodyProps (line 265) | type RunDialogBodyProps = Omit< function RunDialogBody (line 272) | function RunDialogBody({ function RunDialog (line 697) | function RunDialog({ FILE: studio/frontend/src/features/recipe-studio/dialogs/processors-dialog.tsx type ProcessorsDialogProps (line 15) | type ProcessorsDialogProps = { function ProcessorsDialog (line 23) | function ProcessorsDialog({ FILE: studio/frontend/src/features/recipe-studio/dialogs/samplers/bernoulli-dialog.tsx type BernoulliDialogProps (line 10) | type BernoulliDialogProps = { function BernoulliDialog (line 15) | function BernoulliDialog({ FILE: studio/frontend/src/features/recipe-studio/dialogs/samplers/category-dialog.tsx type CategoryDialogProps (line 18) | type CategoryDialogProps = { function addChipWithWeight (line 23) | function addChipWithWeight( function removeChipWithWeight (line 34) | function removeChipWithWeight( function CategoryDialog (line 46) | function CategoryDialog({ FILE: studio/frontend/src/features/recipe-studio/dialogs/samplers/datetime-dialog.tsx constant DATETIME_UNITS (line 17) | const DATETIME_UNITS = [ type DatetimeDialogProps (line 27) | type DatetimeDialogProps = { function DatetimeDialog (line 32) | function DatetimeDialog({ FILE: studio/frontend/src/features/recipe-studio/dialogs/samplers/gaussian-dialog.tsx type GaussianDialogProps (line 17) | type GaussianDialogProps = { function GaussianDialog (line 22) | function GaussianDialog({ FILE: studio/frontend/src/features/recipe-studio/dialogs/samplers/person-dialog.tsx type PersonDialogProps (line 17) | type PersonDialogProps = { function PersonDialog (line 22) | function PersonDialog({ FILE: studio/frontend/src/features/recipe-studio/dialogs/samplers/subcategory-dialog.tsx type SubcategoryDialogProps (line 17) | type SubcategoryDialogProps = { function SubcategoryDialog (line 23) | function SubcategoryDialog({ FILE: studio/frontend/src/features/recipe-studio/dialogs/samplers/timedelta-dialog.tsx constant TIMEDELTA_UNITS (line 17) | const TIMEDELTA_UNITS: Array<"D" | "h" | "m" | "s"> = ["D", "h", "m", "s"]; constant NONE_VALUE (line 18) | const NONE_VALUE = "__none"; type TimedeltaDialogProps (line 20) | type TimedeltaDialogProps = { function TimedeltaDialog (line 26) | function TimedeltaDialog({ FILE: studio/frontend/src/features/recipe-studio/dialogs/samplers/uniform-dialog.tsx type UniformDialogProps (line 17) | type UniformDialogProps = { function UniformDialog (line 22) | function UniformDialog({ FILE: studio/frontend/src/features/recipe-studio/dialogs/samplers/uuid-dialog.tsx type UuidDialogProps (line 10) | type UuidDialogProps = { function UuidDialog (line 15) | function UuidDialog({ FILE: studio/frontend/src/features/recipe-studio/dialogs/seed/seed-dialog.tsx constant SAMPLING_OPTIONS (line 55) | const SAMPLING_OPTIONS: Array<{ value: SeedSamplingStrategy; label: stri... constant SELECTION_OPTIONS (line 60) | const SELECTION_OPTIONS: Array<{ value: SeedSelectionType; label: string... constant LOCAL_ACCEPT (line 66) | const LOCAL_ACCEPT = ".csv,.json,.jsonl"; constant UNSTRUCTURED_ACCEPT (line 67) | const UNSTRUCTURED_ACCEPT = ".txt,.pdf,.docx"; constant MAX_UPLOAD_BYTES (line 68) | const MAX_UPLOAD_BYTES = 50 * 1024 * 1024; constant DEFAULT_CHUNK_SIZE (line 69) | const DEFAULT_CHUNK_SIZE = 1200; constant DEFAULT_CHUNK_OVERLAP (line 70) | const DEFAULT_CHUNK_OVERLAP = 200; constant MAX_CHUNK_SIZE (line 71) | const MAX_CHUNK_SIZE = 20000; constant PREVIEW_TRUNCATE_AT (line 72) | const PREVIEW_TRUNCATE_AT = 320; type SeedDialogProps (line 74) | type SeedDialogProps = { function getErrorMessage (line 80) | function getErrorMessage(error: unknown, fallback: string): string { function stringifyCell (line 87) | function stringifyCell(value: unknown): string { function isExpandablePreviewValue (line 98) | function isExpandablePreviewValue(value: string): boolean { function truncatePreviewValue (line 102) | function truncatePreviewValue(value: string): string { function getPreviewEmptyStateCopy (line 109) | function getPreviewEmptyStateCopy(mode: SeedConfig["seed_source_type"]): { function parseChunkNumber (line 132) | function parseChunkNumber( function resolveChunking (line 148) | function resolveChunking(config: SeedConfig): { function fileToBase64Payload (line 167) | async function fileToBase64Payload(file: File): Promise { function extractUnstructuredText (line 180) | async function extractUnstructuredText(file: File): Promise { function toUnstructuredUploadFile (line 199) | async function toUnstructuredUploadFile(file: File): Promise { function SeedDialog (line 216) | function SeedDialog({ config, onUpdate, open }: SeedDialogProps): ReactE... FILE: studio/frontend/src/features/recipe-studio/dialogs/shared/available-variables.tsx type AvailableVariablesProps (line 12) | type AvailableVariablesProps = { constant USER_EXPANDED_FIELDS (line 16) | const USER_EXPANDED_FIELDS = [ function AvailableVariables (line 24) | function AvailableVariables({ FILE: studio/frontend/src/features/recipe-studio/dialogs/shared/collapsible-section-trigger.tsx type CollapsibleSectionTriggerProps (line 13) | type CollapsibleSectionTriggerProps = { FILE: studio/frontend/src/features/recipe-studio/dialogs/shared/dialog-shell.tsx type DialogShellProps (line 11) | type DialogShellProps = { function DialogShell (line 16) | function DialogShell({ FILE: studio/frontend/src/features/recipe-studio/dialogs/shared/field-label.tsx type FieldLabelProps (line 9) | type FieldLabelProps = { function FieldLabel (line 15) | function FieldLabel({ FILE: studio/frontend/src/features/recipe-studio/dialogs/shared/name-field.tsx type NameFieldProps (line 8) | type NameFieldProps = { function NameField (line 16) | function NameField({ FILE: studio/frontend/src/features/recipe-studio/dialogs/shared/validation-banner.tsx function ValidationBanner (line 8) | function ValidationBanner({ FILE: studio/frontend/src/features/recipe-studio/dialogs/tool-profile/helpers.ts function createMcpProviderId (line 6) | function createMcpProviderId(prefix: string, index: number): string { function addUnique (line 10) | function addUnique(items: string[], value: string): string[] { function collectToolSuggestions (line 18) | function collectToolSuggestions( function isProviderReadyForToolFetch (line 31) | function isProviderReadyForToolFetch( function toApiProvider (line 44) | function toApiProvider( FILE: studio/frontend/src/features/recipe-studio/dialogs/tool-profile/tool-profile-dialog.tsx type ToolProfileDialogProps (line 35) | type ToolProfileDialogProps = { function EmptyState (line 40) | function EmptyState({ function isProviderConfigured (line 55) | function isProviderConfigured(provider: LlmMcpProviderConfig): boolean { function McpServerCard (line 66) | function McpServerCard({ function ToolProfileDialog (line 351) | function ToolProfileDialog({ FILE: studio/frontend/src/features/recipe-studio/dialogs/validators/validator-dialog.tsx type ValidatorDialogProps (line 45) | type ValidatorDialogProps = { constant NONE_VALUE (line 50) | const NONE_VALUE = "__none__"; function ValidatorDialog (line 52) | function ValidatorDialog({ FILE: studio/frontend/src/features/recipe-studio/execution-types.ts type RecipeStudioView (line 4) | type RecipeStudioView = "editor" | "executions"; type RecipeExecutionKind (line 6) | type RecipeExecutionKind = "preview" | "full"; type RecipeExecutionStatus (line 8) | type RecipeExecutionStatus = type RecipeExecutionProgress (line 17) | type RecipeExecutionProgress = { type RecipeExecutionBatch (line 28) | type RecipeExecutionBatch = { type RecipeExecutionAnalysis (line 33) | type RecipeExecutionAnalysis = { type RecipeExecutionRecord (line 44) | type RecipeExecutionRecord = { FILE: studio/frontend/src/features/recipe-studio/executions/execution-helpers.ts constant DATASET_PAGE_SIZE (line 11) | const DATASET_PAGE_SIZE = 20; function buildSignature (line 13) | function buildSignature(name: string, payload: RecipePayload): string { function formatSavedLabel (line 17) | function formatSavedLabel(savedAt: number | null): string { function toErrorMessage (line 28) | function toErrorMessage(error: unknown, fallback: string): string { function normalizeDatasetRows (line 35) | function normalizeDatasetRows(value: unknown): Record[] { function normalizeObject (line 45) | function normalizeObject(value: unknown): Record | null { function normalizeAnalysis (line 52) | function normalizeAnalysis(value: unknown): RecipeExecutionAnalysis | nu... function mapJobStatus (line 60) | function mapJobStatus(status: string): RecipeExecutionStatus { function isExecutionInProgress (line 82) | function isExecutionInProgress(status: RecipeExecutionStatus): boolean { function executionLabel (line 91) | function executionLabel(kind: "preview" | "full"): string { function normalizeRunName (line 95) | function normalizeRunName(value: unknown): string | null { function executionSortWeight (line 103) | function executionSortWeight(status: RecipeExecutionStatus): number { function sortExecutions (line 113) | function sortExecutions(records: RecipeExecutionRecord[]): RecipeExecuti... function withExecutionDefaults (line 125) | function withExecutionDefaults( function delay (line 163) | function delay(ms: number): Promise { function copyTextToClipboard (line 169) | async function copyTextToClipboard(text: string): Promise { FILE: studio/frontend/src/features/recipe-studio/executions/hydration.ts function loadSortedRecipeExecutions (line 12) | async function loadSortedRecipeExecutions( function findResumableExecution (line 19) | function findResumableExecution( FILE: studio/frontend/src/features/recipe-studio/executions/run-settings.ts function toPositiveInt (line 8) | function toPositiveInt( function toNonNegativeInt (line 27) | function toNonNegativeInt( function toRatio (line 45) | function toRatio(value: number, fallback: number): number { function sanitizeExecutionRows (line 58) | function sanitizeExecutionRows( function normalizeRunSettings (line 65) | function normalizeRunSettings(settings: RecipeRunSettings): RecipeRunSet... function buildRunConfigPayload (line 96) | function buildRunConfigPayload( function applyGlobalParallelismOverride (line 120) | function applyGlobalParallelismOverride( function buildExecutionPayload (line 154) | function buildExecutionPayload(input: { FILE: studio/frontend/src/features/recipe-studio/executions/runtime.ts constant MAX_LOG_LINES (line 16) | const MAX_LOG_LINES = 1500; function formatEventTime (line 18) | function formatEventTime(ts: unknown): string { function appendExecutionLogLine (line 26) | function appendExecutionLogLine(lines: string[], nextLine: string): stri... function toExecutionLogLine (line 34) | function toExecutionLogLine(event: JobEvent): string | null { function applyExecutionStatusSnapshot (line 75) | function applyExecutionStatusSnapshot( function createBaseExecutionRecord (line 115) | function createBaseExecutionRecord(input: { FILE: studio/frontend/src/features/recipe-studio/executions/tracker.ts type TrackRecipeExecutionParams (line 31) | type TrackRecipeExecutionParams = { function isTerminalStatus (line 43) | function isTerminalStatus(status: RecipeExecutionStatus): boolean { function normalizeCompletedProgress (line 47) | function normalizeCompletedProgress(input: { function trackRecipeExecution (line 85) | async function trackRecipeExecution({ FILE: studio/frontend/src/features/recipe-studio/hooks/use-node-connection-status.ts type ConnectionStatus (line 8) | type ConnectionStatus = { function useNodeConnectionStatus (line 15) | function useNodeConnectionStatus( FILE: studio/frontend/src/features/recipe-studio/hooks/use-recipe-editor-graph.ts constant SUPPORTED_DRAG_KINDS (line 30) | const SUPPORTED_DRAG_KINDS: RecipeBlockDragPayload["kind"][] = [ function parseRecipeBlockDragPayload (line 39) | function parseRecipeBlockDragPayload(raw: string): RecipeBlockDragPayloa... type UseRecipeEditorGraphArgs (line 57) | type UseRecipeEditorGraphArgs = { type UseRecipeEditorGraphResult (line 83) | type UseRecipeEditorGraphResult = { function useRecipeEditorGraph (line 105) | function useRecipeEditorGraph({ FILE: studio/frontend/src/features/recipe-studio/hooks/use-recipe-executions.ts type UseRecipeExecutionsParams (line 42) | type UseRecipeExecutionsParams = { type UseRecipeExecutionsResult (line 50) | type UseRecipeExecutionsResult = { function formatValidationMessages (line 84) | function formatValidationMessages(input: { function useRecipeExecutions (line 100) | function useRecipeExecutions({ FILE: studio/frontend/src/features/recipe-studio/hooks/use-recipe-persistence.ts type SaveTone (line 15) | type SaveTone = "success" | "error"; type PersistRecipeFn (line 17) | type PersistRecipeFn = (input: { type UseRecipePersistenceParams (line 26) | type UseRecipePersistenceParams = { type UseRecipePersistenceResult (line 38) | type UseRecipePersistenceResult = { function stripApiKeys (line 54) | function stripApiKeys(value: unknown): unknown { function inferHfRepoIdFromPath (line 81) | function inferHfRepoIdFromPath(pathValue: unknown): string { function sanitizeSeedForShare (line 98) | function sanitizeSeedForShare(payload: unknown): unknown { function useRecipePersistence (line 167) | function useRecipePersistence({ FILE: studio/frontend/src/features/recipe-studio/hooks/use-recipe-runtime-visuals.ts type IconType (line 38) | type IconType = typeof CodeIcon; constant SAMPLER_ICONS (line 40) | const SAMPLER_ICONS: Record = { constant LLM_ICONS (line 53) | const LLM_ICONS: Record = { function resolveExecutionColumnIcon (line 60) | function resolveExecutionColumnIcon(config: NodeConfig | null): IconType { type UseRecipeRuntimeVisualsArgs (line 91) | type UseRecipeRuntimeVisualsArgs = { type UseRecipeRuntimeVisualsResult (line 101) | type UseRecipeRuntimeVisualsResult = { function useRecipeRuntimeVisuals (line 109) | function useRecipeRuntimeVisuals({ FILE: studio/frontend/src/features/recipe-studio/hooks/use-recipe-studio-actions.ts type SaveTone (line 14) | type SaveTone = "success" | "error"; type PersistRecipeFn (line 16) | type PersistRecipeFn = (input: { type UseRecipeStudioActionsParams (line 25) | type UseRecipeStudioActionsParams = { type UseRecipeStudioActionsResult (line 39) | type UseRecipeStudioActionsResult = { function useRecipeStudioActions (line 86) | function useRecipeStudioActions({ FILE: studio/frontend/src/features/recipe-studio/recipe-studio-page.tsx constant NODE_TYPES (line 67) | const NODE_TYPES: NodeTypes = { builder: RecipeNode, aux: RecipeGraphAux... constant EDGE_TYPES (line 68) | const EDGE_TYPES: EdgeTypes = { constant COMPLETE_ISLAND_VISIBLE_MS (line 72) | const COMPLETE_ISLAND_VISIBLE_MS = 7_000; constant TAB_SWITCH_FIT_DELAY_MS (line 73) | const TAB_SWITCH_FIT_DELAY_MS = 110; constant FIT_ANIMATION_MS (line 74) | const FIT_ANIMATION_MS = 340; type PersistRecipeInput (line 76) | type PersistRecipeInput = { type PersistRecipeResult (line 82) | type PersistRecipeResult = { type RecipeStudioPageProps (line 87) | type RecipeStudioPageProps = { function RecipeStudioPage (line 95) | function RecipeStudioPage({ FILE: studio/frontend/src/features/recipe-studio/stores/helpers/edge-sync.ts function findNodeIdByName (line 16) | function findNodeIdByName( function addRecipeEdge (line 26) | function addRecipeEdge(edges: Edge[], source: string, target: string): E... function addValidatorSemanticEdge (line 39) | function addValidatorSemanticEdge( function removeTargetEdges (line 56) | function removeTargetEdges(edges: Edge[], targetId: string): Edge[] { function removeTargetEdgesBySource (line 60) | function removeTargetEdgesBySource( function syncEdgesForConfigPatch (line 74) | function syncEdgesForConfigPatch( function syncSubcategoryConfigsForCategoryUpdate (line 275) | function syncSubcategoryConfigsForCategoryUpdate( FILE: studio/frontend/src/features/recipe-studio/stores/helpers/model-infra-layout.ts type Rect (line 10) | type Rect = { type Bounds (line 17) | type Bounds = { function toRect (line 24) | function toRect(node: RecipeNode): Rect { function intersects (line 33) | function intersects(a: Rect, b: Rect, pad = 18): boolean { function findNonOverlappingPosition (line 42) | function findNonOverlappingPosition( function isProviderToConfigEdge (line 74) | function isProviderToConfigEdge( function isConfigToLlmEdge (line 83) | function isConfigToLlmEdge( function isToolConfigToLlmEdge (line 92) | function isToolConfigToLlmEdge( function usageKey (line 101) | function usageKey(nodeId: string, handleId: string): string { function incrementUsage (line 105) | function incrementUsage( function decrementUsage (line 114) | function decrementUsage( function getUsage (line 123) | function getUsage( function pickHandleByUsage (line 131) | function pickHandleByUsage( function applyEdgeWithHandles (line 154) | function applyEdgeWithHandles( function getNodeCenter (line 166) | function getNodeCenter(node: RecipeNode): { x: number; y: number } { function collectBounds (line 175) | function collectBounds( function sortPreferredLlmTargetHandles (line 201) | function sortPreferredLlmTargetHandles( function getProviderSourceHandleCandidates (line 224) | function getProviderSourceHandleCandidates( function getProviderTargetHandleCandidates (line 232) | function getProviderTargetHandleCandidates( function getConfigSourceHandleCandidates (line 240) | function getConfigSourceHandleCandidates(direction: LayoutDirection): st... function optimizeModelInfraEdgeHandles (line 246) | function optimizeModelInfraEdgeHandles( function centerModelInfraNodes (line 349) | function centerModelInfraNodes( FILE: studio/frontend/src/features/recipe-studio/stores/helpers/node-updates.ts type NodeUpdateState (line 14) | type NodeUpdateState = { type NodeUpdateResult (line 21) | type NodeUpdateResult = { function updateNodeData (line 30) | function updateNodeData( function buildNodeUpdate (line 43) | function buildNodeUpdate( function applyLayoutDirectionToNodes (line 69) | function applyLayoutDirectionToNodes( FILE: studio/frontend/src/features/recipe-studio/stores/helpers/reference-sync.ts function updateTemplateFields (line 12) | function updateTemplateFields( function applyRenameToConfig (line 49) | function applyRenameToConfig( function applyRemovalToConfig (line 107) | function applyRemovalToConfig( function applyConfigTransform (line 164) | function applyConfigTransform( function applyRenameToConfigs (line 181) | function applyRenameToConfigs( function applyRemovalToConfigs (line 194) | function applyRemovalToConfigs( FILE: studio/frontend/src/features/recipe-studio/stores/helpers/removals.ts function applyNodeRemovals (line 9) | function applyNodeRemovals( function applyEdgeRemovals (line 57) | function applyEdgeRemovals( FILE: studio/frontend/src/features/recipe-studio/stores/recipe-executions.ts type RecipeRunSettings (line 9) | type RecipeRunSettings = { constant DEFAULT_RUN_SETTINGS (line 22) | const DEFAULT_RUN_SETTINGS: RecipeRunSettings = { type RecipeExecutionsState (line 35) | type RecipeExecutionsState = { constant INITIAL_STATE (line 62) | const INITIAL_STATE = { FILE: studio/frontend/src/features/recipe-studio/stores/recipe-studio.ts type SheetView (line 53) | type SheetView = type RecipeStudioState (line 63) | type RecipeStudioState = { constant INITIAL_STATE (line 120) | const INITIAL_STATE = { function buildAddedNodeState (line 155) | function buildAddedNodeState( function getAddedNodeContext (line 178) | function getAddedNodeContext( function placeNodeNear (line 194) | function placeNodeNear( function connectSemantic (line 229) | function connectSemantic( function isModelSemanticEdge (line 253) | function isModelSemanticEdge(edge: Edge, configs: Record; type CategoryConditionalParams (line 81) | type CategoryConditionalParams = { type SamplerConfig (line 88) | type SamplerConfig = { type ScoreOption (line 140) | type ScoreOption = { type Score (line 145) | type Score = { type McpProviderType (line 151) | type McpProviderType = "stdio" | "streamable_http"; type McpEnvVar (line 153) | type McpEnvVar = { type LlmMcpProviderConfig (line 158) | type LlmMcpProviderConfig = { type LlmToolConfig (line 173) | type LlmToolConfig = { type ToolProfileConfig (line 186) | type ToolProfileConfig = { type LlmImageContextConfig (line 202) | type LlmImageContextConfig = { type LlmTraceType (line 208) | type LlmTraceType = "none" | "last_message" | "all_messages"; type LlmConfig (line 210) | type LlmConfig = { type ModelProviderConfig (line 240) | type ModelProviderConfig = { type ModelConfig (line 257) | type ModelConfig = { type ExpressionConfig (line 277) | type ExpressionConfig = { type ValidatorConfig (line 286) | type ValidatorConfig = { type MarkdownNoteConfig (line 307) | type MarkdownNoteConfig = { type SeedConfig (line 318) | type SeedConfig = { type SchemaTransformProcessorConfig (line 356) | type SchemaTransformProcessorConfig = { type RecipeProcessorConfig (line 364) | type RecipeProcessorConfig = SchemaTransformProcessorConfig; type NodeConfig (line 366) | type NodeConfig = FILE: studio/frontend/src/features/recipe-studio/utils/config-factories.ts function makeSamplerConfig (line 23) | function makeSamplerConfig( function makeLlmConfig (line 174) | function makeLlmConfig( function makeModelProviderConfig (line 224) | function makeModelProviderConfig( function makeModelConfig (line 246) | function makeModelConfig( function makeToolProfileConfig (line 271) | function makeToolProfileConfig( function makeExpressionConfig (line 292) | function makeExpressionConfig( function makeValidatorConfig (line 306) | function makeValidatorConfig( function makeMarkdownNoteConfig (line 336) | function makeMarkdownNoteConfig( function makeSeedConfig (line 350) | function makeSeedConfig( FILE: studio/frontend/src/features/recipe-studio/utils/config-labels.ts constant SAMPLER_LABELS (line 10) | const SAMPLER_LABELS: Record = { constant LLM_LABELS (line 23) | const LLM_LABELS: Record = { constant EXPRESSION_LABELS (line 30) | const EXPRESSION_LABELS: Record = { function labelForSampler (line 37) | function labelForSampler(type: SamplerType): string { function labelForLlm (line 41) | function labelForLlm(type: LlmType): string { function labelForExpression (line 45) | function labelForExpression(type: ExpressionDtype): string { FILE: studio/frontend/src/features/recipe-studio/utils/config-type-guards.ts function isSamplerConfig (line 12) | function isSamplerConfig( function isCategoryConfig (line 18) | function isCategoryConfig( function isSubcategoryConfig (line 26) | function isSubcategoryConfig( function isLlmConfig (line 36) | function isLlmConfig( function isExpressionConfig (line 42) | function isExpressionConfig( function isValidatorConfig (line 48) | function isValidatorConfig( FILE: studio/frontend/src/features/recipe-studio/utils/graph-warnings.ts type GraphWarning (line 7) | type GraphWarning = { function checkDataSourceRequired (line 15) | function checkDataSourceRequired(allConfigs: NodeConfig[]): GraphWarning... function checkLlmModelAlias (line 33) | function checkLlmModelAlias(allConfigs: NodeConfig[]): GraphWarning[] { function checkModelConfigProvider (line 48) | function checkModelConfigProvider(allConfigs: NodeConfig[]): GraphWarnin... function checkSubcategoryParent (line 63) | function checkSubcategoryParent(allConfigs: NodeConfig[]): GraphWarning[] { function checkValidatorTargets (line 93) | function checkValidatorTargets(allConfigs: NodeConfig[]): GraphWarning[] { function checkDisconnectedNodes (line 111) | function checkDisconnectedNodes( function checkLlmMissingDataInput (line 140) | function checkLlmMissingDataInput( function getGraphWarnings (line 194) | function getGraphWarnings( FILE: studio/frontend/src/features/recipe-studio/utils/graph/derive-display-graph.ts type DisplayGraphInput (line 23) | type DisplayGraphInput = { type DisplayGraph (line 38) | type DisplayGraph = { function isAuxEdge (line 43) | function isAuxEdge(edge: Edge): boolean { function normalizeEdge (line 47) | function normalizeEdge( type AuxNodeItem (line 142) | type AuxNodeItem = { type Rect (line 147) | type Rect = { function toRect (line 154) | function toRect( function intersects (line 167) | function intersects(a: Rect, b: Rect, pad = 18): boolean { function findNonOverlappingPosition (line 176) | function findNonOverlappingPosition( type HandleSide (line 203) | type HandleSide = "left" | "right" | "top" | "bottom"; constant SIDE_TO_TARGET_HANDLE (line 205) | const SIDE_TO_TARGET_HANDLE: Record = { function getTargetSide (line 212) | function getTargetSide( function getSourceSide (line 241) | function getSourceSide( function pickAuxTargetHandle (line 270) | function pickAuxTargetHandle( function getHandleSideFromTargetHandle (line 302) | function getHandleSideFromTargetHandle(targetHandle: string): HandleSide { function pickAuxSourceHandle (line 315) | function pickAuxSourceHandle( type AppendAuxNodeAndEdgeInput (line 340) | type AppendAuxNodeAndEdgeInput = { function appendAuxNodeAndEdge (line 356) | function appendAuxNodeAndEdge({ function deriveDisplayGraph (line 403) | function deriveDisplayGraph({ FILE: studio/frontend/src/features/recipe-studio/utils/graph/fit-view.ts function isMarkdownNoteNode (line 6) | function isMarkdownNoteNode(node: Node): boolean { function getFitNodeIdsIgnoringNotes (line 16) | function getFitNodeIdsIgnoringNotes(nodes: Node[]): Array<{ id: string }> { FILE: studio/frontend/src/features/recipe-studio/utils/graph/recipe-graph-connection.ts function buildTemplateWithRef (line 25) | function buildTemplateWithRef(template: string, ref: string): string { function syncSubcategoryMapping (line 35) | function syncSubcategoryMapping( function isModelInfraNode (line 63) | function isModelInfraNode(config: NodeConfig): boolean { function isSemanticLane (line 71) | function isSemanticLane(connection: Connection): boolean { function isDataLane (line 80) | function isDataLane(connection: Connection): boolean { type SingleRefRelation (line 87) | type SingleRefRelation = function getSingleRefRelation (line 95) | function getSingleRefRelation( function isCompetingIncomingEdge (line 129) | function isCompetingIncomingEdge( function isModelSemanticRelation (line 160) | function isModelSemanticRelation(source: NodeConfig, target: NodeConfig)... function canApplyCodeLangToValidator (line 168) | function canApplyCodeLangToValidator( function countHandleUsage (line 187) | function countHandleUsage( function pickLeastUsedHandle (line 206) | function pickLeastUsedHandle( function chooseModelSemanticHandles (line 232) | function chooseModelSemanticHandles( function normalizeValidatorSemanticConnection (line 281) | function normalizeValidatorSemanticConnection( function isValidRecipeConnection (line 302) | function isValidRecipeConnection( function applyRecipeConnection (line 327) | function applyRecipeConnection( FILE: studio/frontend/src/features/recipe-studio/utils/graph/relations.ts function isSemanticRelation (line 6) | function isSemanticRelation( FILE: studio/frontend/src/features/recipe-studio/utils/graph/runtime-visual-state.ts constant ACTIVE_STATUSES (line 13) | const ACTIVE_STATUSES: ReadonlySet = new Set([ constant FRESH_PENDING_WINDOW_MS (line 19) | const FRESH_PENDING_WINDOW_MS = 60_000; constant DONE_UPSTREAM_KINDS (line 21) | const DONE_UPSTREAM_KINDS: ReadonlySet = new Set([ type GraphRuntimeVisualState (line 31) | type GraphRuntimeVisualState = { function isAuxEdge (line 39) | function isAuxEdge(edge: Edge): boolean { function collectTemplateRefs (line 43) | function collectTemplateRefs(config: NodeConfig | null): Set { function isReversedRuntimeReferenceEdge (line 70) | function isReversedRuntimeReferenceEdge(input: { function hasLiveExecutionSignal (line 84) | function hasLiveExecutionSignal(execution: RecipeExecutionRecord): boole... function pickLatestActiveExecution (line 97) | function pickLatestActiveExecution( function deriveGraphRuntimeVisualState (line 128) | function deriveGraphRuntimeVisualState(input: { function collectUpstreamDoneNodeIds (line 222) | function collectUpstreamDoneNodeIds(input: { FILE: studio/frontend/src/features/recipe-studio/utils/handle-layout.ts constant NODE_HANDLE_CLASS (line 4) | const NODE_HANDLE_CLASS = constant AUX_HANDLE_CLASS (line 7) | const AUX_HANDLE_CLASS = FILE: studio/frontend/src/features/recipe-studio/utils/handles.ts constant HANDLE_IDS (line 7) | const HANDLE_IDS = { type RecipeHandleId (line 35) | type RecipeHandleId = (typeof HANDLE_IDS)[keyof typeof HANDLE_IDS]; constant LEGACY_HANDLE_ALIAS_MAP (line 37) | const LEGACY_HANDLE_ALIAS_MAP: Record = { constant DATA_TARGET_HANDLES (line 42) | const DATA_TARGET_HANDLES = new Set([ constant DATA_SOURCE_HANDLES (line 49) | const DATA_SOURCE_HANDLES = new Set([ constant SEMANTIC_TARGET_HANDLES (line 56) | const SEMANTIC_TARGET_HANDLES = new Set([ constant SEMANTIC_SOURCE_HANDLES (line 64) | const SEMANTIC_SOURCE_HANDLES = new Set([ constant DATA_TARGET_HORIZONTAL_HANDLES (line 72) | const DATA_TARGET_HORIZONTAL_HANDLES = new Set([ constant DATA_TARGET_VERTICAL_HANDLES (line 77) | const DATA_TARGET_VERTICAL_HANDLES = new Set([ constant DATA_SOURCE_HORIZONTAL_HANDLES (line 82) | const DATA_SOURCE_HORIZONTAL_HANDLES = new Set([ constant DATA_SOURCE_VERTICAL_HANDLES (line 87) | const DATA_SOURCE_VERTICAL_HANDLES = new Set([ constant SEMANTIC_TARGET_HORIZONTAL_HANDLES (line 92) | const SEMANTIC_TARGET_HORIZONTAL_HANDLES = new Set([ constant SEMANTIC_TARGET_VERTICAL_HANDLES (line 98) | const SEMANTIC_TARGET_VERTICAL_HANDLES = new Set([ constant SEMANTIC_SOURCE_HORIZONTAL_HANDLES (line 103) | const SEMANTIC_SOURCE_HORIZONTAL_HANDLES = new Set([ constant SEMANTIC_SOURCE_VERTICAL_HANDLES (line 109) | const SEMANTIC_SOURCE_VERTICAL_HANDLES = new Set([ function normalizeRecipeHandleId (line 114) | function normalizeRecipeHandleId( function normalizeRecipeConnectionHandles (line 123) | function normalizeRecipeConnectionHandles( function isKnownHandle (line 133) | function isKnownHandle( function remapHandleForDirection (line 143) | function remapHandleForDirection( function isDataTargetHandle (line 166) | function isDataTargetHandle( function isDataSourceHandle (line 172) | function isDataSourceHandle( function isSemanticTargetHandle (line 178) | function isSemanticTargetHandle( function isSemanticSourceHandle (line 184) | function isSemanticSourceHandle( function getDefaultDataTargetHandle (line 190) | function getDefaultDataTargetHandle(direction: LayoutDirection): string { function getDefaultDataSourceHandle (line 194) | function getDefaultDataSourceHandle(direction: LayoutDirection): string { function getDefaultSemanticTargetHandle (line 198) | function getDefaultSemanticTargetHandle( function getDefaultSemanticSourceHandle (line 204) | function getDefaultSemanticSourceHandle( type RecipeEdgeHandles (line 210) | type RecipeEdgeHandles = { function remapRecipeEdgeHandlesForLayout (line 216) | function remapRecipeEdgeHandlesForLayout( FILE: studio/frontend/src/features/recipe-studio/utils/image-preview.ts constant MAX_IMAGE_PREVIEW_BYTES (line 4) | const MAX_IMAGE_PREVIEW_BYTES = 200 * 1024; type PreviewImagePayload (line 6) | type PreviewImagePayload = { type UnknownRecord (line 12) | type UnknownRecord = Record; type ImagePreviewResult (line 14) | type ImagePreviewResult = function normalizeBase64 (line 18) | function normalizeBase64(value: string): string { function estimateBase64Bytes (line 22) | function estimateBase64Bytes(base64: string): number { function inferMimeFromBase64 (line 32) | function inferMimeFromBase64(base64: string): string | null { function isLikelyRawBase64Image (line 49) | function isLikelyRawBase64Image(value: string): boolean { function toDataUrlFromBase64 (line 60) | function toDataUrlFromBase64(base64: string, mime: string): string { function isRecord (line 64) | function isRecord(value: unknown): value is UnknownRecord { function isByteArray (line 68) | function isByteArray(value: unknown): value is number[] { function byteArrayToBase64 (line 77) | function byteArrayToBase64(bytes: number[]): string { function resolveStringCandidate (line 87) | function resolveStringCandidate( function resolveImagePreviewFromString (line 97) | function resolveImagePreviewFromString( function resolveImagePayloadObject (line 132) | function resolveImagePayloadObject(value: unknown, maxBytes: number): Im... function resolveImagePreview (line 191) | function resolveImagePreview( function isLikelyImageValue (line 206) | function isLikelyImageValue(value: unknown): boolean { FILE: studio/frontend/src/features/recipe-studio/utils/import/edges.ts function isSemanticConnection (line 19) | function isSemanticConnection(source: NodeConfig, target: NodeConfig): b... function buildEdges (line 43) | function buildEdges( FILE: studio/frontend/src/features/recipe-studio/utils/import/helpers.ts function isRecord (line 6) | function isRecord(value: unknown): value is Record { function readString (line 10) | function readString(value: unknown): string | null { function readNumberString (line 14) | function readNumberString(value: unknown): string { function parseJson (line 24) | function parseJson( function normalizeOutputFormat (line 37) | function normalizeOutputFormat(value: unknown): string { function extractRefs (line 47) | function extractRefs(template: string): string[] { FILE: studio/frontend/src/features/recipe-studio/utils/import/importer.ts type RecipeInput (line 28) | type RecipeInput = { type UiInput (line 38) | type UiInput = { type UiMarkdownNoteNode (line 52) | type UiMarkdownNoteNode = { function readStringNumber (line 59) | function readStringNumber(value: unknown): string | undefined { function parseProcessors (line 69) | function parseProcessors(input: unknown): RecipeProcessorConfig[] { function parseSeedDropColumns (line 103) | function parseSeedDropColumns(input: unknown): string[] { function parseMcpProviders (line 136) | function parseMcpProviders( function parseToolConfigs (line 182) | function parseToolConfigs(input: unknown): Map { function cloneMcpProvider (line 223) | function cloneMcpProvider(config: LlmMcpProviderConfig): LlmMcpProviderC... function parseUiMarkdownNoteNodes (line 231) | function parseUiMarkdownNoteNodes(input: unknown): UiMarkdownNoteNode[] { function parseUiToolProfileNodes (line 258) | function parseUiToolProfileNodes(input: unknown): Map { type AdvancedOpenConfig (line 313) | type AdvancedOpenConfig = LlmConfig | SamplerConfig | SeedConfig | Valid... function isAdvancedOpenConfig (line 315) | function isAdvancedOpenConfig(config: NodeConfig): config is AdvancedOpe... function applyAdvancedOpen (line 324) | function applyAdvancedOpen( function buildToolProfileConfig (line 334) | function buildToolProfileConfig( function importRecipePayload (line 361) | function importRecipePayload(input: string): ImportResult { FILE: studio/frontend/src/features/recipe-studio/utils/import/parsers.ts type ColumnParser (line 12) | type ColumnParser = ( constant COLUMN_PARSERS (line 19) | const COLUMN_PARSERS: Record = { function parseColumn (line 30) | function parseColumn( FILE: studio/frontend/src/features/recipe-studio/utils/import/parsers/expression-parser.ts constant EXPRESSION_DTYPES (line 10) | const EXPRESSION_DTYPES: ExpressionDtype[] = ["str", "int", "float", "bo... function parseExpression (line 12) | function parseExpression( FILE: studio/frontend/src/features/recipe-studio/utils/import/parsers/llm-parser.ts function parseTraceMode (line 15) | function parseTraceMode(value: unknown): LlmConfig["with_trace"] { function parseLlm (line 23) | function parseLlm( FILE: studio/frontend/src/features/recipe-studio/utils/import/parsers/model-parser.ts function parseModelProvider (line 14) | function parseModelProvider( function parseModelConfig (line 41) | function parseModelConfig( FILE: studio/frontend/src/features/recipe-studio/utils/import/parsers/sampler-parser.ts constant SAMPLER_TYPES (line 14) | const SAMPLER_TYPES: SamplerType[] = [ constant TIMEDELTA_UNITS (line 27) | const TIMEDELTA_UNITS = new Set(["D", "h", "m", "s"]); function parseCategoryConditionalParams (line 29) | function parseCategoryConditionalParams( function parseSampler (line 62) | function parseSampler( FILE: studio/frontend/src/features/recipe-studio/utils/import/parsers/seed-config-parser.ts function normalizeSampling (line 12) | function normalizeSampling(value: unknown): SeedSamplingStrategy { function makeDefaultSeedConfig (line 18) | function makeDefaultSeedConfig(id: string): SeedConfig { function inferRepoIdFromSeedPath (line 49) | function inferRepoIdFromSeedPath(path: string): string { function parseSeedSettings (line 62) | function parseSeedSettings(seedConfigRaw: unknown): Partial { function parseSeedConfig (line 144) | function parseSeedConfig( FILE: studio/frontend/src/features/recipe-studio/utils/import/parsers/validator-parser.ts constant OXC_VALIDATION_FN_MARKER (line 10) | const OXC_VALIDATION_FN_MARKER = "unsloth_oxc_validator"; function parseOxcValidationMarker (line 12) | function parseOxcValidationMarker( function parseValidator (line 34) | function parseValidator( FILE: studio/frontend/src/features/recipe-studio/utils/import/types.ts type RecipeSnapshot (line 12) | type RecipeSnapshot = { type ImportResult (line 23) | type ImportResult = { FILE: studio/frontend/src/features/recipe-studio/utils/import/ui.ts type UiInput (line 10) | type UiInput = { type ParsedAuxNode (line 18) | type ParsedAuxNode = { function parseUi (line 25) | function parseUi( function buildNodes (line 120) | function buildNodes( FILE: studio/frontend/src/features/recipe-studio/utils/layout.ts type LayoutOptions (line 10) | type LayoutOptions = { function getPipelineRank (line 24) | function getPipelineRank(config: NodeConfig | undefined): number { function isInfraNode (line 44) | function isInfraNode( function isAuxNode (line 52) | function isAuxNode(nodeId: string): boolean { function getEdgeWeight (line 56) | function getEdgeWeight(edgeType: string | undefined): number { function buildPhantomEdges (line 73) | function buildPhantomEdges( function getLayoutedElements (line 117) | function getLayoutedElements( FILE: studio/frontend/src/features/recipe-studio/utils/naming.ts function nextName (line 6) | function nextName(existing: NodeConfig[], prefix: string): string { FILE: studio/frontend/src/features/recipe-studio/utils/node-data.ts function nodeDataFromConfig (line 11) | function nodeDataFromConfig( FILE: studio/frontend/src/features/recipe-studio/utils/parse.ts function parseNumber (line 4) | function parseNumber(value?: string): number | null { function parseIntNumber (line 12) | function parseIntNumber(value?: string): number | null { function parseAgeRange (line 20) | function parseAgeRange(value?: string): [number, number] | null { function parseJsonObject (line 36) | function parseJsonObject( function isValidSex (line 57) | function isValidSex(value?: string): value is "Male" | "Female" { FILE: studio/frontend/src/features/recipe-studio/utils/payload/build-payload.ts function pushUniqueJson (line 51) | function pushUniqueJson( function collectAdvancedOpenByNode (line 71) | function collectAdvancedOpenByNode( function buildRecipePayload (line 95) | function buildRecipePayload( FILE: studio/frontend/src/features/recipe-studio/utils/payload/builders-llm.ts function buildImageContext (line 11) | function buildImageContext( function buildLlmColumn (line 33) | function buildLlmColumn( function buildLlmMcpProvider (line 121) | function buildLlmMcpProvider( function buildLlmToolConfig (line 170) | function buildLlmToolConfig( function buildToolProfilePayload (line 212) | function buildToolProfilePayload( FILE: studio/frontend/src/features/recipe-studio/utils/payload/builders-model.ts function buildModelProvider (line 7) | function buildModelProvider( function buildModelConfig (line 37) | function buildModelConfig( FILE: studio/frontend/src/features/recipe-studio/utils/payload/builders-processors.ts function buildExpressionColumn (line 7) | function buildExpressionColumn( function buildProcessors (line 24) | function buildProcessors( FILE: studio/frontend/src/features/recipe-studio/utils/payload/builders-sampler.ts constant DATETIME_UNIT_MAP (line 7) | const DATETIME_UNIT_MAP: Record( function filterNodeChangesByIds (line 33) | function filterNodeChangesByIds( function filterEdgeChangesByIds (line 42) | function filterEdgeChangesByIds( FILE: studio/frontend/src/features/recipe-studio/utils/recipe-studio-view.ts type DialogOptions (line 6) | type DialogOptions = { function buildDialogOptions (line 14) | function buildDialogOptions(configList: NodeConfig[]): DialogOptions { FILE: studio/frontend/src/features/recipe-studio/utils/refs.ts constant JINJA_REF_RE (line 4) | const JINJA_REF_RE = /{{\s*([a-zA-Z_][a-zA-Z0-9_]*)\s*}}/g; constant JINJA_EXPR_RE (line 5) | const JINJA_EXPR_RE = /{{\s*([^{}]+?)\s*}}/g; constant SIMPLE_JINJA_EXPR_RE (line 6) | const SIMPLE_JINJA_EXPR_RE = /^[a-zA-Z_][a-zA-Z0-9_.]*$/; constant PLAIN_JINJA_EXPR_RE (line 7) | const PLAIN_JINJA_EXPR_RE = /^[a-zA-Z0-9_.\s-]+$/; constant NESTED_REFERENCE_ROOTS (line 8) | const NESTED_REFERENCE_ROOTS = new Set(["user"]); function isValidNestedReference (line 10) | function isValidNestedReference(expr: string, validSet: Set): bo... function escapeRegExp (line 22) | function escapeRegExp(value: string): string { function extractRefs (line 26) | function extractRefs(template: string): string[] { function findInvalidJinjaReferences (line 39) | function findInvalidJinjaReferences( function replaceRef (line 70) | function replaceRef( function removeRef (line 82) | function removeRef(template: string, ref: string): string { FILE: studio/frontend/src/features/recipe-studio/utils/rf-node-dimensions.ts function parseDim (line 6) | function parseDim(value: unknown): number | null { function readNodeWidth (line 17) | function readNodeWidth(node: Node): number | null { function readNodeHeight (line 26) | function readNodeHeight(node: Node): number | null { FILE: studio/frontend/src/features/recipe-studio/utils/ui-tones.ts constant RECIPE_STUDIO_NODE_TONES (line 4) | const RECIPE_STUDIO_NODE_TONES = { constant RECIPE_STUDIO_USER_NODE_TONE (line 25) | const RECIPE_STUDIO_USER_NODE_TONE = constant RECIPE_STUDIO_REFERENCE_BADGE_TONES (line 28) | const RECIPE_STUDIO_REFERENCE_BADGE_TONES = { constant RECIPE_STUDIO_WARNING_BADGE_TONE (line 36) | const RECIPE_STUDIO_WARNING_BADGE_TONE = constant RECIPE_STUDIO_WARNING_ICON_TONE (line 39) | const RECIPE_STUDIO_WARNING_ICON_TONE = constant RECIPE_STUDIO_ONBOARDING_SURFACE_TONE (line 42) | const RECIPE_STUDIO_ONBOARDING_SURFACE_TONE = constant RECIPE_STUDIO_ONBOARDING_ICON_TONE (line 45) | const RECIPE_STUDIO_ONBOARDING_ICON_TONE = FILE: studio/frontend/src/features/recipe-studio/utils/validation.ts constant TRACE_MODES (line 10) | const TRACE_MODES = new Set(["none", "last_message", "all_messages"]); function getConfigErrors (line 13) | function getConfigErrors(config: NodeConfig | null): string[] { FILE: studio/frontend/src/features/recipe-studio/utils/validators/code-lang.ts constant VALIDATOR_OXC_CODE_LANGS (line 6) | const VALIDATOR_OXC_CODE_LANGS: ValidatorCodeLang[] = [ constant VALIDATOR_SQL_CODE_LANGS (line 13) | const VALIDATOR_SQL_CODE_LANGS: ValidatorCodeLang[] = [ constant VALIDATOR_CODE_LANG_SET (line 22) | const VALIDATOR_CODE_LANG_SET = new Set([ function isValidatorCodeLang (line 28) | function isValidatorCodeLang(value: string): value is ValidatorCodeLang { function normalizeValidatorCodeLang (line 32) | function normalizeValidatorCodeLang( FILE: studio/frontend/src/features/recipe-studio/utils/validators/oxc-code-shape.ts constant OXC_CODE_SHAPES (line 6) | const OXC_CODE_SHAPES: OxcCodeShape[] = [ function isOxcCodeShape (line 12) | function isOxcCodeShape(value: string): value is OxcCodeShape { function normalizeOxcCodeShape (line 16) | function normalizeOxcCodeShape(value: unknown): OxcCodeShape { FILE: studio/frontend/src/features/recipe-studio/utils/validators/oxc-mode.ts constant OXC_VALIDATION_MODES (line 6) | const OXC_VALIDATION_MODES: OxcValidationMode[] = [ function isOxcValidationMode (line 12) | function isOxcValidationMode(value: string): value is OxcValidationMode { function normalizeOxcValidationMode (line 16) | function normalizeOxcValidationMode(value: unknown): OxcValidationMode { FILE: studio/frontend/src/features/recipe-studio/utils/variables.ts type AvailableVariableSource (line 6) | type AvailableVariableSource = "column" | "seed"; type AvailableVariableEntry (line 8) | type AvailableVariableEntry = { function getStructuredRefs (line 13) | function getStructuredRefs(llmName: string, outputFormat: string): strin... function getAvailableVariableEntries (line 25) | function getAvailableVariableEntries( function getAvailableVariables (line 86) | function getAvailableVariables( FILE: studio/frontend/src/features/studio/sections/charts-content.tsx type LossDisplayPoint (line 23) | type LossDisplayPoint = { function isStepVisible (line 29) | function isStepVisible(step: number, domain: [number, number]): boolean { function collectLossValues (line 33) | function collectLossValues( function ChartsContent (line 57) | function ChartsContent({ FILE: studio/frontend/src/features/studio/sections/charts-section.tsx constant SKELETON_KEYS (line 12) | const SKELETON_KEYS = [ function ChartsSection (line 19) | function ChartsSection(): ReactElement | null { FILE: studio/frontend/src/features/studio/sections/charts/chart-preferences-store.ts constant DEFAULT_WINDOW_SIZE (line 8) | const DEFAULT_WINDOW_SIZE = Math.max( type ChartPreferencesState (line 13) | type ChartPreferencesState = { FILE: studio/frontend/src/features/studio/sections/charts/chart-settings-sheet.tsx function ChoiceButtons (line 24) | function ChoiceButtons({ function SettingRow (line 50) | function SettingRow({ function ScaleSection (line 72) | function ScaleSection({ function ChartSettingsSheet (line 112) | function ChartSettingsSheet(): ReactElement { FILE: studio/frontend/src/features/studio/sections/charts/eval-loss-chart-card.tsx function EvalLossChartCard (line 31) | function EvalLossChartCard({ FILE: studio/frontend/src/features/studio/sections/charts/grad-norm-chart-card.tsx type GradNormPoint (line 31) | interface GradNormPoint { function GradNormChartCard (line 37) | function GradNormChartCard({ FILE: studio/frontend/src/features/studio/sections/charts/learning-rate-chart-card.tsx type LearningRatePoint (line 29) | interface LearningRatePoint { function LearningRateChartCard (line 35) | function LearningRateChartCard({ FILE: studio/frontend/src/features/studio/sections/charts/training-loss-chart-card.tsx type LossChartPoint (line 39) | interface LossChartPoint { function TrainingLossChartCard (line 47) | function TrainingLossChartCard({ FILE: studio/frontend/src/features/studio/sections/charts/types.ts type ScaleMode (line 4) | type ScaleMode = "linear" | "log"; type OutlierMode (line 5) | type OutlierMode = "none" | "p99" | "p95"; type LossHistoryItem (line 7) | type LossHistoryItem = { step: number; loss: number }; type SmoothedLossItem (line 8) | type SmoothedLossItem = LossHistoryItem & { smoothed: number }; type TrainingChartSeries (line 10) | interface TrainingChartSeries { FILE: studio/frontend/src/features/studio/sections/charts/utils.ts constant CHART_SYNC_ID (line 6) | const CHART_SYNC_ID = "train-metrics-sync"; constant MAX_RENDER_POINTS (line 7) | const MAX_RENDER_POINTS = 800; constant DEFAULT_VISIBLE_POINTS (line 8) | const DEFAULT_VISIBLE_POINTS = 160; constant CHART_CONTAINER_CLASS (line 9) | const CHART_CONTAINER_CLASS = "h-[220px] w-full"; constant DEFAULT_CHART_MARGIN (line 10) | const DEFAULT_CHART_MARGIN = { top: 4, right: 8, bottom: 0, left: 4 }; constant DEFAULT_Y_AXIS_WIDTH (line 11) | const DEFAULT_Y_AXIS_WIDTH = 45; constant TRAILING_ZEROES_RE (line 12) | const TRAILING_ZEROES_RE = /\.?0+$/; constant NEGATIVE_ZERO_RE (line 13) | const NEGATIVE_ZERO_RE = /^-0$/; function toLog1p (line 23) | function toLog1p(value: number): number { function fromLog1p (line 28) | function fromLog1p(value: number): number { function formatMetric (line 32) | function formatMetric(value: number): string { function formatAxisMetric (line 59) | function formatAxisMetric(value: number): string { function formatStepTick (line 85) | function formatStepTick(value: number): string { function compressSeries (line 95) | function compressSeries(data: T[], maxPoints: number): T[] { function clamp (line 106) | function clamp(value: number, min: number, max: number): number { function buildStepTicks (line 110) | function buildStepTicks( function buildYDomain (line 135) | function buildYDomain(values: number[]): [number, number] { function getUpperPercentile (line 154) | function getUpperPercentile( function applyOutlierCap (line 175) | function applyOutlierCap(values: number[], mode: OutlierMode): number[] { function ema (line 183) | function ema( FILE: studio/frontend/src/features/studio/sections/dataset-preview-dialog-mapping.tsx constant CHATML_ROLES (line 19) | const CHATML_ROLES = ["system", "user", "assistant"] as const; constant ALPACA_ROLES (line 20) | const ALPACA_ROLES = ["instruction", "input", "output"] as const; constant SHAREGPT_ROLES (line 21) | const SHAREGPT_ROLES = ["system", "human", "gpt"] as const; constant VLM_ROLES (line 22) | const VLM_ROLES = ["image", "text"] as const; constant AUDIO_ROLES (line 23) | const AUDIO_ROLES = ["audio", "text", "speaker_id"] as const; constant ROLE_LABELS (line 25) | const ROLE_LABELS: Record = { function getAvailableRoles (line 40) | function getAvailableRoles(isVlm: boolean, format?: string, isAudio?: bo... function isMappingComplete (line 48) | function isMappingComplete( function HeaderRolePicker (line 62) | function HeaderRolePicker({ function DatasetMappingCard (line 93) | function DatasetMappingCard({ function DatasetMappingFooter (line 242) | function DatasetMappingFooter({ constant TO_CANONICAL (line 291) | const TO_CANONICAL: Record = { constant FROM_CANONICAL (line 300) | const FROM_CANONICAL: Record> = { function remapRolesForFormat (line 309) | function remapRolesForFormat( function deriveDefaultMapping (line 322) | function deriveDefaultMapping( FILE: studio/frontend/src/features/studio/sections/dataset-preview-dialog-utils.ts type PreviewImagePayload (line 4) | type PreviewImagePayload = { function formatCell (line 12) | function formatCell(value: unknown): string { function isPreviewImagePayload (line 21) | function isPreviewImagePayload(value: unknown): value is PreviewImagePay... function collectPreviewImages (line 31) | function collectPreviewImages(value: unknown): PreviewImagePayload[] { FILE: studio/frontend/src/features/studio/sections/dataset-preview-dialog.tsx constant ROLE_REMAP (line 34) | const ROLE_REMAP: Record> = { type DatasetPreviewDialogProps (line 39) | type DatasetPreviewDialogProps = { function DatasetPreviewDialog (line 52) | function DatasetPreviewDialog({ function MetaRow (line 512) | function MetaRow({ FILE: studio/frontend/src/features/studio/sections/dataset-section.tsx constant DOCUMENT_REDIRECT_EXTENSIONS (line 66) | const DOCUMENT_REDIRECT_EXTENSIONS = new Set([".pdf", ".docx", ".txt"]); constant SEARCH_INPUT_REASONS (line 68) | const SEARCH_INPUT_REASONS = new Set(["input-change", "input-paste", "in... constant OPEN_LEARNING_RECIPES_ON_ARRIVAL_KEY (line 69) | const OPEN_LEARNING_RECIPES_ON_ARRIVAL_KEY = function isLikelyLocalDatasetRef (line 72) | function isLikelyLocalDatasetRef(value: string) { function deriveLocalDatasetName (line 82) | function deriveLocalDatasetName(path: string): string { function formatUpdatedDate (line 94) | function formatUpdatedDate(timestamp: number | null): string { function normalizeSliceInput (line 99) | function normalizeSliceInput(value: string): string | null { function DatasetSection (line 106) | function DatasetSection() { function MetadataRow (line 1037) | function MetadataRow({ label, value }: { label: string; value: string }) { FILE: studio/frontend/src/features/studio/sections/document-upload-redirect-dialog.tsx type DocumentUploadRedirectDialogProps (line 21) | type DocumentUploadRedirectDialogProps = { function DocumentUploadRedirectDialog (line 28) | function DocumentUploadRedirectDialog({ FILE: studio/frontend/src/features/studio/sections/model-section.tsx constant METHOD_DOTS (line 62) | const METHOD_DOTS: Record = { constant DARK_TRIGGER (line 68) | const DARK_TRIGGER = constant DARK_CONTENT (line 70) | const DARK_CONTENT = constant DARK_COMBOBOX_CONTENT (line 72) | const DARK_COMBOBOX_CONTENT = function ModelSection (line 75) | function ModelSection() { FILE: studio/frontend/src/features/studio/sections/params-section.tsx function Row (line 50) | function Row({ function SliderRow (line 81) | function SliderRow({ function ParamsSection (line 125) | function ParamsSection(): ReactElement { FILE: studio/frontend/src/features/studio/sections/progress-section-lib.ts function formatDuration (line 38) | function formatDuration(seconds: number | null): string { function formatNumber (line 46) | function formatNumber(value: number | null | undefined, digits: number):... FILE: studio/frontend/src/features/studio/sections/progress-section.tsx type ConfigGroup (line 52) | type ConfigGroup = { function configRow (line 57) | function configRow( function ProgressSection (line 64) | function ProgressSection(): ReactElement { function TrainingHeaderActions (line 356) | function TrainingHeaderActions({ function MilestoneCallout (line 447) | function MilestoneCallout({ function MetricStat (line 500) | function MetricStat({ function lastNonZeroValue (line 521) | function lastNonZeroValue(points: { value: number }[]): number | null { function getDisplayMetric (line 531) | function getDisplayMetric( function GpuStat (line 542) | function GpuStat({ FILE: studio/frontend/src/features/studio/sections/training-section.tsx function TrainingSection (line 45) | function TrainingSection() { FILE: studio/frontend/src/features/studio/studio-page.tsx constant STUDIO_TOUR_KEY (line 25) | const STUDIO_TOUR_KEY = "tour:studio:v1"; function StudioPage (line 27) | function StudioPage(): ReactElement { FILE: studio/frontend/src/features/studio/training-start-overlay.tsx type TrainingStartOverlayProps (line 25) | type TrainingStartOverlayProps = { function TrainingStartOverlay (line 30) | function TrainingStartOverlay({ FILE: studio/frontend/src/features/studio/training-view.tsx function TrainingView (line 12) | function TrainingView(): ReactElement { FILE: studio/frontend/src/features/tour/components/guided-tour.tsx type GuidedTourProps (line 17) | type GuidedTourProps = { open: boolean; onOpenChange: (open: boolean) =>... function GuidedTour (line 19) | function GuidedTour({ FILE: studio/frontend/src/features/tour/components/read-more.tsx function ReadMore (line 4) | function ReadMore({ href = "#" }: { href?: string }) { FILE: studio/frontend/src/features/tour/components/spotlight-overlay.tsx type SpotlightOverlayProps (line 7) | type SpotlightOverlayProps = { function SpotlightOverlay (line 14) | function SpotlightOverlay({ rect, vw, vh, maskId }: SpotlightOverlayProp... FILE: studio/frontend/src/features/tour/hooks/use-guided-tour-controller.ts constant TOUR_OPEN_EVENT (line 7) | const TOUR_OPEN_EVENT = "omx:tour:open"; type TourOpenDetail (line 9) | type TourOpenDetail = { function useGuidedTourController (line 13) | function useGuidedTourController({ FILE: studio/frontend/src/features/tour/types.ts type TourStep (line 6) | type TourStep = { type Rect (line 15) | type Rect = { x: number; y: number; w: number; h: number }; type Placement (line 17) | type Placement = "right" | "left" | "top" | "bottom"; FILE: studio/frontend/src/features/training/api/datasets-api.ts type CheckDatasetFormatArgs (line 11) | type CheckDatasetFormatArgs = { function checkDatasetFormat (line 19) | async function checkDatasetFormat({ function uploadTrainingDataset (line 46) | async function uploadTrainingDataset( type AiAssistMappingArgs (line 67) | type AiAssistMappingArgs = { type AiAssistMappingResponse (line 76) | type AiAssistMappingResponse = { function aiAssistMapping (line 88) | async function aiAssistMapping({ function listLocalDatasets (line 117) | async function listLocalDatasets(): Promise { FILE: studio/frontend/src/features/training/api/mappers.ts constant BACKEND_LORA_TYPE (line 7) | const BACKEND_LORA_TYPE = "LoRA/QLoRA"; constant BACKEND_FULL_TYPE (line 8) | const BACKEND_FULL_TYPE = "Full Finetuning"; function parseSliceValue (line 10) | function parseSliceValue(value: string | null): number | null { function toBackendTrainingType (line 19) | function toBackendTrainingType(trainingMethod: string): string { function buildTrainingStartPayload (line 23) | function buildTrainingStartPayload( FILE: studio/frontend/src/features/training/api/models-api.ts type VisionCheckResponse (line 6) | interface VisionCheckResponse { type EmbeddingCheckResponse (line 11) | interface EmbeddingCheckResponse { type BackendTrainingDefaults (line 16) | interface BackendTrainingDefaults { type BackendLoraDefaults (line 36) | interface BackendLoraDefaults { type BackendLoggingDefaults (line 49) | interface BackendLoggingDefaults { type BackendModelConfig (line 57) | interface BackendModelConfig { type ModelConfigResponse (line 64) | interface ModelConfigResponse { type LocalModelInfo (line 78) | interface LocalModelInfo { type LocalModelListResponse (line 87) | interface LocalModelListResponse { function checkVisionModel (line 97) | async function checkVisionModel(modelName: string): Promise { function checkEmbeddingModel (line 112) | async function checkEmbeddingModel( function getModelConfig (line 125) | async function getModelConfig( function listLocalModels (line 139) | async function listLocalModels( FILE: studio/frontend/src/features/training/api/train-api.ts function isAbortError (line 16) | function isAbortError(error: unknown): boolean { function readError (line 20) | async function readError(response: Response): Promise { function parseJson (line 29) | async function parseJson(response: Response): Promise { function startTraining (line 36) | async function startTraining( function stopTraining (line 47) | async function stopTraining(save = true): Promise { function resetTraining (line 56) | async function resetTraining(): Promise { function getTrainingStatus (line 63) | async function getTrainingStatus(): Promise { function getTrainingMetrics (line 68) | async function getTrainingMetrics(): Promise { type ProgressEventName (line 73) | type ProgressEventName = "progress" | "heartbeat" | "complete" | "error"; type ParsedSseEvent (line 75) | interface ParsedSseEvent { function parseSseEvent (line 81) | function parseSseEvent(rawEvent: string): ParsedSseEvent | null { function streamTrainingProgress (line 121) | async function streamTrainingProgress(options: { FILE: studio/frontend/src/features/training/components/hf-dataset-subset-split-selectors.tsx type Props (line 26) | type Props = { function HfDatasetSubsetSplitSelectors (line 39) | function HfDatasetSubsetSplitSelectors({ function SelectorDropdown (line 216) | function SelectorDropdown({ FILE: studio/frontend/src/features/training/hooks/use-max-steps-epochs-toggle.ts constant PREV_MAX_STEPS_KEY (line 6) | const PREV_MAX_STEPS_KEY = "unsloth_prev_max_steps"; constant PREV_SAVE_STEPS_KEY (line 7) | const PREV_SAVE_STEPS_KEY = "unsloth_prev_save_steps"; constant DEFAULT_MAX_STEPS (line 8) | const DEFAULT_MAX_STEPS = 60; constant DEFAULT_EPOCHS (line 9) | const DEFAULT_EPOCHS = 3; function readStoredNumber (line 11) | function readStoredNumber(key: string, fallback: number): number { function writeStoredNumber (line 23) | function writeStoredNumber(key: string, value: number): void { function normalizePrevMaxSteps (line 32) | function normalizePrevMaxSteps(value: number): number { function normalizePrevSaveSteps (line 36) | function normalizePrevSaveSteps(value: number): number { type UseMaxStepsEpochsToggleParams (line 40) | type UseMaxStepsEpochsToggleParams = { type UseMaxStepsEpochsToggleResult (line 50) | type UseMaxStepsEpochsToggleResult = { function useMaxStepsEpochsToggle (line 55) | function useMaxStepsEpochsToggle({ FILE: studio/frontend/src/features/training/hooks/use-training-actions.ts constant ROLE_REMAP (line 17) | const ROLE_REMAP: Record> = { function normalizeTrainingStartError (line 22) | function normalizeTrainingStartError(message: string): string { function useTrainingActions (line 35) | function useTrainingActions() { function getDatasetName (line 181) | function getDatasetName(config: TrainingConfigState): string | null { function hasManualMapping (line 187) | function hasManualMapping(config: TrainingConfigState, isVlm = false, is... FILE: studio/frontend/src/features/training/hooks/use-training-runtime-lifecycle.ts constant STATUS_POLL_INTERVAL_MS (line 15) | const STATUS_POLL_INTERVAL_MS = 3000; constant METRICS_POLL_INTERVAL_MS (line 16) | const METRICS_POLL_INTERVAL_MS = 5000; constant STREAM_RECONNECT_DELAY_MS (line 17) | const STREAM_RECONNECT_DELAY_MS = 1500; function shouldUseLiveSync (line 19) | function shouldUseLiveSync(state: TrainingRuntimeStore): boolean { function useTrainingRuntimeLifecycle (line 23) | function useTrainingRuntimeLifecycle(): void { FILE: studio/frontend/src/features/training/stores/dataset-preview-dialog-store.ts type DatasetPreviewDialogMode (line 7) | type DatasetPreviewDialogMode = "preview" | "mapping"; type DatasetPreviewDialogState (line 9) | type DatasetPreviewDialogState = { type DatasetPreviewDialogActions (line 15) | type DatasetPreviewDialogActions = { FILE: studio/frontend/src/features/training/stores/training-config-store.ts constant MIN_STEP (line 15) | const MIN_STEP: StepNumber = 1; constant MAX_STEP (line 16) | const MAX_STEP: StepNumber = STEPS.length as StepNumber; function autoSelectTrainingMethod (line 26) | async function autoSelectTrainingMethod( function emptyManualMapping (line 51) | function emptyManualMapping(): TrainingConfigState["datasetManualMapping... constant NON_PERSISTED_STATE_KEYS (line 101) | const NON_PERSISTED_STATE_KEYS: ReadonlySet =... function partializePersistedState (line 116) | function partializePersistedState( function clampStep (line 127) | function clampStep(step: number): StepNumber { function canProceedForStep (line 131) | function canProceedForStep(state: TrainingConfigState): boolean { FILE: studio/frontend/src/features/training/stores/training-runtime-store.ts function sortSeries (line 46) | function sortSeries(points: TrainingSeriesPoint[]): TrainingSeriesPoint[] { function toSeries (line 50) | function toSeries(steps: number[], values: number[]): TrainingSeriesPoin... function toFiniteNumber (line 63) | function toFiniteNumber(value: unknown): number | null { function upsertPoint (line 68) | function upsertPoint( function applyMetricHistoryFromStatus (line 83) | function applyMetricHistoryFromStatus(payload: TrainingStatusResponse): { function shouldShowTrainingView (line 290) | function shouldShowTrainingView(state: TrainingRuntimeStore): boolean { FILE: studio/frontend/src/features/training/types/api.ts type TrainingStartRequest (line 4) | interface TrainingStartRequest { type TrainingStartResponse (line 59) | interface TrainingStartResponse { type TrainingStopResponse (line 66) | interface TrainingStopResponse { FILE: studio/frontend/src/features/training/types/config.ts type LoraVariant (line 14) | type LoraVariant = "lora" | "rslora" | "loftq"; type DatasetManualMapping (line 17) | type DatasetManualMapping = Record; type TrainingConfigState (line 19) | interface TrainingConfigState { type TrainingConfigActions (line 86) | interface TrainingConfigActions { type TrainingConfigStore (line 152) | type TrainingConfigStore = TrainingConfigState & TrainingConfigActions; FILE: studio/frontend/src/features/training/types/datasets.ts type CheckFormatResponse (line 4) | type CheckFormatResponse = { type UploadDatasetResponse (line 21) | type UploadDatasetResponse = { type LocalDatasetInfo (line 26) | type LocalDatasetInfo = { type LocalDatasetsResponse (line 41) | type LocalDatasetsResponse = { FILE: studio/frontend/src/features/training/types/runtime.ts type TrainingPhase (line 4) | type TrainingPhase = type TrainingStatusResponse (line 16) | interface TrainingStatusResponse { type TrainingMetricsResponse (line 41) | interface TrainingMetricsResponse { type TrainingProgressPayload (line 52) | interface TrainingProgressPayload { type TrainingSeriesPoint (line 67) | interface TrainingSeriesPoint { type TrainingRuntimeState (line 72) | interface TrainingRuntimeState { type TrainingRuntimeActions (line 104) | interface TrainingRuntimeActions { type TrainingRuntimeStore (line 120) | type TrainingRuntimeStore = TrainingRuntimeState & TrainingRuntimeActions; FILE: studio/frontend/src/hooks/use-debounced-value.ts function useDebouncedValue (line 6) | function useDebouncedValue(value: T, delayMs = 300): T { FILE: studio/frontend/src/hooks/use-gpu-info.ts type GpuInfo (line 6) | interface GpuInfo { constant DEFAULT_GPU (line 13) | const DEFAULT_GPU: GpuInfo = { function fetchGpuOnce (line 24) | async function fetchGpuOnce(): Promise { function useGpuInfo (line 61) | function useGpuInfo(): GpuInfo { FILE: studio/frontend/src/hooks/use-gpu-utilization.ts type GpuUtilization (line 7) | interface GpuUtilization { constant DEFAULT (line 20) | const DEFAULT: GpuUtilization = { function useGpuUtilization (line 39) | function useGpuUtilization( FILE: studio/frontend/src/hooks/use-hardware-info.ts type HardwareInfo (line 7) | interface HardwareInfo { constant DEFAULT (line 17) | const DEFAULT: HardwareInfo = { function fetchOnce (line 31) | async function fetchOnce(): Promise { function useHardwareInfo (line 67) | function useHardwareInfo(): HardwareInfo { FILE: studio/frontend/src/hooks/use-hf-dataset-search.ts type DatasetInfoSplit (line 9) | interface DatasetInfoSplit { type CardDataWithInfo (line 17) | interface CardDataWithInfo { function extractTotalExamples (line 29) | function extractTotalExamples( type HfDatasetResult (line 48) | interface HfDatasetResult { function mapDataset (line 58) | function mapDataset(raw: unknown): HfDatasetResult { function withTrendingSort (line 83) | function withTrendingSort( type DatasetRelevance (line 105) | type DatasetRelevance = "incompatible" | "neutral" | "boosted"; constant BOOSTED_TASK_CATEGORIES (line 107) | const BOOSTED_TASK_CATEGORIES: Record> = { constant INCOMPATIBLE_TASKS_ALL_MODELS (line 133) | const INCOMPATIBLE_TASKS_ALL_MODELS = new Set([ constant PRETRAINING_PLAIN_TAGS (line 143) | const PRETRAINING_PLAIN_TAGS = new Set(["pretraining", "pre-training"]); constant OCR_PLAIN_TAGS (line 144) | const OCR_PLAIN_TAGS = new Set(["ocr", "document-ocr"]); constant PRETRAINING_SIZE_CATEGORIES (line 146) | const PRETRAINING_SIZE_CATEGORIES = new Set([ constant OCR_OR_VISION_TEXT_TASKS (line 156) | const OCR_OR_VISION_TEXT_TASKS = new Set([ constant CURATED_EMPTY_QUERY_DATASET_IDS (line 163) | const CURATED_EMPTY_QUERY_DATASET_IDS: Partial> = { function isPretrainingDataset (line 284) | function isPretrainingDataset(dataset: HfDatasetResult): boolean { function rankDatasetRelevance (line 295) | function rankDatasetRelevance( function isOcrOrVisionTextDataset (line 327) | function isOcrOrVisionTextDataset(dataset: HfDatasetResult): boolean { function toCuratedDatasetResult (line 334) | function toCuratedDatasetResult(id: string): HfDatasetResult { function useHfDatasetSearch (line 346) | function useHfDatasetSearch( FILE: studio/frontend/src/hooks/use-hf-dataset-splits.ts type HfSplitEntry (line 10) | interface HfSplitEntry { type HfSplitsResponse (line 16) | interface HfSplitsResponse { type HfDatasetSplitsResult (line 22) | interface HfDatasetSplitsResult { constant HF_SPLITS_API (line 39) | const HF_SPLITS_API = "https://datasets-server.huggingface.co/splits"; function normalizeDatasetSplitsError (line 41) | function normalizeDatasetSplitsError(message: string): string { function useHfDatasetSplits (line 83) | function useHfDatasetSplits( FILE: studio/frontend/src/hooks/use-hf-model-search.ts type HfModelResult (line 9) | interface HfModelResult { constant EXCLUDED_TAGS (line 17) | const EXCLUDED_TAGS = new Set([ constant EMBEDDING_TAGS (line 31) | const EMBEDDING_TAGS = new Set([ function withPopularitySort (line 36) | function withPopularitySort( constant DTYPE_BYTES (line 59) | const DTYPE_BYTES: Record = { function estimateSizeFromDtypes (line 66) | function estimateSizeFromDtypes( function makeMapModel (line 78) | function makeMapModel(excludeGguf: boolean) { constant UNSLOTH_PREFETCH (line 105) | const UNSLOTH_PREFETCH = 20; function useHfModelSearch (line 199) | function useHfModelSearch( FILE: studio/frontend/src/hooks/use-hf-paginated-search.ts type HfPaginatedState (line 6) | interface HfPaginatedState { constant INITIAL (line 14) | const INITIAL: HfPaginatedState = { constant BATCH (line 21) | const BATCH = 20; function pullBatch (line 23) | async function pullBatch( function useHfPaginatedSearch (line 42) | function useHfPaginatedSearch( FILE: studio/frontend/src/hooks/use-hf-token-validation.ts type HfTokenValidationState (line 8) | interface HfTokenValidationState { constant INITIAL (line 14) | const INITIAL: HfTokenValidationState = { function useHfTokenValidation (line 25) | function useHfTokenValidation(token: string): HfTokenValidationState { FILE: studio/frontend/src/hooks/use-infinite-scroll.ts function useInfiniteScroll (line 6) | function useInfiniteScroll(fetchMore: () => void, _itemCount: number) { FILE: studio/frontend/src/hooks/use-mobile.ts constant MOBILE_BREAKPOINT (line 6) | const MOBILE_BREAKPOINT = 768; function useIsMobile (line 8) | function useIsMobile() { FILE: studio/frontend/src/hooks/use-recommended-model-vram.ts function useRecommendedModelVram (line 12) | function useRecommendedModelVram(ids: string[]) { FILE: studio/frontend/src/main.tsx function getRandomByte (line 18) | function getRandomByte(): number { FILE: studio/frontend/src/shared/toast.ts function toastSuccess (line 6) | function toastSuccess(message: string): void { function toastError (line 10) | function toastError(message: string, description?: string): void { FILE: studio/frontend/src/speech-recognition.d.ts type SpeechRecognitionResultList (line 8) | interface SpeechRecognitionResultList { type SpeechRecognitionResult (line 14) | interface SpeechRecognitionResult { type SpeechRecognitionAlternative (line 21) | interface SpeechRecognitionAlternative { type SpeechRecognitionEvent (line 26) | interface SpeechRecognitionEvent extends Event { type SpeechRecognition (line 31) | interface SpeechRecognition extends EventTarget { type SpeechRecognitionConstructor (line 43) | interface SpeechRecognitionConstructor { type Window (line 47) | interface Window { FILE: studio/frontend/src/types/training.ts type ModelType (line 4) | type ModelType = "vision" | "audio" | "embeddings" | "text"; type TrainingMethod (line 5) | type TrainingMethod = "qlora" | "lora" | "full"; function isAdapterMethod (line 7) | function isAdapterMethod(method: TrainingMethod): boolean { type StepNumber (line 10) | type StepNumber = 1 | 2 | 3 | 4 | 5; type DatasetSource (line 11) | type DatasetSource = "huggingface" | "upload"; type DatasetFormat (line 12) | type DatasetFormat = "auto" | "alpaca" | "chatml" | "sharegpt"; type GradientCheckpointing (line 13) | type GradientCheckpointing = "none" | "true" | "unsloth"; type WizardState (line 15) | interface WizardState { type WizardActions (line 57) | interface WizardActions { type StepConfig (line 103) | interface StepConfig { FILE: studio/frontend/src/utils/strings.ts function normalizeNonEmptyName (line 4) | function normalizeNonEmptyName( FILE: studio/install_python_stack.py function _enable_colors (line 50) | def _enable_colors() -> bool: function _green (line 80) | def _green(msg: str) -> str: function _cyan (line 84) | def _cyan(msg: str) -> str: function _red (line 88) | def _red(msg: str) -> str: function _progress (line 92) | def _progress(label: str) -> None: function run (line 110) | def run( function _bootstrap_uv (line 138) | def _bootstrap_uv() -> bool: function _filter_requirements (line 163) | def _filter_requirements(req: Path, skip: set[str]) -> Path: function _translate_pip_args_for_uv (line 182) | def _translate_pip_args_for_uv(args: tuple[str, ...]) -> list[str]: function _build_pip_cmd (line 195) | def _build_pip_cmd(args: tuple[str, ...]) -> list[str]: function _build_uv_cmd (line 202) | def _build_uv_cmd(args: tuple[str, ...]) -> list[str]: function pip_install (line 216) | def pip_install( function download_file (line 257) | def download_file(url: str, dest: Path) -> None: function patch_package_file (line 262) | def patch_package_file(package_name: str, relative_path: str, url: str) ... function install_python_stack (line 291) | def install_python_stack() -> int: FILE: tests/qlora/test_unsloth_qlora_train_and_merge.py function get_unsloth_model_and_tokenizer (line 43) | def get_unsloth_model_and_tokenizer( function get_unsloth_peft_model (line 63) | def get_unsloth_peft_model( FILE: tests/saving/gpt-oss-merge/test_merged_model.py function safe_remove_directory (line 10) | def safe_remove_directory(path): FILE: tests/saving/gpt-oss-merge/train_and_merge.py function safe_remove_directory (line 11) | def safe_remove_directory(path): function formatting_prompts_func (line 28) | def formatting_prompts_func(examples): FILE: tests/saving/language_models/test_merge_4bit_validation.py function formatting_prompts_func (line 16) | def formatting_prompts_func(examples): FILE: tests/saving/language_models/test_merge_model_perplexity_llama-3.2.py function formatting_prompts_func (line 35) | def formatting_prompts_func(examples): function load_and_compute_8bit_ppl (line 46) | def load_and_compute_8bit_ppl(result_queue, load_in_4bit = False, load_i... FILE: tests/saving/language_models/test_merge_model_perplexity_mistral.py function load_and_compute_8bit_ppl (line 33) | def load_and_compute_8bit_ppl(result_queue, load_in_4bit = False, load_i... function formatting_prompts_func (line 165) | def formatting_prompts_func(examples): FILE: tests/saving/language_models/test_merge_model_perplexity_phi_4.py function formatting_prompts_func (line 35) | def formatting_prompts_func(examples): function load_and_compute_8bit_ppl (line 48) | def load_and_compute_8bit_ppl(result_queue, load_in_4bit = False, load_i... FILE: tests/saving/language_models/test_merged_model_perplexity_llama-3.1-8b.py function formatting_prompts_func (line 34) | def formatting_prompts_func(examples): function load_and_compute_8bit_ppl (line 45) | def load_and_compute_8bit_ppl(result_queue, load_in_4bit = False, load_i... FILE: tests/saving/language_models/test_merged_model_perplexity_qwen_2.5.py function formatting_prompts_func (line 46) | def formatting_prompts_func(examples): function load_and_compute_8bit_ppl (line 81) | def load_and_compute_8bit_ppl(result_queue, load_in_4bit = False, load_i... FILE: tests/saving/language_models/test_push_to_hub_merged.py function formatting_prompts_func (line 36) | def formatting_prompts_func(examples): FILE: tests/saving/language_models/test_push_to_hub_merged_sharded_index_file.py function formatting_prompts_func (line 36) | def formatting_prompts_func(examples): FILE: tests/saving/language_models/test_save_merged_grpo_model.py function evaluate_merged_model (line 27) | def evaluate_merged_model(result_queue, load_in_4bit = False, load_in_8b... function training_run (line 75) | def training_run(result_queue): FILE: tests/saving/test_unsloth_save.py function loaded_model_tokenizer (line 47) | def loaded_model_tokenizer(request): function fp16_model_tokenizer (line 71) | def fp16_model_tokenizer(request): function model (line 96) | def model(loaded_model_tokenizer): function tokenizer (line 101) | def tokenizer(loaded_model_tokenizer): function temp_save_dir (line 106) | def temp_save_dir(): function delete_quantization_config (line 114) | def delete_quantization_config(model): function test_save_merged_16bit (line 128) | def test_save_merged_16bit(model, tokenizer, temp_save_dir: str): function test_save_merged_4bit (line 181) | def test_save_merged_4bit(model, tokenizer, temp_save_dir: str): function test_save_torchao (line 243) | def test_save_torchao(fp16_model_tokenizer, temp_save_dir: str): function test_save_and_inference_torchao (line 329) | def test_save_and_inference_torchao(fp16_model_tokenizer, temp_save_dir:... FILE: tests/saving/text_to_speech_models/test_csm.py function find_lora_base_model (line 78) | def find_lora_base_model(model_to_inspect): FILE: tests/saving/text_to_speech_models/test_lasa.py function find_lora_base_model (line 85) | def find_lora_base_model(model_to_inspect): function ids_to_speech_tokens (line 147) | def ids_to_speech_tokens(speech_ids): function extract_speech_ids (line 154) | def extract_speech_ids(speech_tokens_str): FILE: tests/saving/text_to_speech_models/test_orpheus.py function find_lora_base_model (line 80) | def find_lora_base_model(model_to_inspect): function redistribute_codes (line 232) | def redistribute_codes(code_list): FILE: tests/saving/text_to_speech_models/test_whisper.py function find_lora_base_model (line 78) | def find_lora_base_model(model_to_inspect): FILE: tests/saving/vision_models/test_index_file_sharded_model.py function format_data (line 37) | def format_data(sample): FILE: tests/saving/vision_models/test_push_to_hub_merged.py function format_data (line 38) | def format_data(sample): FILE: tests/saving/vision_models/test_save_merge_qwen2.5vl32B_model_ocr_benchmark.py function format_data (line 34) | def format_data(sample): function find_lora_base_model (line 183) | def find_lora_base_model(model_to_inspect): FILE: tests/saving/vision_models/test_save_merge_vision_model_ocr_benchmark.py function format_data (line 34) | def format_data(sample): function find_lora_base_model (line 183) | def find_lora_base_model(model_to_inspect): FILE: tests/test_get_model_name.py function _no_remote_mapper (line 8) | def _no_remote_mapper(): class TestGetModelName (line 12) | class TestGetModelName(unittest.TestCase): method _assert_mapping (line 13) | def _assert_mapping(self, model_name, load_in_4bit, expected, should_c... method test_resolution_matrix (line 22) | def test_resolution_matrix(self): method test_static_mapper_contract (line 108) | def test_static_mapper_contract(self): FILE: tests/test_model_registry.py class ModelTestParam (line 45) | class ModelTestParam: function _test_model_uploaded (line 50) | def _test_model_uploaded(model_ids: list[str]): function test_model_registration (line 68) | def test_model_registration(model_test_param: ModelTestParam): function test_all_model_registration (line 79) | def test_all_model_registration(): function test_quant_type (line 86) | def test_quant_type(): FILE: tests/test_raw_text.py class MockDataset (line 15) | class MockDataset: method __init__ (line 16) | def __init__(self, data_dict): method __len__ (line 20) | def __len__(self): method __getitem__ (line 23) | def __getitem__(self, idx): method from_dict (line 34) | def from_dict(cls, data_dict): function test_raw_text_loader (line 57) | def test_raw_text_loader(): FILE: tests/utils/__init__.py function timer (line 20) | def timer(name): function header_footer_context (line 28) | def header_footer_context(title: str, char = "-"): FILE: tests/utils/aime_eval.py function download_and_combine_aime_datasets (line 18) | def download_and_combine_aime_datasets(data_dir: str = "./data/aime") ->... function load_aime_dataset (line 88) | def load_aime_dataset(data_dir: str = "./data/aime") -> List[Dict[str, A... function extract_aime_answer (line 145) | def extract_aime_answer(response: str) -> str: function get_num_tokens (line 187) | def get_num_tokens(text, tokenizer_instance): function evaluate_model_aime (line 195) | def evaluate_model_aime( function compare_aime_results (line 473) | def compare_aime_results(all_results): FILE: tests/utils/cleanup_utils.py function clear_memory (line 10) | def clear_memory(variables_to_clear = None, verbose = False, clear_all_c... function clear_all_lru_caches (line 107) | def clear_all_lru_caches(verbose = True): function clear_specific_lru_cache (line 178) | def clear_specific_lru_cache(func): function monitor_cache_sizes (line 187) | def monitor_cache_sizes(): function safe_remove_directory (line 216) | def safe_remove_directory(path): FILE: tests/utils/data_utils.py function create_instruction_dataset (line 26) | def create_instruction_dataset(messages: list[dict] = DEFAULT_MESSAGES): function create_dataset (line 31) | def create_dataset(tokenizer, num_examples: int = None, messages: list[d... function describe_param (line 48) | def describe_param( function format_summary (line 103) | def format_summary(stats: dict, precision: int = 6) -> str: function get_peft_weights (line 132) | def get_peft_weights(model): function describe_peft_weights (line 140) | def describe_peft_weights(model): function check_responses (line 145) | def check_responses(responses: list[str], answer: str, prompt: str = Non... FILE: tests/utils/hf_utils.py class PeftWeightCallback (line 38) | class PeftWeightCallback(TrainerCallback): method on_log (line 39) | def on_log( method on_train_begin (line 49) | def on_train_begin( method on_step_end (line 60) | def on_step_end( function generate_responses (line 71) | def generate_responses( function sample_responses (line 106) | def sample_responses( function setup_tokenizer (line 129) | def setup_tokenizer(model_name, fixup_funcs: list[Callable] = []): function setup_model (line 136) | def setup_model( function get_peft_config (line 170) | def get_peft_config( function setup_trainer (line 189) | def setup_trainer( function setup_lora (line 209) | def setup_lora( function convert_weights_back_to_dtype (line 229) | def convert_weights_back_to_dtype(model, dtype): function fix_llama3_tokenizer (line 239) | def fix_llama3_tokenizer(tokenizer, padding_side = "right"): function replace_module (line 248) | def replace_module( function _convert_lora_to_linear (line 261) | def _convert_lora_to_linear(module: LoraLayer, adapter_name: str = "defa... function convert_lora_to_linear (line 288) | def convert_lora_to_linear(model: torch.nn.Module): FILE: tests/utils/ocr_eval.py class OCRModelEvaluator (line 19) | class OCRModelEvaluator: method __init__ (line 25) | def __init__(self): method evaluate_model (line 29) | def evaluate_model( method _extract_sample_components (line 105) | def _extract_sample_components( method _generate_response (line 177) | def _generate_response( method _save_individual_result (line 231) | def _save_individual_result( method _generate_summary_report (line 250) | def _generate_summary_report( method add_to_comparison (line 281) | def add_to_comparison(self, model_name: str, wer: float, cer: float): method print_model_comparison (line 285) | def print_model_comparison( method _create_comparison_plot (line 327) | def _create_comparison_plot(self, comparison_df: pd.DataFrame): method get_comparison_results (line 353) | def get_comparison_results(self) -> Dict[str, Dict[str, float]]: method clear_comparison_results (line 357) | def clear_comparison_results(self): function evaluate_ocr_model (line 362) | def evaluate_ocr_model( function create_evaluator (line 372) | def create_evaluator(): FILE: tests/utils/os_utils.py function detect_package_manager (line 8) | def detect_package_manager(): function check_package_installed (line 24) | def check_package_installed(package_name, package_manager = None): function require_package (line 66) | def require_package(package_name, executable_name = None): function require_python_package (line 112) | def require_python_package(package_name, import_name = None, pip_name = ... FILE: tests/utils/perplexity_eval.py function ppl_model (line 10) | def ppl_model(model, tokenizer, dataset): function add_to_comparison (line 49) | def add_to_comparison(model_name, ppl): function print_model_comparison (line 56) | def print_model_comparison(): FILE: tests/utils/test_attention_masks.py function _make_seq_info (line 26) | def _make_seq_info(lengths): function test_sdpa_packed_attention_mask_sliding_window (line 38) | def test_sdpa_packed_attention_mask_sliding_window(): function test_xformers_block_mask_sliding_window (line 58) | def test_xformers_block_mask_sliding_window(monkeypatch): function test_run_attention_sdpa_passes_sliding_window (line 83) | def test_run_attention_sdpa_passes_sliding_window(monkeypatch): function test_run_attention_xformers_passes_sliding_window (line 148) | def test_run_attention_xformers_passes_sliding_window(monkeypatch): function test_run_attention_flash_varlen_receives_window_and_softcap (line 211) | def test_run_attention_flash_varlen_receives_window_and_softcap(monkeypa... FILE: tests/utils/test_packing.py function _build_packed_training_setup (line 37) | def _build_packed_training_setup(tmp_path, device): function _trim_batch_to_total_tokens (line 106) | def _trim_batch_to_total_tokens(data, total_tokens): function test_mask_packed_sequence_boundaries_marks_single_row (line 121) | def test_mask_packed_sequence_boundaries_marks_single_row(): function test_mask_packed_sequence_boundaries_across_multiple_rows (line 135) | def test_mask_packed_sequence_boundaries_across_multiple_rows(): function test_configure_sample_packing (line 146) | def test_configure_sample_packing(): function test_configure_padding_free (line 155) | def test_configure_padding_free(): class _DummyChild (line 163) | class _DummyChild(torch.nn.Module): method __init__ (line 164) | def __init__(self): class _DummyModel (line 169) | class _DummyModel(torch.nn.Module): method __init__ (line 170) | def __init__(self): class _DummyTrainer (line 178) | class _DummyTrainer: method __init__ (line 179) | def __init__(self): class _PaddingFreeCollator (line 206) | class _PaddingFreeCollator: method __init__ (line 207) | def __init__(self): method torch_call (line 212) | def torch_call(self, examples): function test_enable_sample_packing (line 220) | def test_enable_sample_packing(): function test_enable_sample_packing_trl_collator (line 260) | def test_enable_sample_packing_trl_collator(tmp_path): function test_enable_padding_free_metadata (line 294) | def test_enable_padding_free_metadata(): function test_packing_sdpa (line 322) | def test_packing_sdpa(tmp_path): FILE: tests/utils/test_qat.py class _CountingFakeQuantizer (line 22) | class _CountingFakeQuantizer(torch.nn.Module): method __init__ (line 27) | def __init__(self): method forward (line 31) | def forward(self, x: torch.Tensor) -> torch.Tensor: function _get_model (line 36) | def _get_model(qat_scheme: str, full_finetuning: bool): function _test_linear_is_fake_quantized (line 55) | def _test_linear_is_fake_quantized(linear: torch.nn.Linear, qat_scheme: ... function _test_fake_quantizers_are_called (line 100) | def _test_fake_quantizers_are_called( function _test_model_fake_quantize (line 148) | def _test_model_fake_quantize(qat_scheme: str, full_finetuning: bool): function _test_full_model_fake_quantize (line 171) | def _test_full_model_fake_quantize(qat_scheme: str): function test_lora_model_fake_quantize (line 176) | def test_lora_model_fake_quantize(qat_scheme: str): FILE: tests/utils/test_trunc_normal_patch.py function _load_import_fixes_module (line 29) | def _load_import_fixes_module(): function _getattr_or_missing (line 41) | def _getattr_or_missing(obj, name): function _restore_attr (line 45) | def _restore_attr(obj, name, value): function test_trunc_normal_patch_accepts_positional_generator (line 53) | def test_trunc_normal_patch_accepts_positional_generator(): function test_trunc_normal_patch_rejects_invalid_generator (line 87) | def test_trunc_normal_patch_rejects_invalid_generator(): FILE: unsloth-cli.py function run (line 36) | def run(args): FILE: unsloth/__init__.py function is_bf16_supported (line 206) | def is_bf16_supported(including_emulation = False): function is_bf16_supported (line 212) | def is_bf16_supported(): FILE: unsloth/chat_templates.py function _ollama_template (line 47) | def _ollama_template(name: str): function _change_system_message (line 1649) | def _change_system_message(template: str, type_chat_template: str, syste... function get_chat_template (line 1682) | def get_chat_template( function remove_special_tokens (line 1911) | def remove_special_tokens(tokenizer, prompt): function _parse_combined_prompt (line 1918) | def _parse_combined_prompt(combined_prompt, dataset): function _create_formatter (line 1961) | def _create_formatter(possible_columns, final_optional_prompts, user_col... function to_sharegpt (line 2019) | def to_sharegpt( function get_ollama_eos_tokens (line 2111) | def get_ollama_eos_tokens(tokenizer, extra_eos_tokens = []): function construct_chat_template (line 2156) | def construct_chat_template( \ function test_construct_chat_template (line 2448) | def test_construct_chat_template(): function apply_chat_template (line 2491) | def apply_chat_template( \ function create_stopping_criteria (line 2545) | def create_stopping_criteria(tokenizer, stop_word = "eos_token"): function test_chat_templates (line 2572) | def test_chat_templates(): function test_hf_gguf_equivalence (line 2675) | def test_hf_gguf_equivalence(tokenizer, gguf_model = "./model-unsloth.F1... FILE: unsloth/dataprep/raw_text.py class RawTextDataLoader (line 37) | class RawTextDataLoader: method __init__ (line 38) | def __init__(self, tokenizer, chunk_size = 2048, stride = 512, return_... method detect_format (line 50) | def detect_format(self, file_path): method load_from_file (line 55) | def load_from_file(self, file_path, return_tokenized = None): method load_from_files (line 68) | def load_from_files(self, file_paths, return_tokenized = None): method chunk_text (line 82) | def chunk_text(self, text, return_tokenized = None): method create_causal_dataset (line 90) | def create_causal_dataset(self, chunks): method smart_chunk_text (line 110) | def smart_chunk_text(self, text, chunk_size, stride, return_tokenized ... method _read_file_by_format (line 201) | def _read_file_by_format(self, file_path, file_format): method _extract_text_from_json (line 227) | def _extract_text_from_json(self, data): method _extract_text_from_csv_row (line 235) | def _extract_text_from_csv_row(self, row): class TextPreprocessor (line 244) | class TextPreprocessor: method clean_text (line 245) | def clean_text(self, text): method extract_sections (line 253) | def extract_sections(self, text, patterns): method add_structure_tokens (line 261) | def add_structure_tokens(self, text): method validate_dataset (line 277) | def validate_dataset(self, dataset): FILE: unsloth/dataprep/synthetic.py function _load_vllm_utils (line 38) | def _load_vllm_utils(): function terminate_tree (line 48) | def terminate_tree(proc: subprocess.Popen, timeout = 15): class PipeCapture (line 83) | class PipeCapture: method __init__ (line 86) | def __init__( method _reader (line 118) | def _reader(self): method wait_for_ready (line 144) | def wait_for_ready(self, timeout = None): method has_closed (line 147) | def has_closed(self): method wait_until_closed (line 150) | def wait_until_closed(self, timeout = None): method tail (line 153) | def tail(self, n = 200): class SyntheticDataKit (line 158) | class SyntheticDataKit: method __init__ (line 159) | def __init__( method from_pretrained (line 314) | def from_pretrained( method check_vllm_status (line 334) | def check_vllm_status(): method cleanup (line 342) | def cleanup(self): method __enter__ (line 377) | def __enter__(self): method __exit__ (line 380) | def __exit__(self, *exc): method __del__ (line 383) | def __del__(self): method chunk_data (line 386) | def chunk_data(self, filename = None): method prepare_qa_generation (line 431) | def prepare_qa_generation( FILE: unsloth/device_type.py function is_hip (line 32) | def is_hip(): function get_device_type (line 37) | def get_device_type(): function get_device_count (line 70) | def get_device_count(): FILE: unsloth/import_fixes.py function Version (line 50) | def Version(version): class HideLoggingMessage (line 71) | class HideLoggingMessage(logging.Filter): method __init__ (line 74) | def __init__(self, text): method filter (line 77) | def filter(self, x): class HidePrintMessage (line 81) | class HidePrintMessage: method __init__ (line 82) | def __init__(self, original_stream): method add_filter (line 86) | def add_filter(self, text): method write (line 89) | def write(self, message): method flush (line 93) | def flush(self): method __getattr__ (line 96) | def __getattr__(self, name): function suppress_cuda_printf (line 110) | def suppress_cuda_printf(): function fix_message_factory_issue (line 265) | def fix_message_factory_issue(): function fix_xformers_performance_issue (line 311) | def fix_xformers_performance_issue(): function patch_vllm_for_notebooks (line 343) | def patch_vllm_for_notebooks(): function fix_vllm_aimv2_issue (line 403) | def fix_vllm_aimv2_issue(): function fix_vllm_guided_decoding_params (line 445) | def fix_vllm_guided_decoding_params(): function ignore_logger_messages (line 492) | def ignore_logger_messages(): function patch_ipykernel_hf_xet (line 503) | def patch_ipykernel_hf_xet(): function patch_trackio (line 535) | def patch_trackio(): function patch_datasets (line 547) | def patch_datasets(): function check_fbgemm_gpu_version (line 562) | def check_fbgemm_gpu_version(): function patch_enable_input_require_grads (line 582) | def patch_enable_input_require_grads(): function _is_custom_torch_build (line 646) | def _is_custom_torch_build(raw_version_str): function _infer_required_torchvision (line 665) | def _infer_required_torchvision(torch_major, torch_minor): function torchvision_compatibility_check (line 681) | def torchvision_compatibility_check(): function fix_openenv_no_vllm (line 775) | def fix_openenv_no_vllm(): function fix_executorch (line 816) | def fix_executorch(): function fix_diffusers_warnings (line 881) | def fix_diffusers_warnings(): function fix_huggingface_hub (line 886) | def fix_huggingface_hub(): function fix_triton_compiled_kernel_missing_attrs (line 896) | def fix_triton_compiled_kernel_missing_attrs(): function patch_trunc_normal_precision_issue (line 944) | def patch_trunc_normal_precision_issue(): function check_vllm_torch_sm100_compatibility (line 1026) | def check_vllm_torch_sm100_compatibility(): function fix_vllm_pdl_blackwell (line 1092) | def fix_vllm_pdl_blackwell(): function patch_openspiel_env_async (line 1222) | def patch_openspiel_env_async(): function patch_torchcodec_audio_decoder (line 1254) | def patch_torchcodec_audio_decoder(): function disable_torchcodec_if_broken (line 1264) | def disable_torchcodec_if_broken(): function disable_broken_wandb (line 1293) | def disable_broken_wandb(): function _log_rocm_detection (line 1376) | def _log_rocm_detection(message): function _is_rocm_torch_build (line 1382) | def _is_rocm_torch_build() -> bool: function _iter_amdgpu_asic_id_table_candidates (line 1419) | def _iter_amdgpu_asic_id_table_candidates(): function configure_amdgpu_asic_id_table_path (line 1455) | def configure_amdgpu_asic_id_table_path(): function _is_causal_conv1d_name (line 1485) | def _is_causal_conv1d_name(module_name: str) -> bool: function _is_vllm_name (line 1491) | def _is_vllm_name(module_name: str) -> bool: function _resolve_module_name (line 1495) | def _resolve_module_name(module_name, package): function _is_broken_causal_conv1d_error (line 1506) | def _is_broken_causal_conv1d_error(error) -> bool: function _is_broken_vllm_error (line 1524) | def _is_broken_vllm_error(error) -> bool: function _get_vllm_cuda_mismatch_message (line 1551) | def _get_vllm_cuda_mismatch_message(error): class _CausalConv1dImportBlockerLoader (line 1611) | class _CausalConv1dImportBlockerLoader(importlib.abc.Loader): method __init__ (line 1614) | def __init__(self, module_name): method create_module (line 1617) | def create_module(self, spec): method exec_module (line 1620) | def exec_module(self, module): class _CausalConv1dImportBlockerFinder (line 1624) | class _CausalConv1dImportBlockerFinder(importlib.abc.MetaPathFinder): method __init__ (line 1627) | def __init__(self): method find_spec (line 1630) | def find_spec(self, fullname, path = None, target = None): class _VllmImportBlockerLoader (line 1640) | class _VllmImportBlockerLoader(importlib.abc.Loader): method __init__ (line 1643) | def __init__(self, module_name): method create_module (line 1646) | def create_module(self, spec): method exec_module (line 1649) | def exec_module(self, module): class _VllmImportBlockerFinder (line 1653) | class _VllmImportBlockerFinder(importlib.abc.MetaPathFinder): method __init__ (line 1656) | def __init__(self): method find_spec (line 1659) | def find_spec(self, fullname, path = None, target = None): function _patch_find_spec_for_causal_conv1d (line 1669) | def _patch_find_spec_for_causal_conv1d(): function _patch_find_spec_for_vllm (line 1686) | def _patch_find_spec_for_vllm(): function _install_causal_conv1d_blocker (line 1703) | def _install_causal_conv1d_blocker(): function _install_vllm_blocker (line 1711) | def _install_vllm_blocker(): function _clear_causal_conv1d_modules (line 1719) | def _clear_causal_conv1d_modules(): function _clear_vllm_modules (line 1725) | def _clear_vllm_modules(): function disable_broken_vllm (line 1731) | def disable_broken_vllm(error = None): function _disable_transformers_causal_conv1d (line 1772) | def _disable_transformers_causal_conv1d(): function disable_broken_causal_conv1d (line 1789) | def disable_broken_causal_conv1d(): FILE: unsloth/kernels/cross_entropy_loss.py function _cross_entropy_forward (line 35) | def _cross_entropy_forward( function _chunked_cross_entropy_forward (line 116) | def _chunked_cross_entropy_forward( function _cross_entropy_backward (line 206) | def _cross_entropy_backward( class Fast_CrossEntropyLoss (line 295) | class Fast_CrossEntropyLoss(torch.autograd.Function): method forward (line 297) | def forward( method backward (line 383) | def backward(ctx, dlosses): function fast_cross_entropy_loss (line 424) | def fast_cross_entropy_loss( function patch_loss_functions (line 462) | def patch_loss_functions(torch_compile = True): FILE: unsloth/kernels/fast_lora.py class LoRA_MLP (line 28) | class LoRA_MLP(torch.autograd.Function): method forward (line 69) | def forward( method backward (line 116) | def backward(ctx, dY: torch.Tensor): function apply_lora_mlp_swiglu (line 235) | def apply_lora_mlp_swiglu(self, X, inplace = True): function apply_lora_mlp_geglu_exact (line 267) | def apply_lora_mlp_geglu_exact(self, X, inplace = True): function apply_lora_mlp_geglu_approx (line 299) | def apply_lora_mlp_geglu_approx(self, X): class LoRA_QKV (line 327) | class LoRA_QKV(torch.autograd.Function): method forward (line 360) | def forward( method backward (line 424) | def backward(ctx, dQ, dK, dV): function apply_lora_qkv (line 535) | def apply_lora_qkv(self, X, inplace = True): class LoRA_W (line 562) | class LoRA_W(torch.autograd.Function): method forward (line 592) | def forward(ctx, X: torch.Tensor, W, W_quant, A, B, S): method backward (line 605) | def backward(ctx, dY: torch.Tensor): function apply_lora_o (line 641) | def apply_lora_o(self, X): function fast_lora_forward (line 652) | def fast_lora_forward(self, x: torch.Tensor, *args, **kwargs) -> torch.T... FILE: unsloth/kernels/flex_attention.py function slow_attention_softcapping (line 46) | def slow_attention_softcapping(Q, K, V, causal_mask, self, bsz, q_len): function generate_tanh_softcap (line 85) | def generate_tanh_softcap(t): function causal_masker (line 91) | def causal_masker(b, h, q_idx, kv_idx): function sliding_window_masker (line 95) | def sliding_window_masker(size = 4096): function create_block_mask (line 104) | def create_block_mask(mask, n = 128): function create_flex_attention_causal_mask (line 115) | def create_flex_attention_causal_mask(max_seq_length = 8192): function create_flex_attention_sliding_window_mask (line 119) | def create_flex_attention_sliding_window_mask( function flex_attention (line 127) | def flex_attention(s, t): function slow_attention_softcapping (line 137) | def slow_attention_softcapping(Q, K, V, causal_mask, self, bsz, q_len): function slow_inference_attention_softcapping (line 154) | def slow_inference_attention_softcapping(Q, K, V, causal_mask, self, bsz... FILE: unsloth/kernels/fp8.py function weight_dequant_kernel (line 65) | def weight_dequant_kernel(x_ptr, s_ptr, y_ptr, M, N, BLOCK_SIZE: tl.cons... function weight_dequant_block (line 79) | def weight_dequant_block( function weight_dequant (line 97) | def weight_dequant(x: torch.Tensor, s: torch.Tensor, dtype = torch.bfloa... function act_quant_kernel (line 119) | def act_quant_kernel(x_ptr, y_ptr, s_ptr, BLOCK_SIZE: tl.constexpr): function act_quant (line 134) | def act_quant( function _w8a8_block_fp8_matmul (line 152) | def _w8a8_block_fp8_matmul( function w8a8_block_fp8_matmul_triton (line 236) | def w8a8_block_fp8_matmul_triton( function torchao_block_matmul (line 302) | def torchao_block_matmul( class FP8BlockQuantLinear (line 330) | class FP8BlockQuantLinear(torch.autograd.Function): method forward (line 332) | def forward(ctx, X, weight, weight_scale): method backward (line 382) | def backward(ctx, grad_output): function fp8_torch_block_quant_forward (line 390) | def fp8_torch_block_quant_forward(X, weight, weight_scale): class FbgemmFp8Linear_matmul (line 394) | class FbgemmFp8Linear_matmul(torch.autograd.Function): method forward (line 396) | def forward(ctx, x, weight, weight_scale, bias = None): method backward (line 453) | def backward(ctx, grad_output): function fbgemm_fp8_linear (line 461) | def fbgemm_fp8_linear(X, weight, weight_scale, bias = None): class FP8_fbgemm_block_linear (line 465) | class FP8_fbgemm_block_linear(torch.autograd.Function): method forward (line 467) | def forward(ctx, X, weight, weight_scale, bias = None): method backward (line 510) | def backward(ctx, grad_output): function fp8_fbgemm_block_linear (line 518) | def fp8_fbgemm_block_linear(X, weight, weight_scale, bias = None): function test_has_fbgemm (line 522) | def test_has_fbgemm(): function fp8_linear (line 600) | def fp8_linear(X, weight, weight_scale, bias = None): function module_forward_patch (line 613) | def module_forward_patch(forward_function, scale_attr = "weight_scale"): FILE: unsloth/kernels/geglu.py function _exact_forward_kernel (line 32) | def _exact_forward_kernel( function geglu_exact_forward_kernel (line 63) | def geglu_exact_forward_kernel(gate, up): function _exact_backward_kernel (line 82) | def _exact_backward_kernel( function geglu_exact_backward_kernel (line 140) | def geglu_exact_backward_kernel(DW, e, g): function _approx_forward_kernel (line 157) | def _approx_forward_kernel( function geglu_approx_forward_kernel (line 193) | def geglu_approx_forward_kernel(gate, up): function _approx_backward_kernel (line 212) | def _approx_backward_kernel( function geglu_approx_backward_kernel (line 277) | def geglu_approx_backward_kernel(DW, e, g): FILE: unsloth/kernels/layernorm.py function layernorm_forward (line 26) | def layernorm_forward( function layernorm_backward (line 68) | def layernorm_backward( class Fast_Layernorm (line 111) | class Fast_Layernorm(torch.autograd.Function): method forward (line 113) | def forward(ctx, X, W, b, eps): method backward (line 146) | def backward(ctx, dY): function fast_layernorm (line 172) | def fast_layernorm(layernorm, X): function test_layernorm (line 185) | def test_layernorm( function testing_suite_layernorm (line 214) | def testing_suite_layernorm(): FILE: unsloth/kernels/moe/autotune_cache.py function _get_cache_key (line 37) | def _get_cache_key( function _get_cache_file_path (line 60) | def _get_cache_file_path(cache_key: str) -> str: function load_cached_config (line 67) | def load_cached_config(cache_key: str) -> Optional[Dict[str, Any]]: function save_cached_config (line 95) | def save_cached_config( function get_or_autotune_moe_kernels (line 128) | def get_or_autotune_moe_kernels( function _run_moe_autotuning (line 243) | def _run_moe_autotuning( function _get_heuristic_configs (line 389) | def _get_heuristic_configs() -> Tuple[Any, Any, Any]: function _get_default_configs (line 444) | def _get_default_configs() -> Tuple[Any, Any, Any]: function clear_cache (line 490) | def clear_cache() -> None: function is_autotuning_completed (line 498) | def is_autotuning_completed(cache_key: str) -> bool: FILE: unsloth/kernels/moe/benchmark/benchmark_fused_moe.py function run_benchmark_forward (line 42) | def run_benchmark_forward( function run_benchmark_backward (line 86) | def run_benchmark_backward( function setup_model (line 132) | def setup_model( function run_benchmark (line 183) | def run_benchmark( FILE: unsloth/kernels/moe/benchmark/utils.py function create_merged_results (line 22) | def create_merged_results( function post_process_results (line 40) | def post_process_results( function save_results (line 52) | def save_results( function create_kernel_configs (line 69) | def create_kernel_configs(args: argparse.Namespace, permute_x: bool, per... function power_of_two_range (line 158) | def power_of_two_range(start, end): function multiples_of_range (line 164) | def multiples_of_range(start, end, step = 1): function map_key_to_args (line 168) | def map_key_to_args(key, mode): function save_autotune_results (line 172) | def save_autotune_results(autotune_cache, mode, ref_time, fused_time, re... function get_autotuner (line 195) | def get_autotuner(mode): function postprocess_autotune_results (line 219) | def postprocess_autotune_results(autotuner, mode, ref_time, fused_time, ... FILE: unsloth/kernels/moe/grouped_gemm/interface.py function _check_tma_support (line 44) | def _check_tma_support(): function supports_tma (line 63) | def supports_tma(): function _is_tracing (line 75) | def _is_tracing(*tensors): function get_per_device_per_stream_alloc_fn (line 95) | def get_per_device_per_stream_alloc_fn(device): function log_kernel_info (line 115) | def log_kernel_info( function grouped_gemm_forward (line 130) | def grouped_gemm_forward( function grouped_gemm_dX (line 344) | def grouped_gemm_dX( function grouped_gemm_dW (line 516) | def grouped_gemm_dW( class GroupedGemm (line 692) | class GroupedGemm(torch.autograd.Function): method forward (line 694) | def forward( method backward (line 754) | def backward(ctx, dY): function check_valid_config_fwd (line 860) | def check_valid_config_fwd( function check_valid_config_bwd_dW (line 892) | def check_valid_config_bwd_dW( function check_valid_config_bwd_dX (line 913) | def check_valid_config_bwd_dX( function grouped_gemm (line 934) | def grouped_gemm( FILE: unsloth/kernels/moe/grouped_gemm/kernels/autotuning.py function val_to_list (line 39) | def val_to_list(val): function convert_args_to_list (line 48) | def convert_args_to_list(args): function _triton_supports_tma (line 52) | def _triton_supports_tma(): function get_forward_configs (line 68) | def get_forward_configs( function get_dX_kernel_configs (line 149) | def get_dX_kernel_configs( function get_dW_kernel_configs (line 229) | def get_dW_kernel_configs( function estimate_smem_reqs (line 309) | def estimate_smem_reqs( function exceeds_smem_capacity (line 323) | def exceeds_smem_capacity( function common_prune_criteria (line 338) | def common_prune_criteria(config: triton.Config, kwargs: dict, dtype): function maybe_disable_tma (line 370) | def maybe_disable_tma(config: triton.Config): function prune_kernel_configs_fwd (line 380) | def prune_kernel_configs_fwd(configs: list[triton.Config], args, **kwargs): function prune_dX_configs (line 405) | def prune_dX_configs(configs: List[triton.Config], args, **kwargs): function prune_kernel_configs_backward_dW (line 425) | def prune_kernel_configs_backward_dW(configs: list[triton.Config], args,... FILE: unsloth/kernels/moe/grouped_gemm/kernels/backward.py function _grouped_gemm_dX_kernel (line 48) | def _grouped_gemm_dX_kernel( function _grouped_gemm_dW_kernel (line 296) | def _grouped_gemm_dW_kernel( FILE: unsloth/kernels/moe/grouped_gemm/kernels/forward.py function _grouped_gemm_forward_kernel (line 24) | def _grouped_gemm_forward_kernel( FILE: unsloth/kernels/moe/grouped_gemm/kernels/tuning.py class DeviceProperties (line 29) | class DeviceProperties: function get_device_properties (line 39) | def get_device_properties(): class KernelConfig (line 54) | class KernelConfig: method to_string (line 66) | def to_string(self, include_tuning_params: bool = False, include_tma: ... class KernelConfigForward (line 85) | class KernelConfigForward(KernelConfig): class KernelConfigBackward_dW (line 91) | class KernelConfigBackward_dW(KernelConfig): class KernelConfigBackward_dX (line 97) | class KernelConfigBackward_dX(KernelConfig): class KernelResult (line 103) | class KernelResult: method to_dict (line 109) | def to_dict(self): method to_dataframe (line 118) | def to_dataframe( method to_csv (line 126) | def to_csv( method print_table (line 136) | def print_table( function get_kernel_configs (line 146) | def get_kernel_configs( function prune_kernel_configs_fwd (line 214) | def prune_kernel_configs_fwd(configs: list[KernelConfigForward]): function prune_kernel_configs_backward_dX (line 227) | def prune_kernel_configs_backward_dX(configs: list[KernelConfigBackward_... function prune_kernel_configs_backward_dW (line 240) | def prune_kernel_configs_backward_dW(configs: list[KernelConfigBackward_... class TritonTuningContext (line 253) | class TritonTuningContext: method __init__ (line 254) | def __init__(self, kernel_config: KernelConfig): method __enter__ (line 258) | def __enter__(self): method __exit__ (line 262) | def __exit__(self, exc_type, exc_value, traceback): FILE: unsloth/kernels/moe/grouped_gemm/reference/layers/llama4_moe.py class Llama4MoeResult (line 34) | class Llama4MoeResult: class Llama4GroupedGemmTextMoe (line 48) | class Llama4GroupedGemmTextMoe(Llama4TextMoe): method __init__ (line 51) | def __init__( method copy_weights (line 104) | def copy_weights(self, other: Llama4TextMoe): method check_weights (line 120) | def check_weights(self, other: Llama4TextMoe): method act_and_mul (line 128) | def act_and_mul(self, x: torch.Tensor) -> torch.Tensor: method run_router (line 134) | def run_router(self, hidden_states: torch.Tensor) -> torch.Tensor: method get_token_counts_and_gather_indices (line 146) | def get_token_counts_and_gather_indices( method forward (line 156) | def forward(self, hidden_states: torch.Tensor) -> torch.Tensor: class Llama4TritonTextMoe (line 256) | class Llama4TritonTextMoe(Llama4GroupedGemmTextMoe): method __init__ (line 257) | def __init__( method copy_weights (line 289) | def copy_weights(self, other: Llama4TextMoe): method check_weights (line 305) | def check_weights(self, other: Llama4TextMoe): method act_and_mul (line 313) | def act_and_mul(self, x: torch.Tensor) -> torch.Tensor: method run_router (line 319) | def run_router(self, hidden_states: torch.Tensor) -> torch.Tensor: method get_token_counts_and_gather_indices (line 331) | def get_token_counts_and_gather_indices( method forward (line 341) | def forward(self, hidden_states: torch.Tensor) -> torch.Tensor: FILE: unsloth/kernels/moe/grouped_gemm/reference/layers/qwen3_moe.py class GroupedGEMMResult (line 39) | class GroupedGEMMResult: class Qwen3MoeGroupedGEMMBlock (line 50) | class Qwen3MoeGroupedGEMMBlock(torch.nn.Module): method __init__ (line 51) | def __init__( method extract_hf_weights (line 86) | def extract_hf_weights(moe_block: Qwen3MoeSparseMoeBlock): method from_hf (line 107) | def from_hf(cls, moe_block: Qwen3MoeSparseMoeBlock): method check_weights (line 112) | def check_weights(self, moe_block: Qwen3MoeSparseMoeBlock): method act_and_mul (line 125) | def act_and_mul(self, x: torch.Tensor) -> torch.Tensor: method run_router (line 131) | def run_router(self, hidden_states: torch.Tensor) -> torch.Tensor: method get_token_counts_and_gather_indices (line 146) | def get_token_counts_and_gather_indices( method forward (line 156) | def forward(self, hidden_states: torch.Tensor) -> torch.Tensor: class Qwen3MoeFusedGroupedGEMMBlock (line 216) | class Qwen3MoeFusedGroupedGEMMBlock(Qwen3MoeGroupedGEMMBlock): method __init__ (line 217) | def __init__( method from_hf (line 249) | def from_hf( method forward (line 280) | def forward(self, hidden_states: torch.Tensor) -> torch.Tensor: FILE: unsloth/kernels/moe/grouped_gemm/reference/moe_block.py class Qwen3MoeFusedGroupedGEMMBlock (line 29) | class Qwen3MoeFusedGroupedGEMMBlock(Qwen3MoeGroupedGEMMBlock): method __init__ (line 30) | def __init__( method from_hf (line 62) | def from_hf( method forward (line 93) | def forward(self, hidden_states: torch.Tensor) -> torch.Tensor: FILE: unsloth/kernels/moe/grouped_gemm/reference/moe_ops.py function permute (line 8) | def permute(X: torch.Tensor, gather_indices: torch.Tensor, topk: int): function unpermute (line 30) | def unpermute(X: torch.Tensor, gather_indices: torch.Tensor): function calculate_topk (line 37) | def calculate_topk( function get_routing_indices (line 84) | def get_routing_indices( function torch_grouped_gemm (line 110) | def torch_grouped_gemm(X, W, m_sizes, transpose = True): FILE: unsloth/kernels/moe/tests/common.py function print_delimiter (line 21) | def print_delimiter(char = "-", length = 80): function delimiter_context (line 26) | def delimiter_context(): function make_inputs (line 32) | def make_inputs(M, N, K, E, topk, dtype, requires_grad = False): class DataConfig (line 64) | class DataConfig: class ModelConfig (line 72) | class ModelConfig: method __post_init__ (line 82) | def __post_init__(self): class GroupedGEMMTestConfig (line 87) | class GroupedGEMMTestConfig: function assert_equal (line 101) | def assert_equal(ref, tri): function assert_close (line 108) | def assert_close(ref, tri, maxtol = None, rmstol = None, description = "... function assert_indx_equal (line 179) | def assert_indx_equal(ref, tri): function get_kernel_test_configs (line 184) | def get_kernel_test_configs( function remove_feature_flags (line 248) | def remove_feature_flags( FILE: unsloth/kernels/moe/tests/moe_utils.py function rebind_experts_to_shared_buffer (line 26) | def rebind_experts_to_shared_buffer( function get_expert_metadata (line 60) | def get_expert_metadata(model_id: str): function clone_experts (line 68) | def clone_experts( class ForwardResult (line 88) | class ForwardResult: class BackwardResult (line 97) | class BackwardResult: function check_down_proj_grad (line 105) | def check_down_proj_grad( function check_gate_up_proj_grad (line 121) | def check_gate_up_proj_grad( function check_gate_grad (line 165) | def check_gate_grad( function check_wgrad (line 180) | def check_wgrad( function check_tensor_allclose (line 191) | def check_tensor_allclose( function check_expert_grads (line 207) | def check_expert_grads( function check_grads (line 242) | def check_grads( function check_fwd (line 258) | def check_fwd( function check_grouped_gemm_results (line 286) | def check_grouped_gemm_results( function run_forward (line 312) | def run_forward(model: nn.Module, X: torch.Tensor, is_grouped_gemm: bool... function run_backward (line 327) | def run_backward( class Qwen3MoeFusedGroupedGEMMBlock (line 360) | class Qwen3MoeFusedGroupedGEMMBlock(Qwen3MoeGroupedGEMMBlock): method __init__ (line 370) | def __init__( method from_hf (line 398) | def from_hf( method forward (line 425) | def forward(self, hidden_states: torch.Tensor, debug: bool = False) ->... FILE: unsloth/kernels/moe/tests/test_grouped_gemm.py function check_valid_config (line 52) | def check_valid_config( function _test_grouped_gemm_forward (line 100) | def _test_grouped_gemm_forward( function test_grouped_gemm_forward_manual (line 290) | def test_grouped_gemm_forward_manual( function test_grouped_gemm_forward_manual_autograd (line 318) | def test_grouped_gemm_forward_manual_autograd( function test_grouped_gemm_forward_autotune (line 351) | def test_grouped_gemm_forward_autotune( function test_grouped_gemm_forward_autotune_autograd (line 389) | def test_grouped_gemm_forward_autotune_autograd( function _test_grouped_gemm_backward_dX (line 443) | def _test_grouped_gemm_backward_dX( function test_grouped_gemm_backward_dX_manual (line 720) | def test_grouped_gemm_backward_dX_manual( function test_grouped_gemm_backward_dX_manual_autograd (line 749) | def test_grouped_gemm_backward_dX_manual_autograd( function test_grouped_gemm_backward_dX_autotune (line 782) | def test_grouped_gemm_backward_dX_autotune( function test_grouped_gemm_backward_dX_autotune_autograd (line 821) | def test_grouped_gemm_backward_dX_autotune_autograd( function _test_grouped_gemm_backward_dW (line 842) | def _test_grouped_gemm_backward_dW( function test_grouped_gemm_backward_dW_manual (line 1094) | def test_grouped_gemm_backward_dW_manual( function test_grouped_gemm_backward_dW_manual_autograd (line 1124) | def test_grouped_gemm_backward_dW_manual_autograd( function test_grouped_gemm_backward_dW_autotune (line 1158) | def test_grouped_gemm_backward_dW_autotune( function test_grouped_gemm_backward_dW_autotune_autograd (line 1196) | def test_grouped_gemm_backward_dW_autotune_autograd( FILE: unsloth/kernels/moe/tests/test_llama4_moe.py function annotated_context (line 40) | def annotated_context(prelude, epilogue = "Passed!", char = "-", num_cha... function get_text_config (line 48) | def get_text_config(model_id): function prep_triton_kernel_traits (line 53) | def prep_triton_kernel_traits(autotune): function sparse_to_dense (line 83) | def sparse_to_dense(t: torch.Tensor): function _check_diff (line 89) | def _check_diff( function run_backwards (line 107) | def run_backwards(y: torch.Tensor, grad_output: torch.Tensor, module: to... function _check_grads (line 113) | def _check_grads( function model_config (line 135) | def model_config(): function test_llama4_ref (line 155) | def test_llama4_ref( FILE: unsloth/kernels/moe/tests/test_qwen3_moe.py function model_id (line 72) | def model_id(): function config (line 77) | def config(model_id: str): function annotated_context (line 82) | def annotated_context(prelude, epilogue = "Passed!", char = "-", num_cha... function test_qwen3_moe (line 109) | def test_qwen3_moe( FILE: unsloth/kernels/rms_layernorm.py function _rms_layernorm_forward (line 22) | def _rms_layernorm_forward( function _rms_layernorm_backward (line 62) | def _rms_layernorm_backward( function _gemma_rms_layernorm_forward (line 124) | def _gemma_rms_layernorm_forward( class Fast_RMS_Layernorm (line 162) | class Fast_RMS_Layernorm(torch.autograd.Function): method forward (line 164) | def forward(ctx, X: torch.Tensor, W: torch.Tensor, eps: float, gemma: ... method backward (line 203) | def backward(ctx, dY: torch.Tensor): function fast_rms_layernorm (line 239) | def fast_rms_layernorm(layernorm, X: torch.Tensor, gemma: bool = False): class Unsloth_LlamaRMSNorm (line 253) | class Unsloth_LlamaRMSNorm(LlamaRMSNorm): method forward (line 254) | def forward(self, X): class Unsloth_MllamaTextRMSNorm (line 261) | class Unsloth_MllamaTextRMSNorm(MllamaTextRMSNorm): method forward (line 262) | def forward(self, X): function patch_rms_layernorm (line 270) | def patch_rms_layernorm(): function unpatch_rms_layernorm (line 285) | def unpatch_rms_layernorm(): function test_rms_layernorm (line 298) | def test_rms_layernorm( function testing_suite_layernorm (line 326) | def testing_suite_layernorm(): FILE: unsloth/kernels/rope_embedding.py function _rope_embedding_QK (line 23) | def _rope_embedding_QK( function _rope_embedding (line 112) | def _rope_embedding( class Fast_RoPE_Embedding (line 185) | class Fast_RoPE_Embedding(torch.autograd.Function): method forward (line 187) | def forward(ctx, Q, cos, sin): method backward (line 238) | def backward(ctx, dY): function fast_rope_embedding (line 282) | def fast_rope_embedding( class Fast_RoPE_Embedding_QK (line 305) | class Fast_RoPE_Embedding_QK(torch.autograd.Function): method forward (line 307) | def forward(ctx, Q, K, cos, sin, rope_indices): method backward (line 377) | def backward(ctx, dQ, dK): class Slow_RoPE_Embedding (line 428) | class Slow_RoPE_Embedding(torch.autograd.Function): method forward (line 430) | def forward(ctx, Q, cos, sin, position_ids): method backward (line 449) | def backward(ctx, dY): function inplace_rope_embedding (line 461) | def inplace_rope_embedding(Q, K, cos, sin, position_ids): FILE: unsloth/kernels/swiglu.py function _fg_kernel (line 28) | def _fg_kernel( function swiglu_fg_kernel (line 59) | def swiglu_fg_kernel(e, g): function _DWf_DW_dfg_kernel (line 77) | def _DWf_DW_dfg_kernel( function swiglu_DWf_DW_dfg_kernel (line 130) | def swiglu_DWf_DW_dfg_kernel(DW, e, g): FILE: unsloth/kernels/utils.py function triton_cast (line 75) | def triton_cast(x, dtype): function is_cdna (line 80) | def is_cdna(): function is_rdna (line 90) | def is_rdna(): function calculate_settings (line 100) | def calculate_settings( function torch_gpu_device (line 140) | def torch_gpu_device(device): function _get_tensor_stream (line 154) | def _get_tensor_stream(tensor: torch_Tensor) -> c_void_p: function QUANT_STATE (line 242) | def QUANT_STATE(W): function get_lora_parameters (line 246) | def get_lora_parameters(proj): function get_lora_parameters_bias (line 307) | def get_lora_parameters_bias(proj): function _maybe_fake_quantize_activations (line 345) | def _maybe_fake_quantize_activations( function fast_dequantize (line 364) | def fast_dequantize(W, quant_state = None, out = None, use_global_buffer... function fast_dequantize (line 473) | def fast_dequantize(W, quant_state = None, out = None, use_global_buffer... function fast_dequantize (line 585) | def fast_dequantize(W, quant_state = None, out = None, use_global_buffer... function fast_gemv (line 660) | def fast_gemv(X, W, quant_state, out = None): function fast_gemv (line 766) | def fast_gemv(X, W, quant_state, out = None): function fast_gemv (line 871) | def fast_gemv(X, W, quant_state, out = None): function fast_linear_forward (line 968) | def fast_linear_forward(proj, X, temp_lora = None, out = None): function matmul_lora (line 1011) | def matmul_lora(X, W, W_quant, A, B, s, out = None): FILE: unsloth/models/_utils.py function resolve_hip_gpu_stats_name (line 155) | def resolve_hip_gpu_stats_name(gpu_stats): function apply_unsloth_gradient_checkpointing (line 191) | def apply_unsloth_gradient_checkpointing( function prefer_flex_attn_if_supported (line 225) | def prefer_flex_attn_if_supported(model_class, config): function _run_temporary_patches (line 261) | def _run_temporary_patches(phase): class HideLoggingMessage (line 305) | class HideLoggingMessage(logging.Filter): method __init__ (line 308) | def __init__(self, text): method filter (line 311) | def filter(self, x): class ReplaceWarningMessage (line 316) | class ReplaceWarningMessage: method add_rule (line 327) | def add_rule(cls, match_text, replacement, category = None): method _install (line 333) | def _install(cls): class _RaiseUninitialized (line 596) | class _RaiseUninitialized(logging.Handler): method __init__ (line 597) | def __init__(self): method emit (line 600) | def emit(self, record): class RaiseUninitialized (line 618) | class RaiseUninitialized: method __init__ (line 619) | def __init__(self): method remove (line 623) | def remove(self): function extract_quant_model_param_count (line 661) | def extract_quant_model_param_count(model): function get_model_param_count (line 674) | def get_model_param_count(model, trainable_only = False): function patch_mistral_nemo_config (line 714) | def patch_mistral_nemo_config(config): function _is_openai_available (line 854) | def _is_openai_available(): function is_big_gpu (line 1134) | def is_big_gpu(index) -> bool: function torch_compile_kwargs (line 1172) | def torch_compile_kwargs(*args, **kwargs): function patch_regional_compilation (line 1187) | def patch_regional_compilation(): function prepare_model_for_kbit_training (line 1224) | def prepare_model_for_kbit_training( function has_internet (line 1292) | def has_internet(host = "8.8.8.8", port = 53, timeout = 3): function _get_statistics (line 1310) | def _get_statistics(statistics = None, force_download = True): function get_statistics (line 1417) | def get_statistics(local_files_only = False): function _prepare_backend (line 1500) | def _prepare_backend(self, *args, **kwargs): function move_to_device (line 1512) | def move_to_device(target_device, *tensors): function offload_to_disk (line 1552) | def offload_to_disk( function offload_input_embeddings (line 1575) | def offload_input_embeddings( function offload_output_embeddings (line 1587) | def offload_output_embeddings( function is_bfloat16_supported (line 1608) | def is_bfloat16_supported(): function is_vLLM_available (line 1612) | def is_vLLM_available(): function patch_linear_scaling (line 1617) | def patch_linear_scaling( function patch_llama_rope_scaling (line 1690) | def patch_llama_rope_scaling( function create_boolean_mask (line 1790) | def create_boolean_mask(n = 4096, sliding_window = 2048): function test_mask_creation (line 1802) | def test_mask_creation(): function _unsloth_pre_compute_loss (line 1843) | def _unsloth_pre_compute_loss(self, model, inputs, *args, **kwargs): function patch_gradient_accumulation_fix (line 1889) | def patch_gradient_accumulation_fix(Trainer): function patch_tokenizer (line 2051) | def patch_tokenizer(model, tokenizer): function patch_fast_lora (line 2058) | def patch_fast_lora(): function unsloth_compile_transformers (line 2064) | def unsloth_compile_transformers( function raise_logits_error (line 2168) | def raise_logits_error(*args, **kwargs): function return_none (line 2172) | def return_none(*args, **kwargs): class EmptyLogits (line 2176) | class EmptyLogits: method __init__ (line 2177) | def __init__(self): method raise_getattr_error (line 2180) | def raise_getattr_error(self, attr): method __repr__ (line 2186) | def __repr__(self): method __str__ (line 2189) | def __str__(self): function validate_loftq_config (line 2206) | def validate_loftq_config(loftq_config, lora_dropout, bias, init_lora_we... function fast_inference_setup (line 2265) | def fast_inference_setup(model_name, model_config): function patch_peft_fast_inference (line 2289) | def patch_peft_fast_inference(model): function error_out_no_vllm (line 2303) | def error_out_no_vllm(*args, **kwargs): class TorchAOConfig (line 2323) | class TorchAOConfig: function _untie_input_output_embeddings (line 2343) | def _untie_input_output_embeddings(model: torch.nn.Module) -> None: function _filter_fn_to_fqns (line 2383) | def _filter_fn_to_fqns( function _convert_torchao_model (line 2396) | def _convert_torchao_model(model): function _prepare_model_for_qat (line 2431) | def _prepare_model_for_qat( function patch_hf_quantizer (line 2571) | def patch_hf_quantizer(): function verify_fp8_support_if_applicable (line 2606) | def verify_fp8_support_if_applicable(model_config): function _get_inference_mode_context_manager (line 2628) | def _get_inference_mode_context_manager(model: torch.nn.Module): function hf_login (line 2647) | def hf_login(token: Optional[str] = None) -> Optional[str]: function is_moe_model (line 2671) | def is_moe_model(model) -> bool: function get_moe_target_parameters (line 2703) | def get_moe_target_parameters(model, target_modules = None) -> Optional[... function make_fast_generate_wrapper (line 2778) | def make_fast_generate_wrapper(original_generate): function _get_full_name_aliases (line 2852) | def _get_full_name_aliases(full_name): function _get_pattern_aliases (line 2869) | def _get_pattern_aliases(pattern): function _expand_patterns (line 2878) | def _expand_patterns(patterns): function patched_should_convert_module (line 2884) | def patched_should_convert_module(full_name, patterns = None): FILE: unsloth/models/cohere.py function fast_layernorm_inference (line 62) | def fast_layernorm_inference(self, X, out_weight = None): function CohereAttention_fast_forward (line 74) | def CohereAttention_fast_forward( function CohereDecoderLayer_fast_forward (line 173) | def CohereDecoderLayer_fast_forward( function CohereAttention_fast_forward_inference (line 252) | def CohereAttention_fast_forward_inference( function CohereModel_fast_forward_inference (line 434) | def CohereModel_fast_forward_inference( class FastCohereModel (line 507) | class FastCohereModel(FastLlamaModel): method pre_patch (line 509) | def pre_patch(): FILE: unsloth/models/dpo.py function PatchDPOTrainer (line 21) | def PatchDPOTrainer(): function PatchKTOTrainer (line 25) | def PatchKTOTrainer(): FILE: unsloth/models/falcon_h1.py function FalconH1Attention_fast_forward (line 76) | def FalconH1Attention_fast_forward( function FalconH1Attention_fast_forward_inference (line 193) | def FalconH1Attention_fast_forward_inference( function FalconH1DecoderLayer_fast_forward (line 394) | def FalconH1DecoderLayer_fast_forward( function _FalconH1_fast_forward_inference (line 506) | def _FalconH1_fast_forward_inference( function _fast_prepare_inputs_for_generation (line 633) | def _fast_prepare_inputs_for_generation( function fix_prepare_inputs_for_generation (line 703) | def fix_prepare_inputs_for_generation(module): class FastFalconH1Model (line 709) | class FastFalconH1Model(FastLlamaModel): method pre_patch (line 711) | def pre_patch(): method from_pretrained (line 743) | def from_pretrained( # TODO: Change after release FILE: unsloth/models/gemma.py function fast_geglu_inference (line 65) | def fast_geglu_inference(self, X): function GemmaDecoderLayer_fast_forward (line 83) | def GemmaDecoderLayer_fast_forward( function GemmaModel_fast_forward_inference (line 169) | def GemmaModel_fast_forward_inference( class GemmaFixedRotaryEmbedding (line 257) | class GemmaFixedRotaryEmbedding(torch.nn.Module): method __init__ (line 261) | def __init__( method _set_cos_sin_cache (line 315) | def _set_cos_sin_cache(self, seq_len, device, dtype): method forward (line 339) | def forward(self, x, position_ids = None, seq_len = None): method get_cached (line 351) | def get_cached(self, seq_len = None, device_index = None): method extend_rope_embedding (line 358) | def extend_rope_embedding(self, x, seq_len): class GemmaFixedLinearScalingRotaryEmbedding (line 369) | class GemmaFixedLinearScalingRotaryEmbedding(GemmaFixedRotaryEmbedding): method __init__ (line 375) | def __init__( method _set_cos_sin_cache (line 393) | def _set_cos_sin_cache(self, seq_len, device, dtype): class FastGemmaModel (line 419) | class FastGemmaModel(FastLlamaModel): method pre_patch (line 421) | def pre_patch(): method post_patch (line 455) | def post_patch(model, tokenizer, correct_dtype = None): FILE: unsloth/models/gemma2.py function Gemma2Attention_fast_forward (line 72) | def Gemma2Attention_fast_forward( function Gemma2DecoderLayer_fast_forward (line 208) | def Gemma2DecoderLayer_fast_forward( function Gemma2Attention_fast_forward_inference (line 310) | def Gemma2Attention_fast_forward_inference( function Gemma2Model_fast_forward_inference (line 479) | def Gemma2Model_fast_forward_inference( class FastGemma2Model (line 585) | class FastGemma2Model(FastLlamaModel): method pre_patch (line 587) | def pre_patch(): method post_patch (line 621) | def post_patch(model, tokenizer, correct_dtype = None): FILE: unsloth/models/glm4_moe.py class Glm4MoeLiteAttention (line 98) | class Glm4MoeLiteAttention: class Glm4MoeLiteMoE (line 101) | class Glm4MoeLiteMoE: class Glm4MoeLiteMLP (line 104) | class Glm4MoeLiteMLP: class Glm4MoeLiteNaiveMoe (line 107) | class Glm4MoeLiteNaiveMoe: class Glm4MoeLiteTopkRouter (line 110) | class Glm4MoeLiteTopkRouter: class Glm4MoeLiteDecoderLayer (line 113) | class Glm4MoeLiteDecoderLayer: class Glm4MoeLiteModel (line 116) | class Glm4MoeLiteModel: class Glm4MoeLiteForCausalLM (line 119) | class Glm4MoeLiteForCausalLM: function Glm4MoeLiteMoE_fast_forward (line 126) | def Glm4MoeLiteMoE_fast_forward(self, hidden_states): function Glm4MoeLiteNaiveMoe_fast_forward (line 210) | def Glm4MoeLiteNaiveMoe_fast_forward( function Glm4MoeLiteDecoderLayer_fast_forward (line 312) | def Glm4MoeLiteDecoderLayer_fast_forward( function Glm4MoeLiteMLP_fast_forward (line 379) | def Glm4MoeLiteMLP_fast_forward(self, x): class FastGLM47Model (line 386) | class FastGLM47Model(FastLlamaModel): method pre_patch (line 397) | def pre_patch(): method from_pretrained (line 420) | def from_pretrained( FILE: unsloth/models/granite.py function GraniteAttention_fast_forward (line 68) | def GraniteAttention_fast_forward( function GraniteDecoderLayer_fast_forward (line 188) | def GraniteDecoderLayer_fast_forward( function GraniteAttention_fast_forward_inference (line 276) | def GraniteAttention_fast_forward_inference( function GraniteModel_fast_forward_inference (line 437) | def GraniteModel_fast_forward_inference( class GraniteRotaryEmbedding (line 514) | class GraniteRotaryEmbedding(LlamaRotaryEmbedding): method __init__ (line 515) | def __init__(self, config): function patched_init (line 519) | def patched_init(original_init): class FastGraniteModel (line 533) | class FastGraniteModel(FastLlamaModel): method pre_patch (line 535) | def pre_patch(): method post_patch (line 566) | def post_patch(model, tokenizer, correct_dtype = None): FILE: unsloth/models/llama.py function original_apply_qkv (line 134) | def original_apply_qkv(self, X): function original_apply_o (line 141) | def original_apply_o(self, X): function _offload_frozen_module_for_training (line 156) | def _offload_frozen_module_for_training( function _fast_prepare_inputs_for_generation (line 210) | def _fast_prepare_inputs_for_generation( function fix_prepare_inputs_for_generation (line 374) | def fix_prepare_inputs_for_generation(module): function LlamaAttention_fast_forward_inference (line 383) | def LlamaAttention_fast_forward_inference( function fast_swiglu_inference (line 612) | def fast_swiglu_inference( function fast_rms_layernorm_inference (line 644) | def fast_rms_layernorm_inference(self, X, XX = None, XX2 = None, varianc... function fast_rms_layernorm_inference_gemma (line 664) | def fast_rms_layernorm_inference_gemma(self, X, out_weight = None): function fast_layernorm_compiled (line 682) | def fast_layernorm_compiled(layernorm, X): function LlamaAttention_fast_forward (line 696) | def LlamaAttention_fast_forward( function LlamaDecoderLayer_fast_forward (line 796) | def LlamaDecoderLayer_fast_forward( function LlamaModel_fast_forward (line 892) | def LlamaModel_fast_forward( function _LlamaModel_fast_forward_inference (line 1300) | def _LlamaModel_fast_forward_inference( function CausalLM_fast_forward (line 1426) | def CausalLM_fast_forward(fast_forward_inference): function PeftModel_fast_forward (line 1640) | def PeftModel_fast_forward( function _get_rope_theta (line 1683) | def _get_rope_theta(config, default = 10000.0): class LlamaRotaryEmbedding (line 1700) | class LlamaRotaryEmbedding(torch.nn.Module): method __init__ (line 1704) | def __init__( method _apply_inv_freq_scaling (line 1762) | def _apply_inv_freq_scaling(self, inv_freq): method _apply_time_scaling (line 1766) | def _apply_time_scaling(self, t): method _set_cos_sin_cache (line 1770) | def _set_cos_sin_cache(self, seq_len, device, dtype): method forward (line 1788) | def forward(self, x, position_ids = None, seq_len = None): method get_cached (line 1799) | def get_cached(self, seq_len = None, device_index = None): method extend_rope_embedding (line 1806) | def extend_rope_embedding(self, x, seq_len): class LlamaLinearScalingRotaryEmbedding (line 1817) | class LlamaLinearScalingRotaryEmbedding(LlamaRotaryEmbedding): method __init__ (line 1823) | def __init__( method _apply_time_scaling (line 1841) | def _apply_time_scaling(self, t): class LlamaExtendedRotaryEmbedding (line 1848) | class LlamaExtendedRotaryEmbedding(LlamaRotaryEmbedding): method __init__ (line 1849) | def __init__( method _apply_inv_freq_scaling (line 1866) | def _apply_inv_freq_scaling(self, freqs: torch.Tensor): class LongRopeRotaryEmbedding (line 1891) | class LongRopeRotaryEmbedding(torch.nn.Module): method __init__ (line 1893) | def __init__( method _set_cos_sin_cache (line 1995) | def _set_cos_sin_cache(self, seq_len, device, dtype): method forward (line 2016) | def forward(self, x, position_ids = None, seq_len = None): method get_cached (line 2034) | def get_cached(self, seq_len = None, device_index = None): method extend_rope_embedding (line 2045) | def extend_rope_embedding(self, x, seq_len): function unsloth_fast_generate (line 2056) | def unsloth_fast_generate( class FastLlamaModel (line 2141) | class FastLlamaModel: method _prepare_for_qat (line 2143) | def _prepare_for_qat(model, qat_scheme): method pre_patch (line 2148) | def pre_patch(): method from_pretrained (line 2187) | def from_pretrained( method post_patch (line 2719) | def post_patch(model, tokenizer, correct_dtype = None): method get_peft_model (line 2726) | def get_peft_model( method patch_peft_model (line 3231) | def patch_peft_model( method for_inference (line 3471) | def for_inference(model): method for_training (line 3512) | def for_training(model, use_gradient_checkpointing = True): FILE: unsloth/models/loader.py function _fix_rope_inv_freq (line 128) | def _fix_rope_inv_freq(model): class FastLanguageModel (line 222) | class FastLanguageModel(FastLlamaModel): method from_pretrained (line 224) | def from_pretrained( class FastModel (line 824) | class FastModel(FastBaseModel): method _prepare_for_qat (line 826) | def _prepare_for_qat(model, qat_scheme): method from_pretrained (line 831) | def from_pretrained( class FastVisionModel (line 1546) | class FastVisionModel(FastModel): class FastTextModel (line 1550) | class FastTextModel(FastModel): FILE: unsloth/models/loader_utils.py function _get_torchao_fp8_config (line 51) | def _get_torchao_fp8_config(fp8_mode): function _get_env_int (line 58) | def _get_env_int(keys): function _infer_distributed_ranks (line 70) | def _infer_distributed_ranks(): function is_distributed (line 79) | def is_distributed(): function prepare_device_map (line 84) | def prepare_device_map(): function __get_model_name (line 102) | def __get_model_name( function _get_new_mapper (line 177) | def _get_new_mapper(): function _resolve_with_mappers (line 201) | def _resolve_with_mappers( function get_model_name (line 221) | def get_model_name( function _offline_quantize_to_fp8 (line 277) | def _offline_quantize_to_fp8(model_name: str, fp8_mode: str) -> str: function _tag_model_with_fp8_torchao_config (line 332) | def _tag_model_with_fp8_torchao_config(model: torch.nn.Module, fp8_mode:... function _get_fp8_mode_and_check_settings (line 346) | def _get_fp8_mode_and_check_settings( FILE: unsloth/models/mapper.py function _add_with_lower (line 1352) | def _add_with_lower(mapper, key, value): function _add_lower_only (line 1359) | def _add_lower_only(mapper, key, value): FILE: unsloth/models/mistral.py function MistralAttention_fast_forward (line 54) | def MistralAttention_fast_forward( function MistralForCausalLM_fast_forward (line 152) | def MistralForCausalLM_fast_forward( function patch_mistral_nemo_attention (line 397) | def patch_mistral_nemo_attention(function): class FastMistralModel (line 413) | class FastMistralModel(FastLlamaModel): method pre_patch (line 415) | def pre_patch(): method from_pretrained (line 450) | def from_pretrained( FILE: unsloth/models/qwen2.py class FastQwen2Model (line 38) | class FastQwen2Model(FastLlamaModel): method pre_patch (line 40) | def pre_patch(): method from_pretrained (line 74) | def from_pretrained( FILE: unsloth/models/qwen3.py function Qwen3Attention_fast_forward (line 66) | def Qwen3Attention_fast_forward( function Qwen3Attention_fast_forward_inference (line 180) | def Qwen3Attention_fast_forward_inference( class FastQwen3Model (line 412) | class FastQwen3Model(FastLlamaModel): method pre_patch (line 414) | def pre_patch(): method from_pretrained (line 448) | def from_pretrained( # TODO: Change after release FILE: unsloth/models/qwen3_moe.py function Qwen3MoeSparseMoeBlock_fast_forward (line 52) | def Qwen3MoeSparseMoeBlock_fast_forward(self, X, temp_gate = None, temp_... function Qwen3MoeDecoderLayer_fast_forward (line 97) | def Qwen3MoeDecoderLayer_fast_forward( class FastQwen3MoeModel (line 176) | class FastQwen3MoeModel(FastQwen3Model): method pre_patch (line 178) | def pre_patch(): method from_pretrained (line 216) | def from_pretrained( # TODO: Change after release FILE: unsloth/models/rl.py class GuidedDecodingParams (line 53) | class GuidedDecodingParams: method __init__ (line 54) | def __init__(self, **kwargs): function vLLMSamplingParams (line 88) | def vLLMSamplingParams(**kwargs): function PatchRL (line 96) | def PatchRL(FastLanguageModel): function _wrap_grpo_generate_and_score (line 440) | def _wrap_grpo_generate_and_score(trainer_cls): function _patch_trl_rl_trainers (line 466) | def _patch_trl_rl_trainers(trainer_file = "grpo_trainer"): function patch_functions (line 1539) | def patch_functions(RLTrainer, trainer_file, RLTrainer_name, all_imports... function patch_trl_rl_trainers (line 1855) | def patch_trl_rl_trainers(): function patch_trl_openenv (line 1873) | def patch_trl_openenv(): function patch_trl_vllm_generation (line 1880) | def patch_trl_vllm_generation(): function patch_trl_vllm_generation (line 1892) | def patch_trl_vllm_generation(): function PatchFastRL (line 1904) | def PatchFastRL(algorithm = None, FastLanguageModel = None): FILE: unsloth/models/rl_replacements.py function sft_trainer_fix_untrained_tokens (line 76) | def sft_trainer_fix_untrained_tokens(call_args, extra_args): function grpo_config_fix_vllm_top_k (line 96) | def grpo_config_fix_vllm_top_k(old_RLTrainer_source, old_RLConfig_source): function dpo_trainer_fix_columns (line 104) | def dpo_trainer_fix_columns(call_args, extra_args): function sft_trainer_prepare_dataset (line 124) | def sft_trainer_prepare_dataset(function_name, function): function sft_trainer_compute_loss (line 203) | def sft_trainer_compute_loss(function_name, function): function sft_trainer_push_to_hub_token (line 227) | def sft_trainer_push_to_hub_token(function_name, function): function grpo_trainer__prepare_inputs (line 239) | def grpo_trainer__prepare_inputs(function_name, function): function grpo_trainer__generate_single_turn (line 265) | def grpo_trainer__generate_single_turn(function_name, function): function grpo_trainer__generate_and_score_completions (line 326) | def grpo_trainer__generate_and_score_completions(function_name, function): function grpo_trainer_fix_maybe_apply_chat_template (line 545) | def grpo_trainer_fix_maybe_apply_chat_template(function_name, function): function grpo_trainer__move_model_to_vllm (line 602) | def grpo_trainer__move_model_to_vllm(function_name, function): function grpo_trainer__get_per_token_logps (line 617) | def grpo_trainer__get_per_token_logps(function_name, function): function grpo_trainer__get_per_token_logps_and_entropies (line 670) | def grpo_trainer__get_per_token_logps_and_entropies(function_name, funct... function grpo_trainer_compute_loss (line 965) | def grpo_trainer_compute_loss(function_name, function): function kto_trainer_get_batch_logps (line 1273) | def kto_trainer_get_batch_logps(function_name, function): function grpo_trainer_fix_batch_size (line 1294) | def grpo_trainer_fix_batch_size(RLTrainer_source, RLConfig_source): function grpo_trainer_metrics (line 1315) | def grpo_trainer_metrics(RLTrainer_source, RLConfig_source): function openenv_vllm_reload_weights (line 1347) | def openenv_vllm_reload_weights(): function vllm_generation_init_patch (line 1412) | def vllm_generation_init_patch(): FILE: unsloth/models/sentence_transformer.py function _save_pretrained_torchao (line 42) | def _save_pretrained_torchao( function _save_pretrained_gguf (line 140) | def _save_pretrained_gguf( function _push_to_hub_gguf (line 291) | def _push_to_hub_gguf( class FastSentenceTransformer (line 522) | class FastSentenceTransformer(FastModel): method _read_pooling_mode (line 524) | def _read_pooling_mode(model_name, token): method _patch_mpnet_v4 (line 588) | def _patch_mpnet_v4(): method _patch_mpnet_v5 (line 683) | def _patch_mpnet_v5(): method _patch_distilbert_v4 (line 774) | def _patch_distilbert_v4(): method _has_add_pooling_layer (line 865) | def _has_add_pooling_layer(config, auto_model_class = None): method _patch_distilbert_v5 (line 884) | def _patch_distilbert_v5(): method _add_unsloth_tags (line 925) | def _add_unsloth_tags(repo_id, token, tags = None): method _add_unsloth_branding (line 945) | def _add_unsloth_branding(save_directory): method _module_path (line 984) | def _module_path(model_name, token = None): method _create_transformer_module (line 1001) | def _create_transformer_module( method _load_modules (line 1065) | def _load_modules( method _estimate_compile_threshold (line 1169) | def _estimate_compile_threshold( method _apply_torch_compile (line 1291) | def _apply_torch_compile(model, mode = "default"): method from_pretrained (line 1311) | def from_pretrained( method get_peft_model (line 1810) | def get_peft_model( function _patch_sentence_transformer_trainer (line 2018) | def _patch_sentence_transformer_trainer(): FILE: unsloth/models/vision.py function unsloth_base_fast_generate (line 135) | def unsloth_base_fast_generate( function _construct_vlm_processor_fallback (line 316) | def _construct_vlm_processor_fallback( class FastBaseModel (line 401) | class FastBaseModel: method from_pretrained (line 403) | def from_pretrained( method get_peft_model (line 1157) | def get_peft_model( method post_patch_model (line 1320) | def post_patch_model( method for_inference (line 1445) | def for_inference(model): method for_training (line 1493) | def for_training(model, use_gradient_checkpointing = True): FILE: unsloth/registry/__init__.py function register_models (line 12) | def register_models(): function search_models (line 27) | def search_models( FILE: unsloth/registry/_deepseek.py class DeepseekV3ModelInfo (line 11) | class DeepseekV3ModelInfo(ModelInfo): method construct_model_name (line 13) | def construct_model_name(cls, base_name, version, size, quant_type, in... class DeepseekR1ModelInfo (line 20) | class DeepseekR1ModelInfo(ModelInfo): method construct_model_name (line 22) | def construct_model_name(cls, base_name, version, size, quant_type, in... function register_deepseek_v3_models (line 105) | def register_deepseek_v3_models(include_original_model: bool = False): function register_deepseek_v3_0324_models (line 113) | def register_deepseek_v3_0324_models(include_original_model: bool = False): function register_deepseek_r1_models (line 121) | def register_deepseek_r1_models(include_original_model: bool = False): function register_deepseek_r1_zero_models (line 129) | def register_deepseek_r1_zero_models(include_original_model: bool = False): function register_deepseek_r1_distill_llama_models (line 137) | def register_deepseek_r1_distill_llama_models(include_original_model: bo... function register_deepseek_r1_distill_qwen_models (line 147) | def register_deepseek_r1_distill_qwen_models(include_original_model: boo... function register_deepseek_models (line 157) | def register_deepseek_models(include_original_model: bool = False): function _list_deepseek_r1_distill_models (line 170) | def _list_deepseek_r1_distill_models(): FILE: unsloth/registry/_gemma.py class GemmaModelInfo (line 7) | class GemmaModelInfo(ModelInfo): method construct_model_name (line 9) | def construct_model_name(cls, base_name, version, size, quant_type, in... function register_gemma_3_base_models (line 41) | def register_gemma_3_base_models(include_original_model: bool = False): function register_gemma_3_instruct_models (line 49) | def register_gemma_3_instruct_models(include_original_model: bool = False): function register_gemma_models (line 57) | def register_gemma_models(include_original_model: bool = False): FILE: unsloth/registry/_llama.py class LlamaModelInfo (line 8) | class LlamaModelInfo(ModelInfo): method construct_model_name (line 10) | def construct_model_name(cls, base_name, version, size, quant_type, in... class LlamaVisionModelInfo (line 17) | class LlamaVisionModelInfo(ModelInfo): method construct_model_name (line 19) | def construct_model_name(cls, base_name, version, size, quant_type, in... function register_llama_3_1_models (line 78) | def register_llama_3_1_models(include_original_model: bool = False): function register_llama_3_2_models (line 86) | def register_llama_3_2_models(include_original_model: bool = False): function register_llama_3_2_vision_models (line 97) | def register_llama_3_2_vision_models(include_original_model: bool = False): function register_llama_models (line 107) | def register_llama_models(include_original_model: bool = False): FILE: unsloth/registry/_mistral.py class MistralSmallModelInfo (line 12) | class MistralSmallModelInfo(ModelInfo): method construct_model_name (line 14) | def construct_model_name(cls, base_name, version, size, quant_type, in... function register_mistral_small_models (line 52) | def register_mistral_small_models(include_original_model: bool = False): function register_mistral_models (line 72) | def register_mistral_models(include_original_model: bool = False): FILE: unsloth/registry/_phi.py class PhiModelInfo (line 7) | class PhiModelInfo(ModelInfo): method construct_model_name (line 9) | def construct_model_name(cls, base_name, version, size, quant_type, in... function register_phi_4_models (line 41) | def register_phi_4_models(include_original_model: bool = False): function register_phi_4_instruct_models (line 49) | def register_phi_4_instruct_models(include_original_model: bool = False): function register_phi_models (line 57) | def register_phi_models(include_original_model: bool = False): FILE: unsloth/registry/_qwen.py class QwenModelInfo (line 8) | class QwenModelInfo(ModelInfo): method construct_model_name (line 10) | def construct_model_name(cls, base_name, version, size, quant_type, in... class QwenVLModelInfo (line 17) | class QwenVLModelInfo(ModelInfo): method construct_model_name (line 19) | def construct_model_name(cls, base_name, version, size, quant_type, in... class QwenQwQModelInfo (line 26) | class QwenQwQModelInfo(ModelInfo): method construct_model_name (line 28) | def construct_model_name(cls, base_name, version, size, quant_type, in... class QwenQVQPreviewModelInfo (line 35) | class QwenQVQPreviewModelInfo(ModelInfo): method construct_model_name (line 37) | def construct_model_name(cls, base_name, version, size, quant_type, in... function register_qwen_2_5_models (line 93) | def register_qwen_2_5_models(include_original_model: bool = False): function register_qwen_2_5_vl_models (line 101) | def register_qwen_2_5_vl_models(include_original_model: bool = False): function register_qwen_qwq_models (line 109) | def register_qwen_qwq_models(include_original_model: bool = False): function register_qwen_models (line 118) | def register_qwen_models(include_original_model: bool = False): FILE: unsloth/registry/registry.py class QuantType (line 6) | class QuantType(Enum): class ModelInfo (line 31) | class ModelInfo: method __post_init__ (line 42) | def __post_init__(self): method append_instruct_tag (line 52) | def append_instruct_tag(key: str, instruct_tag: str = None): method append_quant_type (line 58) | def append_quant_type(key: str, quant_type: QuantType = None): method construct_model_name (line 64) | def construct_model_name( method model_path (line 72) | def model_path( class ModelMeta (line 79) | class ModelMeta: function register_model (line 95) | def register_model( function _check_model_info (line 132) | def _check_model_info(model_id: str, properties: list[str] = ["lastModif... function _register_models (line 150) | def _register_models(model_meta: ModelMeta, include_original_model: bool... FILE: unsloth/save.py function has_curl (line 144) | def has_curl(): function print_quantization_methods (line 151) | def print_quantization_methods(): function check_if_sentencepiece_model (line 156) | def check_if_sentencepiece_model( function _free_cached_model (line 177) | def _free_cached_model(model): function _merge_lora (line 199) | def _merge_lora(layer, name): function fast_save_pickle (line 231) | def fast_save_pickle(shard, name): function unsloth_save_model (line 245) | def unsloth_save_model( function install_llama_cpp_clone_non_blocking (line 875) | def install_llama_cpp_clone_non_blocking(): function install_llama_cpp_make_non_blocking (line 888) | def install_llama_cpp_make_non_blocking(): function install_python_non_blocking (line 932) | def install_python_non_blocking(packages = []): function try_execute (line 940) | def try_execute(commands, force_complete = False): function install_llama_cpp_old (line 971) | def install_llama_cpp_old(version = -10): function install_llama_cpp_blocking (line 1041) | def install_llama_cpp_blocking(use_cuda = False): function get_executable (line 1072) | def get_executable(executables): function save_to_gguf (line 1085) | def save_to_gguf( function unsloth_save_pretrained_merged (line 1371) | def unsloth_save_pretrained_merged( function unsloth_push_to_hub_merged (line 1413) | def unsloth_push_to_hub_merged( function _determine_username (line 1483) | def _determine_username(save_directory, old_username, token): function create_huggingface_repo (line 1503) | def create_huggingface_repo( function upload_to_huggingface (line 1556) | def upload_to_huggingface( function fix_tokenizer_bos_token (line 1661) | def fix_tokenizer_bos_token(tokenizer): function create_ollama_modelfile (line 1694) | def create_ollama_modelfile(tokenizer, base_model_name, model_location): function create_ollama_model (line 1750) | def create_ollama_model(username: str, model_name: str, tag: str, modelf... function push_to_ollama_hub (line 1792) | def push_to_ollama_hub(username: str, model_name: str, tag: str): function push_to_ollama (line 1828) | def push_to_ollama(tokenizer, gguf_location, username: str, model_name: ... function unsloth_save_pretrained_gguf (line 1849) | def unsloth_save_pretrained_gguf( function unsloth_push_to_hub_gguf (line 2141) | def unsloth_push_to_hub_gguf( function save_lora_to_custom_dir (line 2447) | def save_lora_to_custom_dir(model, tokenizer, save_directory): function unsloth_convert_lora_to_ggml_and_push_to_hub (line 2462) | def unsloth_convert_lora_to_ggml_and_push_to_hub( function unsloth_convert_lora_to_ggml_and_save_locally (line 2548) | def unsloth_convert_lora_to_ggml_and_save_locally( function save_to_gguf_generic (line 2624) | def save_to_gguf_generic( function unsloth_generic_save (line 2709) | def unsloth_generic_save( function unsloth_generic_save_pretrained_merged (line 2779) | def unsloth_generic_save_pretrained_merged( function unsloth_generic_push_to_hub_merged (line 2821) | def unsloth_generic_push_to_hub_merged( function _unsloth_save_torchao_with_attached_config (line 2866) | def _unsloth_save_torchao_with_attached_config( function _unsloth_save_torchao_with_given_config (line 2901) | def _unsloth_save_torchao_with_given_config( function unsloth_save_pretrained_torchao (line 3005) | def unsloth_save_pretrained_torchao( function not_implemented_save (line 3075) | def not_implemented_save(*args, **kwargs): function patch_saving_functions (line 3081) | def patch_saving_functions(model, vision = False): FILE: unsloth/tokenizer_utils.py function try_fix_tokenizer (line 75) | def try_fix_tokenizer(tokenizer, prepend = True): function get_sorted_dict (line 121) | def get_sorted_dict(dictionary): function convert_to_fast_tokenizer (line 132) | def convert_to_fast_tokenizer( function assert_same_tokenization (line 258) | def assert_same_tokenization(slow_tokenizer, fast_tokenizer): function fix_sentencepiece_tokenizer (line 347) | def fix_sentencepiece_tokenizer( function fix_sentencepiece_gguf (line 426) | def fix_sentencepiece_gguf(saved_location): function _load_correct_tokenizer (line 498) | def _load_correct_tokenizer( function load_correct_tokenizer (line 582) | def load_correct_tokenizer( function _find_end_position (line 633) | def _find_end_position(template, endfor, endif): function _fix_chat_template (line 644) | def _fix_chat_template(chat_template): function fix_chat_template (line 677) | def fix_chat_template(tokenizer): function check_tokenizer (line 754) | def check_tokenizer( function neftune_post_forward_hook (line 910) | def neftune_post_forward_hook(module, input, output): function patch_sft_trainer_tokenizer (line 939) | def patch_sft_trainer_tokenizer(): FILE: unsloth/trainer.py function _should_pack (line 63) | def _should_pack(config) -> bool: function _should_auto_padding_free (line 69) | def _should_auto_padding_free(config) -> bool: function _disable_sample_packing (line 79) | def _disable_sample_packing(config): function _should_skip_auto_packing_error (line 97) | def _should_skip_auto_packing_error(exc: Exception) -> bool: function unsloth_train (line 107) | def unsloth_train(trainer, *args, **kwargs): function unsloth_train (line 112) | def unsloth_train(trainer, *args, **kwargs): class UnslothTrainingArguments (line 133) | class UnslothTrainingArguments(TrainingArguments): method __init__ (line 134) | def __init__(self, embedding_learning_rate: float = None, *args, **kwa... function _create_unsloth_optimizer (line 139) | def _create_unsloth_optimizer( class UnslothTrainer (line 182) | class UnslothTrainer(SFTTrainer): method create_optimizer (line 183) | def create_optimizer(self): function _resolve_trainer_params (line 203) | def _resolve_trainer_params(trainer_class, init_fn): function _backwards_compatible_trainer (line 247) | def _backwards_compatible_trainer(trainer_class, config_class): function _patch_sft_trainer_auto_packing (line 319) | def _patch_sft_trainer_auto_packing(trl_module): function _patch_trl_trainer (line 455) | def _patch_trl_trainer(): FILE: unsloth/utils/attention_dispatch.py class AttentionConfig (line 57) | class AttentionConfig: class AttentionContext (line 78) | class AttentionContext: function select_attention_backend (line 93) | def select_attention_backend(use_varlen: bool = False) -> str: function run_attention (line 106) | def run_attention( FILE: unsloth/utils/hf_hub.py function formatted_int (line 16) | def formatted_int(value: int) -> str: function get_model_info (line 27) | def get_model_info( function list_models (line 48) | def list_models( FILE: unsloth/utils/packing.py function _window_cache_key (line 49) | def _window_cache_key(sliding_window: Optional[int]) -> int: function _get_cached_block_mask (line 55) | def _get_cached_block_mask( class _TrlPackingWarningFilter (line 79) | class _TrlPackingWarningFilter(logging.Filter): method filter (line 85) | def filter(self, record: logging.LogRecord) -> bool: function _ensure_trl_warning_filter (line 93) | def _ensure_trl_warning_filter(): function mark_allow_overlength (line 101) | def mark_allow_overlength(module): function configure_sample_packing (line 114) | def configure_sample_packing(config): function configure_padding_free (line 122) | def configure_padding_free(config): function enable_sample_packing (line 129) | def enable_sample_packing( function enable_padding_free_metadata (line 183) | def enable_padding_free_metadata(model, trainer): function get_packed_info_from_kwargs (line 226) | def get_packed_info_from_kwargs( function build_xformers_block_causal_mask (line 250) | def build_xformers_block_causal_mask( function build_sdpa_packed_attention_mask (line 295) | def build_sdpa_packed_attention_mask( function _normalize_packed_lengths (line 351) | def _normalize_packed_lengths( function mask_packed_sequence_boundaries (line 369) | def mask_packed_sequence_boundaries( function clear_packed_caches (line 392) | def clear_packed_caches(): FILE: unsloth_cli/commands/export.py function list_checkpoints (line 14) | def list_checkpoints( function export (line 35) | def export( FILE: unsloth_cli/commands/inference.py function inference (line 10) | def inference( FILE: unsloth_cli/commands/studio.py function _studio_venv_python (line 22) | def _studio_venv_python() -> Optional[Path]: function _find_run_py (line 31) | def _find_run_py() -> Optional[Path]: function _find_setup_script (line 52) | def _find_setup_script() -> Optional[Path]: function studio_default (line 76) | def studio_default( function setup (line 165) | def setup(): function reset_password (line 187) | def reset_password(): FILE: unsloth_cli/commands/train.py function train (line 15) | def train( FILE: unsloth_cli/commands/ui.py function ui (line 13) | def ui( FILE: unsloth_cli/config.py class DataConfig (line 11) | class DataConfig(BaseModel): class TrainingConfig (line 17) | class TrainingConfig(BaseModel): class LoraConfig (line 36) | class LoraConfig(BaseModel): class LoggingConfig (line 50) | class LoggingConfig(BaseModel): class Config (line 59) | class Config(BaseModel): method apply_overrides (line 66) | def apply_overrides(self, **kwargs): method model_kwargs (line 79) | def model_kwargs(self, use_lora: bool, is_vision: bool) -> dict: method training_kwargs (line 108) | def training_kwargs(self) -> dict: function load_config (line 132) | def load_config(path: Optional[Path]) -> Config: FILE: unsloth_cli/options.py function _python_name_to_cli_flag (line 15) | def _python_name_to_cli_flag(name: str) -> str: function _unwrap_optional (line 20) | def _unwrap_optional(annotation: Any) -> Any: function _is_bool_field (line 32) | def _is_bool_field(annotation: Any) -> bool: function _is_list_type (line 37) | def _is_list_type(annotation: Any) -> bool: function _get_python_type (line 42) | def _get_python_type(annotation: Any) -> type: function _collect_config_fields (line 50) | def _collect_config_fields(config_class: type[BaseModel]) -> list[tuple[... function add_options_from_config (line 75) | def add_options_from_config(config_class: type[BaseModel]) -> Callable: