gitextract_vey6weao/ ├── .clauderules ├── .cursorrules ├── .envrc ├── .githooks/ │ ├── post-checkout │ ├── post-commit │ ├── post-merge │ └── pre-push ├── .github/ │ ├── CODEOWNERS │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.md │ │ └── feature_request.md │ ├── actions/ │ │ ├── conditional-commit/ │ │ │ └── action.yml │ │ ├── format/ │ │ │ └── action.yml │ │ ├── lint/ │ │ │ └── action.yml │ │ ├── lint-check/ │ │ │ └── action.yml │ │ ├── regenerate-protobufs/ │ │ │ └── action.yml │ │ ├── setup-python-uv/ │ │ │ └── action.yml │ │ ├── unit-test/ │ │ │ └── action.yml │ │ └── verify-clean/ │ │ └── action.yml │ ├── pull_request_template.md │ └── workflows/ │ ├── build-app.yml │ └── pipeline.yml ├── .gitignore ├── .mlx_typings/ │ ├── .gitkeep │ ├── mflux/ │ │ ├── __init__.pyi │ │ ├── callbacks/ │ │ │ ├── __init__.pyi │ │ │ ├── callback.pyi │ │ │ ├── callback_registry.pyi │ │ │ └── generation_context.pyi │ │ ├── cli/ │ │ │ ├── __init__.pyi │ │ │ └── defaults/ │ │ │ └── defaults.pyi │ │ ├── models/ │ │ │ ├── __init__.pyi │ │ │ ├── common/ │ │ │ │ ├── __init__.pyi │ │ │ │ ├── cli/ │ │ │ │ │ └── __init__.pyi │ │ │ │ ├── config/ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ ├── config.pyi │ │ │ │ │ └── model_config.pyi │ │ │ │ ├── latent_creator/ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ └── latent_creator.pyi │ │ │ │ ├── lora/ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ ├── layer/ │ │ │ │ │ │ ├── fused_linear_lora_layer.pyi │ │ │ │ │ │ └── linear_lora_layer.pyi │ │ │ │ │ └── mapping/ │ │ │ │ │ ├── lora_loader.pyi │ │ │ │ │ ├── lora_mapping.pyi │ │ │ │ │ ├── lora_saver.pyi │ │ │ │ │ └── lora_transforms.pyi │ │ │ │ ├── resolution/ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ ├── actions.pyi │ │ │ │ │ ├── config_resolution.pyi │ │ │ │ │ ├── lora_resolution.pyi │ │ │ │ │ ├── path_resolution.pyi │ │ │ │ │ └── quantization_resolution.pyi │ │ │ │ ├── schedulers/ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ ├── base_scheduler.pyi │ │ │ │ │ ├── flow_match_euler_discrete_scheduler.pyi │ │ │ │ │ ├── linear_scheduler.pyi │ │ │ │ │ └── seedvr2_euler_scheduler.pyi │ │ │ │ ├── tokenizer/ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ ├── tokenizer.pyi │ │ │ │ │ ├── tokenizer_loader.pyi │ │ │ │ │ └── tokenizer_output.pyi │ │ │ │ ├── vae/ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ ├── tiling_config.pyi │ │ │ │ │ ├── vae_tiler.pyi │ │ │ │ │ └── vae_util.pyi │ │ │ │ └── weights/ │ │ │ │ ├── __init__.pyi │ │ │ │ ├── loading/ │ │ │ │ │ ├── loaded_weights.pyi │ │ │ │ │ ├── weight_applier.pyi │ │ │ │ │ ├── weight_definition.pyi │ │ │ │ │ └── weight_loader.pyi │ │ │ │ ├── mapping/ │ │ │ │ │ ├── weight_mapper.pyi │ │ │ │ │ ├── weight_mapping.pyi │ │ │ │ │ └── weight_transforms.pyi │ │ │ │ └── saving/ │ │ │ │ └── model_saver.pyi │ │ │ ├── depth_pro/ │ │ │ │ ├── depth_pro_initializer.pyi │ │ │ │ ├── model/ │ │ │ │ │ ├── decoder/ │ │ │ │ │ │ ├── feature_fusion_block_2d.pyi │ │ │ │ │ │ ├── multires_conv_decoder.pyi │ │ │ │ │ │ └── residual_block.pyi │ │ │ │ │ ├── depth_pro.pyi │ │ │ │ │ ├── depth_pro_model.pyi │ │ │ │ │ ├── depth_pro_util.pyi │ │ │ │ │ ├── dino_v2/ │ │ │ │ │ │ ├── attention.pyi │ │ │ │ │ │ ├── dino_vision_transformer.pyi │ │ │ │ │ │ ├── layer_scale.pyi │ │ │ │ │ │ ├── mlp.pyi │ │ │ │ │ │ ├── patch_embed.pyi │ │ │ │ │ │ └── transformer_block.pyi │ │ │ │ │ ├── encoder/ │ │ │ │ │ │ ├── depth_pro_encoder.pyi │ │ │ │ │ │ └── upsample_block.pyi │ │ │ │ │ └── head/ │ │ │ │ │ └── fov_head.pyi │ │ │ │ └── weights/ │ │ │ │ ├── depth_pro_weight_definition.pyi │ │ │ │ └── depth_pro_weight_mapping.pyi │ │ │ ├── fibo/ │ │ │ │ ├── latent_creator/ │ │ │ │ │ └── fibo_latent_creator.pyi │ │ │ │ └── weights/ │ │ │ │ ├── fibo_weight_definition.pyi │ │ │ │ └── fibo_weight_mapping.pyi │ │ │ ├── fibo_vlm/ │ │ │ │ ├── tokenizer/ │ │ │ │ │ ├── qwen2vl_image_processor.pyi │ │ │ │ │ └── qwen2vl_processor.pyi │ │ │ │ └── weights/ │ │ │ │ ├── fibo_vlm_weight_definition.pyi │ │ │ │ └── fibo_vlm_weight_mapping.pyi │ │ │ ├── flux/ │ │ │ │ ├── __init__.pyi │ │ │ │ ├── cli/ │ │ │ │ │ └── __init__.pyi │ │ │ │ ├── flux_initializer.pyi │ │ │ │ ├── latent_creator/ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ └── flux_latent_creator.pyi │ │ │ │ ├── model/ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ ├── flux_text_encoder/ │ │ │ │ │ │ ├── clip_encoder/ │ │ │ │ │ │ │ ├── clip_embeddings.pyi │ │ │ │ │ │ │ ├── clip_encoder.pyi │ │ │ │ │ │ │ ├── clip_encoder_layer.pyi │ │ │ │ │ │ │ ├── clip_mlp.pyi │ │ │ │ │ │ │ ├── clip_sdpa_attention.pyi │ │ │ │ │ │ │ ├── clip_text_model.pyi │ │ │ │ │ │ │ └── encoder_clip.pyi │ │ │ │ │ │ ├── prompt_encoder.pyi │ │ │ │ │ │ └── t5_encoder/ │ │ │ │ │ │ ├── t5_attention.pyi │ │ │ │ │ │ ├── t5_block.pyi │ │ │ │ │ │ ├── t5_dense_relu_dense.pyi │ │ │ │ │ │ ├── t5_encoder.pyi │ │ │ │ │ │ ├── t5_feed_forward.pyi │ │ │ │ │ │ ├── t5_layer_norm.pyi │ │ │ │ │ │ └── t5_self_attention.pyi │ │ │ │ │ ├── flux_transformer/ │ │ │ │ │ │ ├── ada_layer_norm_continuous.pyi │ │ │ │ │ │ ├── ada_layer_norm_zero.pyi │ │ │ │ │ │ ├── ada_layer_norm_zero_single.pyi │ │ │ │ │ │ ├── common/ │ │ │ │ │ │ │ └── attention_utils.pyi │ │ │ │ │ │ ├── embed_nd.pyi │ │ │ │ │ │ ├── feed_forward.pyi │ │ │ │ │ │ ├── guidance_embedder.pyi │ │ │ │ │ │ ├── joint_attention.pyi │ │ │ │ │ │ ├── joint_transformer_block.pyi │ │ │ │ │ │ ├── single_block_attention.pyi │ │ │ │ │ │ ├── single_transformer_block.pyi │ │ │ │ │ │ ├── text_embedder.pyi │ │ │ │ │ │ ├── time_text_embed.pyi │ │ │ │ │ │ ├── timestep_embedder.pyi │ │ │ │ │ │ └── transformer.pyi │ │ │ │ │ ├── flux_vae/ │ │ │ │ │ │ ├── common/ │ │ │ │ │ │ │ ├── attention.pyi │ │ │ │ │ │ │ ├── resnet_block_2d.pyi │ │ │ │ │ │ │ └── unet_mid_block.pyi │ │ │ │ │ │ ├── decoder/ │ │ │ │ │ │ │ ├── conv_in.pyi │ │ │ │ │ │ │ ├── conv_norm_out.pyi │ │ │ │ │ │ │ ├── conv_out.pyi │ │ │ │ │ │ │ ├── decoder.pyi │ │ │ │ │ │ │ ├── up_block_1_or_2.pyi │ │ │ │ │ │ │ ├── up_block_3.pyi │ │ │ │ │ │ │ ├── up_block_4.pyi │ │ │ │ │ │ │ └── up_sampler.pyi │ │ │ │ │ │ ├── encoder/ │ │ │ │ │ │ │ ├── conv_in.pyi │ │ │ │ │ │ │ ├── conv_norm_out.pyi │ │ │ │ │ │ │ ├── conv_out.pyi │ │ │ │ │ │ │ ├── down_block_1.pyi │ │ │ │ │ │ │ ├── down_block_2.pyi │ │ │ │ │ │ │ ├── down_block_3.pyi │ │ │ │ │ │ │ ├── down_block_4.pyi │ │ │ │ │ │ │ ├── down_sampler.pyi │ │ │ │ │ │ │ └── encoder.pyi │ │ │ │ │ │ └── vae.pyi │ │ │ │ │ ├── redux_encoder/ │ │ │ │ │ │ └── redux_encoder.pyi │ │ │ │ │ └── siglip_vision_transformer/ │ │ │ │ │ ├── siglip_encoder.pyi │ │ │ │ │ ├── siglip_encoder_layer.pyi │ │ │ │ │ ├── siglip_mlp.pyi │ │ │ │ │ ├── siglip_multi_head_attention_pooling_head.pyi │ │ │ │ │ ├── siglip_sdpa_attention.pyi │ │ │ │ │ ├── siglip_vision_embeddings.pyi │ │ │ │ │ └── siglip_vision_transformer.pyi │ │ │ │ ├── variants/ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ ├── concept_attention/ │ │ │ │ │ │ ├── attention_data.pyi │ │ │ │ │ │ ├── joint_attention_concept.pyi │ │ │ │ │ │ ├── joint_transformer_block_concept.pyi │ │ │ │ │ │ └── transformer_concept.pyi │ │ │ │ │ ├── controlnet/ │ │ │ │ │ │ └── transformer_controlnet.pyi │ │ │ │ │ ├── kontext/ │ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ │ ├── flux_kontext.pyi │ │ │ │ │ │ └── kontext_util.pyi │ │ │ │ │ └── txt2img/ │ │ │ │ │ └── flux.pyi │ │ │ │ └── weights/ │ │ │ │ ├── __init__.pyi │ │ │ │ ├── flux_lora_mapping.pyi │ │ │ │ ├── flux_weight_definition.pyi │ │ │ │ └── flux_weight_mapping.pyi │ │ │ ├── qwen/ │ │ │ │ ├── __init__.pyi │ │ │ │ ├── cli/ │ │ │ │ │ └── __init__.pyi │ │ │ │ ├── latent_creator/ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ └── qwen_latent_creator.pyi │ │ │ │ ├── model/ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ ├── qwen_text_encoder/ │ │ │ │ │ │ ├── qwen_attention.pyi │ │ │ │ │ │ ├── qwen_encoder.pyi │ │ │ │ │ │ ├── qwen_encoder_layer.pyi │ │ │ │ │ │ ├── qwen_mlp.pyi │ │ │ │ │ │ ├── qwen_patch_merger.pyi │ │ │ │ │ │ ├── qwen_prompt_encoder.pyi │ │ │ │ │ │ ├── qwen_rms_norm.pyi │ │ │ │ │ │ ├── qwen_rope.pyi │ │ │ │ │ │ ├── qwen_text_encoder.pyi │ │ │ │ │ │ ├── qwen_vision_attention.pyi │ │ │ │ │ │ ├── qwen_vision_block.pyi │ │ │ │ │ │ ├── qwen_vision_language_encoder.pyi │ │ │ │ │ │ ├── qwen_vision_mlp.pyi │ │ │ │ │ │ ├── qwen_vision_patch_embed.pyi │ │ │ │ │ │ ├── qwen_vision_rotary_embedding.pyi │ │ │ │ │ │ └── qwen_vision_transformer.pyi │ │ │ │ │ ├── qwen_transformer/ │ │ │ │ │ │ ├── qwen_attention.pyi │ │ │ │ │ │ ├── qwen_feed_forward.pyi │ │ │ │ │ │ ├── qwen_rope.pyi │ │ │ │ │ │ ├── qwen_time_text_embed.pyi │ │ │ │ │ │ ├── qwen_timestep_embedding.pyi │ │ │ │ │ │ ├── qwen_timesteps.pyi │ │ │ │ │ │ ├── qwen_transformer.pyi │ │ │ │ │ │ ├── qwen_transformer_block.pyi │ │ │ │ │ │ └── qwen_transformer_rms_norm.pyi │ │ │ │ │ └── qwen_vae/ │ │ │ │ │ ├── qwen_image_attention_block_3d.pyi │ │ │ │ │ ├── qwen_image_causal_conv_3d.pyi │ │ │ │ │ ├── qwen_image_decoder_3d.pyi │ │ │ │ │ ├── qwen_image_down_block_3d.pyi │ │ │ │ │ ├── qwen_image_encoder_3d.pyi │ │ │ │ │ ├── qwen_image_mid_block_3d.pyi │ │ │ │ │ ├── qwen_image_res_block_3d.pyi │ │ │ │ │ ├── qwen_image_resample_3d.pyi │ │ │ │ │ ├── qwen_image_rms_norm.pyi │ │ │ │ │ ├── qwen_image_up_block_3d.pyi │ │ │ │ │ └── qwen_vae.pyi │ │ │ │ ├── qwen_initializer.pyi │ │ │ │ ├── tokenizer/ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ ├── qwen_image_processor.pyi │ │ │ │ │ ├── qwen_vision_language_processor.pyi │ │ │ │ │ └── qwen_vision_language_tokenizer.pyi │ │ │ │ ├── variants/ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ ├── edit/ │ │ │ │ │ │ ├── qwen_edit_util.pyi │ │ │ │ │ │ └── qwen_image_edit.pyi │ │ │ │ │ └── txt2img/ │ │ │ │ │ └── qwen_image.pyi │ │ │ │ └── weights/ │ │ │ │ ├── __init__.pyi │ │ │ │ ├── qwen_lora_mapping.pyi │ │ │ │ ├── qwen_weight_definition.pyi │ │ │ │ └── qwen_weight_mapping.pyi │ │ │ ├── seedvr2/ │ │ │ │ └── weights/ │ │ │ │ ├── seedvr2_weight_definition.pyi │ │ │ │ └── seedvr2_weight_mapping.pyi │ │ │ └── z_image/ │ │ │ ├── latent_creator/ │ │ │ │ └── z_image_latent_creator.pyi │ │ │ └── weights/ │ │ │ ├── z_image_weight_definition.pyi │ │ │ └── z_image_weight_mapping.pyi │ │ ├── release/ │ │ │ └── __init__.pyi │ │ └── utils/ │ │ ├── __init__.pyi │ │ ├── box_values.pyi │ │ ├── exceptions.pyi │ │ ├── generated_image.pyi │ │ ├── image_util.pyi │ │ ├── metadata_builder.pyi │ │ └── version_util.pyi │ ├── mlx/ │ │ ├── core/ │ │ │ ├── __init__.pyi │ │ │ ├── cuda/ │ │ │ │ └── __init__.pyi │ │ │ ├── distributed/ │ │ │ │ └── __init__.pyi │ │ │ ├── metal/ │ │ │ │ └── __init__.pyi │ │ │ └── random/ │ │ │ └── __init__.pyi │ │ ├── nn/ │ │ │ ├── __init__.pyi │ │ │ ├── init.pyi │ │ │ ├── layers/ │ │ │ │ ├── __init__.pyi │ │ │ │ ├── activations.pyi │ │ │ │ ├── base.pyi │ │ │ │ ├── containers.pyi │ │ │ │ ├── convolution.pyi │ │ │ │ ├── convolution_transpose.pyi │ │ │ │ ├── distributed.pyi │ │ │ │ ├── dropout.pyi │ │ │ │ ├── embedding.pyi │ │ │ │ ├── linear.pyi │ │ │ │ ├── normalization.pyi │ │ │ │ ├── pooling.pyi │ │ │ │ ├── positional_encoding.pyi │ │ │ │ ├── quantized.pyi │ │ │ │ ├── recurrent.pyi │ │ │ │ ├── transformer.pyi │ │ │ │ └── upsample.pyi │ │ │ ├── losses.pyi │ │ │ └── utils.pyi │ │ └── utils.pyi │ └── mlx_lm/ │ ├── __init__.pyi │ ├── convert.pyi │ ├── generate.pyi │ ├── models/ │ │ ├── __init__.pyi │ │ ├── base.pyi │ │ ├── bitlinear_layers.pyi │ │ ├── cache.pyi │ │ ├── deepseek_v3.pyi │ │ ├── glm4_moe.pyi │ │ ├── glm_moe_dsa.pyi │ │ ├── nemotron_h.pyi │ │ ├── qwen3_5.pyi │ │ ├── qwen3_5_moe.pyi │ │ ├── qwen3_next.pyi │ │ ├── step3p5.pyi │ │ └── switch_layers.pyi │ ├── sample_utils.pyi │ ├── tokenizer_utils.pyi │ └── utils.pyi ├── .python-version ├── .swift-format ├── .vscode/ │ ├── extensions.json │ └── settings.json ├── .zed/ │ └── settings.json ├── AGENTS.md ├── CONTRIBUTING.md ├── Cargo.toml ├── LICENSE ├── MISSED_THINGS.md ├── PLATFORMS.md ├── README.md ├── RULES.md ├── TODO.md ├── app/ │ └── EXO/ │ ├── EXO/ │ │ ├── Assets.xcassets/ │ │ │ ├── AccentColor.colorset/ │ │ │ │ └── Contents.json │ │ │ ├── AppIcon.appiconset/ │ │ │ │ └── Contents.json │ │ │ ├── Contents.json │ │ │ └── menubar-icon.imageset/ │ │ │ └── Contents.json │ │ ├── ContentView.swift │ │ ├── EXO.entitlements │ │ ├── EXOApp.swift │ │ ├── ExoProcessController.swift │ │ ├── Info.plist │ │ ├── Models/ │ │ │ └── ClusterState.swift │ │ ├── Preview Content/ │ │ │ └── Preview Assets.xcassets/ │ │ │ └── Contents.json │ │ ├── Services/ │ │ │ ├── BugReportService.swift │ │ │ ├── ClusterStateService.swift │ │ │ ├── LocalNetworkChecker.swift │ │ │ ├── NetworkSetupHelper.swift │ │ │ ├── NetworkStatusService.swift │ │ │ ├── ThunderboltBridgeDetector.swift │ │ │ └── ThunderboltBridgeService.swift │ │ ├── ViewModels/ │ │ │ ├── InstanceViewModel.swift │ │ │ └── NodeViewModel.swift │ │ ├── Views/ │ │ │ ├── FirstLaunchPopout.swift │ │ │ ├── InstanceRowView.swift │ │ │ ├── NodeDetailView.swift │ │ │ ├── NodeRowView.swift │ │ │ ├── SettingsView.swift │ │ │ ├── SettingsWindowController.swift │ │ │ └── TopologyMiniView.swift │ │ └── main.swift │ ├── EXO.xcodeproj/ │ │ ├── project.pbxproj │ │ ├── project.xcworkspace/ │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcshareddata/ │ │ │ └── swiftpm/ │ │ │ └── Package.resolved │ │ └── xcshareddata/ │ │ └── xcschemes/ │ │ └── EXO.xcscheme │ ├── EXOTests/ │ │ └── EXOTests.swift │ ├── EXOUITests/ │ │ ├── EXOUITests.swift │ │ └── EXOUITestsLaunchTests.swift │ └── uninstall-exo.sh ├── bench/ │ ├── bench.toml │ ├── eval_configs/ │ │ └── models.toml │ ├── eval_tool_calls.py │ ├── exo_bench.py │ ├── exo_eval.py │ ├── harness.py │ ├── parallel_requests.py │ ├── pyproject.toml │ ├── scenarios.toml │ ├── single-m3-ultra.toml │ ├── src/ │ │ └── exo_bench/ │ │ └── __init__.py │ └── vendor/ │ ├── __init__.py │ └── lcb_testing_util.py ├── dashboard/ │ ├── dashboard.nix │ ├── package.json │ ├── parts.nix │ ├── src/ │ │ ├── app.css │ │ ├── app.d.ts │ │ ├── app.html │ │ ├── lib/ │ │ │ ├── components/ │ │ │ │ ├── ChatAttachments.svelte │ │ │ │ ├── ChatForm.svelte │ │ │ │ ├── ChatMessages.svelte │ │ │ │ ├── ChatModelSelector.svelte │ │ │ │ ├── ChatSidebar.svelte │ │ │ │ ├── ConnectionBanner.svelte │ │ │ │ ├── DeviceIcon.svelte │ │ │ │ ├── FamilyLogos.svelte │ │ │ │ ├── FamilySidebar.svelte │ │ │ │ ├── HeaderNav.svelte │ │ │ │ ├── HuggingFaceResultItem.svelte │ │ │ │ ├── ImageLightbox.svelte │ │ │ │ ├── ImageParamsPanel.svelte │ │ │ │ ├── MarkdownContent.svelte │ │ │ │ ├── ModelCard.svelte │ │ │ │ ├── ModelFilterPopover.svelte │ │ │ │ ├── ModelPickerGroup.svelte │ │ │ │ ├── ModelPickerModal.svelte │ │ │ │ ├── PrefillProgressBar.svelte │ │ │ │ ├── ToastContainer.svelte │ │ │ │ ├── TokenHeatmap.svelte │ │ │ │ ├── TopologyGraph.svelte │ │ │ │ └── index.ts │ │ │ ├── stores/ │ │ │ │ ├── app.svelte.ts │ │ │ │ ├── favorites.svelte.ts │ │ │ │ ├── recents.svelte.ts │ │ │ │ └── toast.svelte.ts │ │ │ ├── types/ │ │ │ │ └── files.ts │ │ │ └── utils/ │ │ │ └── downloads.ts │ │ └── routes/ │ │ ├── +layout.svelte │ │ ├── +page.svelte │ │ ├── downloads/ │ │ │ └── +page.svelte │ │ └── traces/ │ │ ├── +page.svelte │ │ └── [taskId]/ │ │ └── +page.svelte │ ├── svelte.config.js │ ├── tsconfig.json │ └── vite.config.ts ├── docs/ │ ├── api.md │ └── architecture.md ├── flake.nix ├── justfile ├── nix/ │ ├── apple-sdk/ │ │ └── metadata/ │ │ └── versions.json │ ├── apple-sdk-overlay.nix │ ├── darwin-build-fixes.patch │ ├── metal-toolchain.nix │ └── mlx.nix ├── packaging/ │ ├── dmg/ │ │ ├── create-dmg.sh │ │ └── generate-background.py │ └── pyinstaller/ │ └── exo.spec ├── pyproject.toml ├── python/ │ └── parts.nix ├── resources/ │ ├── image_model_cards/ │ │ ├── exolabs--FLUX.1-Kontext-dev-4bit.toml │ │ ├── exolabs--FLUX.1-Kontext-dev-8bit.toml │ │ ├── exolabs--FLUX.1-Kontext-dev.toml │ │ ├── exolabs--FLUX.1-Krea-dev-4bit.toml │ │ ├── exolabs--FLUX.1-Krea-dev-8bit.toml │ │ ├── exolabs--FLUX.1-Krea-dev.toml │ │ ├── exolabs--FLUX.1-dev-4bit.toml │ │ ├── exolabs--FLUX.1-dev-8bit.toml │ │ ├── exolabs--FLUX.1-dev.toml │ │ ├── exolabs--FLUX.1-schnell-4bit.toml │ │ ├── exolabs--FLUX.1-schnell-8bit.toml │ │ ├── exolabs--FLUX.1-schnell.toml │ │ ├── exolabs--Qwen-Image-4bit.toml │ │ ├── exolabs--Qwen-Image-8bit.toml │ │ ├── exolabs--Qwen-Image-Edit-2509-4bit.toml │ │ ├── exolabs--Qwen-Image-Edit-2509-8bit.toml │ │ ├── exolabs--Qwen-Image-Edit-2509.toml │ │ └── exolabs--Qwen-Image.toml │ └── inference_model_cards/ │ ├── mlx-community--DeepSeek-V3.1-4bit.toml │ ├── mlx-community--DeepSeek-V3.1-8bit.toml │ ├── mlx-community--GLM-4.5-Air-8bit.toml │ ├── mlx-community--GLM-4.5-Air-bf16.toml │ ├── mlx-community--GLM-4.7-4bit.toml │ ├── mlx-community--GLM-4.7-6bit.toml │ ├── mlx-community--GLM-4.7-8bit-gs32.toml │ ├── mlx-community--GLM-4.7-Flash-4bit.toml │ ├── mlx-community--GLM-4.7-Flash-5bit.toml │ ├── mlx-community--GLM-4.7-Flash-6bit.toml │ ├── mlx-community--GLM-4.7-Flash-8bit.toml │ ├── mlx-community--GLM-5-8bit.toml │ ├── mlx-community--GLM-5-MXFP4-Q8.toml │ ├── mlx-community--GLM-5-bf16.toml │ ├── mlx-community--Kimi-K2-Instruct-4bit.toml │ ├── mlx-community--Kimi-K2-Thinking.toml │ ├── mlx-community--Kimi-K2.5.toml │ ├── mlx-community--Llama-3.1-Nemotron-70B-Instruct-HF-4bit.toml │ ├── mlx-community--Llama-3.1-Nemotron-70B-Instruct-HF-8bit.toml │ ├── mlx-community--Llama-3.1-Nemotron-70B-Instruct-HF-bf16.toml │ ├── mlx-community--Llama-3.1-Nemotron-Nano-4B-v1.1-4bit.toml │ ├── mlx-community--Llama-3.1-Nemotron-Nano-4B-v1.1-8bit.toml │ ├── mlx-community--Llama-3.1-Nemotron-Nano-4B-v1.1-bf16.toml │ ├── mlx-community--Llama-3.2-1B-Instruct-4bit.toml │ ├── mlx-community--Llama-3.2-3B-Instruct-4bit.toml │ ├── mlx-community--Llama-3.2-3B-Instruct-8bit.toml │ ├── mlx-community--Llama-3.3-70B-Instruct-4bit.toml │ ├── mlx-community--Llama-3.3-70B-Instruct-8bit.toml │ ├── mlx-community--Meta-Llama-3.1-70B-Instruct-4bit.toml │ ├── mlx-community--Meta-Llama-3.1-8B-Instruct-4bit.toml │ ├── mlx-community--Meta-Llama-3.1-8B-Instruct-8bit.toml │ ├── mlx-community--Meta-Llama-3.1-8B-Instruct-bf16.toml │ ├── mlx-community--MiniMax-M2.1-3bit.toml │ ├── mlx-community--MiniMax-M2.1-8bit.toml │ ├── mlx-community--MiniMax-M2.5-4bit.toml │ ├── mlx-community--MiniMax-M2.5-6bit.toml │ ├── mlx-community--MiniMax-M2.5-8bit.toml │ ├── mlx-community--NVIDIA-Nemotron-3-Nano-30B-A3B-MLX-4Bit.toml │ ├── mlx-community--NVIDIA-Nemotron-3-Nano-30B-A3B-MLX-5Bit.toml │ ├── mlx-community--NVIDIA-Nemotron-3-Nano-30B-A3B-MLX-6Bit.toml │ ├── mlx-community--NVIDIA-Nemotron-3-Nano-30B-A3B-MLX-8Bit.toml │ ├── mlx-community--NVIDIA-Nemotron-3-Nano-30B-A3B-MLX-BF16.toml │ ├── mlx-community--NVIDIA-Nemotron-3-Nano-30B-A3B-MLX-MXFP4.toml │ ├── mlx-community--NVIDIA-Nemotron-3-Nano-30B-A3B-NVFP4.toml │ ├── mlx-community--NVIDIA-Nemotron-Nano-9B-v2-4bits.toml │ ├── mlx-community--NVIDIA-Nemotron-Nano-9B-v2-6bit.toml │ ├── mlx-community--Qwen3-0.6B-4bit.toml │ ├── mlx-community--Qwen3-0.6B-8bit.toml │ ├── mlx-community--Qwen3-235B-A22B-Instruct-2507-4bit.toml │ ├── mlx-community--Qwen3-235B-A22B-Instruct-2507-8bit.toml │ ├── mlx-community--Qwen3-30B-A3B-4bit.toml │ ├── mlx-community--Qwen3-30B-A3B-8bit.toml │ ├── mlx-community--Qwen3-Coder-480B-A35B-Instruct-4bit.toml │ ├── mlx-community--Qwen3-Coder-480B-A35B-Instruct-8bit.toml │ ├── mlx-community--Qwen3-Coder-Next-4bit.toml │ ├── mlx-community--Qwen3-Coder-Next-5bit.toml │ ├── mlx-community--Qwen3-Coder-Next-6bit.toml │ ├── mlx-community--Qwen3-Coder-Next-8bit.toml │ ├── mlx-community--Qwen3-Coder-Next-bf16.toml │ ├── mlx-community--Qwen3-Next-80B-A3B-Instruct-4bit.toml │ ├── mlx-community--Qwen3-Next-80B-A3B-Instruct-8bit.toml │ ├── mlx-community--Qwen3-Next-80B-A3B-Thinking-4bit.toml │ ├── mlx-community--Qwen3-Next-80B-A3B-Thinking-8bit.toml │ ├── mlx-community--Qwen3.5-122B-A10B-4bit.toml │ ├── mlx-community--Qwen3.5-122B-A10B-6bit.toml │ ├── mlx-community--Qwen3.5-122B-A10B-8bit.toml │ ├── mlx-community--Qwen3.5-122B-A10B-bf16.toml │ ├── mlx-community--Qwen3.5-27B-4bit.toml │ ├── mlx-community--Qwen3.5-27B-8bit.toml │ ├── mlx-community--Qwen3.5-2B-MLX-8bit.toml │ ├── mlx-community--Qwen3.5-35B-A3B-4bit.toml │ ├── mlx-community--Qwen3.5-35B-A3B-8bit.toml │ ├── mlx-community--Qwen3.5-397B-A17B-4bit.toml │ ├── mlx-community--Qwen3.5-397B-A17B-6bit.toml │ ├── mlx-community--Qwen3.5-397B-A17B-8bit.toml │ ├── mlx-community--Qwen3.5-9B-4bit.toml │ ├── mlx-community--Qwen3.5-9B-8bit.toml │ ├── mlx-community--Step-3.5-Flash-4bit.toml │ ├── mlx-community--Step-3.5-Flash-6bit.toml │ ├── mlx-community--Step-3.5-Flash-8Bit.toml │ ├── mlx-community--gpt-oss-120b-MXFP4-Q8.toml │ ├── mlx-community--gpt-oss-20b-MXFP4-Q8.toml │ └── mlx-community--llama-3.3-70b-instruct-fp16.toml ├── rust/ │ ├── exo_pyo3_bindings/ │ │ ├── Cargo.toml │ │ ├── README.md │ │ ├── exo_pyo3_bindings.pyi │ │ ├── pyproject.toml │ │ ├── src/ │ │ │ ├── allow_threading.rs │ │ │ ├── bin/ │ │ │ │ └── stub_gen.rs │ │ │ ├── ident.rs │ │ │ ├── lib.rs │ │ │ └── networking.rs │ │ └── tests/ │ │ ├── dummy.rs │ │ └── test_python.py │ ├── networking/ │ │ ├── Cargo.toml │ │ ├── examples/ │ │ │ └── chatroom.rs │ │ ├── src/ │ │ │ ├── RESEARCH_NOTES.txt │ │ │ ├── discovery.rs │ │ │ ├── lib.rs │ │ │ └── swarm.rs │ │ └── tests/ │ │ └── dummy.rs │ ├── parts.nix │ └── util/ │ ├── Cargo.toml │ └── src/ │ ├── lib.rs │ └── wakerdeque.rs ├── scripts/ │ └── fetch_kv_heads.py ├── src/ │ └── exo/ │ ├── __init__.py │ ├── __main__.py │ ├── api/ │ │ ├── __init__.py │ │ ├── adapters/ │ │ │ ├── __init__.py │ │ │ ├── chat_completions.py │ │ │ ├── claude.py │ │ │ ├── ollama.py │ │ │ └── responses.py │ │ ├── main.py │ │ ├── tests/ │ │ │ ├── test_api_error_handling.py │ │ │ ├── test_cancel_command.py │ │ │ ├── test_claude_api.py │ │ │ ├── test_claude_tool_use.py │ │ │ └── test_openai_responses_api.py │ │ └── types/ │ │ ├── __init__.py │ │ ├── api.py │ │ ├── claude_api.py │ │ ├── ollama_api.py │ │ └── openai_responses.py │ ├── download/ │ │ ├── coordinator.py │ │ ├── download_utils.py │ │ ├── huggingface_utils.py │ │ ├── impl_shard_downloader.py │ │ ├── shard_downloader.py │ │ └── tests/ │ │ ├── __init__.py │ │ ├── test_download_verification.py │ │ ├── test_offline_mode.py │ │ └── test_re_download.py │ ├── main.py │ ├── master/ │ │ ├── __init__.py │ │ ├── image_store.py │ │ ├── main.py │ │ ├── placement.py │ │ ├── placement_utils.py │ │ └── tests/ │ │ ├── conftest.py │ │ ├── test_master.py │ │ ├── test_placement.py │ │ ├── test_placement_utils.py │ │ └── test_topology.py │ ├── routing/ │ │ ├── __init__.py │ │ ├── connection_message.py │ │ ├── event_router.py │ │ ├── router.py │ │ ├── tests/ │ │ │ └── test_event_buffer.py │ │ └── topics.py │ ├── shared/ │ │ ├── __init__.py │ │ ├── apply.py │ │ ├── constants.py │ │ ├── election.py │ │ ├── logging.py │ │ ├── models/ │ │ │ └── model_cards.py │ │ ├── tests/ │ │ │ ├── __init__.py │ │ │ ├── conftest.py │ │ │ ├── test_apply/ │ │ │ │ ├── test_apply_node_download.py │ │ │ │ └── test_apply_runner_deleted.py │ │ │ ├── test_election.py │ │ │ ├── test_node_id_persistence.py │ │ │ ├── test_resolve_reasoning_params.py │ │ │ ├── test_state_serialization.py │ │ │ └── test_xdg_paths.py │ │ ├── topology.py │ │ ├── tracing.py │ │ └── types/ │ │ ├── __init__.py │ │ ├── chunks.py │ │ ├── commands.py │ │ ├── common.py │ │ ├── events.py │ │ ├── memory.py │ │ ├── mlx.py │ │ ├── multiaddr.py │ │ ├── profiling.py │ │ ├── state.py │ │ ├── tasks.py │ │ ├── text_generation.py │ │ ├── thunderbolt.py │ │ ├── topology.py │ │ └── worker/ │ │ ├── downloads.py │ │ ├── instances.py │ │ ├── runner_response.py │ │ ├── runners.py │ │ └── shards.py │ ├── utils/ │ │ ├── __init__.py │ │ ├── banner.py │ │ ├── channels.py │ │ ├── dashboard_path.py │ │ ├── disk_event_log.py │ │ ├── event_buffer.py │ │ ├── fs.py │ │ ├── info_gatherer/ │ │ │ ├── __init__.py │ │ │ ├── info_gatherer.py │ │ │ ├── macmon.py │ │ │ ├── net_profile.py │ │ │ ├── system_info.py │ │ │ └── tests/ │ │ │ └── test_tb_parsing.py │ │ ├── keyed_backoff.py │ │ ├── phantom.py │ │ ├── power_sampler.py │ │ ├── pydantic_ext.py │ │ ├── reactive.py │ │ ├── task_group.py │ │ └── tests/ │ │ ├── test_event_log.py │ │ ├── test_mp_channel.py │ │ ├── test_power_sampler.py │ │ └── test_tagged.py │ └── worker/ │ ├── __init__.py │ ├── engines/ │ │ ├── __init__.py │ │ ├── image/ │ │ │ ├── __init__.py │ │ │ ├── config.py │ │ │ ├── distributed_model.py │ │ │ ├── generate.py │ │ │ ├── models/ │ │ │ │ ├── __init__.py │ │ │ │ ├── base.py │ │ │ │ ├── flux/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── adapter.py │ │ │ │ │ ├── config.py │ │ │ │ │ ├── kontext_adapter.py │ │ │ │ │ └── wrappers.py │ │ │ │ └── qwen/ │ │ │ │ ├── __init__.py │ │ │ │ ├── adapter.py │ │ │ │ ├── config.py │ │ │ │ ├── edit_adapter.py │ │ │ │ └── wrappers.py │ │ │ └── pipeline/ │ │ │ ├── __init__.py │ │ │ ├── block_wrapper.py │ │ │ ├── kv_cache.py │ │ │ └── runner.py │ │ └── mlx/ │ │ ├── __init__.py │ │ ├── auto_parallel.py │ │ ├── cache.py │ │ ├── constants.py │ │ ├── dsml_encoding.py │ │ ├── generator/ │ │ │ ├── __init__.py │ │ │ ├── batch_generate.py │ │ │ └── generate.py │ │ ├── tests/ │ │ │ └── test_batch_generate.py │ │ └── utils_mlx.py │ ├── main.py │ ├── plan.py │ ├── runner/ │ │ ├── __init__.py │ │ ├── bootstrap.py │ │ ├── image_models/ │ │ │ ├── __init__.py │ │ │ └── runner.py │ │ ├── llm_inference/ │ │ │ ├── __init__.py │ │ │ ├── batch_generator.py │ │ │ ├── model_output_parsers.py │ │ │ ├── runner.py │ │ │ └── tool_parsers.py │ │ └── runner_supervisor.py │ └── tests/ │ ├── TODO.tests │ ├── __init__.py │ ├── constants.py │ └── unittests/ │ ├── __init__.py │ ├── conftest.py │ ├── test_download/ │ │ └── __init__.py │ ├── test_mlx/ │ │ ├── __init__.py │ │ ├── conftest.py │ │ ├── test_auto_parallel.py │ │ ├── test_batch_vs_generate.py │ │ ├── test_distributed_fix.py │ │ ├── test_kv_prefix_cache.py │ │ ├── test_pipeline_prefill_callbacks.py │ │ ├── test_prefix_cache_architectures.py │ │ └── test_tokenizers.py │ ├── test_plan/ │ │ ├── __init__.py │ │ ├── test_download_and_loading.py │ │ ├── test_runner_lifecycle.py │ │ ├── test_task_forwarding.py │ │ └── test_warmup.py │ └── test_runner/ │ ├── __init__.py │ ├── test_dsml_e2e.py │ ├── test_event_ordering.py │ ├── test_glm_tool_parsing.py │ ├── test_parse_gpt_oss.py │ ├── test_parse_tool_calls.py │ └── test_runner_supervisor.py ├── tests/ │ ├── auto_bench.sh │ ├── eval_tool_calls.sh │ ├── get_all_models_on_cluster.py │ ├── headless_runner.py │ ├── run_exo_on.sh │ └── start_distributed_test.py └── tmp/ ├── config_examples/ │ ├── claude_code.sh │ └── opencode.json ├── gen_card.py ├── prompt.txt ├── quantize_and_upload.py ├── run_llm.py ├── run_llm.sh ├── set_rdma_network_config.sh └── test_trust_remote_code_attack.sh